From 97c9b19a57e6a42e2ca16c7f74baa6e85d6a0958 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 8 Feb 2025 08:14:01 +0000 Subject: [PATCH] deploy: b5d220102cf9614e0986ea18c2f89b9498c9a84e --- .nojekyll | 0 .../index.html | 21 + .../index.html | 12 + .../index.html | 19 + .../index.html | 149 + .../index.html | 15 + .../index.html | 35 + .../index.html | 71 + .../index.html | 29 + .../index.html | 61 + .../index.html | 225 + .../index.html | 24 + .../index.html | 8 + .../index.html | 165 + .../index.html | 218 + .../index.html | 338 ++ .../index.html | 20 + .../index.html | 34 + .../index.html | 11 + .../index.html | 65 + .../index.html | 331 ++ .../index.html | 56 + .../index.html | 56 + .../index.html | 30 + .../index.html | 17 + .../index.html | 25 + .../index.html | 52 + .../index.html | 8 + .../index.html | 25 + .../index.html | 10 + .../index.html | 10 + .../index.html | 16 + .../index.html | 74 + .../index.html | 15 + .../index.html | 20 + .../index.html | 18 + .../index.html | 12 + .../index.html | 9 + .../index.html | 490 ++ .../index.html | 16 + .../index.html | 12 + .../index.html | 19 + .../index.html | 19 + .../index.html | 201 + .../index.html | 29 + .../index.html | 51 + .../index.html | 15 + .../index.html | 9 + .../index.html | 13 + .../index.html | 384 ++ .../index.html | 39 + .../index.html | 24 + .../index.html | 10 + .../index.html | 55 + .../index.html | 23 + .../index.html | 35 + .../index.html | 26 + .../index.html | 26 + .../index.html | 18 + .../index.html | 134 + .../index.html | 27 + .../index.html | 53 + .../index.html | 45 + .../index.html | 22 + .../index.html | 29 + .../index.html | 25 + .../index.html | 12 + .../index.html | 12 + .../index.html | 30 + .../index.html | 37 + .../index.html | 12 + .../index.html | 8 + .../index.html | 37 + .../index.html | 5 + .../index.html | 19 + .../index.html | 18 + .../index.html | 23 + .../index.html | 17 + .../index.html | 19 + .../index.html | 14 + .../index.html | 8 + .../index.html | 161 + .../index.html | 37 + .../index.html | 26 + .../index.html | 32 + .../index.html | 16 + .../index.html | 19 + .../index.html | 500 ++ .../index.html | 11 + .../index.html | 15 + .../index.html | 75 + .../index.html | 313 + .../index.html | 15 + .../index.html | 51 + .../index.html | 15 + .../index.html | 17 + .../index.html | 11 + .../index.html | 112 + .../index.html | 26 + .../index.html | 12 + .../index.html | 10 + .../index.html | 62 + .../index.html | 559 ++ .../index.html | 20 + .../index.html | 24 + .../index.html | 99 + .../index.html | 55 + .../index.html | 57 + .../index.html | 13 + .../index.html | 54 + .../index.html | 35 + .../index.html | 15 + .../index.html | 29 + .../index.html | 1252 ++++ .../index.html | 36 + .../index.html | 25 + .../index.html | 14 + .../index.html | 34 + .../index.html | 25 + .../index.html | 16 + .../index.html | 33 + .../index.html | 12 + .../index.html | 14 + .../index.html | 86 + .../index.html | 34 + .../index.html | 19 + .../index.html | 54 + .../index.html | 11 + .../index.html | 25 + .../index.html | 10 + .../index.html | 11 + .../index.html | 32 + .../index.html | 11 + .../index.html | 362 ++ .../index.html | 21 + .../index.html | 25 + .../index.html | 50 + .../index.html | 45 + .../index.html | 887 +++ .../index.html | 32 + .../index.html | 74 + .../index.html | 28 + .../index.html | 25 + .../index.html | 16 + .../index.html | 12 + .../index.html | 21 + .../index.html | 786 +++ .../index.html | 39 + .../index.html | 11 + .../index.html | 20 + .../index.html | 5 + .../index.html | 10 + .../index.html | 152 + .../index.html | 21 + .../index.html | 9 + .../index.html | 11 + .../index.html | 18 + .../index.html | 27 + .../index.html | 15 + .../index.html | 18 + .../index.html | 48 + .../index.html | 10 + .../index.html | 19 + .../index.html | 40 + .../index.html | 86 + .../index.html | 167 + .../index.html | 22 + .../index.html | 6 + .../index.html | 13 + .../index.html | 13 + .../index.html | 150 + .../index.html | 27 + .../index.html | 15 + .../index.html | 34 + .../index.html | 78 + .../index.html | 12 + .../index.html | 23 + .../index.html | 19 + .../index.html | 14 + .../index.html | 21 + .../index.html | 114 + .../index.html | 92 + .../index.html | 430 ++ .../index.html | 38 + .../index.html | 280 + .../index.html | 47 + .../index.html | 189 + .../index.html | 16 + .../index.html | 228 + .../index.html | 30 + .../index.html | 101 + .../index.html | 18 + .../index.html | 15 + .../index.html | 34 + .../index.html | 27 + .../index.html | 19 + .../index.html | 20 + .../index.html | 19 + .../index.html | 14 + .../index.html | 16 + .../index.html | 113 + blogs/index.html | 166 + feeds/atom.xml | 2464 ++++++++ feeds/feed.json | 5199 +++++++++++++++++ feeds/rss.xml | 2231 +++++++ hot/index.html | 18 + images/alternate-feed-image.png | Bin 0 -> 5616 bytes images/apple-icon.png | Bin 0 -> 3338 bytes images/favicon.ico | Bin 0 -> 1150 bytes images/feed-thumbnails/-HWLxjnWNa-150.jpeg | Bin 0 -> 2673 bytes images/feed-thumbnails/-HWLxjnWNa-150.webp | Bin 0 -> 1440 bytes images/feed-thumbnails/-HWLxjnWNa-450.jpeg | Bin 0 -> 11640 bytes images/feed-thumbnails/-HWLxjnWNa-450.webp | Bin 0 -> 5952 bytes images/feed-thumbnails/-z6wURtppH-150.jpeg | Bin 0 -> 3807 bytes images/feed-thumbnails/-z6wURtppH-150.webp | Bin 0 -> 2594 bytes images/feed-thumbnails/-z6wURtppH-450.jpeg | Bin 0 -> 21089 bytes images/feed-thumbnails/-z6wURtppH-450.webp | Bin 0 -> 11070 bytes images/feed-thumbnails/-zMQMRlKLJ-150.jpeg | Bin 0 -> 4170 bytes images/feed-thumbnails/-zMQMRlKLJ-150.webp | Bin 0 -> 3082 bytes images/feed-thumbnails/-zMQMRlKLJ-450.jpeg | Bin 0 -> 23596 bytes images/feed-thumbnails/-zMQMRlKLJ-450.webp | Bin 0 -> 14394 bytes images/feed-thumbnails/0-NFtkxK-_-150.jpeg | Bin 0 -> 3924 bytes images/feed-thumbnails/0-NFtkxK-_-150.webp | Bin 0 -> 1772 bytes images/feed-thumbnails/0-NFtkxK-_-450.jpeg | Bin 0 -> 13329 bytes images/feed-thumbnails/0-NFtkxK-_-450.webp | Bin 0 -> 4482 bytes images/feed-thumbnails/020Rt5uZTa-150.jpeg | Bin 0 -> 3242 bytes images/feed-thumbnails/020Rt5uZTa-150.webp | Bin 0 -> 1282 bytes images/feed-thumbnails/020Rt5uZTa-450.jpeg | Bin 0 -> 10819 bytes images/feed-thumbnails/020Rt5uZTa-450.webp | Bin 0 -> 3632 bytes images/feed-thumbnails/0CtuR73Pyi-150.jpeg | Bin 0 -> 1422 bytes images/feed-thumbnails/0CtuR73Pyi-150.webp | Bin 0 -> 728 bytes images/feed-thumbnails/0CtuR73Pyi-450.jpeg | Bin 0 -> 5470 bytes images/feed-thumbnails/0CtuR73Pyi-450.webp | Bin 0 -> 2524 bytes images/feed-thumbnails/0J3YyPhOR9-150.jpeg | Bin 0 -> 2669 bytes images/feed-thumbnails/0J3YyPhOR9-150.webp | Bin 0 -> 1644 bytes images/feed-thumbnails/0J3YyPhOR9-450.jpeg | Bin 0 -> 11991 bytes images/feed-thumbnails/0J3YyPhOR9-450.webp | Bin 0 -> 6842 bytes images/feed-thumbnails/0Lewywskhd-150.jpeg | Bin 0 -> 2703 bytes images/feed-thumbnails/0Lewywskhd-150.webp | Bin 0 -> 1482 bytes images/feed-thumbnails/0Lewywskhd-450.jpeg | Bin 0 -> 12070 bytes images/feed-thumbnails/0Lewywskhd-450.webp | Bin 0 -> 5852 bytes images/feed-thumbnails/0_P3Y4zGrr-150.jpeg | Bin 0 -> 880 bytes images/feed-thumbnails/0_P3Y4zGrr-150.webp | Bin 0 -> 332 bytes images/feed-thumbnails/0_P3Y4zGrr-450.jpeg | Bin 0 -> 3137 bytes images/feed-thumbnails/0_P3Y4zGrr-450.webp | Bin 0 -> 1132 bytes images/feed-thumbnails/1WVdTi2d6l-150.jpeg | Bin 0 -> 922 bytes images/feed-thumbnails/1WVdTi2d6l-150.webp | Bin 0 -> 404 bytes images/feed-thumbnails/1WVdTi2d6l-450.jpeg | Bin 0 -> 2983 bytes images/feed-thumbnails/1WVdTi2d6l-450.webp | Bin 0 -> 1262 bytes images/feed-thumbnails/1aDn2mVgTe-150.jpeg | Bin 0 -> 1966 bytes images/feed-thumbnails/1aDn2mVgTe-150.webp | Bin 0 -> 1210 bytes images/feed-thumbnails/1aDn2mVgTe-450.jpeg | Bin 0 -> 10874 bytes images/feed-thumbnails/1aDn2mVgTe-450.webp | Bin 0 -> 6672 bytes images/feed-thumbnails/1ad9XAWBt2-150.jpeg | Bin 0 -> 1747 bytes images/feed-thumbnails/1ad9XAWBt2-150.webp | Bin 0 -> 1038 bytes images/feed-thumbnails/1ad9XAWBt2-450.jpeg | Bin 0 -> 8480 bytes images/feed-thumbnails/1ad9XAWBt2-450.webp | Bin 0 -> 4166 bytes images/feed-thumbnails/1fi3zrawuy-150.jpeg | Bin 0 -> 4198 bytes images/feed-thumbnails/1fi3zrawuy-150.webp | Bin 0 -> 3076 bytes images/feed-thumbnails/1fi3zrawuy-450.jpeg | Bin 0 -> 22622 bytes images/feed-thumbnails/1fi3zrawuy-450.webp | Bin 0 -> 14102 bytes images/feed-thumbnails/20RqT9tMnS-150.jpeg | Bin 0 -> 1545 bytes images/feed-thumbnails/20RqT9tMnS-150.webp | Bin 0 -> 834 bytes images/feed-thumbnails/20RqT9tMnS-450.jpeg | Bin 0 -> 7244 bytes images/feed-thumbnails/20RqT9tMnS-450.webp | Bin 0 -> 2806 bytes images/feed-thumbnails/2Bbc8m2oQ1-150.jpeg | Bin 0 -> 2127 bytes images/feed-thumbnails/2Bbc8m2oQ1-150.webp | Bin 0 -> 1450 bytes images/feed-thumbnails/2Bbc8m2oQ1-450.jpeg | Bin 0 -> 16755 bytes images/feed-thumbnails/2Bbc8m2oQ1-450.webp | Bin 0 -> 9982 bytes images/feed-thumbnails/2FmOzydpZb-150.jpeg | Bin 0 -> 1765 bytes images/feed-thumbnails/2FmOzydpZb-150.webp | Bin 0 -> 910 bytes images/feed-thumbnails/2G9hIwrs5u-150.jpeg | Bin 0 -> 1871 bytes images/feed-thumbnails/2G9hIwrs5u-150.webp | Bin 0 -> 1086 bytes images/feed-thumbnails/2G9hIwrs5u-450.jpeg | Bin 0 -> 8462 bytes images/feed-thumbnails/2G9hIwrs5u-450.webp | Bin 0 -> 4622 bytes images/feed-thumbnails/2gveMYdG6F-150.jpeg | Bin 0 -> 1668 bytes images/feed-thumbnails/2gveMYdG6F-150.webp | Bin 0 -> 698 bytes images/feed-thumbnails/2gveMYdG6F-450.jpeg | Bin 0 -> 8219 bytes images/feed-thumbnails/2gveMYdG6F-450.webp | Bin 0 -> 3800 bytes images/feed-thumbnails/34izizM7W7-150.jpeg | Bin 0 -> 2817 bytes images/feed-thumbnails/34izizM7W7-150.webp | Bin 0 -> 1344 bytes images/feed-thumbnails/34ogWHr7oE-150.jpeg | Bin 0 -> 763 bytes images/feed-thumbnails/34ogWHr7oE-150.webp | Bin 0 -> 804 bytes images/feed-thumbnails/34ogWHr7oE-450.jpeg | Bin 0 -> 2700 bytes images/feed-thumbnails/34ogWHr7oE-450.webp | Bin 0 -> 9570 bytes images/feed-thumbnails/39VEQIIR7I-150.jpeg | Bin 0 -> 1912 bytes images/feed-thumbnails/39VEQIIR7I-150.webp | Bin 0 -> 1222 bytes images/feed-thumbnails/39VEQIIR7I-450.jpeg | Bin 0 -> 12124 bytes images/feed-thumbnails/39VEQIIR7I-450.webp | Bin 0 -> 7288 bytes images/feed-thumbnails/3FLSnZunOs-150.jpeg | Bin 0 -> 2489 bytes images/feed-thumbnails/3FLSnZunOs-150.webp | Bin 0 -> 1214 bytes images/feed-thumbnails/3FLSnZunOs-450.jpeg | Bin 0 -> 10509 bytes images/feed-thumbnails/3FLSnZunOs-450.webp | Bin 0 -> 5396 bytes images/feed-thumbnails/3H9RqeQtF0-150.jpeg | Bin 0 -> 2449 bytes images/feed-thumbnails/3H9RqeQtF0-150.webp | Bin 0 -> 1732 bytes images/feed-thumbnails/3H9RqeQtF0-450.jpeg | Bin 0 -> 12303 bytes images/feed-thumbnails/3H9RqeQtF0-450.webp | Bin 0 -> 6760 bytes images/feed-thumbnails/3X9OjPjQO6-150.jpeg | Bin 0 -> 2171 bytes images/feed-thumbnails/3X9OjPjQO6-150.webp | Bin 0 -> 1224 bytes images/feed-thumbnails/3X9OjPjQO6-450.jpeg | Bin 0 -> 11369 bytes images/feed-thumbnails/3X9OjPjQO6-450.webp | Bin 0 -> 6774 bytes images/feed-thumbnails/3gYm9NYCqQ-150.jpeg | Bin 0 -> 1046 bytes images/feed-thumbnails/3gYm9NYCqQ-150.webp | Bin 0 -> 552 bytes images/feed-thumbnails/3gYm9NYCqQ-450.jpeg | Bin 0 -> 5544 bytes images/feed-thumbnails/3gYm9NYCqQ-450.webp | Bin 0 -> 2870 bytes images/feed-thumbnails/43BtyjsZRp-150.jpeg | Bin 0 -> 1995 bytes images/feed-thumbnails/43BtyjsZRp-150.webp | Bin 0 -> 1154 bytes images/feed-thumbnails/43BtyjsZRp-450.jpeg | Bin 0 -> 8348 bytes images/feed-thumbnails/43BtyjsZRp-450.webp | Bin 0 -> 4786 bytes images/feed-thumbnails/4A0gVv8s9s-150.jpeg | Bin 0 -> 1257 bytes images/feed-thumbnails/4A0gVv8s9s-150.webp | Bin 0 -> 578 bytes images/feed-thumbnails/4A0gVv8s9s-450.jpeg | Bin 0 -> 5707 bytes images/feed-thumbnails/4A0gVv8s9s-450.webp | Bin 0 -> 2838 bytes images/feed-thumbnails/4gwHdXrwq1-150.jpeg | Bin 0 -> 3509 bytes images/feed-thumbnails/4gwHdXrwq1-150.webp | Bin 0 -> 2294 bytes images/feed-thumbnails/4gwHdXrwq1-450.jpeg | Bin 0 -> 16626 bytes images/feed-thumbnails/4gwHdXrwq1-450.webp | Bin 0 -> 8782 bytes images/feed-thumbnails/4p0DRBkzdt-150.jpeg | Bin 0 -> 3365 bytes images/feed-thumbnails/4p0DRBkzdt-150.webp | Bin 0 -> 2326 bytes images/feed-thumbnails/4p0DRBkzdt-450.jpeg | Bin 0 -> 16178 bytes images/feed-thumbnails/4p0DRBkzdt-450.webp | Bin 0 -> 7994 bytes images/feed-thumbnails/5CUsvJsqz2-150.jpeg | Bin 0 -> 3496 bytes images/feed-thumbnails/5CUsvJsqz2-150.webp | Bin 0 -> 1412 bytes images/feed-thumbnails/5CUsvJsqz2-450.jpeg | Bin 0 -> 13601 bytes images/feed-thumbnails/5CUsvJsqz2-450.webp | Bin 0 -> 4984 bytes images/feed-thumbnails/5ZZnjA2FlL-150.jpeg | Bin 0 -> 2561 bytes images/feed-thumbnails/5ZZnjA2FlL-150.webp | Bin 0 -> 1546 bytes images/feed-thumbnails/5ZZnjA2FlL-450.jpeg | Bin 0 -> 13327 bytes images/feed-thumbnails/5ZZnjA2FlL-450.webp | Bin 0 -> 7478 bytes images/feed-thumbnails/5ejs1IPH5g-150.jpeg | Bin 0 -> 2846 bytes images/feed-thumbnails/5ejs1IPH5g-150.webp | Bin 0 -> 1690 bytes images/feed-thumbnails/5ejs1IPH5g-450.jpeg | Bin 0 -> 12977 bytes images/feed-thumbnails/5ejs1IPH5g-450.webp | Bin 0 -> 6690 bytes images/feed-thumbnails/5fs0cU0SL4-150.jpeg | Bin 0 -> 2211 bytes images/feed-thumbnails/5fs0cU0SL4-150.webp | Bin 0 -> 1316 bytes images/feed-thumbnails/5fs0cU0SL4-450.jpeg | Bin 0 -> 13483 bytes images/feed-thumbnails/5fs0cU0SL4-450.webp | Bin 0 -> 7970 bytes images/feed-thumbnails/5s9eVXwVru-150.jpeg | Bin 0 -> 2595 bytes images/feed-thumbnails/5s9eVXwVru-150.webp | Bin 0 -> 1238 bytes images/feed-thumbnails/5yrGYAWhMN-150.jpeg | Bin 0 -> 2958 bytes images/feed-thumbnails/5yrGYAWhMN-150.webp | Bin 0 -> 1892 bytes images/feed-thumbnails/5yrGYAWhMN-450.jpeg | Bin 0 -> 21621 bytes images/feed-thumbnails/5yrGYAWhMN-450.webp | Bin 0 -> 15406 bytes images/feed-thumbnails/6I1v-0UdSZ-150.jpeg | Bin 0 -> 4427 bytes images/feed-thumbnails/6I1v-0UdSZ-150.webp | Bin 0 -> 3396 bytes images/feed-thumbnails/6I1v-0UdSZ-450.jpeg | Bin 0 -> 25528 bytes images/feed-thumbnails/6I1v-0UdSZ-450.webp | Bin 0 -> 16792 bytes images/feed-thumbnails/6PfRzANL2y-150.jpeg | Bin 0 -> 2793 bytes images/feed-thumbnails/6PfRzANL2y-150.webp | Bin 0 -> 1928 bytes images/feed-thumbnails/6PfRzANL2y-450.jpeg | Bin 0 -> 13744 bytes images/feed-thumbnails/6PfRzANL2y-450.webp | Bin 0 -> 8170 bytes images/feed-thumbnails/6RuU03W9TB-150.jpeg | Bin 0 -> 2082 bytes images/feed-thumbnails/6RuU03W9TB-150.webp | Bin 0 -> 1000 bytes images/feed-thumbnails/6RuU03W9TB-450.jpeg | Bin 0 -> 6918 bytes images/feed-thumbnails/6RuU03W9TB-450.webp | Bin 0 -> 3202 bytes images/feed-thumbnails/6UmB4Ah3sp-150.jpeg | Bin 0 -> 3054 bytes images/feed-thumbnails/6UmB4Ah3sp-150.webp | Bin 0 -> 2100 bytes images/feed-thumbnails/6UmB4Ah3sp-450.jpeg | Bin 0 -> 17776 bytes images/feed-thumbnails/6UmB4Ah3sp-450.webp | Bin 0 -> 11042 bytes images/feed-thumbnails/6yEJrsvF23-150.jpeg | Bin 0 -> 3137 bytes images/feed-thumbnails/6yEJrsvF23-150.webp | Bin 0 -> 1976 bytes images/feed-thumbnails/6yEJrsvF23-450.jpeg | Bin 0 -> 15080 bytes images/feed-thumbnails/6yEJrsvF23-450.webp | Bin 0 -> 9140 bytes images/feed-thumbnails/7lYiVWO0Of-150.jpeg | Bin 0 -> 2229 bytes images/feed-thumbnails/7lYiVWO0Of-150.webp | Bin 0 -> 1296 bytes images/feed-thumbnails/7lYiVWO0Of-450.jpeg | Bin 0 -> 10132 bytes images/feed-thumbnails/7lYiVWO0Of-450.webp | Bin 0 -> 4856 bytes images/feed-thumbnails/7tNc9YUld2-150.jpeg | Bin 0 -> 2226 bytes images/feed-thumbnails/7tNc9YUld2-150.webp | Bin 0 -> 906 bytes images/feed-thumbnails/7tNc9YUld2-450.jpeg | Bin 0 -> 12704 bytes images/feed-thumbnails/7tNc9YUld2-450.webp | Bin 0 -> 6570 bytes images/feed-thumbnails/8WtjB8KgCb-150.jpeg | Bin 0 -> 1698 bytes images/feed-thumbnails/8WtjB8KgCb-150.webp | Bin 0 -> 802 bytes images/feed-thumbnails/8WtjB8KgCb-450.jpeg | Bin 0 -> 10604 bytes images/feed-thumbnails/8WtjB8KgCb-450.webp | Bin 0 -> 5354 bytes images/feed-thumbnails/8Xe4WeEGhS-150.jpeg | Bin 0 -> 1410 bytes images/feed-thumbnails/8Xe4WeEGhS-150.webp | Bin 0 -> 626 bytes images/feed-thumbnails/8Xe4WeEGhS-450.jpeg | Bin 0 -> 6377 bytes images/feed-thumbnails/8Xe4WeEGhS-450.webp | Bin 0 -> 1944 bytes images/feed-thumbnails/8chvp650qo-150.jpeg | Bin 0 -> 3468 bytes images/feed-thumbnails/8chvp650qo-150.webp | Bin 0 -> 2054 bytes images/feed-thumbnails/8chvp650qo-450.jpeg | Bin 0 -> 17435 bytes images/feed-thumbnails/8chvp650qo-450.webp | Bin 0 -> 9168 bytes images/feed-thumbnails/8eHTQjEcnb-150.jpeg | Bin 0 -> 1397 bytes images/feed-thumbnails/8eHTQjEcnb-150.webp | Bin 0 -> 584 bytes images/feed-thumbnails/8eHTQjEcnb-450.jpeg | Bin 0 -> 6232 bytes images/feed-thumbnails/8eHTQjEcnb-450.webp | Bin 0 -> 2814 bytes images/feed-thumbnails/8q2aLVagqa-150.jpeg | Bin 0 -> 1935 bytes images/feed-thumbnails/8q2aLVagqa-150.webp | Bin 0 -> 1226 bytes images/feed-thumbnails/8q2aLVagqa-450.jpeg | Bin 0 -> 15550 bytes images/feed-thumbnails/8q2aLVagqa-450.webp | Bin 0 -> 9614 bytes images/feed-thumbnails/93jvsWiOvP-150.jpeg | Bin 0 -> 2350 bytes images/feed-thumbnails/93jvsWiOvP-150.webp | Bin 0 -> 1480 bytes images/feed-thumbnails/93jvsWiOvP-450.jpeg | Bin 0 -> 13118 bytes images/feed-thumbnails/93jvsWiOvP-450.webp | Bin 0 -> 8126 bytes images/feed-thumbnails/9C3fxIrD8F-150.jpeg | Bin 0 -> 3212 bytes images/feed-thumbnails/9C3fxIrD8F-150.webp | Bin 0 -> 2148 bytes images/feed-thumbnails/9C3fxIrD8F-450.jpeg | Bin 0 -> 19101 bytes images/feed-thumbnails/9C3fxIrD8F-450.webp | Bin 0 -> 10968 bytes images/feed-thumbnails/9ZezEIQJhD-150.jpeg | Bin 0 -> 3269 bytes images/feed-thumbnails/9ZezEIQJhD-150.webp | Bin 0 -> 1694 bytes images/feed-thumbnails/9ZezEIQJhD-450.jpeg | Bin 0 -> 14064 bytes images/feed-thumbnails/9ZezEIQJhD-450.webp | Bin 0 -> 6422 bytes images/feed-thumbnails/9i2ZiYD9CM-150.jpeg | Bin 0 -> 3075 bytes images/feed-thumbnails/9i2ZiYD9CM-150.webp | Bin 0 -> 1990 bytes images/feed-thumbnails/9i2ZiYD9CM-450.jpeg | Bin 0 -> 14636 bytes images/feed-thumbnails/9i2ZiYD9CM-450.webp | Bin 0 -> 7636 bytes images/feed-thumbnails/9m34Ccs6sI-150.jpeg | Bin 0 -> 3168 bytes images/feed-thumbnails/9m34Ccs6sI-150.webp | Bin 0 -> 2014 bytes images/feed-thumbnails/9m34Ccs6sI-450.jpeg | Bin 0 -> 16472 bytes images/feed-thumbnails/9m34Ccs6sI-450.webp | Bin 0 -> 8552 bytes images/feed-thumbnails/9oOI2m_dLs-150.jpeg | Bin 0 -> 3405 bytes images/feed-thumbnails/9oOI2m_dLs-150.webp | Bin 0 -> 2024 bytes images/feed-thumbnails/9oOI2m_dLs-450.jpeg | Bin 0 -> 20378 bytes images/feed-thumbnails/9oOI2m_dLs-450.webp | Bin 0 -> 11810 bytes images/feed-thumbnails/A42i9CMVE4-150.jpeg | Bin 0 -> 2773 bytes images/feed-thumbnails/A42i9CMVE4-150.webp | Bin 0 -> 1692 bytes images/feed-thumbnails/A42i9CMVE4-450.jpeg | Bin 0 -> 15446 bytes images/feed-thumbnails/A42i9CMVE4-450.webp | Bin 0 -> 8292 bytes images/feed-thumbnails/A6ZvetOMnG-150.jpeg | Bin 0 -> 3891 bytes images/feed-thumbnails/A6ZvetOMnG-150.webp | Bin 0 -> 1486 bytes images/feed-thumbnails/AGDDYVas0l-150.jpeg | Bin 0 -> 1143 bytes images/feed-thumbnails/AGDDYVas0l-150.webp | Bin 0 -> 476 bytes images/feed-thumbnails/AGDDYVas0l-450.jpeg | Bin 0 -> 4338 bytes images/feed-thumbnails/AGDDYVas0l-450.webp | Bin 0 -> 1790 bytes images/feed-thumbnails/AUwdkNWgZJ-150.jpeg | Bin 0 -> 735 bytes images/feed-thumbnails/AUwdkNWgZJ-150.webp | Bin 0 -> 256 bytes images/feed-thumbnails/AUwdkNWgZJ-450.jpeg | Bin 0 -> 3619 bytes images/feed-thumbnails/AUwdkNWgZJ-450.webp | Bin 0 -> 1638 bytes images/feed-thumbnails/AYWLsYU7iN-150.jpeg | Bin 0 -> 1950 bytes images/feed-thumbnails/AYWLsYU7iN-150.webp | Bin 0 -> 1200 bytes images/feed-thumbnails/AYWLsYU7iN-450.jpeg | Bin 0 -> 8906 bytes images/feed-thumbnails/AYWLsYU7iN-450.webp | Bin 0 -> 4328 bytes images/feed-thumbnails/AdMIv2beL6-150.jpeg | Bin 0 -> 2550 bytes images/feed-thumbnails/AdMIv2beL6-150.webp | Bin 0 -> 1580 bytes images/feed-thumbnails/AdMIv2beL6-450.jpeg | Bin 0 -> 14334 bytes images/feed-thumbnails/AdMIv2beL6-450.webp | Bin 0 -> 7452 bytes images/feed-thumbnails/BCbs410y5N-32.jpeg | Bin 0 -> 662 bytes images/feed-thumbnails/BCbs410y5N-32.webp | Bin 0 -> 316 bytes images/feed-thumbnails/BKIXQ7Rfkq-150.jpeg | Bin 0 -> 2609 bytes images/feed-thumbnails/BKIXQ7Rfkq-150.webp | Bin 0 -> 1678 bytes images/feed-thumbnails/BKIXQ7Rfkq-450.jpeg | Bin 0 -> 13003 bytes images/feed-thumbnails/BKIXQ7Rfkq-450.webp | Bin 0 -> 7612 bytes images/feed-thumbnails/BTT_PSieaa-150.jpeg | Bin 0 -> 2397 bytes images/feed-thumbnails/BTT_PSieaa-150.webp | Bin 0 -> 1442 bytes images/feed-thumbnails/BTT_PSieaa-450.jpeg | Bin 0 -> 10859 bytes images/feed-thumbnails/BTT_PSieaa-450.webp | Bin 0 -> 6478 bytes images/feed-thumbnails/BYY6YpXaxt-150.jpeg | Bin 0 -> 1381 bytes images/feed-thumbnails/BYY6YpXaxt-150.webp | Bin 0 -> 2394 bytes images/feed-thumbnails/BYY6YpXaxt-450.jpeg | Bin 0 -> 5030 bytes images/feed-thumbnails/BYY6YpXaxt-450.webp | Bin 0 -> 7518 bytes images/feed-thumbnails/Bg0dDR_jPG-150.jpeg | Bin 0 -> 3367 bytes images/feed-thumbnails/Bg0dDR_jPG-150.webp | Bin 0 -> 2398 bytes images/feed-thumbnails/Bg0dDR_jPG-450.jpeg | Bin 0 -> 19685 bytes images/feed-thumbnails/Bg0dDR_jPG-450.webp | Bin 0 -> 12226 bytes images/feed-thumbnails/BoX1G2kQnh-150.jpeg | Bin 0 -> 2897 bytes images/feed-thumbnails/BoX1G2kQnh-150.webp | Bin 0 -> 1536 bytes images/feed-thumbnails/BoX1G2kQnh-450.jpeg | Bin 0 -> 18672 bytes images/feed-thumbnails/BoX1G2kQnh-450.webp | Bin 0 -> 9566 bytes images/feed-thumbnails/BsbIs1YFL3-150.jpeg | Bin 0 -> 7631 bytes images/feed-thumbnails/BsbIs1YFL3-150.webp | Bin 0 -> 6158 bytes images/feed-thumbnails/BsbIs1YFL3-450.jpeg | Bin 0 -> 61203 bytes images/feed-thumbnails/BsbIs1YFL3-450.webp | Bin 0 -> 43640 bytes images/feed-thumbnails/CDYRsjLQAR-150.jpeg | Bin 0 -> 1392 bytes images/feed-thumbnails/CDYRsjLQAR-150.webp | Bin 0 -> 630 bytes images/feed-thumbnails/CDYRsjLQAR-450.jpeg | Bin 0 -> 7842 bytes images/feed-thumbnails/CDYRsjLQAR-450.webp | Bin 0 -> 2888 bytes images/feed-thumbnails/Cpm7hBLIMb-150.jpeg | Bin 0 -> 1968 bytes images/feed-thumbnails/Cpm7hBLIMb-150.webp | Bin 0 -> 812 bytes images/feed-thumbnails/Cpm7hBLIMb-450.jpeg | Bin 0 -> 7950 bytes images/feed-thumbnails/Cpm7hBLIMb-450.webp | Bin 0 -> 3826 bytes images/feed-thumbnails/Cyye13ZzJN-150.jpeg | Bin 0 -> 6339 bytes images/feed-thumbnails/Cyye13ZzJN-150.webp | Bin 0 -> 4334 bytes images/feed-thumbnails/Cyye13ZzJN-450.jpeg | Bin 0 -> 50044 bytes images/feed-thumbnails/Cyye13ZzJN-450.webp | Bin 0 -> 36144 bytes images/feed-thumbnails/DX8R3wXA-d-150.jpeg | Bin 0 -> 2715 bytes images/feed-thumbnails/DX8R3wXA-d-150.webp | Bin 0 -> 1746 bytes images/feed-thumbnails/DX8R3wXA-d-450.jpeg | Bin 0 -> 13593 bytes images/feed-thumbnails/DX8R3wXA-d-450.webp | Bin 0 -> 7970 bytes images/feed-thumbnails/DXkuovbdOc-150.jpeg | Bin 0 -> 1965 bytes images/feed-thumbnails/DXkuovbdOc-150.webp | Bin 0 -> 1224 bytes images/feed-thumbnails/DXkuovbdOc-450.jpeg | Bin 0 -> 9612 bytes images/feed-thumbnails/DXkuovbdOc-450.webp | Bin 0 -> 4526 bytes images/feed-thumbnails/DgJT8AW-Rl-150.jpeg | Bin 0 -> 2626 bytes images/feed-thumbnails/DgJT8AW-Rl-150.webp | Bin 0 -> 1664 bytes images/feed-thumbnails/DgJT8AW-Rl-450.jpeg | Bin 0 -> 13904 bytes images/feed-thumbnails/DgJT8AW-Rl-450.webp | Bin 0 -> 7106 bytes images/feed-thumbnails/DkprRgBZ1s-150.jpeg | Bin 0 -> 2753 bytes images/feed-thumbnails/DkprRgBZ1s-150.webp | Bin 0 -> 1790 bytes images/feed-thumbnails/DkprRgBZ1s-450.jpeg | Bin 0 -> 16611 bytes images/feed-thumbnails/DkprRgBZ1s-450.webp | Bin 0 -> 9552 bytes images/feed-thumbnails/DpYvHx15bU-150.jpeg | Bin 0 -> 2526 bytes images/feed-thumbnails/DpYvHx15bU-150.webp | Bin 0 -> 1736 bytes images/feed-thumbnails/DpYvHx15bU-450.jpeg | Bin 0 -> 14029 bytes images/feed-thumbnails/DpYvHx15bU-450.webp | Bin 0 -> 8360 bytes images/feed-thumbnails/DuqdyD1E5k-150.jpeg | Bin 0 -> 1722 bytes images/feed-thumbnails/DuqdyD1E5k-150.webp | Bin 0 -> 766 bytes images/feed-thumbnails/DuqdyD1E5k-450.jpeg | Bin 0 -> 7318 bytes images/feed-thumbnails/DuqdyD1E5k-450.webp | Bin 0 -> 3630 bytes images/feed-thumbnails/E2rUu-wfEf-150.jpeg | Bin 0 -> 2148 bytes images/feed-thumbnails/E2rUu-wfEf-150.webp | Bin 0 -> 1178 bytes images/feed-thumbnails/E2rUu-wfEf-450.jpeg | Bin 0 -> 10747 bytes images/feed-thumbnails/E2rUu-wfEf-450.webp | Bin 0 -> 5266 bytes images/feed-thumbnails/ECOK-iCHCE-150.jpeg | Bin 0 -> 2708 bytes images/feed-thumbnails/ECOK-iCHCE-150.webp | Bin 0 -> 1220 bytes images/feed-thumbnails/ECOK-iCHCE-450.jpeg | Bin 0 -> 12128 bytes images/feed-thumbnails/ECOK-iCHCE-450.webp | Bin 0 -> 4774 bytes images/feed-thumbnails/ET1lXduG2f-150.jpeg | Bin 0 -> 3853 bytes images/feed-thumbnails/ET1lXduG2f-150.webp | Bin 0 -> 2308 bytes images/feed-thumbnails/ET1lXduG2f-450.jpeg | Bin 0 -> 15409 bytes images/feed-thumbnails/ET1lXduG2f-450.webp | Bin 0 -> 7042 bytes images/feed-thumbnails/EnKLbmh-dP-150.jpeg | Bin 0 -> 2510 bytes images/feed-thumbnails/EnKLbmh-dP-150.webp | Bin 0 -> 1584 bytes images/feed-thumbnails/EnKLbmh-dP-450.jpeg | Bin 0 -> 12715 bytes images/feed-thumbnails/EnKLbmh-dP-450.webp | Bin 0 -> 7980 bytes images/feed-thumbnails/ErNb1IIpC6-150.jpeg | Bin 0 -> 3310 bytes images/feed-thumbnails/ErNb1IIpC6-150.webp | Bin 0 -> 2282 bytes images/feed-thumbnails/ErNb1IIpC6-450.jpeg | Bin 0 -> 17608 bytes images/feed-thumbnails/ErNb1IIpC6-450.webp | Bin 0 -> 10818 bytes images/feed-thumbnails/Ey1vvhWYq--150.jpeg | Bin 0 -> 5553 bytes images/feed-thumbnails/Ey1vvhWYq--150.webp | Bin 0 -> 3292 bytes images/feed-thumbnails/Ey1vvhWYq--450.jpeg | Bin 0 -> 36763 bytes images/feed-thumbnails/Ey1vvhWYq--450.webp | Bin 0 -> 20122 bytes images/feed-thumbnails/FCYwJGLXjX-150.jpeg | Bin 0 -> 1215 bytes images/feed-thumbnails/FCYwJGLXjX-150.webp | Bin 0 -> 528 bytes images/feed-thumbnails/FCYwJGLXjX-450.jpeg | Bin 0 -> 5591 bytes images/feed-thumbnails/FCYwJGLXjX-450.webp | Bin 0 -> 2240 bytes images/feed-thumbnails/FLKDiou1nR-150.jpeg | Bin 0 -> 1782 bytes images/feed-thumbnails/FLKDiou1nR-150.webp | Bin 0 -> 982 bytes images/feed-thumbnails/FLKDiou1nR-450.jpeg | Bin 0 -> 8872 bytes images/feed-thumbnails/FLKDiou1nR-450.webp | Bin 0 -> 4928 bytes images/feed-thumbnails/FRMI_0vxW--150.jpeg | Bin 0 -> 1280 bytes images/feed-thumbnails/FRMI_0vxW--150.webp | Bin 0 -> 598 bytes images/feed-thumbnails/FRMI_0vxW--450.jpeg | Bin 0 -> 4843 bytes images/feed-thumbnails/FRMI_0vxW--450.webp | Bin 0 -> 2226 bytes images/feed-thumbnails/GP_Jk7UJJd-150.jpeg | Bin 0 -> 3496 bytes images/feed-thumbnails/GP_Jk7UJJd-150.webp | Bin 0 -> 3832 bytes images/feed-thumbnails/HZ4cw78x5s-150.jpeg | Bin 0 -> 2004 bytes images/feed-thumbnails/HZ4cw78x5s-150.webp | Bin 0 -> 1136 bytes images/feed-thumbnails/HZ4cw78x5s-450.jpeg | Bin 0 -> 9373 bytes images/feed-thumbnails/HZ4cw78x5s-450.webp | Bin 0 -> 5196 bytes images/feed-thumbnails/Hmn8qsZNOg-150.jpeg | Bin 0 -> 2933 bytes images/feed-thumbnails/Hmn8qsZNOg-150.webp | Bin 0 -> 1876 bytes images/feed-thumbnails/Hmn8qsZNOg-450.jpeg | Bin 0 -> 14896 bytes images/feed-thumbnails/Hmn8qsZNOg-450.webp | Bin 0 -> 7108 bytes images/feed-thumbnails/IDNL6fZwI3-150.jpeg | Bin 0 -> 1748 bytes images/feed-thumbnails/IDNL6fZwI3-150.webp | Bin 0 -> 916 bytes images/feed-thumbnails/IDNL6fZwI3-450.jpeg | Bin 0 -> 6475 bytes images/feed-thumbnails/IDNL6fZwI3-450.webp | Bin 0 -> 2294 bytes images/feed-thumbnails/ISQNSD2Cf9-150.jpeg | Bin 0 -> 2334 bytes images/feed-thumbnails/ISQNSD2Cf9-150.webp | Bin 0 -> 1518 bytes images/feed-thumbnails/ISQNSD2Cf9-450.jpeg | Bin 0 -> 10128 bytes images/feed-thumbnails/ISQNSD2Cf9-450.webp | Bin 0 -> 5464 bytes images/feed-thumbnails/IWD63NhA9P-150.jpeg | Bin 0 -> 979 bytes images/feed-thumbnails/IWD63NhA9P-150.webp | Bin 0 -> 446 bytes images/feed-thumbnails/IWD63NhA9P-450.jpeg | Bin 0 -> 3517 bytes images/feed-thumbnails/IWD63NhA9P-450.webp | Bin 0 -> 1730 bytes images/feed-thumbnails/IaXqgu99_h-150.jpeg | Bin 0 -> 1531 bytes images/feed-thumbnails/IaXqgu99_h-150.webp | Bin 0 -> 2880 bytes images/feed-thumbnails/IaXqgu99_h-450.jpeg | Bin 0 -> 7351 bytes images/feed-thumbnails/IaXqgu99_h-450.webp | Bin 0 -> 10972 bytes images/feed-thumbnails/IdddOAE_kF-150.jpeg | Bin 0 -> 3222 bytes images/feed-thumbnails/IdddOAE_kF-150.webp | Bin 0 -> 2290 bytes images/feed-thumbnails/IdddOAE_kF-450.jpeg | Bin 0 -> 15951 bytes images/feed-thumbnails/IdddOAE_kF-450.webp | Bin 0 -> 8718 bytes images/feed-thumbnails/IlKc5W0e6w-150.jpeg | Bin 0 -> 2372 bytes images/feed-thumbnails/IlKc5W0e6w-150.webp | Bin 0 -> 1474 bytes images/feed-thumbnails/IlKc5W0e6w-450.jpeg | Bin 0 -> 13885 bytes images/feed-thumbnails/IlKc5W0e6w-450.webp | Bin 0 -> 7612 bytes images/feed-thumbnails/InmHR51A0S-150.jpeg | Bin 0 -> 1734 bytes images/feed-thumbnails/InmHR51A0S-150.webp | Bin 0 -> 882 bytes images/feed-thumbnails/InmHR51A0S-450.jpeg | Bin 0 -> 6706 bytes images/feed-thumbnails/InmHR51A0S-450.webp | Bin 0 -> 2806 bytes images/feed-thumbnails/Ip1922MaLu-150.jpeg | Bin 0 -> 1719 bytes images/feed-thumbnails/Ip1922MaLu-150.webp | Bin 0 -> 1010 bytes images/feed-thumbnails/Ip1922MaLu-450.jpeg | Bin 0 -> 8689 bytes images/feed-thumbnails/Ip1922MaLu-450.webp | Bin 0 -> 4164 bytes images/feed-thumbnails/IriblgOeI2-150.jpeg | Bin 0 -> 1487 bytes images/feed-thumbnails/IriblgOeI2-150.webp | Bin 0 -> 720 bytes images/feed-thumbnails/IriblgOeI2-450.jpeg | Bin 0 -> 7384 bytes images/feed-thumbnails/IriblgOeI2-450.webp | Bin 0 -> 3806 bytes images/feed-thumbnails/J0gfZoegXG-150.jpeg | Bin 0 -> 2351 bytes images/feed-thumbnails/J0gfZoegXG-150.webp | Bin 0 -> 1506 bytes images/feed-thumbnails/J0gfZoegXG-450.jpeg | Bin 0 -> 10266 bytes images/feed-thumbnails/J0gfZoegXG-450.webp | Bin 0 -> 5548 bytes images/feed-thumbnails/J985po-Cil-150.jpeg | Bin 0 -> 2646 bytes images/feed-thumbnails/J985po-Cil-150.webp | Bin 0 -> 1496 bytes images/feed-thumbnails/J985po-Cil-450.jpeg | Bin 0 -> 13978 bytes images/feed-thumbnails/J985po-Cil-450.webp | Bin 0 -> 7306 bytes images/feed-thumbnails/JE2gYIm3Zb-150.jpeg | Bin 0 -> 3088 bytes images/feed-thumbnails/JE2gYIm3Zb-150.webp | Bin 0 -> 2014 bytes images/feed-thumbnails/JE2gYIm3Zb-450.jpeg | Bin 0 -> 17526 bytes images/feed-thumbnails/JE2gYIm3Zb-450.webp | Bin 0 -> 10048 bytes images/feed-thumbnails/JWWzEbo9Rz-150.jpeg | Bin 0 -> 2774 bytes images/feed-thumbnails/JWWzEbo9Rz-150.webp | Bin 0 -> 1646 bytes images/feed-thumbnails/JWWzEbo9Rz-450.jpeg | Bin 0 -> 13949 bytes images/feed-thumbnails/JWWzEbo9Rz-450.webp | Bin 0 -> 7368 bytes images/feed-thumbnails/Je3tNeUY5Y-150.jpeg | Bin 0 -> 1136 bytes images/feed-thumbnails/Je3tNeUY5Y-150.webp | Bin 0 -> 506 bytes images/feed-thumbnails/Je3tNeUY5Y-450.jpeg | Bin 0 -> 5531 bytes images/feed-thumbnails/Je3tNeUY5Y-450.webp | Bin 0 -> 2632 bytes images/feed-thumbnails/JfV0V6ZW-M-150.jpeg | Bin 0 -> 1797 bytes images/feed-thumbnails/JfV0V6ZW-M-150.webp | Bin 0 -> 944 bytes images/feed-thumbnails/JfV0V6ZW-M-450.jpeg | Bin 0 -> 8505 bytes images/feed-thumbnails/JfV0V6ZW-M-450.webp | Bin 0 -> 3984 bytes images/feed-thumbnails/JuLyb88_wr-150.jpeg | Bin 0 -> 3004 bytes images/feed-thumbnails/JuLyb88_wr-150.webp | Bin 0 -> 1946 bytes images/feed-thumbnails/JuLyb88_wr-450.jpeg | Bin 0 -> 13489 bytes images/feed-thumbnails/JuLyb88_wr-450.webp | Bin 0 -> 7350 bytes images/feed-thumbnails/KD83ooeM6U-150.jpeg | Bin 0 -> 1719 bytes images/feed-thumbnails/KD83ooeM6U-150.webp | Bin 0 -> 686 bytes images/feed-thumbnails/KD83ooeM6U-450.jpeg | Bin 0 -> 9599 bytes images/feed-thumbnails/KD83ooeM6U-450.webp | Bin 0 -> 3676 bytes images/feed-thumbnails/KTozA_BQhB-150.jpeg | Bin 0 -> 3309 bytes images/feed-thumbnails/KTozA_BQhB-150.webp | Bin 0 -> 1984 bytes images/feed-thumbnails/KTozA_BQhB-450.jpeg | Bin 0 -> 21035 bytes images/feed-thumbnails/KTozA_BQhB-450.webp | Bin 0 -> 11848 bytes images/feed-thumbnails/Knn3Vtayu0-150.jpeg | Bin 0 -> 1162 bytes images/feed-thumbnails/Knn3Vtayu0-150.webp | Bin 0 -> 570 bytes images/feed-thumbnails/Knn3Vtayu0-450.jpeg | Bin 0 -> 4014 bytes images/feed-thumbnails/Knn3Vtayu0-450.webp | Bin 0 -> 1956 bytes images/feed-thumbnails/KxVzMJ65h0-150.jpeg | Bin 0 -> 2515 bytes images/feed-thumbnails/KxVzMJ65h0-150.webp | Bin 0 -> 1546 bytes images/feed-thumbnails/KxVzMJ65h0-450.jpeg | Bin 0 -> 10127 bytes images/feed-thumbnails/KxVzMJ65h0-450.webp | Bin 0 -> 5118 bytes images/feed-thumbnails/KzEXw8wmyw-150.jpeg | Bin 0 -> 2871 bytes images/feed-thumbnails/KzEXw8wmyw-150.webp | Bin 0 -> 2064 bytes images/feed-thumbnails/KzEXw8wmyw-450.jpeg | Bin 0 -> 15410 bytes images/feed-thumbnails/KzEXw8wmyw-450.webp | Bin 0 -> 8518 bytes images/feed-thumbnails/LNZSyqXFf8-150.jpeg | Bin 0 -> 3241 bytes images/feed-thumbnails/LNZSyqXFf8-150.webp | Bin 0 -> 2574 bytes images/feed-thumbnails/LNZSyqXFf8-450.jpeg | Bin 0 -> 14161 bytes images/feed-thumbnails/LNZSyqXFf8-450.webp | Bin 0 -> 8342 bytes images/feed-thumbnails/Luxl0FgqhN-150.jpeg | Bin 0 -> 1278 bytes images/feed-thumbnails/Luxl0FgqhN-150.webp | Bin 0 -> 610 bytes images/feed-thumbnails/Luxl0FgqhN-450.jpeg | Bin 0 -> 4634 bytes images/feed-thumbnails/Luxl0FgqhN-450.webp | Bin 0 -> 2362 bytes images/feed-thumbnails/Lxy9mzim48-150.jpeg | Bin 0 -> 2928 bytes images/feed-thumbnails/Lxy9mzim48-150.webp | Bin 0 -> 1702 bytes images/feed-thumbnails/Lxy9mzim48-450.jpeg | Bin 0 -> 12936 bytes images/feed-thumbnails/Lxy9mzim48-450.webp | Bin 0 -> 6310 bytes images/feed-thumbnails/M-BCOLeHkn-150.jpeg | Bin 0 -> 1331 bytes images/feed-thumbnails/M-BCOLeHkn-150.webp | Bin 0 -> 498 bytes images/feed-thumbnails/M-BCOLeHkn-450.jpeg | Bin 0 -> 7420 bytes images/feed-thumbnails/M-BCOLeHkn-450.webp | Bin 0 -> 3070 bytes images/feed-thumbnails/M-BCmcwWl--150.jpeg | Bin 0 -> 3258 bytes images/feed-thumbnails/M-BCmcwWl--150.webp | Bin 0 -> 2182 bytes images/feed-thumbnails/M-BCmcwWl--450.jpeg | Bin 0 -> 18166 bytes images/feed-thumbnails/M-BCmcwWl--450.webp | Bin 0 -> 9836 bytes images/feed-thumbnails/M3T0ijJqOp-150.jpeg | Bin 0 -> 2820 bytes images/feed-thumbnails/M3T0ijJqOp-150.webp | Bin 0 -> 1558 bytes images/feed-thumbnails/M3T0ijJqOp-450.jpeg | Bin 0 -> 18455 bytes images/feed-thumbnails/M3T0ijJqOp-450.webp | Bin 0 -> 10078 bytes images/feed-thumbnails/MKP96o5S6G-150.jpeg | Bin 0 -> 6335 bytes images/feed-thumbnails/MKP96o5S6G-150.webp | Bin 0 -> 10802 bytes images/feed-thumbnails/MWbi-2SknQ-150.jpeg | Bin 0 -> 2646 bytes images/feed-thumbnails/MWbi-2SknQ-150.webp | Bin 0 -> 1720 bytes images/feed-thumbnails/MWbi-2SknQ-450.jpeg | Bin 0 -> 14690 bytes images/feed-thumbnails/MWbi-2SknQ-450.webp | Bin 0 -> 8914 bytes images/feed-thumbnails/NJS0VwDmB6-150.jpeg | Bin 0 -> 1515 bytes images/feed-thumbnails/NJS0VwDmB6-150.webp | Bin 0 -> 864 bytes images/feed-thumbnails/NJS0VwDmB6-450.jpeg | Bin 0 -> 8433 bytes images/feed-thumbnails/NJS0VwDmB6-450.webp | Bin 0 -> 4530 bytes images/feed-thumbnails/NQqk0Bd6os-150.jpeg | Bin 0 -> 2083 bytes images/feed-thumbnails/NQqk0Bd6os-150.webp | Bin 0 -> 1206 bytes images/feed-thumbnails/NQqk0Bd6os-450.jpeg | Bin 0 -> 11224 bytes images/feed-thumbnails/NQqk0Bd6os-450.webp | Bin 0 -> 6062 bytes images/feed-thumbnails/NbP7hARJVs-150.jpeg | Bin 0 -> 1095 bytes images/feed-thumbnails/NbP7hARJVs-150.webp | Bin 0 -> 544 bytes images/feed-thumbnails/NbP7hARJVs-450.jpeg | Bin 0 -> 4992 bytes images/feed-thumbnails/NbP7hARJVs-450.webp | Bin 0 -> 2600 bytes images/feed-thumbnails/Nm84iIzCgv-150.jpeg | Bin 0 -> 1063 bytes images/feed-thumbnails/Nm84iIzCgv-150.webp | Bin 0 -> 378 bytes images/feed-thumbnails/Nm84iIzCgv-450.jpeg | Bin 0 -> 3267 bytes images/feed-thumbnails/Nm84iIzCgv-450.webp | Bin 0 -> 1460 bytes images/feed-thumbnails/O9G3uCzQhl-150.jpeg | Bin 0 -> 3473 bytes images/feed-thumbnails/O9G3uCzQhl-150.webp | Bin 0 -> 2070 bytes images/feed-thumbnails/O9G3uCzQhl-450.jpeg | Bin 0 -> 16898 bytes images/feed-thumbnails/O9G3uCzQhl-450.webp | Bin 0 -> 9052 bytes images/feed-thumbnails/OG3HKlWFqB-150.jpeg | Bin 0 -> 1586 bytes images/feed-thumbnails/OG3HKlWFqB-150.webp | Bin 0 -> 854 bytes images/feed-thumbnails/OG3HKlWFqB-450.jpeg | Bin 0 -> 7265 bytes images/feed-thumbnails/OG3HKlWFqB-450.webp | Bin 0 -> 3498 bytes images/feed-thumbnails/OdSn2SdvIM-150.jpeg | Bin 0 -> 2551 bytes images/feed-thumbnails/OdSn2SdvIM-150.webp | Bin 0 -> 1782 bytes images/feed-thumbnails/OdSn2SdvIM-450.jpeg | Bin 0 -> 12188 bytes images/feed-thumbnails/OdSn2SdvIM-450.webp | Bin 0 -> 6830 bytes images/feed-thumbnails/Oia7dN88hn-150.jpeg | Bin 0 -> 1795 bytes images/feed-thumbnails/Oia7dN88hn-150.webp | Bin 0 -> 1050 bytes images/feed-thumbnails/Oia7dN88hn-450.jpeg | Bin 0 -> 9427 bytes images/feed-thumbnails/Oia7dN88hn-450.webp | Bin 0 -> 4850 bytes images/feed-thumbnails/OnkSIqLcuu-150.jpeg | Bin 0 -> 2580 bytes images/feed-thumbnails/OnkSIqLcuu-150.webp | Bin 0 -> 1512 bytes images/feed-thumbnails/OnkSIqLcuu-450.jpeg | Bin 0 -> 11651 bytes images/feed-thumbnails/OnkSIqLcuu-450.webp | Bin 0 -> 5042 bytes images/feed-thumbnails/P-eA_KMtfU-150.jpeg | Bin 0 -> 2830 bytes images/feed-thumbnails/P-eA_KMtfU-150.webp | Bin 0 -> 1894 bytes images/feed-thumbnails/P-eA_KMtfU-450.jpeg | Bin 0 -> 13353 bytes images/feed-thumbnails/P-eA_KMtfU-450.webp | Bin 0 -> 7356 bytes images/feed-thumbnails/Q5UI0lGSFl-150.jpeg | Bin 0 -> 1640 bytes images/feed-thumbnails/Q5UI0lGSFl-150.webp | Bin 0 -> 782 bytes images/feed-thumbnails/Q5UI0lGSFl-450.jpeg | Bin 0 -> 8458 bytes images/feed-thumbnails/Q5UI0lGSFl-450.webp | Bin 0 -> 3744 bytes images/feed-thumbnails/Q5ZqgEvsJp-150.jpeg | Bin 0 -> 1566 bytes images/feed-thumbnails/Q5ZqgEvsJp-150.webp | Bin 0 -> 888 bytes images/feed-thumbnails/Q5ZqgEvsJp-450.jpeg | Bin 0 -> 7979 bytes images/feed-thumbnails/Q5ZqgEvsJp-450.webp | Bin 0 -> 4366 bytes images/feed-thumbnails/QImN1kjT9x-150.jpeg | Bin 0 -> 1643 bytes images/feed-thumbnails/QImN1kjT9x-150.webp | Bin 0 -> 3244 bytes images/feed-thumbnails/QImN1kjT9x-450.jpeg | Bin 0 -> 6155 bytes images/feed-thumbnails/QImN1kjT9x-450.webp | Bin 0 -> 10230 bytes images/feed-thumbnails/QKKOun8fin-150.jpeg | Bin 0 -> 1497 bytes images/feed-thumbnails/QKKOun8fin-150.webp | Bin 0 -> 738 bytes images/feed-thumbnails/QKKOun8fin-450.jpeg | Bin 0 -> 9766 bytes images/feed-thumbnails/QKKOun8fin-450.webp | Bin 0 -> 5198 bytes images/feed-thumbnails/QNz6QLx8wL-150.jpeg | Bin 0 -> 4612 bytes images/feed-thumbnails/QNz6QLx8wL-150.webp | Bin 0 -> 3308 bytes images/feed-thumbnails/QNz6QLx8wL-450.jpeg | Bin 0 -> 27351 bytes images/feed-thumbnails/QNz6QLx8wL-450.webp | Bin 0 -> 17914 bytes images/feed-thumbnails/QWhj2Ln072-150.jpeg | Bin 0 -> 2599 bytes images/feed-thumbnails/QWhj2Ln072-150.webp | Bin 0 -> 1720 bytes images/feed-thumbnails/QWhj2Ln072-450.jpeg | Bin 0 -> 15550 bytes images/feed-thumbnails/QWhj2Ln072-450.webp | Bin 0 -> 8902 bytes images/feed-thumbnails/QXPtUOSJAV-150.jpeg | Bin 0 -> 776 bytes images/feed-thumbnails/QXPtUOSJAV-150.webp | Bin 0 -> 314 bytes images/feed-thumbnails/QXPtUOSJAV-450.jpeg | Bin 0 -> 3875 bytes images/feed-thumbnails/QXPtUOSJAV-450.webp | Bin 0 -> 1758 bytes images/feed-thumbnails/QaXjpDkLtg-150.jpeg | Bin 0 -> 3089 bytes images/feed-thumbnails/QaXjpDkLtg-150.webp | Bin 0 -> 1964 bytes images/feed-thumbnails/QaXjpDkLtg-450.jpeg | Bin 0 -> 13927 bytes images/feed-thumbnails/QaXjpDkLtg-450.webp | Bin 0 -> 7372 bytes images/feed-thumbnails/Qo7pVbgvn7-150.jpeg | Bin 0 -> 1930 bytes images/feed-thumbnails/Qo7pVbgvn7-150.webp | Bin 0 -> 1026 bytes images/feed-thumbnails/Qo7pVbgvn7-450.jpeg | Bin 0 -> 8531 bytes images/feed-thumbnails/Qo7pVbgvn7-450.webp | Bin 0 -> 4938 bytes images/feed-thumbnails/R80W7qz487-150.jpeg | Bin 0 -> 952 bytes images/feed-thumbnails/R80W7qz487-150.webp | Bin 0 -> 502 bytes images/feed-thumbnails/R80W7qz487-450.jpeg | Bin 0 -> 3319 bytes images/feed-thumbnails/R80W7qz487-450.webp | Bin 0 -> 1476 bytes images/feed-thumbnails/RH1KjalFS6-150.jpeg | Bin 0 -> 1004 bytes images/feed-thumbnails/RH1KjalFS6-150.webp | Bin 0 -> 620 bytes images/feed-thumbnails/RH1KjalFS6-450.jpeg | Bin 0 -> 4896 bytes images/feed-thumbnails/RH1KjalFS6-450.webp | Bin 0 -> 2540 bytes images/feed-thumbnails/RIuQuc7qxm-150.jpeg | Bin 0 -> 1451 bytes images/feed-thumbnails/RIuQuc7qxm-150.webp | Bin 0 -> 704 bytes images/feed-thumbnails/RIuQuc7qxm-450.jpeg | Bin 0 -> 9742 bytes images/feed-thumbnails/RIuQuc7qxm-450.webp | Bin 0 -> 4958 bytes images/feed-thumbnails/RVBIPw4tmw-150.jpeg | Bin 0 -> 1365 bytes images/feed-thumbnails/RVBIPw4tmw-150.webp | Bin 0 -> 852 bytes images/feed-thumbnails/RVBIPw4tmw-450.jpeg | Bin 0 -> 7704 bytes images/feed-thumbnails/RVBIPw4tmw-450.webp | Bin 0 -> 4378 bytes images/feed-thumbnails/RinS63bJ9U-150.jpeg | Bin 0 -> 3421 bytes images/feed-thumbnails/RinS63bJ9U-150.webp | Bin 0 -> 2410 bytes images/feed-thumbnails/RinS63bJ9U-450.jpeg | Bin 0 -> 17804 bytes images/feed-thumbnails/RinS63bJ9U-450.webp | Bin 0 -> 9326 bytes images/feed-thumbnails/SK6Yhvweqi-150.jpeg | Bin 0 -> 2234 bytes images/feed-thumbnails/SK6Yhvweqi-150.webp | Bin 0 -> 1352 bytes images/feed-thumbnails/SK6Yhvweqi-450.jpeg | Bin 0 -> 13138 bytes images/feed-thumbnails/SK6Yhvweqi-450.webp | Bin 0 -> 6318 bytes images/feed-thumbnails/SLCSPjIIPB-150.jpeg | Bin 0 -> 1183 bytes images/feed-thumbnails/SLCSPjIIPB-150.webp | Bin 0 -> 446 bytes images/feed-thumbnails/SLCSPjIIPB-450.jpeg | Bin 0 -> 4586 bytes images/feed-thumbnails/SLCSPjIIPB-450.webp | Bin 0 -> 1956 bytes images/feed-thumbnails/SOxxyWmVy5-150.jpeg | Bin 0 -> 2230 bytes images/feed-thumbnails/SOxxyWmVy5-150.webp | Bin 0 -> 1274 bytes images/feed-thumbnails/SOxxyWmVy5-450.jpeg | Bin 0 -> 10644 bytes images/feed-thumbnails/SOxxyWmVy5-450.webp | Bin 0 -> 5600 bytes images/feed-thumbnails/STij2OXD6X-150.jpeg | Bin 0 -> 2948 bytes images/feed-thumbnails/STij2OXD6X-150.webp | Bin 0 -> 2098 bytes images/feed-thumbnails/STij2OXD6X-450.jpeg | Bin 0 -> 13787 bytes images/feed-thumbnails/STij2OXD6X-450.webp | Bin 0 -> 7514 bytes images/feed-thumbnails/SrBKUFw3KO-150.jpeg | Bin 0 -> 1810 bytes images/feed-thumbnails/SrBKUFw3KO-150.webp | Bin 0 -> 990 bytes images/feed-thumbnails/SrBKUFw3KO-450.jpeg | Bin 0 -> 13799 bytes images/feed-thumbnails/SrBKUFw3KO-450.webp | Bin 0 -> 7286 bytes images/feed-thumbnails/TMcTCua68E-150.jpeg | Bin 0 -> 2115 bytes images/feed-thumbnails/TMcTCua68E-150.webp | Bin 0 -> 986 bytes images/feed-thumbnails/TMcTCua68E-450.jpeg | Bin 0 -> 13196 bytes images/feed-thumbnails/TMcTCua68E-450.webp | Bin 0 -> 7048 bytes images/feed-thumbnails/TeSMZeLDo3-150.jpeg | Bin 0 -> 1813 bytes images/feed-thumbnails/TeSMZeLDo3-150.webp | Bin 0 -> 910 bytes images/feed-thumbnails/TeSMZeLDo3-450.jpeg | Bin 0 -> 6823 bytes images/feed-thumbnails/TeSMZeLDo3-450.webp | Bin 0 -> 2772 bytes images/feed-thumbnails/TknD5_7V6Z-150.jpeg | Bin 0 -> 1851 bytes images/feed-thumbnails/TknD5_7V6Z-150.webp | Bin 0 -> 1076 bytes images/feed-thumbnails/TknD5_7V6Z-450.jpeg | Bin 0 -> 9785 bytes images/feed-thumbnails/TknD5_7V6Z-450.webp | Bin 0 -> 5986 bytes images/feed-thumbnails/TtT3VTzEuR-150.jpeg | Bin 0 -> 1736 bytes images/feed-thumbnails/TtT3VTzEuR-150.webp | Bin 0 -> 864 bytes images/feed-thumbnails/TtT3VTzEuR-450.jpeg | Bin 0 -> 7188 bytes images/feed-thumbnails/TtT3VTzEuR-450.webp | Bin 0 -> 2846 bytes images/feed-thumbnails/TuGJXN2LFW-150.jpeg | Bin 0 -> 2712 bytes images/feed-thumbnails/TuGJXN2LFW-150.webp | Bin 0 -> 1542 bytes images/feed-thumbnails/TuGJXN2LFW-450.jpeg | Bin 0 -> 12732 bytes images/feed-thumbnails/TuGJXN2LFW-450.webp | Bin 0 -> 7314 bytes images/feed-thumbnails/UXEaS5uCp3-150.jpeg | Bin 0 -> 1688 bytes images/feed-thumbnails/UXEaS5uCp3-150.webp | Bin 0 -> 786 bytes images/feed-thumbnails/UXEaS5uCp3-450.jpeg | Bin 0 -> 11522 bytes images/feed-thumbnails/UXEaS5uCp3-450.webp | Bin 0 -> 6768 bytes images/feed-thumbnails/UhXbLQoaoO-150.jpeg | Bin 0 -> 2026 bytes images/feed-thumbnails/UhXbLQoaoO-150.webp | Bin 0 -> 1166 bytes images/feed-thumbnails/UhXbLQoaoO-450.jpeg | Bin 0 -> 9824 bytes images/feed-thumbnails/UhXbLQoaoO-450.webp | Bin 0 -> 4716 bytes images/feed-thumbnails/UxcqgFOUWr-150.jpeg | Bin 0 -> 1902 bytes images/feed-thumbnails/UxcqgFOUWr-150.webp | Bin 0 -> 1048 bytes images/feed-thumbnails/UxcqgFOUWr-450.jpeg | Bin 0 -> 8744 bytes images/feed-thumbnails/UxcqgFOUWr-450.webp | Bin 0 -> 4522 bytes images/feed-thumbnails/VFP4ZcdsuH-150.jpeg | Bin 0 -> 1756 bytes images/feed-thumbnails/VFP4ZcdsuH-150.webp | Bin 0 -> 870 bytes images/feed-thumbnails/VFP4ZcdsuH-450.jpeg | Bin 0 -> 7776 bytes images/feed-thumbnails/VFP4ZcdsuH-450.webp | Bin 0 -> 3582 bytes images/feed-thumbnails/VQLgHzdmcB-150.jpeg | Bin 0 -> 2021 bytes images/feed-thumbnails/VQLgHzdmcB-150.webp | Bin 0 -> 944 bytes images/feed-thumbnails/VQLgHzdmcB-450.jpeg | Bin 0 -> 10471 bytes images/feed-thumbnails/VQLgHzdmcB-450.webp | Bin 0 -> 5022 bytes images/feed-thumbnails/WCJHyJ8iia-150.jpeg | Bin 0 -> 1765 bytes images/feed-thumbnails/WCJHyJ8iia-150.webp | Bin 0 -> 868 bytes images/feed-thumbnails/WCJHyJ8iia-450.jpeg | Bin 0 -> 7057 bytes images/feed-thumbnails/WCJHyJ8iia-450.webp | Bin 0 -> 2904 bytes images/feed-thumbnails/WN7d8xOKic-150.jpeg | Bin 0 -> 2133 bytes images/feed-thumbnails/WN7d8xOKic-150.webp | Bin 0 -> 1236 bytes images/feed-thumbnails/WN7d8xOKic-450.jpeg | Bin 0 -> 9587 bytes images/feed-thumbnails/WN7d8xOKic-450.webp | Bin 0 -> 4414 bytes images/feed-thumbnails/WkWfvDMQbp-150.jpeg | Bin 0 -> 2731 bytes images/feed-thumbnails/WkWfvDMQbp-150.webp | Bin 0 -> 1772 bytes images/feed-thumbnails/WkWfvDMQbp-450.jpeg | Bin 0 -> 15056 bytes images/feed-thumbnails/WkWfvDMQbp-450.webp | Bin 0 -> 8028 bytes images/feed-thumbnails/X-1au2i66b-150.jpeg | Bin 0 -> 2433 bytes images/feed-thumbnails/X-1au2i66b-150.webp | Bin 0 -> 1542 bytes images/feed-thumbnails/X-1au2i66b-450.jpeg | Bin 0 -> 11932 bytes images/feed-thumbnails/X-1au2i66b-450.webp | Bin 0 -> 6460 bytes images/feed-thumbnails/XDOsMSgwOf-150.jpeg | Bin 0 -> 1877 bytes images/feed-thumbnails/XDOsMSgwOf-150.webp | Bin 0 -> 1058 bytes images/feed-thumbnails/XDOsMSgwOf-450.jpeg | Bin 0 -> 9684 bytes images/feed-thumbnails/XDOsMSgwOf-450.webp | Bin 0 -> 5430 bytes images/feed-thumbnails/XXlav9UauU-150.jpeg | Bin 0 -> 1699 bytes images/feed-thumbnails/XXlav9UauU-150.webp | Bin 0 -> 730 bytes images/feed-thumbnails/Xg_6nF-foa-150.jpeg | Bin 0 -> 3852 bytes images/feed-thumbnails/Xg_6nF-foa-150.webp | Bin 0 -> 2196 bytes images/feed-thumbnails/XkzgVUW_EO-150.jpeg | Bin 0 -> 3426 bytes images/feed-thumbnails/XkzgVUW_EO-150.webp | Bin 0 -> 2300 bytes images/feed-thumbnails/XkzgVUW_EO-450.jpeg | Bin 0 -> 17407 bytes images/feed-thumbnails/XkzgVUW_EO-450.webp | Bin 0 -> 10738 bytes images/feed-thumbnails/YdZATe7Jck-150.jpeg | Bin 0 -> 2593 bytes images/feed-thumbnails/YdZATe7Jck-150.webp | Bin 0 -> 1660 bytes images/feed-thumbnails/YdZATe7Jck-450.jpeg | Bin 0 -> 16566 bytes images/feed-thumbnails/YdZATe7Jck-450.webp | Bin 0 -> 9512 bytes images/feed-thumbnails/YtKv2T994P-150.jpeg | Bin 0 -> 1549 bytes images/feed-thumbnails/YtKv2T994P-150.webp | Bin 0 -> 618 bytes images/feed-thumbnails/YtKv2T994P-450.jpeg | Bin 0 -> 9439 bytes images/feed-thumbnails/YtKv2T994P-450.webp | Bin 0 -> 3998 bytes images/feed-thumbnails/Z99atEYX81-150.jpeg | Bin 0 -> 2627 bytes images/feed-thumbnails/Z99atEYX81-150.webp | Bin 0 -> 1654 bytes images/feed-thumbnails/Z99atEYX81-450.jpeg | Bin 0 -> 15256 bytes images/feed-thumbnails/Z99atEYX81-450.webp | Bin 0 -> 8340 bytes images/feed-thumbnails/ZCn62Fzu2W-150.jpeg | Bin 0 -> 5786 bytes images/feed-thumbnails/ZCn62Fzu2W-150.webp | Bin 0 -> 3876 bytes images/feed-thumbnails/ZCn62Fzu2W-450.jpeg | Bin 0 -> 36522 bytes images/feed-thumbnails/ZCn62Fzu2W-450.webp | Bin 0 -> 22770 bytes images/feed-thumbnails/ZsNX2klrEN-150.jpeg | Bin 0 -> 3102 bytes images/feed-thumbnails/ZsNX2klrEN-150.webp | Bin 0 -> 1872 bytes images/feed-thumbnails/ZsNX2klrEN-450.jpeg | Bin 0 -> 15326 bytes images/feed-thumbnails/ZsNX2klrEN-450.webp | Bin 0 -> 8618 bytes images/feed-thumbnails/_GF3SNLOHp-150.jpeg | Bin 0 -> 874 bytes images/feed-thumbnails/_GF3SNLOHp-150.webp | Bin 0 -> 404 bytes images/feed-thumbnails/_GF3SNLOHp-450.jpeg | Bin 0 -> 2933 bytes images/feed-thumbnails/_GF3SNLOHp-450.webp | Bin 0 -> 1354 bytes images/feed-thumbnails/_PDNFhUggs-150.jpeg | Bin 0 -> 2111 bytes images/feed-thumbnails/_PDNFhUggs-150.webp | Bin 0 -> 1354 bytes images/feed-thumbnails/_PDNFhUggs-450.jpeg | Bin 0 -> 10087 bytes images/feed-thumbnails/_PDNFhUggs-450.webp | Bin 0 -> 5046 bytes images/feed-thumbnails/_QccQk6qQB-150.jpeg | Bin 0 -> 1679 bytes images/feed-thumbnails/_QccQk6qQB-150.webp | Bin 0 -> 712 bytes images/feed-thumbnails/_QccQk6qQB-450.jpeg | Bin 0 -> 6517 bytes images/feed-thumbnails/_QccQk6qQB-450.webp | Bin 0 -> 3030 bytes images/feed-thumbnails/_gNPnCohsW-150.jpeg | Bin 0 -> 4673 bytes images/feed-thumbnails/_gNPnCohsW-150.webp | Bin 0 -> 3012 bytes images/feed-thumbnails/_gNPnCohsW-450.jpeg | Bin 0 -> 23167 bytes images/feed-thumbnails/_gNPnCohsW-450.webp | Bin 0 -> 12340 bytes images/feed-thumbnails/aBKtQus9bs-150.jpeg | Bin 0 -> 2554 bytes images/feed-thumbnails/aBKtQus9bs-150.webp | Bin 0 -> 1486 bytes images/feed-thumbnails/aBKtQus9bs-450.jpeg | Bin 0 -> 12397 bytes images/feed-thumbnails/aBKtQus9bs-450.webp | Bin 0 -> 6074 bytes images/feed-thumbnails/aHr_VRPIBP-150.jpeg | Bin 0 -> 2803 bytes images/feed-thumbnails/aHr_VRPIBP-150.webp | Bin 0 -> 2010 bytes images/feed-thumbnails/aHr_VRPIBP-450.jpeg | Bin 0 -> 15315 bytes images/feed-thumbnails/aHr_VRPIBP-450.webp | Bin 0 -> 8588 bytes images/feed-thumbnails/aTnF2dSdIL-150.jpeg | Bin 0 -> 1252 bytes images/feed-thumbnails/aTnF2dSdIL-150.webp | Bin 0 -> 600 bytes images/feed-thumbnails/aTnF2dSdIL-450.jpeg | Bin 0 -> 4454 bytes images/feed-thumbnails/aTnF2dSdIL-450.webp | Bin 0 -> 2090 bytes images/feed-thumbnails/ao1euOTj52-150.jpeg | Bin 0 -> 1040 bytes images/feed-thumbnails/ao1euOTj52-150.webp | Bin 0 -> 552 bytes images/feed-thumbnails/ao1euOTj52-450.jpeg | Bin 0 -> 3785 bytes images/feed-thumbnails/ao1euOTj52-450.webp | Bin 0 -> 1840 bytes images/feed-thumbnails/atFZic5QDe-150.jpeg | Bin 0 -> 3666 bytes images/feed-thumbnails/atFZic5QDe-150.webp | Bin 0 -> 2292 bytes images/feed-thumbnails/atFZic5QDe-450.jpeg | Bin 0 -> 16218 bytes images/feed-thumbnails/atFZic5QDe-450.webp | Bin 0 -> 9534 bytes images/feed-thumbnails/ayFv90JKSr-150.jpeg | Bin 0 -> 1888 bytes images/feed-thumbnails/ayFv90JKSr-150.webp | Bin 0 -> 1016 bytes images/feed-thumbnails/ayFv90JKSr-450.jpeg | Bin 0 -> 9425 bytes images/feed-thumbnails/ayFv90JKSr-450.webp | Bin 0 -> 4992 bytes images/feed-thumbnails/b7KzoEF4kv-150.jpeg | Bin 0 -> 2637 bytes images/feed-thumbnails/b7KzoEF4kv-150.webp | Bin 0 -> 1646 bytes images/feed-thumbnails/b7KzoEF4kv-450.jpeg | Bin 0 -> 15696 bytes images/feed-thumbnails/b7KzoEF4kv-450.webp | Bin 0 -> 8368 bytes images/feed-thumbnails/b8IZ1YkPWU-150.jpeg | Bin 0 -> 1888 bytes images/feed-thumbnails/b8IZ1YkPWU-150.webp | Bin 0 -> 768 bytes images/feed-thumbnails/b8IZ1YkPWU-450.jpeg | Bin 0 -> 6852 bytes images/feed-thumbnails/b8IZ1YkPWU-450.webp | Bin 0 -> 2928 bytes images/feed-thumbnails/bqMVJCNIYu-150.jpeg | Bin 0 -> 2424 bytes images/feed-thumbnails/bqMVJCNIYu-150.webp | Bin 0 -> 1318 bytes images/feed-thumbnails/bqMVJCNIYu-450.jpeg | Bin 0 -> 12211 bytes images/feed-thumbnails/bqMVJCNIYu-450.webp | Bin 0 -> 6354 bytes images/feed-thumbnails/c04-Nl3jH_-150.jpeg | Bin 0 -> 2596 bytes images/feed-thumbnails/c04-Nl3jH_-150.webp | Bin 0 -> 1162 bytes images/feed-thumbnails/c7gy8fsdLv-150.jpeg | Bin 0 -> 6429 bytes images/feed-thumbnails/c7gy8fsdLv-150.webp | Bin 0 -> 4638 bytes images/feed-thumbnails/c7gy8fsdLv-450.jpeg | Bin 0 -> 47399 bytes images/feed-thumbnails/c7gy8fsdLv-450.webp | Bin 0 -> 32526 bytes images/feed-thumbnails/cTO-m7wYlH-150.jpeg | Bin 0 -> 2214 bytes images/feed-thumbnails/cTO-m7wYlH-150.webp | Bin 0 -> 1360 bytes images/feed-thumbnails/cTO-m7wYlH-450.jpeg | Bin 0 -> 10170 bytes images/feed-thumbnails/cTO-m7wYlH-450.webp | Bin 0 -> 5664 bytes images/feed-thumbnails/cp1J4jSlwO-150.jpeg | Bin 0 -> 2745 bytes images/feed-thumbnails/cp1J4jSlwO-150.webp | Bin 0 -> 1816 bytes images/feed-thumbnails/cp1J4jSlwO-450.jpeg | Bin 0 -> 13786 bytes images/feed-thumbnails/cp1J4jSlwO-450.webp | Bin 0 -> 7954 bytes images/feed-thumbnails/cxLY5kvnLA-150.jpeg | Bin 0 -> 1954 bytes images/feed-thumbnails/cxLY5kvnLA-150.webp | Bin 0 -> 776 bytes images/feed-thumbnails/cxLY5kvnLA-450.jpeg | Bin 0 -> 6680 bytes images/feed-thumbnails/cxLY5kvnLA-450.webp | Bin 0 -> 2228 bytes images/feed-thumbnails/d0mJMMpJDr-150.jpeg | Bin 0 -> 1000 bytes images/feed-thumbnails/d0mJMMpJDr-150.webp | Bin 0 -> 486 bytes images/feed-thumbnails/d0mJMMpJDr-450.jpeg | Bin 0 -> 4133 bytes images/feed-thumbnails/d0mJMMpJDr-450.webp | Bin 0 -> 1504 bytes images/feed-thumbnails/dSI4hb6i9r-150.jpeg | Bin 0 -> 2580 bytes images/feed-thumbnails/dSI4hb6i9r-150.webp | Bin 0 -> 1656 bytes images/feed-thumbnails/dSI4hb6i9r-450.jpeg | Bin 0 -> 13661 bytes images/feed-thumbnails/dSI4hb6i9r-450.webp | Bin 0 -> 8112 bytes images/feed-thumbnails/dScvFvTgEQ-150.jpeg | Bin 0 -> 1358 bytes images/feed-thumbnails/dScvFvTgEQ-150.webp | Bin 0 -> 832 bytes images/feed-thumbnails/dScvFvTgEQ-450.jpeg | Bin 0 -> 6069 bytes images/feed-thumbnails/dScvFvTgEQ-450.webp | Bin 0 -> 3256 bytes images/feed-thumbnails/dmd0qC3sta-150.jpeg | Bin 0 -> 1294 bytes images/feed-thumbnails/dmd0qC3sta-150.webp | Bin 0 -> 562 bytes images/feed-thumbnails/dmd0qC3sta-450.jpeg | Bin 0 -> 4731 bytes images/feed-thumbnails/dmd0qC3sta-450.webp | Bin 0 -> 2316 bytes images/feed-thumbnails/dr4bmqVF_T-150.jpeg | Bin 0 -> 1453 bytes images/feed-thumbnails/dr4bmqVF_T-150.webp | Bin 0 -> 664 bytes images/feed-thumbnails/dr4bmqVF_T-450.jpeg | Bin 0 -> 6739 bytes images/feed-thumbnails/dr4bmqVF_T-450.webp | Bin 0 -> 3356 bytes images/feed-thumbnails/e4yKtnERV7-150.jpeg | Bin 0 -> 1817 bytes images/feed-thumbnails/e4yKtnERV7-150.webp | Bin 0 -> 976 bytes images/feed-thumbnails/e4yKtnERV7-450.jpeg | Bin 0 -> 7927 bytes images/feed-thumbnails/e4yKtnERV7-450.webp | Bin 0 -> 3608 bytes images/feed-thumbnails/eKYYygcX2n-150.jpeg | Bin 0 -> 1471 bytes images/feed-thumbnails/eKYYygcX2n-150.webp | Bin 0 -> 746 bytes images/feed-thumbnails/eKYYygcX2n-450.jpeg | Bin 0 -> 7108 bytes images/feed-thumbnails/eKYYygcX2n-450.webp | Bin 0 -> 3582 bytes images/feed-thumbnails/eRuaAfxScj-150.jpeg | Bin 0 -> 2267 bytes images/feed-thumbnails/eRuaAfxScj-150.webp | Bin 0 -> 1330 bytes images/feed-thumbnails/eRuaAfxScj-450.jpeg | Bin 0 -> 10712 bytes images/feed-thumbnails/eRuaAfxScj-450.webp | Bin 0 -> 4796 bytes images/feed-thumbnails/eei885fsKL-150.jpeg | Bin 0 -> 2005 bytes images/feed-thumbnails/eei885fsKL-150.webp | Bin 0 -> 1138 bytes images/feed-thumbnails/eei885fsKL-450.jpeg | Bin 0 -> 8086 bytes images/feed-thumbnails/eei885fsKL-450.webp | Bin 0 -> 3526 bytes images/feed-thumbnails/eitYD1wcwd-150.jpeg | Bin 0 -> 1049 bytes images/feed-thumbnails/eitYD1wcwd-150.webp | Bin 0 -> 554 bytes images/feed-thumbnails/eitYD1wcwd-450.jpeg | Bin 0 -> 5288 bytes images/feed-thumbnails/eitYD1wcwd-450.webp | Bin 0 -> 3170 bytes images/feed-thumbnails/fJ3sugeOwS-150.jpeg | Bin 0 -> 1552 bytes images/feed-thumbnails/fJ3sugeOwS-150.webp | Bin 0 -> 814 bytes images/feed-thumbnails/fJ3sugeOwS-450.jpeg | Bin 0 -> 6061 bytes images/feed-thumbnails/fJ3sugeOwS-450.webp | Bin 0 -> 2508 bytes images/feed-thumbnails/gN8OIloajQ-150.jpeg | Bin 0 -> 1790 bytes images/feed-thumbnails/gN8OIloajQ-150.webp | Bin 0 -> 1010 bytes images/feed-thumbnails/gN8OIloajQ-450.jpeg | Bin 0 -> 7133 bytes images/feed-thumbnails/gN8OIloajQ-450.webp | Bin 0 -> 3650 bytes images/feed-thumbnails/gRcdmGorz1-150.jpeg | Bin 0 -> 2361 bytes images/feed-thumbnails/gRcdmGorz1-150.webp | Bin 0 -> 1452 bytes images/feed-thumbnails/gRcdmGorz1-450.jpeg | Bin 0 -> 11896 bytes images/feed-thumbnails/gRcdmGorz1-450.webp | Bin 0 -> 9614 bytes images/feed-thumbnails/gW1-ah6H08-150.jpeg | Bin 0 -> 2687 bytes images/feed-thumbnails/gW1-ah6H08-150.webp | Bin 0 -> 1738 bytes images/feed-thumbnails/gW1-ah6H08-450.jpeg | Bin 0 -> 12807 bytes images/feed-thumbnails/gW1-ah6H08-450.webp | Bin 0 -> 7148 bytes images/feed-thumbnails/ggCESX01gi-150.jpeg | Bin 0 -> 3124 bytes images/feed-thumbnails/ggCESX01gi-150.webp | Bin 0 -> 2118 bytes images/feed-thumbnails/ggCESX01gi-450.jpeg | Bin 0 -> 17153 bytes images/feed-thumbnails/ggCESX01gi-450.webp | Bin 0 -> 9470 bytes images/feed-thumbnails/h5Pg9LevU3-150.jpeg | Bin 0 -> 1766 bytes images/feed-thumbnails/h5Pg9LevU3-150.webp | Bin 0 -> 994 bytes images/feed-thumbnails/h5Pg9LevU3-450.jpeg | Bin 0 -> 9326 bytes images/feed-thumbnails/h5Pg9LevU3-450.webp | Bin 0 -> 4088 bytes images/feed-thumbnails/h5Xwq44yeI-150.jpeg | Bin 0 -> 2102 bytes images/feed-thumbnails/h5Xwq44yeI-150.webp | Bin 0 -> 1112 bytes images/feed-thumbnails/h5Xwq44yeI-450.jpeg | Bin 0 -> 11996 bytes images/feed-thumbnails/h5Xwq44yeI-450.webp | Bin 0 -> 6848 bytes images/feed-thumbnails/hKbHC4mrjn-150.jpeg | Bin 0 -> 878 bytes images/feed-thumbnails/hKbHC4mrjn-150.webp | Bin 0 -> 296 bytes images/feed-thumbnails/hKbHC4mrjn-450.jpeg | Bin 0 -> 3222 bytes images/feed-thumbnails/hKbHC4mrjn-450.webp | Bin 0 -> 1012 bytes images/feed-thumbnails/hQkbaDIm7g-150.jpeg | Bin 0 -> 1706 bytes images/feed-thumbnails/hQkbaDIm7g-150.webp | Bin 0 -> 898 bytes images/feed-thumbnails/hQkbaDIm7g-450.jpeg | Bin 0 -> 7134 bytes images/feed-thumbnails/hQkbaDIm7g-450.webp | Bin 0 -> 2992 bytes images/feed-thumbnails/hSposFa1_C-150.jpeg | Bin 0 -> 2391 bytes images/feed-thumbnails/hSposFa1_C-150.webp | Bin 0 -> 4398 bytes images/feed-thumbnails/i41zY4qJAu-150.jpeg | Bin 0 -> 2652 bytes images/feed-thumbnails/i41zY4qJAu-150.webp | Bin 0 -> 1514 bytes images/feed-thumbnails/i41zY4qJAu-450.jpeg | Bin 0 -> 15830 bytes images/feed-thumbnails/i41zY4qJAu-450.webp | Bin 0 -> 9208 bytes images/feed-thumbnails/iJSJh16dwz-150.jpeg | Bin 0 -> 3015 bytes images/feed-thumbnails/iJSJh16dwz-150.webp | Bin 0 -> 1952 bytes images/feed-thumbnails/iJSJh16dwz-450.jpeg | Bin 0 -> 13792 bytes images/feed-thumbnails/iJSJh16dwz-450.webp | Bin 0 -> 7242 bytes images/feed-thumbnails/ieH1b-IqVR-150.jpeg | Bin 0 -> 2751 bytes images/feed-thumbnails/ieH1b-IqVR-150.webp | Bin 0 -> 1508 bytes images/feed-thumbnails/ieH1b-IqVR-450.jpeg | Bin 0 -> 11640 bytes images/feed-thumbnails/ieH1b-IqVR-450.webp | Bin 0 -> 4690 bytes images/feed-thumbnails/ijMAqvIiPP-150.jpeg | Bin 0 -> 1665 bytes images/feed-thumbnails/ijMAqvIiPP-150.webp | Bin 0 -> 650 bytes images/feed-thumbnails/ijMAqvIiPP-450.jpeg | Bin 0 -> 8958 bytes images/feed-thumbnails/ijMAqvIiPP-450.webp | Bin 0 -> 4052 bytes images/feed-thumbnails/isSIKYs-l2-150.jpeg | Bin 0 -> 2450 bytes images/feed-thumbnails/isSIKYs-l2-150.webp | Bin 0 -> 1572 bytes images/feed-thumbnails/isSIKYs-l2-450.jpeg | Bin 0 -> 10964 bytes images/feed-thumbnails/isSIKYs-l2-450.webp | Bin 0 -> 5646 bytes images/feed-thumbnails/itodJ1w5jT-150.jpeg | Bin 0 -> 2175 bytes images/feed-thumbnails/itodJ1w5jT-150.webp | Bin 0 -> 1442 bytes images/feed-thumbnails/itodJ1w5jT-450.jpeg | Bin 0 -> 11569 bytes images/feed-thumbnails/itodJ1w5jT-450.webp | Bin 0 -> 6928 bytes images/feed-thumbnails/izI7IMW44m-150.jpeg | Bin 0 -> 1684 bytes images/feed-thumbnails/izI7IMW44m-150.webp | Bin 0 -> 1070 bytes images/feed-thumbnails/izI7IMW44m-450.jpeg | Bin 0 -> 7727 bytes images/feed-thumbnails/izI7IMW44m-450.webp | Bin 0 -> 4386 bytes images/feed-thumbnails/j8pkS-2VqE-150.jpeg | Bin 0 -> 2835 bytes images/feed-thumbnails/j8pkS-2VqE-150.webp | Bin 0 -> 4408 bytes images/feed-thumbnails/j8pkS-2VqE-450.jpeg | Bin 0 -> 8685 bytes images/feed-thumbnails/j8pkS-2VqE-450.webp | Bin 0 -> 13410 bytes images/feed-thumbnails/jGkm_zXsiF-150.jpeg | Bin 0 -> 2241 bytes images/feed-thumbnails/jGkm_zXsiF-150.webp | Bin 0 -> 1050 bytes images/feed-thumbnails/jGkm_zXsiF-450.jpeg | Bin 0 -> 8893 bytes images/feed-thumbnails/jGkm_zXsiF-450.webp | Bin 0 -> 4408 bytes images/feed-thumbnails/jQ1GZGJn6v-150.jpeg | Bin 0 -> 958 bytes images/feed-thumbnails/jQ1GZGJn6v-150.webp | Bin 0 -> 280 bytes images/feed-thumbnails/jQ1GZGJn6v-450.jpeg | Bin 0 -> 2611 bytes images/feed-thumbnails/jQ1GZGJn6v-450.webp | Bin 0 -> 782 bytes images/feed-thumbnails/jRQuDWDSWR-150.jpeg | Bin 0 -> 2043 bytes images/feed-thumbnails/jRQuDWDSWR-150.webp | Bin 0 -> 1248 bytes images/feed-thumbnails/jRQuDWDSWR-450.jpeg | Bin 0 -> 9193 bytes images/feed-thumbnails/jRQuDWDSWR-450.webp | Bin 0 -> 4586 bytes images/feed-thumbnails/j_wD4Jv0ph-150.jpeg | Bin 0 -> 4014 bytes images/feed-thumbnails/j_wD4Jv0ph-150.webp | Bin 0 -> 2768 bytes images/feed-thumbnails/j_wD4Jv0ph-450.jpeg | Bin 0 -> 18796 bytes images/feed-thumbnails/j_wD4Jv0ph-450.webp | Bin 0 -> 10182 bytes images/feed-thumbnails/kFMkD1OaMa-150.jpeg | Bin 0 -> 3426 bytes images/feed-thumbnails/kFMkD1OaMa-150.webp | Bin 0 -> 2414 bytes images/feed-thumbnails/kFMkD1OaMa-450.jpeg | Bin 0 -> 19470 bytes images/feed-thumbnails/kFMkD1OaMa-450.webp | Bin 0 -> 11686 bytes images/feed-thumbnails/kMhl638AVB-150.jpeg | Bin 0 -> 1564 bytes images/feed-thumbnails/kMhl638AVB-150.webp | Bin 0 -> 764 bytes images/feed-thumbnails/kMhl638AVB-450.jpeg | Bin 0 -> 5529 bytes images/feed-thumbnails/kMhl638AVB-450.webp | Bin 0 -> 2832 bytes images/feed-thumbnails/knt6tJ9eyb-150.jpeg | Bin 0 -> 1301 bytes images/feed-thumbnails/knt6tJ9eyb-150.webp | Bin 0 -> 686 bytes images/feed-thumbnails/knt6tJ9eyb-450.jpeg | Bin 0 -> 6387 bytes images/feed-thumbnails/knt6tJ9eyb-450.webp | Bin 0 -> 3128 bytes images/feed-thumbnails/kqGdgd5VWR-150.jpeg | Bin 0 -> 2075 bytes images/feed-thumbnails/kqGdgd5VWR-150.webp | Bin 0 -> 1082 bytes images/feed-thumbnails/kqGdgd5VWR-450.jpeg | Bin 0 -> 11194 bytes images/feed-thumbnails/kqGdgd5VWR-450.webp | Bin 0 -> 6028 bytes images/feed-thumbnails/lFrNSUQKgh-150.jpeg | Bin 0 -> 3414 bytes images/feed-thumbnails/lFrNSUQKgh-150.webp | Bin 0 -> 2444 bytes images/feed-thumbnails/lFrNSUQKgh-450.jpeg | Bin 0 -> 21180 bytes images/feed-thumbnails/lFrNSUQKgh-450.webp | Bin 0 -> 13536 bytes images/feed-thumbnails/lViDh7Qg1N-150.jpeg | Bin 0 -> 2354 bytes images/feed-thumbnails/lViDh7Qg1N-150.webp | Bin 0 -> 1638 bytes images/feed-thumbnails/lViDh7Qg1N-450.jpeg | Bin 0 -> 15685 bytes images/feed-thumbnails/lViDh7Qg1N-450.webp | Bin 0 -> 10076 bytes images/feed-thumbnails/lrrw5rEISU-150.jpeg | Bin 0 -> 3413 bytes images/feed-thumbnails/lrrw5rEISU-150.webp | Bin 0 -> 6788 bytes images/feed-thumbnails/mBToXi6goo-150.jpeg | Bin 0 -> 880 bytes images/feed-thumbnails/mBToXi6goo-150.webp | Bin 0 -> 432 bytes images/feed-thumbnails/mBToXi6goo-450.jpeg | Bin 0 -> 4066 bytes images/feed-thumbnails/mBToXi6goo-450.webp | Bin 0 -> 2012 bytes images/feed-thumbnails/mwOtjZ1g2n-150.jpeg | Bin 0 -> 1732 bytes images/feed-thumbnails/mwOtjZ1g2n-150.webp | Bin 0 -> 960 bytes images/feed-thumbnails/mwOtjZ1g2n-450.jpeg | Bin 0 -> 7818 bytes images/feed-thumbnails/mwOtjZ1g2n-450.webp | Bin 0 -> 4108 bytes images/feed-thumbnails/myN8hnhWY5-150.jpeg | Bin 0 -> 922 bytes images/feed-thumbnails/myN8hnhWY5-150.webp | Bin 0 -> 536 bytes images/feed-thumbnails/myN8hnhWY5-450.jpeg | Bin 0 -> 3730 bytes images/feed-thumbnails/myN8hnhWY5-450.webp | Bin 0 -> 1872 bytes images/feed-thumbnails/n1ShsvkpSv-150.jpeg | Bin 0 -> 2239 bytes images/feed-thumbnails/n1ShsvkpSv-150.webp | Bin 0 -> 1384 bytes images/feed-thumbnails/n1ShsvkpSv-450.jpeg | Bin 0 -> 19197 bytes images/feed-thumbnails/n1ShsvkpSv-450.webp | Bin 0 -> 12078 bytes images/feed-thumbnails/nJw3ueTtNz-150.jpeg | Bin 0 -> 6445 bytes images/feed-thumbnails/nJw3ueTtNz-150.webp | Bin 0 -> 16344 bytes images/feed-thumbnails/nJw3ueTtNz-450.jpeg | Bin 0 -> 31231 bytes images/feed-thumbnails/nJw3ueTtNz-450.webp | Bin 0 -> 71524 bytes images/feed-thumbnails/noFrVHlr7Q-150.jpeg | Bin 0 -> 1872 bytes images/feed-thumbnails/noFrVHlr7Q-150.webp | Bin 0 -> 1024 bytes images/feed-thumbnails/noFrVHlr7Q-450.jpeg | Bin 0 -> 9520 bytes images/feed-thumbnails/noFrVHlr7Q-450.webp | Bin 0 -> 5310 bytes images/feed-thumbnails/oECIBSrTth-150.jpeg | Bin 0 -> 1777 bytes images/feed-thumbnails/oECIBSrTth-150.webp | Bin 0 -> 870 bytes images/feed-thumbnails/oECIBSrTth-450.jpeg | Bin 0 -> 10746 bytes images/feed-thumbnails/oECIBSrTth-450.webp | Bin 0 -> 5024 bytes images/feed-thumbnails/oV1Z4y7HgU-150.jpeg | Bin 0 -> 2269 bytes images/feed-thumbnails/oV1Z4y7HgU-150.webp | Bin 0 -> 1388 bytes images/feed-thumbnails/oV1Z4y7HgU-450.jpeg | Bin 0 -> 9039 bytes images/feed-thumbnails/oV1Z4y7HgU-450.webp | Bin 0 -> 4272 bytes images/feed-thumbnails/oVpGElA1-T-150.jpeg | Bin 0 -> 2181 bytes images/feed-thumbnails/oVpGElA1-T-150.webp | Bin 0 -> 1272 bytes images/feed-thumbnails/oVpGElA1-T-450.jpeg | Bin 0 -> 8547 bytes images/feed-thumbnails/oVpGElA1-T-450.webp | Bin 0 -> 4330 bytes images/feed-thumbnails/oZD3Ms4xVT-150.jpeg | Bin 0 -> 1723 bytes images/feed-thumbnails/oZD3Ms4xVT-150.webp | Bin 0 -> 922 bytes images/feed-thumbnails/oZD3Ms4xVT-450.jpeg | Bin 0 -> 6464 bytes images/feed-thumbnails/oZD3Ms4xVT-450.webp | Bin 0 -> 3414 bytes images/feed-thumbnails/ok6u6cLqDX-150.jpeg | Bin 0 -> 2344 bytes images/feed-thumbnails/ok6u6cLqDX-150.webp | Bin 0 -> 1346 bytes images/feed-thumbnails/ok6u6cLqDX-450.jpeg | Bin 0 -> 10753 bytes images/feed-thumbnails/ok6u6cLqDX-450.webp | Bin 0 -> 5716 bytes images/feed-thumbnails/okSQAU62S0-150.jpeg | Bin 0 -> 1286 bytes images/feed-thumbnails/okSQAU62S0-150.webp | Bin 0 -> 678 bytes images/feed-thumbnails/okSQAU62S0-450.jpeg | Bin 0 -> 4816 bytes images/feed-thumbnails/okSQAU62S0-450.webp | Bin 0 -> 2436 bytes images/feed-thumbnails/ow9Ncwq57p-150.jpeg | Bin 0 -> 1565 bytes images/feed-thumbnails/ow9Ncwq57p-150.webp | Bin 0 -> 798 bytes images/feed-thumbnails/ow9Ncwq57p-450.jpeg | Bin 0 -> 6616 bytes images/feed-thumbnails/ow9Ncwq57p-450.webp | Bin 0 -> 3172 bytes images/feed-thumbnails/oxojB4bkUP-150.jpeg | Bin 0 -> 1140 bytes images/feed-thumbnails/oxojB4bkUP-150.webp | Bin 0 -> 720 bytes images/feed-thumbnails/oxojB4bkUP-450.jpeg | Bin 0 -> 5768 bytes images/feed-thumbnails/oxojB4bkUP-450.webp | Bin 0 -> 3140 bytes images/feed-thumbnails/oxpyvfYA60-150.jpeg | Bin 0 -> 2887 bytes images/feed-thumbnails/oxpyvfYA60-150.webp | Bin 0 -> 1710 bytes images/feed-thumbnails/oxpyvfYA60-450.jpeg | Bin 0 -> 13784 bytes images/feed-thumbnails/oxpyvfYA60-450.webp | Bin 0 -> 6956 bytes images/feed-thumbnails/p2FGV_cvnV-150.jpeg | Bin 0 -> 572 bytes images/feed-thumbnails/p2FGV_cvnV-150.webp | Bin 0 -> 234 bytes images/feed-thumbnails/p2FGV_cvnV-450.jpeg | Bin 0 -> 1888 bytes images/feed-thumbnails/p2FGV_cvnV-450.webp | Bin 0 -> 700 bytes images/feed-thumbnails/p7aVJ5eoSS-150.jpeg | Bin 0 -> 3204 bytes images/feed-thumbnails/p7aVJ5eoSS-150.webp | Bin 0 -> 2250 bytes images/feed-thumbnails/p7aVJ5eoSS-450.jpeg | Bin 0 -> 18120 bytes images/feed-thumbnails/p7aVJ5eoSS-450.webp | Bin 0 -> 10382 bytes images/feed-thumbnails/pH-IgrxEh5-150.jpeg | Bin 0 -> 2117 bytes images/feed-thumbnails/pH-IgrxEh5-150.webp | Bin 0 -> 1348 bytes images/feed-thumbnails/pH-IgrxEh5-450.jpeg | Bin 0 -> 9289 bytes images/feed-thumbnails/pH-IgrxEh5-450.webp | Bin 0 -> 4786 bytes images/feed-thumbnails/pjBGf8t-WQ-150.jpeg | Bin 0 -> 4070 bytes images/feed-thumbnails/pjBGf8t-WQ-150.webp | Bin 0 -> 3094 bytes images/feed-thumbnails/pjBGf8t-WQ-450.jpeg | Bin 0 -> 29691 bytes images/feed-thumbnails/pjBGf8t-WQ-450.webp | Bin 0 -> 19628 bytes images/feed-thumbnails/q3_HeDt9TR-150.jpeg | Bin 0 -> 3826 bytes images/feed-thumbnails/q3_HeDt9TR-150.webp | Bin 0 -> 2612 bytes images/feed-thumbnails/q3_HeDt9TR-450.jpeg | Bin 0 -> 21385 bytes images/feed-thumbnails/q3_HeDt9TR-450.webp | Bin 0 -> 11354 bytes images/feed-thumbnails/q7otvLF0dH-150.jpeg | Bin 0 -> 1062 bytes images/feed-thumbnails/q7otvLF0dH-150.webp | Bin 0 -> 564 bytes images/feed-thumbnails/q7otvLF0dH-450.jpeg | Bin 0 -> 6976 bytes images/feed-thumbnails/q7otvLF0dH-450.webp | Bin 0 -> 1916 bytes images/feed-thumbnails/qFtZ0bvHN--150.jpeg | Bin 0 -> 2081 bytes images/feed-thumbnails/qFtZ0bvHN--150.webp | Bin 0 -> 1188 bytes images/feed-thumbnails/qFtZ0bvHN--450.jpeg | Bin 0 -> 8412 bytes images/feed-thumbnails/qFtZ0bvHN--450.webp | Bin 0 -> 4054 bytes images/feed-thumbnails/qj8bYIe5Al-150.jpeg | Bin 0 -> 6337 bytes images/feed-thumbnails/qj8bYIe5Al-150.webp | Bin 0 -> 4798 bytes images/feed-thumbnails/qj8bYIe5Al-450.jpeg | Bin 0 -> 44125 bytes images/feed-thumbnails/qj8bYIe5Al-450.webp | Bin 0 -> 29362 bytes images/feed-thumbnails/rLbRvSwPdh-150.jpeg | Bin 0 -> 2196 bytes images/feed-thumbnails/rLbRvSwPdh-150.webp | Bin 0 -> 1248 bytes images/feed-thumbnails/rLbRvSwPdh-450.jpeg | Bin 0 -> 14019 bytes images/feed-thumbnails/rLbRvSwPdh-450.webp | Bin 0 -> 7444 bytes images/feed-thumbnails/rVU_wBc7sf-150.jpeg | Bin 0 -> 2133 bytes images/feed-thumbnails/rVU_wBc7sf-150.webp | Bin 0 -> 1368 bytes images/feed-thumbnails/rVU_wBc7sf-450.jpeg | Bin 0 -> 21433 bytes images/feed-thumbnails/rVU_wBc7sf-450.webp | Bin 0 -> 17508 bytes images/feed-thumbnails/rehpIvdFsI-150.jpeg | Bin 0 -> 1644 bytes images/feed-thumbnails/rehpIvdFsI-150.webp | Bin 0 -> 944 bytes images/feed-thumbnails/rehpIvdFsI-450.jpeg | Bin 0 -> 6770 bytes images/feed-thumbnails/rehpIvdFsI-450.webp | Bin 0 -> 3542 bytes images/feed-thumbnails/rhIKMmqzIg-150.jpeg | Bin 0 -> 4850 bytes images/feed-thumbnails/rhIKMmqzIg-150.webp | Bin 0 -> 2852 bytes images/feed-thumbnails/rhIKMmqzIg-450.jpeg | Bin 0 -> 25416 bytes images/feed-thumbnails/rhIKMmqzIg-450.webp | Bin 0 -> 12464 bytes images/feed-thumbnails/royHk-LRpz-150.jpeg | Bin 0 -> 2185 bytes images/feed-thumbnails/royHk-LRpz-150.webp | Bin 0 -> 1314 bytes images/feed-thumbnails/royHk-LRpz-450.jpeg | Bin 0 -> 11218 bytes images/feed-thumbnails/royHk-LRpz-450.webp | Bin 0 -> 6382 bytes images/feed-thumbnails/s0IsdWcWXX-150.jpeg | Bin 0 -> 3397 bytes images/feed-thumbnails/s0IsdWcWXX-150.webp | Bin 0 -> 2012 bytes images/feed-thumbnails/s0IsdWcWXX-450.jpeg | Bin 0 -> 18549 bytes images/feed-thumbnails/s0IsdWcWXX-450.webp | Bin 0 -> 10364 bytes images/feed-thumbnails/s1xvrWD9jr-150.jpeg | Bin 0 -> 2863 bytes images/feed-thumbnails/s1xvrWD9jr-150.webp | Bin 0 -> 1672 bytes images/feed-thumbnails/sMC_4coiM0-150.jpeg | Bin 0 -> 1317 bytes images/feed-thumbnails/sMC_4coiM0-150.webp | Bin 0 -> 682 bytes images/feed-thumbnails/sMC_4coiM0-450.jpeg | Bin 0 -> 5629 bytes images/feed-thumbnails/sMC_4coiM0-450.webp | Bin 0 -> 2290 bytes images/feed-thumbnails/sMm1rgIvL0-150.jpeg | Bin 0 -> 1281 bytes images/feed-thumbnails/sMm1rgIvL0-150.webp | Bin 0 -> 742 bytes images/feed-thumbnails/sMm1rgIvL0-450.jpeg | Bin 0 -> 5442 bytes images/feed-thumbnails/sMm1rgIvL0-450.webp | Bin 0 -> 2778 bytes images/feed-thumbnails/smE5KiAV4J-150.jpeg | Bin 0 -> 1663 bytes images/feed-thumbnails/smE5KiAV4J-150.webp | Bin 0 -> 942 bytes images/feed-thumbnails/smE5KiAV4J-450.jpeg | Bin 0 -> 9093 bytes images/feed-thumbnails/smE5KiAV4J-450.webp | Bin 0 -> 4602 bytes images/feed-thumbnails/szPKAy4sOe-150.jpeg | Bin 0 -> 2182 bytes images/feed-thumbnails/szPKAy4sOe-150.webp | Bin 0 -> 3804 bytes images/feed-thumbnails/szPKAy4sOe-450.jpeg | Bin 0 -> 10192 bytes images/feed-thumbnails/szPKAy4sOe-450.webp | Bin 0 -> 12148 bytes images/feed-thumbnails/t25VQ56UN9-150.jpeg | Bin 0 -> 2053 bytes images/feed-thumbnails/t25VQ56UN9-150.webp | Bin 0 -> 1206 bytes images/feed-thumbnails/t25VQ56UN9-450.jpeg | Bin 0 -> 10968 bytes images/feed-thumbnails/t25VQ56UN9-450.webp | Bin 0 -> 5876 bytes images/feed-thumbnails/t4QGKW78m4-150.jpeg | Bin 0 -> 2880 bytes images/feed-thumbnails/t4QGKW78m4-150.webp | Bin 0 -> 1842 bytes images/feed-thumbnails/t4QGKW78m4-450.jpeg | Bin 0 -> 16452 bytes images/feed-thumbnails/t4QGKW78m4-450.webp | Bin 0 -> 8758 bytes images/feed-thumbnails/t5wyuhptLn-150.jpeg | Bin 0 -> 2969 bytes images/feed-thumbnails/t5wyuhptLn-150.webp | Bin 0 -> 2000 bytes images/feed-thumbnails/t5wyuhptLn-450.jpeg | Bin 0 -> 15829 bytes images/feed-thumbnails/t5wyuhptLn-450.webp | Bin 0 -> 8020 bytes images/feed-thumbnails/tckN8OayXo-150.jpeg | Bin 0 -> 1865 bytes images/feed-thumbnails/tckN8OayXo-150.webp | Bin 0 -> 936 bytes images/feed-thumbnails/tckN8OayXo-450.jpeg | Bin 0 -> 10060 bytes images/feed-thumbnails/tckN8OayXo-450.webp | Bin 0 -> 4674 bytes images/feed-thumbnails/tkaeLSGze1-150.jpeg | Bin 0 -> 7086 bytes images/feed-thumbnails/tkaeLSGze1-150.webp | Bin 0 -> 7100 bytes images/feed-thumbnails/tkaeLSGze1-450.jpeg | Bin 0 -> 35069 bytes images/feed-thumbnails/tkaeLSGze1-450.webp | Bin 0 -> 25716 bytes images/feed-thumbnails/ttRxopC6Fs-150.jpeg | Bin 0 -> 1780 bytes images/feed-thumbnails/ttRxopC6Fs-150.webp | Bin 0 -> 830 bytes images/feed-thumbnails/ttRxopC6Fs-450.jpeg | Bin 0 -> 8275 bytes images/feed-thumbnails/ttRxopC6Fs-450.webp | Bin 0 -> 4294 bytes images/feed-thumbnails/tytefNW1eS-150.jpeg | Bin 0 -> 2516 bytes images/feed-thumbnails/tytefNW1eS-150.webp | Bin 0 -> 1788 bytes images/feed-thumbnails/tytefNW1eS-450.jpeg | Bin 0 -> 13441 bytes images/feed-thumbnails/tytefNW1eS-450.webp | Bin 0 -> 7024 bytes images/feed-thumbnails/uA1KY1CxNl-150.jpeg | Bin 0 -> 3587 bytes images/feed-thumbnails/uA1KY1CxNl-150.webp | Bin 0 -> 2268 bytes images/feed-thumbnails/uA1KY1CxNl-450.jpeg | Bin 0 -> 20352 bytes images/feed-thumbnails/uA1KY1CxNl-450.webp | Bin 0 -> 11462 bytes images/feed-thumbnails/uHXQxL27A7-150.jpeg | Bin 0 -> 2693 bytes images/feed-thumbnails/uHXQxL27A7-150.webp | Bin 0 -> 1618 bytes images/feed-thumbnails/uHXQxL27A7-450.jpeg | Bin 0 -> 15198 bytes images/feed-thumbnails/uHXQxL27A7-450.webp | Bin 0 -> 6838 bytes images/feed-thumbnails/uJxhU5GnJ9-150.jpeg | Bin 0 -> 2532 bytes images/feed-thumbnails/uJxhU5GnJ9-150.webp | Bin 0 -> 1348 bytes images/feed-thumbnails/uJxhU5GnJ9-450.jpeg | Bin 0 -> 11960 bytes images/feed-thumbnails/uJxhU5GnJ9-450.webp | Bin 0 -> 6254 bytes images/feed-thumbnails/ulx3PsOOJ7-150.jpeg | Bin 0 -> 763 bytes images/feed-thumbnails/ulx3PsOOJ7-150.webp | Bin 0 -> 804 bytes images/feed-thumbnails/ulx3PsOOJ7-450.jpeg | Bin 0 -> 2700 bytes images/feed-thumbnails/ulx3PsOOJ7-450.webp | Bin 0 -> 9570 bytes images/feed-thumbnails/upJMCIceJl-150.jpeg | Bin 0 -> 2253 bytes images/feed-thumbnails/upJMCIceJl-150.webp | Bin 0 -> 1104 bytes images/feed-thumbnails/upJMCIceJl-450.jpeg | Bin 0 -> 12800 bytes images/feed-thumbnails/upJMCIceJl-450.webp | Bin 0 -> 6612 bytes images/feed-thumbnails/uzhZIovLcf-150.jpeg | Bin 0 -> 2533 bytes images/feed-thumbnails/uzhZIovLcf-150.webp | Bin 0 -> 1736 bytes images/feed-thumbnails/uzhZIovLcf-450.jpeg | Bin 0 -> 11910 bytes images/feed-thumbnails/uzhZIovLcf-450.webp | Bin 0 -> 6598 bytes images/feed-thumbnails/vATaiCze5F-150.jpeg | Bin 0 -> 1850 bytes images/feed-thumbnails/vATaiCze5F-150.webp | Bin 0 -> 1002 bytes images/feed-thumbnails/vATaiCze5F-450.jpeg | Bin 0 -> 9532 bytes images/feed-thumbnails/vATaiCze5F-450.webp | Bin 0 -> 4964 bytes images/feed-thumbnails/vCVI4ZohrQ-150.jpeg | Bin 0 -> 2231 bytes images/feed-thumbnails/vCVI4ZohrQ-150.webp | Bin 0 -> 1298 bytes images/feed-thumbnails/vCVI4ZohrQ-450.jpeg | Bin 0 -> 12112 bytes images/feed-thumbnails/vCVI4ZohrQ-450.webp | Bin 0 -> 7120 bytes images/feed-thumbnails/vCj2vbu-lH-150.jpeg | Bin 0 -> 1555 bytes images/feed-thumbnails/vCj2vbu-lH-150.webp | Bin 0 -> 938 bytes images/feed-thumbnails/vCj2vbu-lH-450.jpeg | Bin 0 -> 6743 bytes images/feed-thumbnails/vCj2vbu-lH-450.webp | Bin 0 -> 3586 bytes images/feed-thumbnails/vMcW0M4NNq-150.jpeg | Bin 0 -> 2428 bytes images/feed-thumbnails/vMcW0M4NNq-150.webp | Bin 0 -> 1250 bytes images/feed-thumbnails/vMcW0M4NNq-450.jpeg | Bin 0 -> 11336 bytes images/feed-thumbnails/vMcW0M4NNq-450.webp | Bin 0 -> 5808 bytes images/feed-thumbnails/vOx94dXyGM-150.jpeg | Bin 0 -> 2393 bytes images/feed-thumbnails/vOx94dXyGM-150.webp | Bin 0 -> 1080 bytes images/feed-thumbnails/vOx94dXyGM-450.jpeg | Bin 0 -> 7938 bytes images/feed-thumbnails/vOx94dXyGM-450.webp | Bin 0 -> 3390 bytes images/feed-thumbnails/vY7cjK-ots-150.jpeg | Bin 0 -> 1670 bytes images/feed-thumbnails/vY7cjK-ots-150.webp | Bin 0 -> 848 bytes images/feed-thumbnails/vY7cjK-ots-450.jpeg | Bin 0 -> 8700 bytes images/feed-thumbnails/vY7cjK-ots-450.webp | Bin 0 -> 4416 bytes images/feed-thumbnails/vpCrkk7SuK-150.jpeg | Bin 0 -> 872 bytes images/feed-thumbnails/vpCrkk7SuK-150.webp | Bin 0 -> 448 bytes images/feed-thumbnails/vpCrkk7SuK-450.jpeg | Bin 0 -> 3596 bytes images/feed-thumbnails/vpCrkk7SuK-450.webp | Bin 0 -> 1476 bytes images/feed-thumbnails/vpStVAfxJF-150.jpeg | Bin 0 -> 1654 bytes images/feed-thumbnails/vpStVAfxJF-150.webp | Bin 0 -> 812 bytes images/feed-thumbnails/vpStVAfxJF-450.jpeg | Bin 0 -> 6448 bytes images/feed-thumbnails/vpStVAfxJF-450.webp | Bin 0 -> 2446 bytes images/feed-thumbnails/wNJKQgFPcI-150.jpeg | Bin 0 -> 3635 bytes images/feed-thumbnails/wNJKQgFPcI-150.webp | Bin 0 -> 2486 bytes images/feed-thumbnails/wNJKQgFPcI-450.jpeg | Bin 0 -> 23014 bytes images/feed-thumbnails/wNJKQgFPcI-450.webp | Bin 0 -> 14760 bytes images/feed-thumbnails/wRWyVSIQt8-96.jpeg | Bin 0 -> 1982 bytes images/feed-thumbnails/wRWyVSIQt8-96.webp | Bin 0 -> 1504 bytes images/feed-thumbnails/w_wyVmdS31-150.jpeg | Bin 0 -> 4267 bytes images/feed-thumbnails/w_wyVmdS31-150.webp | Bin 0 -> 2622 bytes images/feed-thumbnails/w_wyVmdS31-450.jpeg | Bin 0 -> 16838 bytes images/feed-thumbnails/w_wyVmdS31-450.webp | Bin 0 -> 8148 bytes images/feed-thumbnails/whuqyTZ4NU-150.jpeg | Bin 0 -> 7469 bytes images/feed-thumbnails/whuqyTZ4NU-150.webp | Bin 0 -> 5666 bytes images/feed-thumbnails/whuqyTZ4NU-450.jpeg | Bin 0 -> 57104 bytes images/feed-thumbnails/whuqyTZ4NU-450.webp | Bin 0 -> 42162 bytes images/feed-thumbnails/x4exr5TaCc-150.jpeg | Bin 0 -> 1595 bytes images/feed-thumbnails/x4exr5TaCc-150.webp | Bin 0 -> 920 bytes images/feed-thumbnails/x4exr5TaCc-450.jpeg | Bin 0 -> 6178 bytes images/feed-thumbnails/x4exr5TaCc-450.webp | Bin 0 -> 3264 bytes images/feed-thumbnails/xCd45xgLAV-150.jpeg | Bin 0 -> 1155 bytes images/feed-thumbnails/xCd45xgLAV-150.webp | Bin 0 -> 376 bytes images/feed-thumbnails/xCd45xgLAV-450.jpeg | Bin 0 -> 5713 bytes images/feed-thumbnails/xCd45xgLAV-450.webp | Bin 0 -> 1818 bytes images/feed-thumbnails/xN_Hzin7c3-150.jpeg | Bin 0 -> 2020 bytes images/feed-thumbnails/xN_Hzin7c3-150.webp | Bin 0 -> 968 bytes images/feed-thumbnails/xN_Hzin7c3-450.jpeg | Bin 0 -> 10990 bytes images/feed-thumbnails/xN_Hzin7c3-450.webp | Bin 0 -> 6212 bytes images/feed-thumbnails/xOV2RrC1cp-150.jpeg | Bin 0 -> 4133 bytes images/feed-thumbnails/xOV2RrC1cp-150.webp | Bin 0 -> 2904 bytes images/feed-thumbnails/xOV2RrC1cp-450.jpeg | Bin 0 -> 28089 bytes images/feed-thumbnails/xOV2RrC1cp-450.webp | Bin 0 -> 18914 bytes images/feed-thumbnails/xZ295Pa3p7-150.jpeg | Bin 0 -> 2585 bytes images/feed-thumbnails/xZ295Pa3p7-150.webp | Bin 0 -> 1526 bytes images/feed-thumbnails/xZ295Pa3p7-450.jpeg | Bin 0 -> 14685 bytes images/feed-thumbnails/xZ295Pa3p7-450.webp | Bin 0 -> 7802 bytes images/feed-thumbnails/xa4er9Llil-150.jpeg | Bin 0 -> 2333 bytes images/feed-thumbnails/xa4er9Llil-150.webp | Bin 0 -> 1476 bytes images/feed-thumbnails/xa4er9Llil-450.jpeg | Bin 0 -> 9918 bytes images/feed-thumbnails/xa4er9Llil-450.webp | Bin 0 -> 5004 bytes images/feed-thumbnails/y3UV8QYa5J-150.jpeg | Bin 0 -> 2640 bytes images/feed-thumbnails/y3UV8QYa5J-150.webp | Bin 0 -> 1658 bytes images/feed-thumbnails/y3UV8QYa5J-450.jpeg | Bin 0 -> 15571 bytes images/feed-thumbnails/y3UV8QYa5J-450.webp | Bin 0 -> 8494 bytes images/feed-thumbnails/yiKORoD0y1-150.jpeg | Bin 0 -> 2029 bytes images/feed-thumbnails/yiKORoD0y1-150.webp | Bin 0 -> 1228 bytes images/feed-thumbnails/yiKORoD0y1-450.jpeg | Bin 0 -> 10714 bytes images/feed-thumbnails/yiKORoD0y1-450.webp | Bin 0 -> 6376 bytes images/feed-thumbnails/ylxHSkJGZh-150.jpeg | Bin 0 -> 2639 bytes images/feed-thumbnails/ylxHSkJGZh-150.webp | Bin 0 -> 1308 bytes images/feed-thumbnails/ylxHSkJGZh-450.jpeg | Bin 0 -> 10620 bytes images/feed-thumbnails/ylxHSkJGZh-450.webp | Bin 0 -> 5988 bytes images/feed-thumbnails/yxntpVJmcf-150.jpeg | Bin 0 -> 2300 bytes images/feed-thumbnails/yxntpVJmcf-150.webp | Bin 0 -> 1258 bytes images/feed-thumbnails/yxntpVJmcf-450.jpeg | Bin 0 -> 9187 bytes images/feed-thumbnails/yxntpVJmcf-450.webp | Bin 0 -> 4194 bytes images/feed-thumbnails/yxwIY8bL3Z-150.jpeg | Bin 0 -> 2150 bytes images/feed-thumbnails/yxwIY8bL3Z-150.webp | Bin 0 -> 1274 bytes images/feed-thumbnails/yxwIY8bL3Z-450.jpeg | Bin 0 -> 12275 bytes images/feed-thumbnails/yxwIY8bL3Z-450.webp | Bin 0 -> 7030 bytes images/feed-thumbnails/z-9Imuwsrl-150.jpeg | Bin 0 -> 8539 bytes images/feed-thumbnails/z-9Imuwsrl-150.webp | Bin 0 -> 6964 bytes images/feed-thumbnails/z-9Imuwsrl-450.jpeg | Bin 0 -> 68466 bytes images/feed-thumbnails/z-9Imuwsrl-450.webp | Bin 0 -> 53160 bytes images/feed-thumbnails/zG1PkroLru-150.jpeg | Bin 0 -> 2370 bytes images/feed-thumbnails/zG1PkroLru-150.webp | Bin 0 -> 1332 bytes images/feed-thumbnails/zG1PkroLru-450.jpeg | Bin 0 -> 12168 bytes images/feed-thumbnails/zG1PkroLru-450.webp | Bin 0 -> 6726 bytes images/feed-thumbnails/zID0owxgN4-150.jpeg | Bin 0 -> 2231 bytes images/feed-thumbnails/zID0owxgN4-150.webp | Bin 0 -> 1392 bytes images/feed-thumbnails/zID0owxgN4-450.jpeg | Bin 0 -> 18857 bytes images/feed-thumbnails/zID0owxgN4-450.webp | Bin 0 -> 11636 bytes images/feed-thumbnails/zSZeG3Qk7f-150.jpeg | Bin 0 -> 2093 bytes images/feed-thumbnails/zSZeG3Qk7f-150.webp | Bin 0 -> 1206 bytes images/feed-thumbnails/zSZeG3Qk7f-450.jpeg | Bin 0 -> 11078 bytes images/feed-thumbnails/zSZeG3Qk7f-450.webp | Bin 0 -> 5964 bytes images/feed-thumbnails/zXCLEv-6wc-150.jpeg | Bin 0 -> 1242 bytes images/feed-thumbnails/zXCLEv-6wc-150.webp | Bin 0 -> 626 bytes images/feed-thumbnails/zXCLEv-6wc-450.jpeg | Bin 0 -> 5077 bytes images/feed-thumbnails/zXCLEv-6wc-450.webp | Bin 0 -> 2332 bytes images/github-mark.png | Bin 0 -> 3081 bytes images/hatenabookmark-icon.png | Bin 0 -> 2182 bytes images/icon-transparent.png | Bin 0 -> 3396 bytes images/icon.png | Bin 0 -> 3216 bytes images/icon256-transparent.png | Bin 0 -> 5708 bytes images/icon512-transparent.png | Bin 0 -> 13127 bytes images/icon512.png | Bin 0 -> 13766 bytes images/og-image.png | Bin 0 -> 13766 bytes images/slack-mark.png | Bin 0 -> 2885 bytes images/subscribe-feedly.png | Bin 0 -> 1266 bytes images/subscribe-inoreader.png | Bin 0 -> 2520 bytes index.html | 132 + site.xml | 1024 ++++ sitemap.xml | 1024 ++++ styles/bundle.css | 2 + 1396 files changed, 26351 insertions(+) create mode 100644 .nojekyll create mode 100644 blogs/001f7b8d04e0eda0ec6b406131f9a168/index.html create mode 100644 blogs/014821f6a94482c99fda5176d84f9a94/index.html create mode 100644 blogs/03b9a47ab592768a7d4df7d9bb623813/index.html create mode 100644 blogs/041f24dccd26bad426827ec14a65569f/index.html create mode 100644 blogs/05749c401ce5e701a1125ee262869fe1/index.html create mode 100644 blogs/05ce464f9272917edf0a84d07c22c83d/index.html create mode 100644 blogs/05e539c7d5181a12b1ca52602f94fe81/index.html create mode 100644 blogs/06364a52928a7f6e1a2f45d5de71571e/index.html create mode 100644 blogs/09829cea8d10b2c19db4cac26adc3d3f/index.html create mode 100644 blogs/0a562062a428615c736fe21821f18918/index.html create mode 100644 blogs/0ae95435ab00c9062e315698b68a3c47/index.html create mode 100644 blogs/0b2c3130289cfb1005b1bed4cac7732f/index.html create mode 100644 blogs/0b333fec2ef9092be168d6c058c32593/index.html create mode 100644 blogs/0b97611dd71b93f64c2addf586934a88/index.html create mode 100644 blogs/0d77f5dab160e5e0d12d9b3a7c3ffa08/index.html create mode 100644 blogs/0db0ad0cb2a1b0d3ceaa9411a6ce6070/index.html create mode 100644 blogs/0ee05098c67b6e41121edd5cd56772f5/index.html create mode 100644 blogs/0f4880ad844acb41bb9a5458c6b7eaf8/index.html create mode 100644 blogs/10cfc54577ecb4eb81fdcb51d293cc6d/index.html create mode 100644 blogs/151c78a1bec8cdfb3ca7e1842b9546f0/index.html create mode 100644 blogs/16796b445e8fb9894ea5b35fde1c4cf8/index.html create mode 100644 blogs/17653996f073bf2a6c228d5f545b2a7d/index.html create mode 100644 blogs/19d5d8028125ca7236e2eac49e7b645b/index.html create mode 100644 blogs/1ad7c1f71e0aa48ea310910290f40d4a/index.html create mode 100644 blogs/1da4f78d8e03ef1f76fb2f2f28648037/index.html create mode 100644 blogs/20e52505fa1eb7b1c253e1ead7badaec/index.html create mode 100644 blogs/20e701fb10fc23b09860d610f4ac9614/index.html create mode 100644 blogs/20eabaedb6793c491d88126dd31015a9/index.html create mode 100644 blogs/22d2381db7752c2cd2e8cb128fd39647/index.html create mode 100644 blogs/24053fa2a39f79b6450c14dda3b4522e/index.html create mode 100644 blogs/26c0c5f8be484a92cbd5f3ada830aac9/index.html create mode 100644 blogs/2b17e9a0dfb2bc748af70732faf0abc7/index.html create mode 100644 blogs/2bb89659621e2f9314324129711f5dbb/index.html create mode 100644 blogs/2c6a9279204f8b4b80f80b8265b9ac0c/index.html create mode 100644 blogs/30e8ffcc1375afeb7afc582db217701e/index.html create mode 100644 blogs/31c15d9c3216db8cc8efc47df679885c/index.html create mode 100644 blogs/31c5bdecfd2e156bd3357fb0f4aca24d/index.html create mode 100644 blogs/31fa3f733275aca3ce5eb0b9b6f6931e/index.html create mode 100644 blogs/33b0586740e05b8f28482a20ecf74fc8/index.html create mode 100644 blogs/348dd0b53ca3c90288544172d0dc6ca9/index.html create mode 100644 blogs/388e281bbd60ad04e93997944ece7413/index.html create mode 100644 blogs/39a43a7bfbfbc050b159dc5e9bcb0777/index.html create mode 100644 blogs/3a1366070e665a8eb77ea7018f22d991/index.html create mode 100644 blogs/3c58bf0cc6122b0828540a5d75695678/index.html create mode 100644 blogs/3c5b67e2bc33fd62a8022acd5e657a9f/index.html create mode 100644 blogs/3c694e3af711d7057a42a87454051e52/index.html create mode 100644 blogs/407b1481687d5fd34f33ca710e469c59/index.html create mode 100644 blogs/41b9055a8673b4c16e6a9cba7443bb06/index.html create mode 100644 blogs/42b5de93e9293c9f3e2a4d0977121413/index.html create mode 100644 blogs/4382a37e5cdf80f7b8432f526eee1ada/index.html create mode 100644 blogs/442eb981844c8013147a6c6444cd9904/index.html create mode 100644 blogs/44451b0b2190e336b6a5c5129744d461/index.html create mode 100644 blogs/44959dbd3a8e43eb3c585d8434dd4fb2/index.html create mode 100644 blogs/44d278ad93a892cb84e2710cb2ef3ec9/index.html create mode 100644 blogs/457473508b3ba636eaffd50a3047adff/index.html create mode 100644 blogs/45f756f73fb1751fcbbce2905b348409/index.html create mode 100644 blogs/47adc829d74ec34ab7209c805a3e728f/index.html create mode 100644 blogs/49e925f8440b25ae90d9171b8e90f5f0/index.html create mode 100644 blogs/4acfdff77fa356c4db1517ff7d74feeb/index.html create mode 100644 blogs/4b65f14c98a6356af9b8e3a6a4292d78/index.html create mode 100644 blogs/4dadd1f4641a07cd0c86f363dae30ba8/index.html create mode 100644 blogs/5068d947869b4defb4bd27ea7ceae359/index.html create mode 100644 blogs/509860cd6dd13a3bdd2c91d4f4eeb56a/index.html create mode 100644 blogs/520073c52b0647b661c19d74553257e8/index.html create mode 100644 blogs/538a98baace4e0b45a8e150e03152413/index.html create mode 100644 blogs/53c2f1fcf701becb83a80e5e6e24ffa4/index.html create mode 100644 blogs/550558eb0af5e8aa2320ac383779b4c1/index.html create mode 100644 blogs/5705d2ff3b1c38a07161fa2a2c6e18b1/index.html create mode 100644 blogs/5786f655e03b3ed3b1370d11dfd550d8/index.html create mode 100644 blogs/579ff22c8875cb0daa1b933c66aaf519/index.html create mode 100644 blogs/5963b49b2968f256a58d76e17f3527db/index.html create mode 100644 blogs/5984f6a64d96c33feb52e842605b4575/index.html create mode 100644 blogs/59cf7690d1b4724a09f1646d9c0c1a99/index.html create mode 100644 blogs/59e36f0bb1e841e8ffde5267002e08f3/index.html create mode 100644 blogs/5a9dbc640a8811185502a30c4fcde564/index.html create mode 100644 blogs/5b19dac026d0c7a29573d444e7666db3/index.html create mode 100644 blogs/5c39d05c53d635051e111f6dded4f711/index.html create mode 100644 blogs/5d49b77241f9d4c0c95888c007225402/index.html create mode 100644 blogs/5dd6f7b7578a50a936f76631f4010c4a/index.html create mode 100644 blogs/5e543256c480ac577d30f76f9120eb74/index.html create mode 100644 blogs/606312002419a9ff6ce3e6a47c6b9e3f/index.html create mode 100644 blogs/6103d8027b579c5eef15e1a98d8628f6/index.html create mode 100644 blogs/6210ce41d73e7394d4b842f3749a4318/index.html create mode 100644 blogs/6273e1e24ec4b0110416f082a15ab6e7/index.html create mode 100644 blogs/64bd61a75004edcb70fa2aa15ec6a670/index.html create mode 100644 blogs/64c933e72c3f531af328db7498503b05/index.html create mode 100644 blogs/6710d0bcda80787935be9204ea16bb53/index.html create mode 100644 blogs/6914faa6b1a415efd14ddfb898c006ff/index.html create mode 100644 blogs/6a7d16fd8d9bf28f9e7144d19ed1588d/index.html create mode 100644 blogs/6b0c8ca27383ca12dd87f40b8a670cd6/index.html create mode 100644 blogs/6b55886089b772386def300e92bede0c/index.html create mode 100644 blogs/6c5a9274ce5e0616af49a7102a5db240/index.html create mode 100644 blogs/6d487b3e1d348982a4664e9da431c405/index.html create mode 100644 blogs/71f3d0986dbc25f1181dfa29a010e109/index.html create mode 100644 blogs/74e14640aa9413d2d397a5ba86ef6d69/index.html create mode 100644 blogs/77a5695dabbd88ba7494d5ee343b14e8/index.html create mode 100644 blogs/78127e150460c59416fe602de2dcea38/index.html create mode 100644 blogs/7978b47fde53b6e4380181e45d2aa61f/index.html create mode 100644 blogs/79dc00de4cb93b4a78519ae00c6dd098/index.html create mode 100644 blogs/7a980c72f00a7c85e5f0731da2feac5a/index.html create mode 100644 blogs/7c54d401a8d4fc92f7274cd637d4d5cc/index.html create mode 100644 blogs/7ed6df025d104b7c70047ef463c232e3/index.html create mode 100644 blogs/80e6c60227906b8b38eb814eb98fd246/index.html create mode 100644 blogs/81ea9ec097ae0edec1073d8857a092f7/index.html create mode 100644 blogs/8416cfec6c4fce1c4436ad7a4fa7c954/index.html create mode 100644 blogs/85f2dc42fb5726fe47532a64329820a8/index.html create mode 100644 blogs/868344cffc9c459c80b67fd53fb12270/index.html create mode 100644 blogs/890ac2d75c275e30bc9f87bf1a2da220/index.html create mode 100644 blogs/8ae3b21c7a1dbc75037de9d862fffe86/index.html create mode 100644 blogs/8c1556bc36e7c9e8f0c6c32aa56525d8/index.html create mode 100644 blogs/901c2c571bdc08773c3e39d442156e69/index.html create mode 100644 blogs/90321b5a4accae50cb1282b7fe71d0ea/index.html create mode 100644 blogs/92358b4087203a79d0ccf5e448ef3218/index.html create mode 100644 blogs/92e8a5c89cffe5b7a0fd7acaceb3efd3/index.html create mode 100644 blogs/930400c729862b33b68f336e94bdebf6/index.html create mode 100644 blogs/93a097f7eda9ca5c8d2b711b46f951d9/index.html create mode 100644 blogs/93cc0bf4b83695e9b28dbde131ed8c33/index.html create mode 100644 blogs/94e6ae1565a3456a28a787f4ed997d8c/index.html create mode 100644 blogs/963daa371800b668cc114658debb84f5/index.html create mode 100644 blogs/970b727ce7843db4e72f2aa7d21e3107/index.html create mode 100644 blogs/97c3c55aabf4385a0b92c49c34d9074b/index.html create mode 100644 blogs/97cb6657665760e071286dc92ecea3a6/index.html create mode 100644 blogs/984e1e13d5f5707ea11d65a37db687b5/index.html create mode 100644 blogs/98b54a2c3e0f1149cf41df292d3d141d/index.html create mode 100644 blogs/99bb8307533eda0278e8373199074525/index.html create mode 100644 blogs/9a400bc14f5930004e7ac535f050964d/index.html create mode 100644 blogs/9aec793f72f8f7fa7d64d2c3a7ff1b68/index.html create mode 100644 blogs/a15cb0f860afebd903b84f09bd2074b6/index.html create mode 100644 blogs/a18231492dd2b3fe585fa8eb4e768488/index.html create mode 100644 blogs/a1fb146f4b56e02d55146fdf8902ba6e/index.html create mode 100644 blogs/a7326da097c33c31f2505c9295259b4b/index.html create mode 100644 blogs/a78edf08c4aec8157a26ef09fad1c230/index.html create mode 100644 blogs/ac4cf9fdbe2fca129bc08a5fdefe08f1/index.html create mode 100644 blogs/acd24ba7770ea1c0ede4e4d18de8e94d/index.html create mode 100644 blogs/aef1dbe5e62ad3418473e165681322e1/index.html create mode 100644 blogs/af6aa6a81ad9adc77e3f2e79aba7ce4f/index.html create mode 100644 blogs/b16c24ae4a71fab52c7ed140e635fdea/index.html create mode 100644 blogs/b19cd2a6db83b0c9158251d31bfa6486/index.html create mode 100644 blogs/b1ad6abe44c0505dfbebdf1986ffd3f8/index.html create mode 100644 blogs/b3caf4367a61048782a3524a5d913dc1/index.html create mode 100644 blogs/b5e6ec681b24b0c52c5b8284b76252bc/index.html create mode 100644 blogs/b64ad2e5de3c9739e72484d66fcda1a3/index.html create mode 100644 blogs/b677815306b966edb9c75b2fe0ccfc7d/index.html create mode 100644 blogs/b730832646f3d89d16cb1f1d637b0261/index.html create mode 100644 blogs/b7ccd4b455c364f0f55fc55649723785/index.html create mode 100644 blogs/b9e963552193f51c0094592cd3d72cb4/index.html create mode 100644 blogs/ba632c63f840a9a154e3bad5764e8f48/index.html create mode 100644 blogs/baa52a7f8f9acdb24973587be98496b1/index.html create mode 100644 blogs/bd101d6694b06d56e2452ad45890d6d4/index.html create mode 100644 blogs/be52bbcbf837cf03e23ec66831a48820/index.html create mode 100644 blogs/be72e5d1579a175f464d732bc798c4fa/index.html create mode 100644 blogs/bf5b8cb619791504de8db85e1d24952a/index.html create mode 100644 blogs/bf646db03f7472f93f81598e1c57a85d/index.html create mode 100644 blogs/bf94bd62b564b09c46facb3915375e2a/index.html create mode 100644 blogs/bf9df2dda8599706f279c5eee4d42b63/index.html create mode 100644 blogs/c022d9b940aef5d0945253a2b07b3953/index.html create mode 100644 blogs/c1b786c996167ccc7c37f70193a5d951/index.html create mode 100644 blogs/c3d039df167ae748d9e2f9ce15146f74/index.html create mode 100644 blogs/c7b8f00b0bd22f8f366c731ab2f6f56b/index.html create mode 100644 blogs/c83949ff8ab6f0c27ca5d87951392cfa/index.html create mode 100644 blogs/c89ab36e45ac3884d9fe45e5aae789fa/index.html create mode 100644 blogs/c8b089a4df260405b5dfd55bc2ac1245/index.html create mode 100644 blogs/ca17ddba108f840c5e2af8540f458fcf/index.html create mode 100644 blogs/cc1612e09aa1f42d1b410a65875f61fe/index.html create mode 100644 blogs/cd1810ebbb144490d5c40bd9762de117/index.html create mode 100644 blogs/ce6704239d5bbbea74845088aa7fda00/index.html create mode 100644 blogs/d07e4c282ce273e69b3e832dd0479ee5/index.html create mode 100644 blogs/d6246b58a28b3fa3990698438927bb90/index.html create mode 100644 blogs/d6c750c71196c93e673bb52114ff4e2c/index.html create mode 100644 blogs/d7554e556d89e027d0fe55ab5bfb61b0/index.html create mode 100644 blogs/d865414250c00696073eca9f2de56164/index.html create mode 100644 blogs/da313b63ef29a574ba9accf3ed82fc0e/index.html create mode 100644 blogs/deb5104964bf1e599a9a68c318c4db5a/index.html create mode 100644 blogs/df7eda6d27dada466cbf6669d1cacdae/index.html create mode 100644 blogs/df8ba2ad38891d81784e2c099cfaeb90/index.html create mode 100644 blogs/dfc47606b2a9887ba30c5223a7a02839/index.html create mode 100644 blogs/e116dc4be8c876e0001884891ff4e0ee/index.html create mode 100644 blogs/e3671c85941eec8a70ce6159c0b41919/index.html create mode 100644 blogs/e4c6883bd89bfaa0cb68036935d5d6c8/index.html create mode 100644 blogs/e607c8a165661f0297905b0a87292c35/index.html create mode 100644 blogs/e8e8dd8e7f96ccbcfb57767d55bc8996/index.html create mode 100644 blogs/e985f655c00c68f4eb7353ab5b8261fb/index.html create mode 100644 blogs/eb2e7afbe2a4371dea05cd41698920d6/index.html create mode 100644 blogs/ec6ccb467d145c3f37f79e4b020bccf4/index.html create mode 100644 blogs/eec560ed377f693a3c960200c36ac995/index.html create mode 100644 blogs/f2fd680dde661c47338b79e8eaf9b5af/index.html create mode 100644 blogs/f32158af574fd03758dfa048dee81904/index.html create mode 100644 blogs/f333203079d9928b7fa83832f57ad131/index.html create mode 100644 blogs/f4c366dcaa496fa13d470ecddbb0ac5b/index.html create mode 100644 blogs/f4f6ed778c9e3ff0945fee57818af326/index.html create mode 100644 blogs/f5d9dec3dc3bf03d9b3049b109e60a1d/index.html create mode 100644 blogs/f9a457421b07d0cddb3c4bc45f1d382c/index.html create mode 100644 blogs/f9b79f5756113d1d3248081e0b7a5d1c/index.html create mode 100644 blogs/fb41e1139e91b260991dce7bd66baa13/index.html create mode 100644 blogs/fc6aa4a01eed9a3bb89aafa4a258cfed/index.html create mode 100644 blogs/fc7f830b59e1e24c938eac73e1cb6666/index.html create mode 100644 blogs/fd548585db0d64b337fab64cdc4872ef/index.html create mode 100644 blogs/fd816f8b6141f4db2be3b90cee3ae312/index.html create mode 100644 blogs/fe7cbce08edcc2abcd9af45f13c4a055/index.html create mode 100644 blogs/ff05d96010c97d893d1ccd7bb844a22e/index.html create mode 100644 blogs/index.html create mode 100644 feeds/atom.xml create mode 100644 feeds/feed.json create mode 100644 feeds/rss.xml create mode 100644 hot/index.html create mode 100644 images/alternate-feed-image.png create mode 100644 images/apple-icon.png create mode 100644 images/favicon.ico create mode 100644 images/feed-thumbnails/-HWLxjnWNa-150.jpeg create mode 100644 images/feed-thumbnails/-HWLxjnWNa-150.webp create mode 100644 images/feed-thumbnails/-HWLxjnWNa-450.jpeg create mode 100644 images/feed-thumbnails/-HWLxjnWNa-450.webp create mode 100644 images/feed-thumbnails/-z6wURtppH-150.jpeg create mode 100644 images/feed-thumbnails/-z6wURtppH-150.webp create mode 100644 images/feed-thumbnails/-z6wURtppH-450.jpeg create mode 100644 images/feed-thumbnails/-z6wURtppH-450.webp create mode 100644 images/feed-thumbnails/-zMQMRlKLJ-150.jpeg create mode 100644 images/feed-thumbnails/-zMQMRlKLJ-150.webp create mode 100644 images/feed-thumbnails/-zMQMRlKLJ-450.jpeg create mode 100644 images/feed-thumbnails/-zMQMRlKLJ-450.webp create mode 100644 images/feed-thumbnails/0-NFtkxK-_-150.jpeg create mode 100644 images/feed-thumbnails/0-NFtkxK-_-150.webp create mode 100644 images/feed-thumbnails/0-NFtkxK-_-450.jpeg create mode 100644 images/feed-thumbnails/0-NFtkxK-_-450.webp create mode 100644 images/feed-thumbnails/020Rt5uZTa-150.jpeg create mode 100644 images/feed-thumbnails/020Rt5uZTa-150.webp create mode 100644 images/feed-thumbnails/020Rt5uZTa-450.jpeg create mode 100644 images/feed-thumbnails/020Rt5uZTa-450.webp create mode 100644 images/feed-thumbnails/0CtuR73Pyi-150.jpeg create mode 100644 images/feed-thumbnails/0CtuR73Pyi-150.webp create mode 100644 images/feed-thumbnails/0CtuR73Pyi-450.jpeg create mode 100644 images/feed-thumbnails/0CtuR73Pyi-450.webp create mode 100644 images/feed-thumbnails/0J3YyPhOR9-150.jpeg create mode 100644 images/feed-thumbnails/0J3YyPhOR9-150.webp create mode 100644 images/feed-thumbnails/0J3YyPhOR9-450.jpeg create mode 100644 images/feed-thumbnails/0J3YyPhOR9-450.webp create mode 100644 images/feed-thumbnails/0Lewywskhd-150.jpeg create mode 100644 images/feed-thumbnails/0Lewywskhd-150.webp create mode 100644 images/feed-thumbnails/0Lewywskhd-450.jpeg create mode 100644 images/feed-thumbnails/0Lewywskhd-450.webp create mode 100644 images/feed-thumbnails/0_P3Y4zGrr-150.jpeg create mode 100644 images/feed-thumbnails/0_P3Y4zGrr-150.webp create mode 100644 images/feed-thumbnails/0_P3Y4zGrr-450.jpeg create mode 100644 images/feed-thumbnails/0_P3Y4zGrr-450.webp create mode 100644 images/feed-thumbnails/1WVdTi2d6l-150.jpeg create mode 100644 images/feed-thumbnails/1WVdTi2d6l-150.webp create mode 100644 images/feed-thumbnails/1WVdTi2d6l-450.jpeg create mode 100644 images/feed-thumbnails/1WVdTi2d6l-450.webp create mode 100644 images/feed-thumbnails/1aDn2mVgTe-150.jpeg create mode 100644 images/feed-thumbnails/1aDn2mVgTe-150.webp create mode 100644 images/feed-thumbnails/1aDn2mVgTe-450.jpeg create mode 100644 images/feed-thumbnails/1aDn2mVgTe-450.webp create mode 100644 images/feed-thumbnails/1ad9XAWBt2-150.jpeg create mode 100644 images/feed-thumbnails/1ad9XAWBt2-150.webp create mode 100644 images/feed-thumbnails/1ad9XAWBt2-450.jpeg create mode 100644 images/feed-thumbnails/1ad9XAWBt2-450.webp create mode 100644 images/feed-thumbnails/1fi3zrawuy-150.jpeg create mode 100644 images/feed-thumbnails/1fi3zrawuy-150.webp create mode 100644 images/feed-thumbnails/1fi3zrawuy-450.jpeg create mode 100644 images/feed-thumbnails/1fi3zrawuy-450.webp create mode 100644 images/feed-thumbnails/20RqT9tMnS-150.jpeg create mode 100644 images/feed-thumbnails/20RqT9tMnS-150.webp create mode 100644 images/feed-thumbnails/20RqT9tMnS-450.jpeg create mode 100644 images/feed-thumbnails/20RqT9tMnS-450.webp create mode 100644 images/feed-thumbnails/2Bbc8m2oQ1-150.jpeg create mode 100644 images/feed-thumbnails/2Bbc8m2oQ1-150.webp create mode 100644 images/feed-thumbnails/2Bbc8m2oQ1-450.jpeg create mode 100644 images/feed-thumbnails/2Bbc8m2oQ1-450.webp create mode 100644 images/feed-thumbnails/2FmOzydpZb-150.jpeg create mode 100644 images/feed-thumbnails/2FmOzydpZb-150.webp create mode 100644 images/feed-thumbnails/2G9hIwrs5u-150.jpeg create mode 100644 images/feed-thumbnails/2G9hIwrs5u-150.webp create mode 100644 images/feed-thumbnails/2G9hIwrs5u-450.jpeg create mode 100644 images/feed-thumbnails/2G9hIwrs5u-450.webp create mode 100644 images/feed-thumbnails/2gveMYdG6F-150.jpeg create mode 100644 images/feed-thumbnails/2gveMYdG6F-150.webp create mode 100644 images/feed-thumbnails/2gveMYdG6F-450.jpeg create mode 100644 images/feed-thumbnails/2gveMYdG6F-450.webp create mode 100644 images/feed-thumbnails/34izizM7W7-150.jpeg create mode 100644 images/feed-thumbnails/34izizM7W7-150.webp create mode 100644 images/feed-thumbnails/34ogWHr7oE-150.jpeg create mode 100644 images/feed-thumbnails/34ogWHr7oE-150.webp create mode 100644 images/feed-thumbnails/34ogWHr7oE-450.jpeg create mode 100644 images/feed-thumbnails/34ogWHr7oE-450.webp create mode 100644 images/feed-thumbnails/39VEQIIR7I-150.jpeg create mode 100644 images/feed-thumbnails/39VEQIIR7I-150.webp create mode 100644 images/feed-thumbnails/39VEQIIR7I-450.jpeg create mode 100644 images/feed-thumbnails/39VEQIIR7I-450.webp create mode 100644 images/feed-thumbnails/3FLSnZunOs-150.jpeg create mode 100644 images/feed-thumbnails/3FLSnZunOs-150.webp create mode 100644 images/feed-thumbnails/3FLSnZunOs-450.jpeg create mode 100644 images/feed-thumbnails/3FLSnZunOs-450.webp create mode 100644 images/feed-thumbnails/3H9RqeQtF0-150.jpeg create mode 100644 images/feed-thumbnails/3H9RqeQtF0-150.webp create mode 100644 images/feed-thumbnails/3H9RqeQtF0-450.jpeg create mode 100644 images/feed-thumbnails/3H9RqeQtF0-450.webp create mode 100644 images/feed-thumbnails/3X9OjPjQO6-150.jpeg create mode 100644 images/feed-thumbnails/3X9OjPjQO6-150.webp create mode 100644 images/feed-thumbnails/3X9OjPjQO6-450.jpeg create mode 100644 images/feed-thumbnails/3X9OjPjQO6-450.webp create mode 100644 images/feed-thumbnails/3gYm9NYCqQ-150.jpeg create mode 100644 images/feed-thumbnails/3gYm9NYCqQ-150.webp create mode 100644 images/feed-thumbnails/3gYm9NYCqQ-450.jpeg create mode 100644 images/feed-thumbnails/3gYm9NYCqQ-450.webp create mode 100644 images/feed-thumbnails/43BtyjsZRp-150.jpeg create mode 100644 images/feed-thumbnails/43BtyjsZRp-150.webp create mode 100644 images/feed-thumbnails/43BtyjsZRp-450.jpeg create mode 100644 images/feed-thumbnails/43BtyjsZRp-450.webp create mode 100644 images/feed-thumbnails/4A0gVv8s9s-150.jpeg create mode 100644 images/feed-thumbnails/4A0gVv8s9s-150.webp create mode 100644 images/feed-thumbnails/4A0gVv8s9s-450.jpeg create mode 100644 images/feed-thumbnails/4A0gVv8s9s-450.webp create mode 100644 images/feed-thumbnails/4gwHdXrwq1-150.jpeg create mode 100644 images/feed-thumbnails/4gwHdXrwq1-150.webp create mode 100644 images/feed-thumbnails/4gwHdXrwq1-450.jpeg create mode 100644 images/feed-thumbnails/4gwHdXrwq1-450.webp create mode 100644 images/feed-thumbnails/4p0DRBkzdt-150.jpeg create mode 100644 images/feed-thumbnails/4p0DRBkzdt-150.webp create mode 100644 images/feed-thumbnails/4p0DRBkzdt-450.jpeg create mode 100644 images/feed-thumbnails/4p0DRBkzdt-450.webp create mode 100644 images/feed-thumbnails/5CUsvJsqz2-150.jpeg create mode 100644 images/feed-thumbnails/5CUsvJsqz2-150.webp create mode 100644 images/feed-thumbnails/5CUsvJsqz2-450.jpeg create mode 100644 images/feed-thumbnails/5CUsvJsqz2-450.webp create mode 100644 images/feed-thumbnails/5ZZnjA2FlL-150.jpeg create mode 100644 images/feed-thumbnails/5ZZnjA2FlL-150.webp create mode 100644 images/feed-thumbnails/5ZZnjA2FlL-450.jpeg create mode 100644 images/feed-thumbnails/5ZZnjA2FlL-450.webp create mode 100644 images/feed-thumbnails/5ejs1IPH5g-150.jpeg create mode 100644 images/feed-thumbnails/5ejs1IPH5g-150.webp create mode 100644 images/feed-thumbnails/5ejs1IPH5g-450.jpeg create mode 100644 images/feed-thumbnails/5ejs1IPH5g-450.webp create mode 100644 images/feed-thumbnails/5fs0cU0SL4-150.jpeg create mode 100644 images/feed-thumbnails/5fs0cU0SL4-150.webp create mode 100644 images/feed-thumbnails/5fs0cU0SL4-450.jpeg create mode 100644 images/feed-thumbnails/5fs0cU0SL4-450.webp create mode 100644 images/feed-thumbnails/5s9eVXwVru-150.jpeg create mode 100644 images/feed-thumbnails/5s9eVXwVru-150.webp create mode 100644 images/feed-thumbnails/5yrGYAWhMN-150.jpeg create mode 100644 images/feed-thumbnails/5yrGYAWhMN-150.webp create mode 100644 images/feed-thumbnails/5yrGYAWhMN-450.jpeg create mode 100644 images/feed-thumbnails/5yrGYAWhMN-450.webp create mode 100644 images/feed-thumbnails/6I1v-0UdSZ-150.jpeg create mode 100644 images/feed-thumbnails/6I1v-0UdSZ-150.webp create mode 100644 images/feed-thumbnails/6I1v-0UdSZ-450.jpeg create mode 100644 images/feed-thumbnails/6I1v-0UdSZ-450.webp create mode 100644 images/feed-thumbnails/6PfRzANL2y-150.jpeg create mode 100644 images/feed-thumbnails/6PfRzANL2y-150.webp create mode 100644 images/feed-thumbnails/6PfRzANL2y-450.jpeg create mode 100644 images/feed-thumbnails/6PfRzANL2y-450.webp create mode 100644 images/feed-thumbnails/6RuU03W9TB-150.jpeg create mode 100644 images/feed-thumbnails/6RuU03W9TB-150.webp create mode 100644 images/feed-thumbnails/6RuU03W9TB-450.jpeg create mode 100644 images/feed-thumbnails/6RuU03W9TB-450.webp create mode 100644 images/feed-thumbnails/6UmB4Ah3sp-150.jpeg create mode 100644 images/feed-thumbnails/6UmB4Ah3sp-150.webp create mode 100644 images/feed-thumbnails/6UmB4Ah3sp-450.jpeg create mode 100644 images/feed-thumbnails/6UmB4Ah3sp-450.webp create mode 100644 images/feed-thumbnails/6yEJrsvF23-150.jpeg create mode 100644 images/feed-thumbnails/6yEJrsvF23-150.webp create mode 100644 images/feed-thumbnails/6yEJrsvF23-450.jpeg create mode 100644 images/feed-thumbnails/6yEJrsvF23-450.webp create mode 100644 images/feed-thumbnails/7lYiVWO0Of-150.jpeg create mode 100644 images/feed-thumbnails/7lYiVWO0Of-150.webp create mode 100644 images/feed-thumbnails/7lYiVWO0Of-450.jpeg create mode 100644 images/feed-thumbnails/7lYiVWO0Of-450.webp create mode 100644 images/feed-thumbnails/7tNc9YUld2-150.jpeg create mode 100644 images/feed-thumbnails/7tNc9YUld2-150.webp create mode 100644 images/feed-thumbnails/7tNc9YUld2-450.jpeg create mode 100644 images/feed-thumbnails/7tNc9YUld2-450.webp create mode 100644 images/feed-thumbnails/8WtjB8KgCb-150.jpeg create mode 100644 images/feed-thumbnails/8WtjB8KgCb-150.webp create mode 100644 images/feed-thumbnails/8WtjB8KgCb-450.jpeg create mode 100644 images/feed-thumbnails/8WtjB8KgCb-450.webp create mode 100644 images/feed-thumbnails/8Xe4WeEGhS-150.jpeg create mode 100644 images/feed-thumbnails/8Xe4WeEGhS-150.webp create mode 100644 images/feed-thumbnails/8Xe4WeEGhS-450.jpeg create mode 100644 images/feed-thumbnails/8Xe4WeEGhS-450.webp create mode 100644 images/feed-thumbnails/8chvp650qo-150.jpeg create mode 100644 images/feed-thumbnails/8chvp650qo-150.webp create mode 100644 images/feed-thumbnails/8chvp650qo-450.jpeg create mode 100644 images/feed-thumbnails/8chvp650qo-450.webp create mode 100644 images/feed-thumbnails/8eHTQjEcnb-150.jpeg create mode 100644 images/feed-thumbnails/8eHTQjEcnb-150.webp create mode 100644 images/feed-thumbnails/8eHTQjEcnb-450.jpeg create mode 100644 images/feed-thumbnails/8eHTQjEcnb-450.webp create mode 100644 images/feed-thumbnails/8q2aLVagqa-150.jpeg create mode 100644 images/feed-thumbnails/8q2aLVagqa-150.webp create mode 100644 images/feed-thumbnails/8q2aLVagqa-450.jpeg create mode 100644 images/feed-thumbnails/8q2aLVagqa-450.webp create mode 100644 images/feed-thumbnails/93jvsWiOvP-150.jpeg create mode 100644 images/feed-thumbnails/93jvsWiOvP-150.webp create mode 100644 images/feed-thumbnails/93jvsWiOvP-450.jpeg create mode 100644 images/feed-thumbnails/93jvsWiOvP-450.webp create mode 100644 images/feed-thumbnails/9C3fxIrD8F-150.jpeg create mode 100644 images/feed-thumbnails/9C3fxIrD8F-150.webp create mode 100644 images/feed-thumbnails/9C3fxIrD8F-450.jpeg create mode 100644 images/feed-thumbnails/9C3fxIrD8F-450.webp create mode 100644 images/feed-thumbnails/9ZezEIQJhD-150.jpeg create mode 100644 images/feed-thumbnails/9ZezEIQJhD-150.webp create mode 100644 images/feed-thumbnails/9ZezEIQJhD-450.jpeg create mode 100644 images/feed-thumbnails/9ZezEIQJhD-450.webp create mode 100644 images/feed-thumbnails/9i2ZiYD9CM-150.jpeg create mode 100644 images/feed-thumbnails/9i2ZiYD9CM-150.webp create mode 100644 images/feed-thumbnails/9i2ZiYD9CM-450.jpeg create mode 100644 images/feed-thumbnails/9i2ZiYD9CM-450.webp create mode 100644 images/feed-thumbnails/9m34Ccs6sI-150.jpeg create mode 100644 images/feed-thumbnails/9m34Ccs6sI-150.webp create mode 100644 images/feed-thumbnails/9m34Ccs6sI-450.jpeg create mode 100644 images/feed-thumbnails/9m34Ccs6sI-450.webp create mode 100644 images/feed-thumbnails/9oOI2m_dLs-150.jpeg create mode 100644 images/feed-thumbnails/9oOI2m_dLs-150.webp create mode 100644 images/feed-thumbnails/9oOI2m_dLs-450.jpeg create mode 100644 images/feed-thumbnails/9oOI2m_dLs-450.webp create mode 100644 images/feed-thumbnails/A42i9CMVE4-150.jpeg create mode 100644 images/feed-thumbnails/A42i9CMVE4-150.webp create mode 100644 images/feed-thumbnails/A42i9CMVE4-450.jpeg create mode 100644 images/feed-thumbnails/A42i9CMVE4-450.webp create mode 100644 images/feed-thumbnails/A6ZvetOMnG-150.jpeg create mode 100644 images/feed-thumbnails/A6ZvetOMnG-150.webp create mode 100644 images/feed-thumbnails/AGDDYVas0l-150.jpeg create mode 100644 images/feed-thumbnails/AGDDYVas0l-150.webp create mode 100644 images/feed-thumbnails/AGDDYVas0l-450.jpeg create mode 100644 images/feed-thumbnails/AGDDYVas0l-450.webp create mode 100644 images/feed-thumbnails/AUwdkNWgZJ-150.jpeg create mode 100644 images/feed-thumbnails/AUwdkNWgZJ-150.webp create mode 100644 images/feed-thumbnails/AUwdkNWgZJ-450.jpeg create mode 100644 images/feed-thumbnails/AUwdkNWgZJ-450.webp create mode 100644 images/feed-thumbnails/AYWLsYU7iN-150.jpeg create mode 100644 images/feed-thumbnails/AYWLsYU7iN-150.webp create mode 100644 images/feed-thumbnails/AYWLsYU7iN-450.jpeg create mode 100644 images/feed-thumbnails/AYWLsYU7iN-450.webp create mode 100644 images/feed-thumbnails/AdMIv2beL6-150.jpeg create mode 100644 images/feed-thumbnails/AdMIv2beL6-150.webp create mode 100644 images/feed-thumbnails/AdMIv2beL6-450.jpeg create mode 100644 images/feed-thumbnails/AdMIv2beL6-450.webp create mode 100644 images/feed-thumbnails/BCbs410y5N-32.jpeg create mode 100644 images/feed-thumbnails/BCbs410y5N-32.webp create mode 100644 images/feed-thumbnails/BKIXQ7Rfkq-150.jpeg create mode 100644 images/feed-thumbnails/BKIXQ7Rfkq-150.webp create mode 100644 images/feed-thumbnails/BKIXQ7Rfkq-450.jpeg create mode 100644 images/feed-thumbnails/BKIXQ7Rfkq-450.webp create mode 100644 images/feed-thumbnails/BTT_PSieaa-150.jpeg create mode 100644 images/feed-thumbnails/BTT_PSieaa-150.webp create mode 100644 images/feed-thumbnails/BTT_PSieaa-450.jpeg create mode 100644 images/feed-thumbnails/BTT_PSieaa-450.webp create mode 100644 images/feed-thumbnails/BYY6YpXaxt-150.jpeg create mode 100644 images/feed-thumbnails/BYY6YpXaxt-150.webp create mode 100644 images/feed-thumbnails/BYY6YpXaxt-450.jpeg create mode 100644 images/feed-thumbnails/BYY6YpXaxt-450.webp create mode 100644 images/feed-thumbnails/Bg0dDR_jPG-150.jpeg create mode 100644 images/feed-thumbnails/Bg0dDR_jPG-150.webp create mode 100644 images/feed-thumbnails/Bg0dDR_jPG-450.jpeg create mode 100644 images/feed-thumbnails/Bg0dDR_jPG-450.webp create mode 100644 images/feed-thumbnails/BoX1G2kQnh-150.jpeg create mode 100644 images/feed-thumbnails/BoX1G2kQnh-150.webp create mode 100644 images/feed-thumbnails/BoX1G2kQnh-450.jpeg create mode 100644 images/feed-thumbnails/BoX1G2kQnh-450.webp create mode 100644 images/feed-thumbnails/BsbIs1YFL3-150.jpeg create mode 100644 images/feed-thumbnails/BsbIs1YFL3-150.webp create mode 100644 images/feed-thumbnails/BsbIs1YFL3-450.jpeg create mode 100644 images/feed-thumbnails/BsbIs1YFL3-450.webp create mode 100644 images/feed-thumbnails/CDYRsjLQAR-150.jpeg create mode 100644 images/feed-thumbnails/CDYRsjLQAR-150.webp create mode 100644 images/feed-thumbnails/CDYRsjLQAR-450.jpeg create mode 100644 images/feed-thumbnails/CDYRsjLQAR-450.webp create mode 100644 images/feed-thumbnails/Cpm7hBLIMb-150.jpeg create mode 100644 images/feed-thumbnails/Cpm7hBLIMb-150.webp create mode 100644 images/feed-thumbnails/Cpm7hBLIMb-450.jpeg create mode 100644 images/feed-thumbnails/Cpm7hBLIMb-450.webp create mode 100644 images/feed-thumbnails/Cyye13ZzJN-150.jpeg create mode 100644 images/feed-thumbnails/Cyye13ZzJN-150.webp create mode 100644 images/feed-thumbnails/Cyye13ZzJN-450.jpeg create mode 100644 images/feed-thumbnails/Cyye13ZzJN-450.webp create mode 100644 images/feed-thumbnails/DX8R3wXA-d-150.jpeg create mode 100644 images/feed-thumbnails/DX8R3wXA-d-150.webp create mode 100644 images/feed-thumbnails/DX8R3wXA-d-450.jpeg create mode 100644 images/feed-thumbnails/DX8R3wXA-d-450.webp create mode 100644 images/feed-thumbnails/DXkuovbdOc-150.jpeg create mode 100644 images/feed-thumbnails/DXkuovbdOc-150.webp create mode 100644 images/feed-thumbnails/DXkuovbdOc-450.jpeg create mode 100644 images/feed-thumbnails/DXkuovbdOc-450.webp create mode 100644 images/feed-thumbnails/DgJT8AW-Rl-150.jpeg create mode 100644 images/feed-thumbnails/DgJT8AW-Rl-150.webp create mode 100644 images/feed-thumbnails/DgJT8AW-Rl-450.jpeg create mode 100644 images/feed-thumbnails/DgJT8AW-Rl-450.webp create mode 100644 images/feed-thumbnails/DkprRgBZ1s-150.jpeg create mode 100644 images/feed-thumbnails/DkprRgBZ1s-150.webp create mode 100644 images/feed-thumbnails/DkprRgBZ1s-450.jpeg create mode 100644 images/feed-thumbnails/DkprRgBZ1s-450.webp create mode 100644 images/feed-thumbnails/DpYvHx15bU-150.jpeg create mode 100644 images/feed-thumbnails/DpYvHx15bU-150.webp create mode 100644 images/feed-thumbnails/DpYvHx15bU-450.jpeg create mode 100644 images/feed-thumbnails/DpYvHx15bU-450.webp create mode 100644 images/feed-thumbnails/DuqdyD1E5k-150.jpeg create mode 100644 images/feed-thumbnails/DuqdyD1E5k-150.webp create mode 100644 images/feed-thumbnails/DuqdyD1E5k-450.jpeg create mode 100644 images/feed-thumbnails/DuqdyD1E5k-450.webp create mode 100644 images/feed-thumbnails/E2rUu-wfEf-150.jpeg create mode 100644 images/feed-thumbnails/E2rUu-wfEf-150.webp create mode 100644 images/feed-thumbnails/E2rUu-wfEf-450.jpeg create mode 100644 images/feed-thumbnails/E2rUu-wfEf-450.webp create mode 100644 images/feed-thumbnails/ECOK-iCHCE-150.jpeg create mode 100644 images/feed-thumbnails/ECOK-iCHCE-150.webp create mode 100644 images/feed-thumbnails/ECOK-iCHCE-450.jpeg create mode 100644 images/feed-thumbnails/ECOK-iCHCE-450.webp create mode 100644 images/feed-thumbnails/ET1lXduG2f-150.jpeg create mode 100644 images/feed-thumbnails/ET1lXduG2f-150.webp create mode 100644 images/feed-thumbnails/ET1lXduG2f-450.jpeg create mode 100644 images/feed-thumbnails/ET1lXduG2f-450.webp create mode 100644 images/feed-thumbnails/EnKLbmh-dP-150.jpeg create mode 100644 images/feed-thumbnails/EnKLbmh-dP-150.webp create mode 100644 images/feed-thumbnails/EnKLbmh-dP-450.jpeg create mode 100644 images/feed-thumbnails/EnKLbmh-dP-450.webp create mode 100644 images/feed-thumbnails/ErNb1IIpC6-150.jpeg create mode 100644 images/feed-thumbnails/ErNb1IIpC6-150.webp create mode 100644 images/feed-thumbnails/ErNb1IIpC6-450.jpeg create mode 100644 images/feed-thumbnails/ErNb1IIpC6-450.webp create mode 100644 images/feed-thumbnails/Ey1vvhWYq--150.jpeg create mode 100644 images/feed-thumbnails/Ey1vvhWYq--150.webp create mode 100644 images/feed-thumbnails/Ey1vvhWYq--450.jpeg create mode 100644 images/feed-thumbnails/Ey1vvhWYq--450.webp create mode 100644 images/feed-thumbnails/FCYwJGLXjX-150.jpeg create mode 100644 images/feed-thumbnails/FCYwJGLXjX-150.webp create mode 100644 images/feed-thumbnails/FCYwJGLXjX-450.jpeg create mode 100644 images/feed-thumbnails/FCYwJGLXjX-450.webp create mode 100644 images/feed-thumbnails/FLKDiou1nR-150.jpeg create mode 100644 images/feed-thumbnails/FLKDiou1nR-150.webp create mode 100644 images/feed-thumbnails/FLKDiou1nR-450.jpeg create mode 100644 images/feed-thumbnails/FLKDiou1nR-450.webp create mode 100644 images/feed-thumbnails/FRMI_0vxW--150.jpeg create mode 100644 images/feed-thumbnails/FRMI_0vxW--150.webp create mode 100644 images/feed-thumbnails/FRMI_0vxW--450.jpeg create mode 100644 images/feed-thumbnails/FRMI_0vxW--450.webp create mode 100644 images/feed-thumbnails/GP_Jk7UJJd-150.jpeg create mode 100644 images/feed-thumbnails/GP_Jk7UJJd-150.webp create mode 100644 images/feed-thumbnails/HZ4cw78x5s-150.jpeg create mode 100644 images/feed-thumbnails/HZ4cw78x5s-150.webp create mode 100644 images/feed-thumbnails/HZ4cw78x5s-450.jpeg create mode 100644 images/feed-thumbnails/HZ4cw78x5s-450.webp create mode 100644 images/feed-thumbnails/Hmn8qsZNOg-150.jpeg create mode 100644 images/feed-thumbnails/Hmn8qsZNOg-150.webp create mode 100644 images/feed-thumbnails/Hmn8qsZNOg-450.jpeg create mode 100644 images/feed-thumbnails/Hmn8qsZNOg-450.webp create mode 100644 images/feed-thumbnails/IDNL6fZwI3-150.jpeg create mode 100644 images/feed-thumbnails/IDNL6fZwI3-150.webp create mode 100644 images/feed-thumbnails/IDNL6fZwI3-450.jpeg create mode 100644 images/feed-thumbnails/IDNL6fZwI3-450.webp create mode 100644 images/feed-thumbnails/ISQNSD2Cf9-150.jpeg create mode 100644 images/feed-thumbnails/ISQNSD2Cf9-150.webp create mode 100644 images/feed-thumbnails/ISQNSD2Cf9-450.jpeg create mode 100644 images/feed-thumbnails/ISQNSD2Cf9-450.webp create mode 100644 images/feed-thumbnails/IWD63NhA9P-150.jpeg create mode 100644 images/feed-thumbnails/IWD63NhA9P-150.webp create mode 100644 images/feed-thumbnails/IWD63NhA9P-450.jpeg create mode 100644 images/feed-thumbnails/IWD63NhA9P-450.webp create mode 100644 images/feed-thumbnails/IaXqgu99_h-150.jpeg create mode 100644 images/feed-thumbnails/IaXqgu99_h-150.webp create mode 100644 images/feed-thumbnails/IaXqgu99_h-450.jpeg create mode 100644 images/feed-thumbnails/IaXqgu99_h-450.webp create mode 100644 images/feed-thumbnails/IdddOAE_kF-150.jpeg create mode 100644 images/feed-thumbnails/IdddOAE_kF-150.webp create mode 100644 images/feed-thumbnails/IdddOAE_kF-450.jpeg create mode 100644 images/feed-thumbnails/IdddOAE_kF-450.webp create mode 100644 images/feed-thumbnails/IlKc5W0e6w-150.jpeg create mode 100644 images/feed-thumbnails/IlKc5W0e6w-150.webp create mode 100644 images/feed-thumbnails/IlKc5W0e6w-450.jpeg create mode 100644 images/feed-thumbnails/IlKc5W0e6w-450.webp create mode 100644 images/feed-thumbnails/InmHR51A0S-150.jpeg create mode 100644 images/feed-thumbnails/InmHR51A0S-150.webp create mode 100644 images/feed-thumbnails/InmHR51A0S-450.jpeg create mode 100644 images/feed-thumbnails/InmHR51A0S-450.webp create mode 100644 images/feed-thumbnails/Ip1922MaLu-150.jpeg create mode 100644 images/feed-thumbnails/Ip1922MaLu-150.webp create mode 100644 images/feed-thumbnails/Ip1922MaLu-450.jpeg create mode 100644 images/feed-thumbnails/Ip1922MaLu-450.webp create mode 100644 images/feed-thumbnails/IriblgOeI2-150.jpeg create mode 100644 images/feed-thumbnails/IriblgOeI2-150.webp create mode 100644 images/feed-thumbnails/IriblgOeI2-450.jpeg create mode 100644 images/feed-thumbnails/IriblgOeI2-450.webp create mode 100644 images/feed-thumbnails/J0gfZoegXG-150.jpeg create mode 100644 images/feed-thumbnails/J0gfZoegXG-150.webp create mode 100644 images/feed-thumbnails/J0gfZoegXG-450.jpeg create mode 100644 images/feed-thumbnails/J0gfZoegXG-450.webp create mode 100644 images/feed-thumbnails/J985po-Cil-150.jpeg create mode 100644 images/feed-thumbnails/J985po-Cil-150.webp create mode 100644 images/feed-thumbnails/J985po-Cil-450.jpeg create mode 100644 images/feed-thumbnails/J985po-Cil-450.webp create mode 100644 images/feed-thumbnails/JE2gYIm3Zb-150.jpeg create mode 100644 images/feed-thumbnails/JE2gYIm3Zb-150.webp create mode 100644 images/feed-thumbnails/JE2gYIm3Zb-450.jpeg create mode 100644 images/feed-thumbnails/JE2gYIm3Zb-450.webp create mode 100644 images/feed-thumbnails/JWWzEbo9Rz-150.jpeg create mode 100644 images/feed-thumbnails/JWWzEbo9Rz-150.webp create mode 100644 images/feed-thumbnails/JWWzEbo9Rz-450.jpeg create mode 100644 images/feed-thumbnails/JWWzEbo9Rz-450.webp create mode 100644 images/feed-thumbnails/Je3tNeUY5Y-150.jpeg create mode 100644 images/feed-thumbnails/Je3tNeUY5Y-150.webp create mode 100644 images/feed-thumbnails/Je3tNeUY5Y-450.jpeg create mode 100644 images/feed-thumbnails/Je3tNeUY5Y-450.webp create mode 100644 images/feed-thumbnails/JfV0V6ZW-M-150.jpeg create mode 100644 images/feed-thumbnails/JfV0V6ZW-M-150.webp create mode 100644 images/feed-thumbnails/JfV0V6ZW-M-450.jpeg create mode 100644 images/feed-thumbnails/JfV0V6ZW-M-450.webp create mode 100644 images/feed-thumbnails/JuLyb88_wr-150.jpeg create mode 100644 images/feed-thumbnails/JuLyb88_wr-150.webp create mode 100644 images/feed-thumbnails/JuLyb88_wr-450.jpeg create mode 100644 images/feed-thumbnails/JuLyb88_wr-450.webp create mode 100644 images/feed-thumbnails/KD83ooeM6U-150.jpeg create mode 100644 images/feed-thumbnails/KD83ooeM6U-150.webp create mode 100644 images/feed-thumbnails/KD83ooeM6U-450.jpeg create mode 100644 images/feed-thumbnails/KD83ooeM6U-450.webp create mode 100644 images/feed-thumbnails/KTozA_BQhB-150.jpeg create mode 100644 images/feed-thumbnails/KTozA_BQhB-150.webp create mode 100644 images/feed-thumbnails/KTozA_BQhB-450.jpeg create mode 100644 images/feed-thumbnails/KTozA_BQhB-450.webp create mode 100644 images/feed-thumbnails/Knn3Vtayu0-150.jpeg create mode 100644 images/feed-thumbnails/Knn3Vtayu0-150.webp create mode 100644 images/feed-thumbnails/Knn3Vtayu0-450.jpeg create mode 100644 images/feed-thumbnails/Knn3Vtayu0-450.webp create mode 100644 images/feed-thumbnails/KxVzMJ65h0-150.jpeg create mode 100644 images/feed-thumbnails/KxVzMJ65h0-150.webp create mode 100644 images/feed-thumbnails/KxVzMJ65h0-450.jpeg create mode 100644 images/feed-thumbnails/KxVzMJ65h0-450.webp create mode 100644 images/feed-thumbnails/KzEXw8wmyw-150.jpeg create mode 100644 images/feed-thumbnails/KzEXw8wmyw-150.webp create mode 100644 images/feed-thumbnails/KzEXw8wmyw-450.jpeg create mode 100644 images/feed-thumbnails/KzEXw8wmyw-450.webp create mode 100644 images/feed-thumbnails/LNZSyqXFf8-150.jpeg create mode 100644 images/feed-thumbnails/LNZSyqXFf8-150.webp create mode 100644 images/feed-thumbnails/LNZSyqXFf8-450.jpeg create mode 100644 images/feed-thumbnails/LNZSyqXFf8-450.webp create mode 100644 images/feed-thumbnails/Luxl0FgqhN-150.jpeg create mode 100644 images/feed-thumbnails/Luxl0FgqhN-150.webp create mode 100644 images/feed-thumbnails/Luxl0FgqhN-450.jpeg create mode 100644 images/feed-thumbnails/Luxl0FgqhN-450.webp create mode 100644 images/feed-thumbnails/Lxy9mzim48-150.jpeg create mode 100644 images/feed-thumbnails/Lxy9mzim48-150.webp create mode 100644 images/feed-thumbnails/Lxy9mzim48-450.jpeg create mode 100644 images/feed-thumbnails/Lxy9mzim48-450.webp create mode 100644 images/feed-thumbnails/M-BCOLeHkn-150.jpeg create mode 100644 images/feed-thumbnails/M-BCOLeHkn-150.webp create mode 100644 images/feed-thumbnails/M-BCOLeHkn-450.jpeg create mode 100644 images/feed-thumbnails/M-BCOLeHkn-450.webp create mode 100644 images/feed-thumbnails/M-BCmcwWl--150.jpeg create mode 100644 images/feed-thumbnails/M-BCmcwWl--150.webp create mode 100644 images/feed-thumbnails/M-BCmcwWl--450.jpeg create mode 100644 images/feed-thumbnails/M-BCmcwWl--450.webp create mode 100644 images/feed-thumbnails/M3T0ijJqOp-150.jpeg create mode 100644 images/feed-thumbnails/M3T0ijJqOp-150.webp create mode 100644 images/feed-thumbnails/M3T0ijJqOp-450.jpeg create mode 100644 images/feed-thumbnails/M3T0ijJqOp-450.webp create mode 100644 images/feed-thumbnails/MKP96o5S6G-150.jpeg create mode 100644 images/feed-thumbnails/MKP96o5S6G-150.webp create mode 100644 images/feed-thumbnails/MWbi-2SknQ-150.jpeg create mode 100644 images/feed-thumbnails/MWbi-2SknQ-150.webp create mode 100644 images/feed-thumbnails/MWbi-2SknQ-450.jpeg create mode 100644 images/feed-thumbnails/MWbi-2SknQ-450.webp create mode 100644 images/feed-thumbnails/NJS0VwDmB6-150.jpeg create mode 100644 images/feed-thumbnails/NJS0VwDmB6-150.webp create mode 100644 images/feed-thumbnails/NJS0VwDmB6-450.jpeg create mode 100644 images/feed-thumbnails/NJS0VwDmB6-450.webp create mode 100644 images/feed-thumbnails/NQqk0Bd6os-150.jpeg create mode 100644 images/feed-thumbnails/NQqk0Bd6os-150.webp create mode 100644 images/feed-thumbnails/NQqk0Bd6os-450.jpeg create mode 100644 images/feed-thumbnails/NQqk0Bd6os-450.webp create mode 100644 images/feed-thumbnails/NbP7hARJVs-150.jpeg create mode 100644 images/feed-thumbnails/NbP7hARJVs-150.webp create mode 100644 images/feed-thumbnails/NbP7hARJVs-450.jpeg create mode 100644 images/feed-thumbnails/NbP7hARJVs-450.webp create mode 100644 images/feed-thumbnails/Nm84iIzCgv-150.jpeg create mode 100644 images/feed-thumbnails/Nm84iIzCgv-150.webp create mode 100644 images/feed-thumbnails/Nm84iIzCgv-450.jpeg create mode 100644 images/feed-thumbnails/Nm84iIzCgv-450.webp create mode 100644 images/feed-thumbnails/O9G3uCzQhl-150.jpeg create mode 100644 images/feed-thumbnails/O9G3uCzQhl-150.webp create mode 100644 images/feed-thumbnails/O9G3uCzQhl-450.jpeg create mode 100644 images/feed-thumbnails/O9G3uCzQhl-450.webp create mode 100644 images/feed-thumbnails/OG3HKlWFqB-150.jpeg create mode 100644 images/feed-thumbnails/OG3HKlWFqB-150.webp create mode 100644 images/feed-thumbnails/OG3HKlWFqB-450.jpeg create mode 100644 images/feed-thumbnails/OG3HKlWFqB-450.webp create mode 100644 images/feed-thumbnails/OdSn2SdvIM-150.jpeg create mode 100644 images/feed-thumbnails/OdSn2SdvIM-150.webp create mode 100644 images/feed-thumbnails/OdSn2SdvIM-450.jpeg create mode 100644 images/feed-thumbnails/OdSn2SdvIM-450.webp create mode 100644 images/feed-thumbnails/Oia7dN88hn-150.jpeg create mode 100644 images/feed-thumbnails/Oia7dN88hn-150.webp create mode 100644 images/feed-thumbnails/Oia7dN88hn-450.jpeg create mode 100644 images/feed-thumbnails/Oia7dN88hn-450.webp create mode 100644 images/feed-thumbnails/OnkSIqLcuu-150.jpeg create mode 100644 images/feed-thumbnails/OnkSIqLcuu-150.webp create mode 100644 images/feed-thumbnails/OnkSIqLcuu-450.jpeg create mode 100644 images/feed-thumbnails/OnkSIqLcuu-450.webp create mode 100644 images/feed-thumbnails/P-eA_KMtfU-150.jpeg create mode 100644 images/feed-thumbnails/P-eA_KMtfU-150.webp create mode 100644 images/feed-thumbnails/P-eA_KMtfU-450.jpeg create mode 100644 images/feed-thumbnails/P-eA_KMtfU-450.webp create mode 100644 images/feed-thumbnails/Q5UI0lGSFl-150.jpeg create mode 100644 images/feed-thumbnails/Q5UI0lGSFl-150.webp create mode 100644 images/feed-thumbnails/Q5UI0lGSFl-450.jpeg create mode 100644 images/feed-thumbnails/Q5UI0lGSFl-450.webp create mode 100644 images/feed-thumbnails/Q5ZqgEvsJp-150.jpeg create mode 100644 images/feed-thumbnails/Q5ZqgEvsJp-150.webp create mode 100644 images/feed-thumbnails/Q5ZqgEvsJp-450.jpeg create mode 100644 images/feed-thumbnails/Q5ZqgEvsJp-450.webp create mode 100644 images/feed-thumbnails/QImN1kjT9x-150.jpeg create mode 100644 images/feed-thumbnails/QImN1kjT9x-150.webp create mode 100644 images/feed-thumbnails/QImN1kjT9x-450.jpeg create mode 100644 images/feed-thumbnails/QImN1kjT9x-450.webp create mode 100644 images/feed-thumbnails/QKKOun8fin-150.jpeg create mode 100644 images/feed-thumbnails/QKKOun8fin-150.webp create mode 100644 images/feed-thumbnails/QKKOun8fin-450.jpeg create mode 100644 images/feed-thumbnails/QKKOun8fin-450.webp create mode 100644 images/feed-thumbnails/QNz6QLx8wL-150.jpeg create mode 100644 images/feed-thumbnails/QNz6QLx8wL-150.webp create mode 100644 images/feed-thumbnails/QNz6QLx8wL-450.jpeg create mode 100644 images/feed-thumbnails/QNz6QLx8wL-450.webp create mode 100644 images/feed-thumbnails/QWhj2Ln072-150.jpeg create mode 100644 images/feed-thumbnails/QWhj2Ln072-150.webp create mode 100644 images/feed-thumbnails/QWhj2Ln072-450.jpeg create mode 100644 images/feed-thumbnails/QWhj2Ln072-450.webp create mode 100644 images/feed-thumbnails/QXPtUOSJAV-150.jpeg create mode 100644 images/feed-thumbnails/QXPtUOSJAV-150.webp create mode 100644 images/feed-thumbnails/QXPtUOSJAV-450.jpeg create mode 100644 images/feed-thumbnails/QXPtUOSJAV-450.webp create mode 100644 images/feed-thumbnails/QaXjpDkLtg-150.jpeg create mode 100644 images/feed-thumbnails/QaXjpDkLtg-150.webp create mode 100644 images/feed-thumbnails/QaXjpDkLtg-450.jpeg create mode 100644 images/feed-thumbnails/QaXjpDkLtg-450.webp create mode 100644 images/feed-thumbnails/Qo7pVbgvn7-150.jpeg create mode 100644 images/feed-thumbnails/Qo7pVbgvn7-150.webp create mode 100644 images/feed-thumbnails/Qo7pVbgvn7-450.jpeg create mode 100644 images/feed-thumbnails/Qo7pVbgvn7-450.webp create mode 100644 images/feed-thumbnails/R80W7qz487-150.jpeg create mode 100644 images/feed-thumbnails/R80W7qz487-150.webp create mode 100644 images/feed-thumbnails/R80W7qz487-450.jpeg create mode 100644 images/feed-thumbnails/R80W7qz487-450.webp create mode 100644 images/feed-thumbnails/RH1KjalFS6-150.jpeg create mode 100644 images/feed-thumbnails/RH1KjalFS6-150.webp create mode 100644 images/feed-thumbnails/RH1KjalFS6-450.jpeg create mode 100644 images/feed-thumbnails/RH1KjalFS6-450.webp create mode 100644 images/feed-thumbnails/RIuQuc7qxm-150.jpeg create mode 100644 images/feed-thumbnails/RIuQuc7qxm-150.webp create mode 100644 images/feed-thumbnails/RIuQuc7qxm-450.jpeg create mode 100644 images/feed-thumbnails/RIuQuc7qxm-450.webp create mode 100644 images/feed-thumbnails/RVBIPw4tmw-150.jpeg create mode 100644 images/feed-thumbnails/RVBIPw4tmw-150.webp create mode 100644 images/feed-thumbnails/RVBIPw4tmw-450.jpeg create mode 100644 images/feed-thumbnails/RVBIPw4tmw-450.webp create mode 100644 images/feed-thumbnails/RinS63bJ9U-150.jpeg create mode 100644 images/feed-thumbnails/RinS63bJ9U-150.webp create mode 100644 images/feed-thumbnails/RinS63bJ9U-450.jpeg create mode 100644 images/feed-thumbnails/RinS63bJ9U-450.webp create mode 100644 images/feed-thumbnails/SK6Yhvweqi-150.jpeg create mode 100644 images/feed-thumbnails/SK6Yhvweqi-150.webp create mode 100644 images/feed-thumbnails/SK6Yhvweqi-450.jpeg create mode 100644 images/feed-thumbnails/SK6Yhvweqi-450.webp create mode 100644 images/feed-thumbnails/SLCSPjIIPB-150.jpeg create mode 100644 images/feed-thumbnails/SLCSPjIIPB-150.webp create mode 100644 images/feed-thumbnails/SLCSPjIIPB-450.jpeg create mode 100644 images/feed-thumbnails/SLCSPjIIPB-450.webp create mode 100644 images/feed-thumbnails/SOxxyWmVy5-150.jpeg create mode 100644 images/feed-thumbnails/SOxxyWmVy5-150.webp create mode 100644 images/feed-thumbnails/SOxxyWmVy5-450.jpeg create mode 100644 images/feed-thumbnails/SOxxyWmVy5-450.webp create mode 100644 images/feed-thumbnails/STij2OXD6X-150.jpeg create mode 100644 images/feed-thumbnails/STij2OXD6X-150.webp create mode 100644 images/feed-thumbnails/STij2OXD6X-450.jpeg create mode 100644 images/feed-thumbnails/STij2OXD6X-450.webp create mode 100644 images/feed-thumbnails/SrBKUFw3KO-150.jpeg create mode 100644 images/feed-thumbnails/SrBKUFw3KO-150.webp create mode 100644 images/feed-thumbnails/SrBKUFw3KO-450.jpeg create mode 100644 images/feed-thumbnails/SrBKUFw3KO-450.webp create mode 100644 images/feed-thumbnails/TMcTCua68E-150.jpeg create mode 100644 images/feed-thumbnails/TMcTCua68E-150.webp create mode 100644 images/feed-thumbnails/TMcTCua68E-450.jpeg create mode 100644 images/feed-thumbnails/TMcTCua68E-450.webp create mode 100644 images/feed-thumbnails/TeSMZeLDo3-150.jpeg create mode 100644 images/feed-thumbnails/TeSMZeLDo3-150.webp create mode 100644 images/feed-thumbnails/TeSMZeLDo3-450.jpeg create mode 100644 images/feed-thumbnails/TeSMZeLDo3-450.webp create mode 100644 images/feed-thumbnails/TknD5_7V6Z-150.jpeg create mode 100644 images/feed-thumbnails/TknD5_7V6Z-150.webp create mode 100644 images/feed-thumbnails/TknD5_7V6Z-450.jpeg create mode 100644 images/feed-thumbnails/TknD5_7V6Z-450.webp create mode 100644 images/feed-thumbnails/TtT3VTzEuR-150.jpeg create mode 100644 images/feed-thumbnails/TtT3VTzEuR-150.webp create mode 100644 images/feed-thumbnails/TtT3VTzEuR-450.jpeg create mode 100644 images/feed-thumbnails/TtT3VTzEuR-450.webp create mode 100644 images/feed-thumbnails/TuGJXN2LFW-150.jpeg create mode 100644 images/feed-thumbnails/TuGJXN2LFW-150.webp create mode 100644 images/feed-thumbnails/TuGJXN2LFW-450.jpeg create mode 100644 images/feed-thumbnails/TuGJXN2LFW-450.webp create mode 100644 images/feed-thumbnails/UXEaS5uCp3-150.jpeg create mode 100644 images/feed-thumbnails/UXEaS5uCp3-150.webp create mode 100644 images/feed-thumbnails/UXEaS5uCp3-450.jpeg create mode 100644 images/feed-thumbnails/UXEaS5uCp3-450.webp create mode 100644 images/feed-thumbnails/UhXbLQoaoO-150.jpeg create mode 100644 images/feed-thumbnails/UhXbLQoaoO-150.webp create mode 100644 images/feed-thumbnails/UhXbLQoaoO-450.jpeg create mode 100644 images/feed-thumbnails/UhXbLQoaoO-450.webp create mode 100644 images/feed-thumbnails/UxcqgFOUWr-150.jpeg create mode 100644 images/feed-thumbnails/UxcqgFOUWr-150.webp create mode 100644 images/feed-thumbnails/UxcqgFOUWr-450.jpeg create mode 100644 images/feed-thumbnails/UxcqgFOUWr-450.webp create mode 100644 images/feed-thumbnails/VFP4ZcdsuH-150.jpeg create mode 100644 images/feed-thumbnails/VFP4ZcdsuH-150.webp create mode 100644 images/feed-thumbnails/VFP4ZcdsuH-450.jpeg create mode 100644 images/feed-thumbnails/VFP4ZcdsuH-450.webp create mode 100644 images/feed-thumbnails/VQLgHzdmcB-150.jpeg create mode 100644 images/feed-thumbnails/VQLgHzdmcB-150.webp create mode 100644 images/feed-thumbnails/VQLgHzdmcB-450.jpeg create mode 100644 images/feed-thumbnails/VQLgHzdmcB-450.webp create mode 100644 images/feed-thumbnails/WCJHyJ8iia-150.jpeg create mode 100644 images/feed-thumbnails/WCJHyJ8iia-150.webp create mode 100644 images/feed-thumbnails/WCJHyJ8iia-450.jpeg create mode 100644 images/feed-thumbnails/WCJHyJ8iia-450.webp create mode 100644 images/feed-thumbnails/WN7d8xOKic-150.jpeg create mode 100644 images/feed-thumbnails/WN7d8xOKic-150.webp create mode 100644 images/feed-thumbnails/WN7d8xOKic-450.jpeg create mode 100644 images/feed-thumbnails/WN7d8xOKic-450.webp create mode 100644 images/feed-thumbnails/WkWfvDMQbp-150.jpeg create mode 100644 images/feed-thumbnails/WkWfvDMQbp-150.webp create mode 100644 images/feed-thumbnails/WkWfvDMQbp-450.jpeg create mode 100644 images/feed-thumbnails/WkWfvDMQbp-450.webp create mode 100644 images/feed-thumbnails/X-1au2i66b-150.jpeg create mode 100644 images/feed-thumbnails/X-1au2i66b-150.webp create mode 100644 images/feed-thumbnails/X-1au2i66b-450.jpeg create mode 100644 images/feed-thumbnails/X-1au2i66b-450.webp create mode 100644 images/feed-thumbnails/XDOsMSgwOf-150.jpeg create mode 100644 images/feed-thumbnails/XDOsMSgwOf-150.webp create mode 100644 images/feed-thumbnails/XDOsMSgwOf-450.jpeg create mode 100644 images/feed-thumbnails/XDOsMSgwOf-450.webp create mode 100644 images/feed-thumbnails/XXlav9UauU-150.jpeg create mode 100644 images/feed-thumbnails/XXlav9UauU-150.webp create mode 100644 images/feed-thumbnails/Xg_6nF-foa-150.jpeg create mode 100644 images/feed-thumbnails/Xg_6nF-foa-150.webp create mode 100644 images/feed-thumbnails/XkzgVUW_EO-150.jpeg create mode 100644 images/feed-thumbnails/XkzgVUW_EO-150.webp create mode 100644 images/feed-thumbnails/XkzgVUW_EO-450.jpeg create mode 100644 images/feed-thumbnails/XkzgVUW_EO-450.webp create mode 100644 images/feed-thumbnails/YdZATe7Jck-150.jpeg create mode 100644 images/feed-thumbnails/YdZATe7Jck-150.webp create mode 100644 images/feed-thumbnails/YdZATe7Jck-450.jpeg create mode 100644 images/feed-thumbnails/YdZATe7Jck-450.webp create mode 100644 images/feed-thumbnails/YtKv2T994P-150.jpeg create mode 100644 images/feed-thumbnails/YtKv2T994P-150.webp create mode 100644 images/feed-thumbnails/YtKv2T994P-450.jpeg create mode 100644 images/feed-thumbnails/YtKv2T994P-450.webp create mode 100644 images/feed-thumbnails/Z99atEYX81-150.jpeg create mode 100644 images/feed-thumbnails/Z99atEYX81-150.webp create mode 100644 images/feed-thumbnails/Z99atEYX81-450.jpeg create mode 100644 images/feed-thumbnails/Z99atEYX81-450.webp create mode 100644 images/feed-thumbnails/ZCn62Fzu2W-150.jpeg create mode 100644 images/feed-thumbnails/ZCn62Fzu2W-150.webp create mode 100644 images/feed-thumbnails/ZCn62Fzu2W-450.jpeg create mode 100644 images/feed-thumbnails/ZCn62Fzu2W-450.webp create mode 100644 images/feed-thumbnails/ZsNX2klrEN-150.jpeg create mode 100644 images/feed-thumbnails/ZsNX2klrEN-150.webp create mode 100644 images/feed-thumbnails/ZsNX2klrEN-450.jpeg create mode 100644 images/feed-thumbnails/ZsNX2klrEN-450.webp create mode 100644 images/feed-thumbnails/_GF3SNLOHp-150.jpeg create mode 100644 images/feed-thumbnails/_GF3SNLOHp-150.webp create mode 100644 images/feed-thumbnails/_GF3SNLOHp-450.jpeg create mode 100644 images/feed-thumbnails/_GF3SNLOHp-450.webp create mode 100644 images/feed-thumbnails/_PDNFhUggs-150.jpeg create mode 100644 images/feed-thumbnails/_PDNFhUggs-150.webp create mode 100644 images/feed-thumbnails/_PDNFhUggs-450.jpeg create mode 100644 images/feed-thumbnails/_PDNFhUggs-450.webp create mode 100644 images/feed-thumbnails/_QccQk6qQB-150.jpeg create mode 100644 images/feed-thumbnails/_QccQk6qQB-150.webp create mode 100644 images/feed-thumbnails/_QccQk6qQB-450.jpeg create mode 100644 images/feed-thumbnails/_QccQk6qQB-450.webp create mode 100644 images/feed-thumbnails/_gNPnCohsW-150.jpeg create mode 100644 images/feed-thumbnails/_gNPnCohsW-150.webp create mode 100644 images/feed-thumbnails/_gNPnCohsW-450.jpeg create mode 100644 images/feed-thumbnails/_gNPnCohsW-450.webp create mode 100644 images/feed-thumbnails/aBKtQus9bs-150.jpeg create mode 100644 images/feed-thumbnails/aBKtQus9bs-150.webp create mode 100644 images/feed-thumbnails/aBKtQus9bs-450.jpeg create mode 100644 images/feed-thumbnails/aBKtQus9bs-450.webp create mode 100644 images/feed-thumbnails/aHr_VRPIBP-150.jpeg create mode 100644 images/feed-thumbnails/aHr_VRPIBP-150.webp create mode 100644 images/feed-thumbnails/aHr_VRPIBP-450.jpeg create mode 100644 images/feed-thumbnails/aHr_VRPIBP-450.webp create mode 100644 images/feed-thumbnails/aTnF2dSdIL-150.jpeg create mode 100644 images/feed-thumbnails/aTnF2dSdIL-150.webp create mode 100644 images/feed-thumbnails/aTnF2dSdIL-450.jpeg create mode 100644 images/feed-thumbnails/aTnF2dSdIL-450.webp create mode 100644 images/feed-thumbnails/ao1euOTj52-150.jpeg create mode 100644 images/feed-thumbnails/ao1euOTj52-150.webp create mode 100644 images/feed-thumbnails/ao1euOTj52-450.jpeg create mode 100644 images/feed-thumbnails/ao1euOTj52-450.webp create mode 100644 images/feed-thumbnails/atFZic5QDe-150.jpeg create mode 100644 images/feed-thumbnails/atFZic5QDe-150.webp create mode 100644 images/feed-thumbnails/atFZic5QDe-450.jpeg create mode 100644 images/feed-thumbnails/atFZic5QDe-450.webp create mode 100644 images/feed-thumbnails/ayFv90JKSr-150.jpeg create mode 100644 images/feed-thumbnails/ayFv90JKSr-150.webp create mode 100644 images/feed-thumbnails/ayFv90JKSr-450.jpeg create mode 100644 images/feed-thumbnails/ayFv90JKSr-450.webp create mode 100644 images/feed-thumbnails/b7KzoEF4kv-150.jpeg create mode 100644 images/feed-thumbnails/b7KzoEF4kv-150.webp create mode 100644 images/feed-thumbnails/b7KzoEF4kv-450.jpeg create mode 100644 images/feed-thumbnails/b7KzoEF4kv-450.webp create mode 100644 images/feed-thumbnails/b8IZ1YkPWU-150.jpeg create mode 100644 images/feed-thumbnails/b8IZ1YkPWU-150.webp create mode 100644 images/feed-thumbnails/b8IZ1YkPWU-450.jpeg create mode 100644 images/feed-thumbnails/b8IZ1YkPWU-450.webp create mode 100644 images/feed-thumbnails/bqMVJCNIYu-150.jpeg create mode 100644 images/feed-thumbnails/bqMVJCNIYu-150.webp create mode 100644 images/feed-thumbnails/bqMVJCNIYu-450.jpeg create mode 100644 images/feed-thumbnails/bqMVJCNIYu-450.webp create mode 100644 images/feed-thumbnails/c04-Nl3jH_-150.jpeg create mode 100644 images/feed-thumbnails/c04-Nl3jH_-150.webp create mode 100644 images/feed-thumbnails/c7gy8fsdLv-150.jpeg create mode 100644 images/feed-thumbnails/c7gy8fsdLv-150.webp create mode 100644 images/feed-thumbnails/c7gy8fsdLv-450.jpeg create mode 100644 images/feed-thumbnails/c7gy8fsdLv-450.webp create mode 100644 images/feed-thumbnails/cTO-m7wYlH-150.jpeg create mode 100644 images/feed-thumbnails/cTO-m7wYlH-150.webp create mode 100644 images/feed-thumbnails/cTO-m7wYlH-450.jpeg create mode 100644 images/feed-thumbnails/cTO-m7wYlH-450.webp create mode 100644 images/feed-thumbnails/cp1J4jSlwO-150.jpeg create mode 100644 images/feed-thumbnails/cp1J4jSlwO-150.webp create mode 100644 images/feed-thumbnails/cp1J4jSlwO-450.jpeg create mode 100644 images/feed-thumbnails/cp1J4jSlwO-450.webp create mode 100644 images/feed-thumbnails/cxLY5kvnLA-150.jpeg create mode 100644 images/feed-thumbnails/cxLY5kvnLA-150.webp create mode 100644 images/feed-thumbnails/cxLY5kvnLA-450.jpeg create mode 100644 images/feed-thumbnails/cxLY5kvnLA-450.webp create mode 100644 images/feed-thumbnails/d0mJMMpJDr-150.jpeg create mode 100644 images/feed-thumbnails/d0mJMMpJDr-150.webp create mode 100644 images/feed-thumbnails/d0mJMMpJDr-450.jpeg create mode 100644 images/feed-thumbnails/d0mJMMpJDr-450.webp create mode 100644 images/feed-thumbnails/dSI4hb6i9r-150.jpeg create mode 100644 images/feed-thumbnails/dSI4hb6i9r-150.webp create mode 100644 images/feed-thumbnails/dSI4hb6i9r-450.jpeg create mode 100644 images/feed-thumbnails/dSI4hb6i9r-450.webp create mode 100644 images/feed-thumbnails/dScvFvTgEQ-150.jpeg create mode 100644 images/feed-thumbnails/dScvFvTgEQ-150.webp create mode 100644 images/feed-thumbnails/dScvFvTgEQ-450.jpeg create mode 100644 images/feed-thumbnails/dScvFvTgEQ-450.webp create mode 100644 images/feed-thumbnails/dmd0qC3sta-150.jpeg create mode 100644 images/feed-thumbnails/dmd0qC3sta-150.webp create mode 100644 images/feed-thumbnails/dmd0qC3sta-450.jpeg create mode 100644 images/feed-thumbnails/dmd0qC3sta-450.webp create mode 100644 images/feed-thumbnails/dr4bmqVF_T-150.jpeg create mode 100644 images/feed-thumbnails/dr4bmqVF_T-150.webp create mode 100644 images/feed-thumbnails/dr4bmqVF_T-450.jpeg create mode 100644 images/feed-thumbnails/dr4bmqVF_T-450.webp create mode 100644 images/feed-thumbnails/e4yKtnERV7-150.jpeg create mode 100644 images/feed-thumbnails/e4yKtnERV7-150.webp create mode 100644 images/feed-thumbnails/e4yKtnERV7-450.jpeg create mode 100644 images/feed-thumbnails/e4yKtnERV7-450.webp create mode 100644 images/feed-thumbnails/eKYYygcX2n-150.jpeg create mode 100644 images/feed-thumbnails/eKYYygcX2n-150.webp create mode 100644 images/feed-thumbnails/eKYYygcX2n-450.jpeg create mode 100644 images/feed-thumbnails/eKYYygcX2n-450.webp create mode 100644 images/feed-thumbnails/eRuaAfxScj-150.jpeg create mode 100644 images/feed-thumbnails/eRuaAfxScj-150.webp create mode 100644 images/feed-thumbnails/eRuaAfxScj-450.jpeg create mode 100644 images/feed-thumbnails/eRuaAfxScj-450.webp create mode 100644 images/feed-thumbnails/eei885fsKL-150.jpeg create mode 100644 images/feed-thumbnails/eei885fsKL-150.webp create mode 100644 images/feed-thumbnails/eei885fsKL-450.jpeg create mode 100644 images/feed-thumbnails/eei885fsKL-450.webp create mode 100644 images/feed-thumbnails/eitYD1wcwd-150.jpeg create mode 100644 images/feed-thumbnails/eitYD1wcwd-150.webp create mode 100644 images/feed-thumbnails/eitYD1wcwd-450.jpeg create mode 100644 images/feed-thumbnails/eitYD1wcwd-450.webp create mode 100644 images/feed-thumbnails/fJ3sugeOwS-150.jpeg create mode 100644 images/feed-thumbnails/fJ3sugeOwS-150.webp create mode 100644 images/feed-thumbnails/fJ3sugeOwS-450.jpeg create mode 100644 images/feed-thumbnails/fJ3sugeOwS-450.webp create mode 100644 images/feed-thumbnails/gN8OIloajQ-150.jpeg create mode 100644 images/feed-thumbnails/gN8OIloajQ-150.webp create mode 100644 images/feed-thumbnails/gN8OIloajQ-450.jpeg create mode 100644 images/feed-thumbnails/gN8OIloajQ-450.webp create mode 100644 images/feed-thumbnails/gRcdmGorz1-150.jpeg create mode 100644 images/feed-thumbnails/gRcdmGorz1-150.webp create mode 100644 images/feed-thumbnails/gRcdmGorz1-450.jpeg create mode 100644 images/feed-thumbnails/gRcdmGorz1-450.webp create mode 100644 images/feed-thumbnails/gW1-ah6H08-150.jpeg create mode 100644 images/feed-thumbnails/gW1-ah6H08-150.webp create mode 100644 images/feed-thumbnails/gW1-ah6H08-450.jpeg create mode 100644 images/feed-thumbnails/gW1-ah6H08-450.webp create mode 100644 images/feed-thumbnails/ggCESX01gi-150.jpeg create mode 100644 images/feed-thumbnails/ggCESX01gi-150.webp create mode 100644 images/feed-thumbnails/ggCESX01gi-450.jpeg create mode 100644 images/feed-thumbnails/ggCESX01gi-450.webp create mode 100644 images/feed-thumbnails/h5Pg9LevU3-150.jpeg create mode 100644 images/feed-thumbnails/h5Pg9LevU3-150.webp create mode 100644 images/feed-thumbnails/h5Pg9LevU3-450.jpeg create mode 100644 images/feed-thumbnails/h5Pg9LevU3-450.webp create mode 100644 images/feed-thumbnails/h5Xwq44yeI-150.jpeg create mode 100644 images/feed-thumbnails/h5Xwq44yeI-150.webp create mode 100644 images/feed-thumbnails/h5Xwq44yeI-450.jpeg create mode 100644 images/feed-thumbnails/h5Xwq44yeI-450.webp create mode 100644 images/feed-thumbnails/hKbHC4mrjn-150.jpeg create mode 100644 images/feed-thumbnails/hKbHC4mrjn-150.webp create mode 100644 images/feed-thumbnails/hKbHC4mrjn-450.jpeg create mode 100644 images/feed-thumbnails/hKbHC4mrjn-450.webp create mode 100644 images/feed-thumbnails/hQkbaDIm7g-150.jpeg create mode 100644 images/feed-thumbnails/hQkbaDIm7g-150.webp create mode 100644 images/feed-thumbnails/hQkbaDIm7g-450.jpeg create mode 100644 images/feed-thumbnails/hQkbaDIm7g-450.webp create mode 100644 images/feed-thumbnails/hSposFa1_C-150.jpeg create mode 100644 images/feed-thumbnails/hSposFa1_C-150.webp create mode 100644 images/feed-thumbnails/i41zY4qJAu-150.jpeg create mode 100644 images/feed-thumbnails/i41zY4qJAu-150.webp create mode 100644 images/feed-thumbnails/i41zY4qJAu-450.jpeg create mode 100644 images/feed-thumbnails/i41zY4qJAu-450.webp create mode 100644 images/feed-thumbnails/iJSJh16dwz-150.jpeg create mode 100644 images/feed-thumbnails/iJSJh16dwz-150.webp create mode 100644 images/feed-thumbnails/iJSJh16dwz-450.jpeg create mode 100644 images/feed-thumbnails/iJSJh16dwz-450.webp create mode 100644 images/feed-thumbnails/ieH1b-IqVR-150.jpeg create mode 100644 images/feed-thumbnails/ieH1b-IqVR-150.webp create mode 100644 images/feed-thumbnails/ieH1b-IqVR-450.jpeg create mode 100644 images/feed-thumbnails/ieH1b-IqVR-450.webp create mode 100644 images/feed-thumbnails/ijMAqvIiPP-150.jpeg create mode 100644 images/feed-thumbnails/ijMAqvIiPP-150.webp create mode 100644 images/feed-thumbnails/ijMAqvIiPP-450.jpeg create mode 100644 images/feed-thumbnails/ijMAqvIiPP-450.webp create mode 100644 images/feed-thumbnails/isSIKYs-l2-150.jpeg create mode 100644 images/feed-thumbnails/isSIKYs-l2-150.webp create mode 100644 images/feed-thumbnails/isSIKYs-l2-450.jpeg create mode 100644 images/feed-thumbnails/isSIKYs-l2-450.webp create mode 100644 images/feed-thumbnails/itodJ1w5jT-150.jpeg create mode 100644 images/feed-thumbnails/itodJ1w5jT-150.webp create mode 100644 images/feed-thumbnails/itodJ1w5jT-450.jpeg create mode 100644 images/feed-thumbnails/itodJ1w5jT-450.webp create mode 100644 images/feed-thumbnails/izI7IMW44m-150.jpeg create mode 100644 images/feed-thumbnails/izI7IMW44m-150.webp create mode 100644 images/feed-thumbnails/izI7IMW44m-450.jpeg create mode 100644 images/feed-thumbnails/izI7IMW44m-450.webp create mode 100644 images/feed-thumbnails/j8pkS-2VqE-150.jpeg create mode 100644 images/feed-thumbnails/j8pkS-2VqE-150.webp create mode 100644 images/feed-thumbnails/j8pkS-2VqE-450.jpeg create mode 100644 images/feed-thumbnails/j8pkS-2VqE-450.webp create mode 100644 images/feed-thumbnails/jGkm_zXsiF-150.jpeg create mode 100644 images/feed-thumbnails/jGkm_zXsiF-150.webp create mode 100644 images/feed-thumbnails/jGkm_zXsiF-450.jpeg create mode 100644 images/feed-thumbnails/jGkm_zXsiF-450.webp create mode 100644 images/feed-thumbnails/jQ1GZGJn6v-150.jpeg create mode 100644 images/feed-thumbnails/jQ1GZGJn6v-150.webp create mode 100644 images/feed-thumbnails/jQ1GZGJn6v-450.jpeg create mode 100644 images/feed-thumbnails/jQ1GZGJn6v-450.webp create mode 100644 images/feed-thumbnails/jRQuDWDSWR-150.jpeg create mode 100644 images/feed-thumbnails/jRQuDWDSWR-150.webp create mode 100644 images/feed-thumbnails/jRQuDWDSWR-450.jpeg create mode 100644 images/feed-thumbnails/jRQuDWDSWR-450.webp create mode 100644 images/feed-thumbnails/j_wD4Jv0ph-150.jpeg create mode 100644 images/feed-thumbnails/j_wD4Jv0ph-150.webp create mode 100644 images/feed-thumbnails/j_wD4Jv0ph-450.jpeg create mode 100644 images/feed-thumbnails/j_wD4Jv0ph-450.webp create mode 100644 images/feed-thumbnails/kFMkD1OaMa-150.jpeg create mode 100644 images/feed-thumbnails/kFMkD1OaMa-150.webp create mode 100644 images/feed-thumbnails/kFMkD1OaMa-450.jpeg create mode 100644 images/feed-thumbnails/kFMkD1OaMa-450.webp create mode 100644 images/feed-thumbnails/kMhl638AVB-150.jpeg create mode 100644 images/feed-thumbnails/kMhl638AVB-150.webp create mode 100644 images/feed-thumbnails/kMhl638AVB-450.jpeg create mode 100644 images/feed-thumbnails/kMhl638AVB-450.webp create mode 100644 images/feed-thumbnails/knt6tJ9eyb-150.jpeg create mode 100644 images/feed-thumbnails/knt6tJ9eyb-150.webp create mode 100644 images/feed-thumbnails/knt6tJ9eyb-450.jpeg create mode 100644 images/feed-thumbnails/knt6tJ9eyb-450.webp create mode 100644 images/feed-thumbnails/kqGdgd5VWR-150.jpeg create mode 100644 images/feed-thumbnails/kqGdgd5VWR-150.webp create mode 100644 images/feed-thumbnails/kqGdgd5VWR-450.jpeg create mode 100644 images/feed-thumbnails/kqGdgd5VWR-450.webp create mode 100644 images/feed-thumbnails/lFrNSUQKgh-150.jpeg create mode 100644 images/feed-thumbnails/lFrNSUQKgh-150.webp create mode 100644 images/feed-thumbnails/lFrNSUQKgh-450.jpeg create mode 100644 images/feed-thumbnails/lFrNSUQKgh-450.webp create mode 100644 images/feed-thumbnails/lViDh7Qg1N-150.jpeg create mode 100644 images/feed-thumbnails/lViDh7Qg1N-150.webp create mode 100644 images/feed-thumbnails/lViDh7Qg1N-450.jpeg create mode 100644 images/feed-thumbnails/lViDh7Qg1N-450.webp create mode 100644 images/feed-thumbnails/lrrw5rEISU-150.jpeg create mode 100644 images/feed-thumbnails/lrrw5rEISU-150.webp create mode 100644 images/feed-thumbnails/mBToXi6goo-150.jpeg create mode 100644 images/feed-thumbnails/mBToXi6goo-150.webp create mode 100644 images/feed-thumbnails/mBToXi6goo-450.jpeg create mode 100644 images/feed-thumbnails/mBToXi6goo-450.webp create mode 100644 images/feed-thumbnails/mwOtjZ1g2n-150.jpeg create mode 100644 images/feed-thumbnails/mwOtjZ1g2n-150.webp create mode 100644 images/feed-thumbnails/mwOtjZ1g2n-450.jpeg create mode 100644 images/feed-thumbnails/mwOtjZ1g2n-450.webp create mode 100644 images/feed-thumbnails/myN8hnhWY5-150.jpeg create mode 100644 images/feed-thumbnails/myN8hnhWY5-150.webp create mode 100644 images/feed-thumbnails/myN8hnhWY5-450.jpeg create mode 100644 images/feed-thumbnails/myN8hnhWY5-450.webp create mode 100644 images/feed-thumbnails/n1ShsvkpSv-150.jpeg create mode 100644 images/feed-thumbnails/n1ShsvkpSv-150.webp create mode 100644 images/feed-thumbnails/n1ShsvkpSv-450.jpeg create mode 100644 images/feed-thumbnails/n1ShsvkpSv-450.webp create mode 100644 images/feed-thumbnails/nJw3ueTtNz-150.jpeg create mode 100644 images/feed-thumbnails/nJw3ueTtNz-150.webp create mode 100644 images/feed-thumbnails/nJw3ueTtNz-450.jpeg create mode 100644 images/feed-thumbnails/nJw3ueTtNz-450.webp create mode 100644 images/feed-thumbnails/noFrVHlr7Q-150.jpeg create mode 100644 images/feed-thumbnails/noFrVHlr7Q-150.webp create mode 100644 images/feed-thumbnails/noFrVHlr7Q-450.jpeg create mode 100644 images/feed-thumbnails/noFrVHlr7Q-450.webp create mode 100644 images/feed-thumbnails/oECIBSrTth-150.jpeg create mode 100644 images/feed-thumbnails/oECIBSrTth-150.webp create mode 100644 images/feed-thumbnails/oECIBSrTth-450.jpeg create mode 100644 images/feed-thumbnails/oECIBSrTth-450.webp create mode 100644 images/feed-thumbnails/oV1Z4y7HgU-150.jpeg create mode 100644 images/feed-thumbnails/oV1Z4y7HgU-150.webp create mode 100644 images/feed-thumbnails/oV1Z4y7HgU-450.jpeg create mode 100644 images/feed-thumbnails/oV1Z4y7HgU-450.webp create mode 100644 images/feed-thumbnails/oVpGElA1-T-150.jpeg create mode 100644 images/feed-thumbnails/oVpGElA1-T-150.webp create mode 100644 images/feed-thumbnails/oVpGElA1-T-450.jpeg create mode 100644 images/feed-thumbnails/oVpGElA1-T-450.webp create mode 100644 images/feed-thumbnails/oZD3Ms4xVT-150.jpeg create mode 100644 images/feed-thumbnails/oZD3Ms4xVT-150.webp create mode 100644 images/feed-thumbnails/oZD3Ms4xVT-450.jpeg create mode 100644 images/feed-thumbnails/oZD3Ms4xVT-450.webp create mode 100644 images/feed-thumbnails/ok6u6cLqDX-150.jpeg create mode 100644 images/feed-thumbnails/ok6u6cLqDX-150.webp create mode 100644 images/feed-thumbnails/ok6u6cLqDX-450.jpeg create mode 100644 images/feed-thumbnails/ok6u6cLqDX-450.webp create mode 100644 images/feed-thumbnails/okSQAU62S0-150.jpeg create mode 100644 images/feed-thumbnails/okSQAU62S0-150.webp create mode 100644 images/feed-thumbnails/okSQAU62S0-450.jpeg create mode 100644 images/feed-thumbnails/okSQAU62S0-450.webp create mode 100644 images/feed-thumbnails/ow9Ncwq57p-150.jpeg create mode 100644 images/feed-thumbnails/ow9Ncwq57p-150.webp create mode 100644 images/feed-thumbnails/ow9Ncwq57p-450.jpeg create mode 100644 images/feed-thumbnails/ow9Ncwq57p-450.webp create mode 100644 images/feed-thumbnails/oxojB4bkUP-150.jpeg create mode 100644 images/feed-thumbnails/oxojB4bkUP-150.webp create mode 100644 images/feed-thumbnails/oxojB4bkUP-450.jpeg create mode 100644 images/feed-thumbnails/oxojB4bkUP-450.webp create mode 100644 images/feed-thumbnails/oxpyvfYA60-150.jpeg create mode 100644 images/feed-thumbnails/oxpyvfYA60-150.webp create mode 100644 images/feed-thumbnails/oxpyvfYA60-450.jpeg create mode 100644 images/feed-thumbnails/oxpyvfYA60-450.webp create mode 100644 images/feed-thumbnails/p2FGV_cvnV-150.jpeg create mode 100644 images/feed-thumbnails/p2FGV_cvnV-150.webp create mode 100644 images/feed-thumbnails/p2FGV_cvnV-450.jpeg create mode 100644 images/feed-thumbnails/p2FGV_cvnV-450.webp create mode 100644 images/feed-thumbnails/p7aVJ5eoSS-150.jpeg create mode 100644 images/feed-thumbnails/p7aVJ5eoSS-150.webp create mode 100644 images/feed-thumbnails/p7aVJ5eoSS-450.jpeg create mode 100644 images/feed-thumbnails/p7aVJ5eoSS-450.webp create mode 100644 images/feed-thumbnails/pH-IgrxEh5-150.jpeg create mode 100644 images/feed-thumbnails/pH-IgrxEh5-150.webp create mode 100644 images/feed-thumbnails/pH-IgrxEh5-450.jpeg create mode 100644 images/feed-thumbnails/pH-IgrxEh5-450.webp create mode 100644 images/feed-thumbnails/pjBGf8t-WQ-150.jpeg create mode 100644 images/feed-thumbnails/pjBGf8t-WQ-150.webp create mode 100644 images/feed-thumbnails/pjBGf8t-WQ-450.jpeg create mode 100644 images/feed-thumbnails/pjBGf8t-WQ-450.webp create mode 100644 images/feed-thumbnails/q3_HeDt9TR-150.jpeg create mode 100644 images/feed-thumbnails/q3_HeDt9TR-150.webp create mode 100644 images/feed-thumbnails/q3_HeDt9TR-450.jpeg create mode 100644 images/feed-thumbnails/q3_HeDt9TR-450.webp create mode 100644 images/feed-thumbnails/q7otvLF0dH-150.jpeg create mode 100644 images/feed-thumbnails/q7otvLF0dH-150.webp create mode 100644 images/feed-thumbnails/q7otvLF0dH-450.jpeg create mode 100644 images/feed-thumbnails/q7otvLF0dH-450.webp create mode 100644 images/feed-thumbnails/qFtZ0bvHN--150.jpeg create mode 100644 images/feed-thumbnails/qFtZ0bvHN--150.webp create mode 100644 images/feed-thumbnails/qFtZ0bvHN--450.jpeg create mode 100644 images/feed-thumbnails/qFtZ0bvHN--450.webp create mode 100644 images/feed-thumbnails/qj8bYIe5Al-150.jpeg create mode 100644 images/feed-thumbnails/qj8bYIe5Al-150.webp create mode 100644 images/feed-thumbnails/qj8bYIe5Al-450.jpeg create mode 100644 images/feed-thumbnails/qj8bYIe5Al-450.webp create mode 100644 images/feed-thumbnails/rLbRvSwPdh-150.jpeg create mode 100644 images/feed-thumbnails/rLbRvSwPdh-150.webp create mode 100644 images/feed-thumbnails/rLbRvSwPdh-450.jpeg create mode 100644 images/feed-thumbnails/rLbRvSwPdh-450.webp create mode 100644 images/feed-thumbnails/rVU_wBc7sf-150.jpeg create mode 100644 images/feed-thumbnails/rVU_wBc7sf-150.webp create mode 100644 images/feed-thumbnails/rVU_wBc7sf-450.jpeg create mode 100644 images/feed-thumbnails/rVU_wBc7sf-450.webp create mode 100644 images/feed-thumbnails/rehpIvdFsI-150.jpeg create mode 100644 images/feed-thumbnails/rehpIvdFsI-150.webp create mode 100644 images/feed-thumbnails/rehpIvdFsI-450.jpeg create mode 100644 images/feed-thumbnails/rehpIvdFsI-450.webp create mode 100644 images/feed-thumbnails/rhIKMmqzIg-150.jpeg create mode 100644 images/feed-thumbnails/rhIKMmqzIg-150.webp create mode 100644 images/feed-thumbnails/rhIKMmqzIg-450.jpeg create mode 100644 images/feed-thumbnails/rhIKMmqzIg-450.webp create mode 100644 images/feed-thumbnails/royHk-LRpz-150.jpeg create mode 100644 images/feed-thumbnails/royHk-LRpz-150.webp create mode 100644 images/feed-thumbnails/royHk-LRpz-450.jpeg create mode 100644 images/feed-thumbnails/royHk-LRpz-450.webp create mode 100644 images/feed-thumbnails/s0IsdWcWXX-150.jpeg create mode 100644 images/feed-thumbnails/s0IsdWcWXX-150.webp create mode 100644 images/feed-thumbnails/s0IsdWcWXX-450.jpeg create mode 100644 images/feed-thumbnails/s0IsdWcWXX-450.webp create mode 100644 images/feed-thumbnails/s1xvrWD9jr-150.jpeg create mode 100644 images/feed-thumbnails/s1xvrWD9jr-150.webp create mode 100644 images/feed-thumbnails/sMC_4coiM0-150.jpeg create mode 100644 images/feed-thumbnails/sMC_4coiM0-150.webp create mode 100644 images/feed-thumbnails/sMC_4coiM0-450.jpeg create mode 100644 images/feed-thumbnails/sMC_4coiM0-450.webp create mode 100644 images/feed-thumbnails/sMm1rgIvL0-150.jpeg create mode 100644 images/feed-thumbnails/sMm1rgIvL0-150.webp create mode 100644 images/feed-thumbnails/sMm1rgIvL0-450.jpeg create mode 100644 images/feed-thumbnails/sMm1rgIvL0-450.webp create mode 100644 images/feed-thumbnails/smE5KiAV4J-150.jpeg create mode 100644 images/feed-thumbnails/smE5KiAV4J-150.webp create mode 100644 images/feed-thumbnails/smE5KiAV4J-450.jpeg create mode 100644 images/feed-thumbnails/smE5KiAV4J-450.webp create mode 100644 images/feed-thumbnails/szPKAy4sOe-150.jpeg create mode 100644 images/feed-thumbnails/szPKAy4sOe-150.webp create mode 100644 images/feed-thumbnails/szPKAy4sOe-450.jpeg create mode 100644 images/feed-thumbnails/szPKAy4sOe-450.webp create mode 100644 images/feed-thumbnails/t25VQ56UN9-150.jpeg create mode 100644 images/feed-thumbnails/t25VQ56UN9-150.webp create mode 100644 images/feed-thumbnails/t25VQ56UN9-450.jpeg create mode 100644 images/feed-thumbnails/t25VQ56UN9-450.webp create mode 100644 images/feed-thumbnails/t4QGKW78m4-150.jpeg create mode 100644 images/feed-thumbnails/t4QGKW78m4-150.webp create mode 100644 images/feed-thumbnails/t4QGKW78m4-450.jpeg create mode 100644 images/feed-thumbnails/t4QGKW78m4-450.webp create mode 100644 images/feed-thumbnails/t5wyuhptLn-150.jpeg create mode 100644 images/feed-thumbnails/t5wyuhptLn-150.webp create mode 100644 images/feed-thumbnails/t5wyuhptLn-450.jpeg create mode 100644 images/feed-thumbnails/t5wyuhptLn-450.webp create mode 100644 images/feed-thumbnails/tckN8OayXo-150.jpeg create mode 100644 images/feed-thumbnails/tckN8OayXo-150.webp create mode 100644 images/feed-thumbnails/tckN8OayXo-450.jpeg create mode 100644 images/feed-thumbnails/tckN8OayXo-450.webp create mode 100644 images/feed-thumbnails/tkaeLSGze1-150.jpeg create mode 100644 images/feed-thumbnails/tkaeLSGze1-150.webp create mode 100644 images/feed-thumbnails/tkaeLSGze1-450.jpeg create mode 100644 images/feed-thumbnails/tkaeLSGze1-450.webp create mode 100644 images/feed-thumbnails/ttRxopC6Fs-150.jpeg create mode 100644 images/feed-thumbnails/ttRxopC6Fs-150.webp create mode 100644 images/feed-thumbnails/ttRxopC6Fs-450.jpeg create mode 100644 images/feed-thumbnails/ttRxopC6Fs-450.webp create mode 100644 images/feed-thumbnails/tytefNW1eS-150.jpeg create mode 100644 images/feed-thumbnails/tytefNW1eS-150.webp create mode 100644 images/feed-thumbnails/tytefNW1eS-450.jpeg create mode 100644 images/feed-thumbnails/tytefNW1eS-450.webp create mode 100644 images/feed-thumbnails/uA1KY1CxNl-150.jpeg create mode 100644 images/feed-thumbnails/uA1KY1CxNl-150.webp create mode 100644 images/feed-thumbnails/uA1KY1CxNl-450.jpeg create mode 100644 images/feed-thumbnails/uA1KY1CxNl-450.webp create mode 100644 images/feed-thumbnails/uHXQxL27A7-150.jpeg create mode 100644 images/feed-thumbnails/uHXQxL27A7-150.webp create mode 100644 images/feed-thumbnails/uHXQxL27A7-450.jpeg create mode 100644 images/feed-thumbnails/uHXQxL27A7-450.webp create mode 100644 images/feed-thumbnails/uJxhU5GnJ9-150.jpeg create mode 100644 images/feed-thumbnails/uJxhU5GnJ9-150.webp create mode 100644 images/feed-thumbnails/uJxhU5GnJ9-450.jpeg create mode 100644 images/feed-thumbnails/uJxhU5GnJ9-450.webp create mode 100644 images/feed-thumbnails/ulx3PsOOJ7-150.jpeg create mode 100644 images/feed-thumbnails/ulx3PsOOJ7-150.webp create mode 100644 images/feed-thumbnails/ulx3PsOOJ7-450.jpeg create mode 100644 images/feed-thumbnails/ulx3PsOOJ7-450.webp create mode 100644 images/feed-thumbnails/upJMCIceJl-150.jpeg create mode 100644 images/feed-thumbnails/upJMCIceJl-150.webp create mode 100644 images/feed-thumbnails/upJMCIceJl-450.jpeg create mode 100644 images/feed-thumbnails/upJMCIceJl-450.webp create mode 100644 images/feed-thumbnails/uzhZIovLcf-150.jpeg create mode 100644 images/feed-thumbnails/uzhZIovLcf-150.webp create mode 100644 images/feed-thumbnails/uzhZIovLcf-450.jpeg create mode 100644 images/feed-thumbnails/uzhZIovLcf-450.webp create mode 100644 images/feed-thumbnails/vATaiCze5F-150.jpeg create mode 100644 images/feed-thumbnails/vATaiCze5F-150.webp create mode 100644 images/feed-thumbnails/vATaiCze5F-450.jpeg create mode 100644 images/feed-thumbnails/vATaiCze5F-450.webp create mode 100644 images/feed-thumbnails/vCVI4ZohrQ-150.jpeg create mode 100644 images/feed-thumbnails/vCVI4ZohrQ-150.webp create mode 100644 images/feed-thumbnails/vCVI4ZohrQ-450.jpeg create mode 100644 images/feed-thumbnails/vCVI4ZohrQ-450.webp create mode 100644 images/feed-thumbnails/vCj2vbu-lH-150.jpeg create mode 100644 images/feed-thumbnails/vCj2vbu-lH-150.webp create mode 100644 images/feed-thumbnails/vCj2vbu-lH-450.jpeg create mode 100644 images/feed-thumbnails/vCj2vbu-lH-450.webp create mode 100644 images/feed-thumbnails/vMcW0M4NNq-150.jpeg create mode 100644 images/feed-thumbnails/vMcW0M4NNq-150.webp create mode 100644 images/feed-thumbnails/vMcW0M4NNq-450.jpeg create mode 100644 images/feed-thumbnails/vMcW0M4NNq-450.webp create mode 100644 images/feed-thumbnails/vOx94dXyGM-150.jpeg create mode 100644 images/feed-thumbnails/vOx94dXyGM-150.webp create mode 100644 images/feed-thumbnails/vOx94dXyGM-450.jpeg create mode 100644 images/feed-thumbnails/vOx94dXyGM-450.webp create mode 100644 images/feed-thumbnails/vY7cjK-ots-150.jpeg create mode 100644 images/feed-thumbnails/vY7cjK-ots-150.webp create mode 100644 images/feed-thumbnails/vY7cjK-ots-450.jpeg create mode 100644 images/feed-thumbnails/vY7cjK-ots-450.webp create mode 100644 images/feed-thumbnails/vpCrkk7SuK-150.jpeg create mode 100644 images/feed-thumbnails/vpCrkk7SuK-150.webp create mode 100644 images/feed-thumbnails/vpCrkk7SuK-450.jpeg create mode 100644 images/feed-thumbnails/vpCrkk7SuK-450.webp create mode 100644 images/feed-thumbnails/vpStVAfxJF-150.jpeg create mode 100644 images/feed-thumbnails/vpStVAfxJF-150.webp create mode 100644 images/feed-thumbnails/vpStVAfxJF-450.jpeg create mode 100644 images/feed-thumbnails/vpStVAfxJF-450.webp create mode 100644 images/feed-thumbnails/wNJKQgFPcI-150.jpeg create mode 100644 images/feed-thumbnails/wNJKQgFPcI-150.webp create mode 100644 images/feed-thumbnails/wNJKQgFPcI-450.jpeg create mode 100644 images/feed-thumbnails/wNJKQgFPcI-450.webp create mode 100644 images/feed-thumbnails/wRWyVSIQt8-96.jpeg create mode 100644 images/feed-thumbnails/wRWyVSIQt8-96.webp create mode 100644 images/feed-thumbnails/w_wyVmdS31-150.jpeg create mode 100644 images/feed-thumbnails/w_wyVmdS31-150.webp create mode 100644 images/feed-thumbnails/w_wyVmdS31-450.jpeg create mode 100644 images/feed-thumbnails/w_wyVmdS31-450.webp create mode 100644 images/feed-thumbnails/whuqyTZ4NU-150.jpeg create mode 100644 images/feed-thumbnails/whuqyTZ4NU-150.webp create mode 100644 images/feed-thumbnails/whuqyTZ4NU-450.jpeg create mode 100644 images/feed-thumbnails/whuqyTZ4NU-450.webp create mode 100644 images/feed-thumbnails/x4exr5TaCc-150.jpeg create mode 100644 images/feed-thumbnails/x4exr5TaCc-150.webp create mode 100644 images/feed-thumbnails/x4exr5TaCc-450.jpeg create mode 100644 images/feed-thumbnails/x4exr5TaCc-450.webp create mode 100644 images/feed-thumbnails/xCd45xgLAV-150.jpeg create mode 100644 images/feed-thumbnails/xCd45xgLAV-150.webp create mode 100644 images/feed-thumbnails/xCd45xgLAV-450.jpeg create mode 100644 images/feed-thumbnails/xCd45xgLAV-450.webp create mode 100644 images/feed-thumbnails/xN_Hzin7c3-150.jpeg create mode 100644 images/feed-thumbnails/xN_Hzin7c3-150.webp create mode 100644 images/feed-thumbnails/xN_Hzin7c3-450.jpeg create mode 100644 images/feed-thumbnails/xN_Hzin7c3-450.webp create mode 100644 images/feed-thumbnails/xOV2RrC1cp-150.jpeg create mode 100644 images/feed-thumbnails/xOV2RrC1cp-150.webp create mode 100644 images/feed-thumbnails/xOV2RrC1cp-450.jpeg create mode 100644 images/feed-thumbnails/xOV2RrC1cp-450.webp create mode 100644 images/feed-thumbnails/xZ295Pa3p7-150.jpeg create mode 100644 images/feed-thumbnails/xZ295Pa3p7-150.webp create mode 100644 images/feed-thumbnails/xZ295Pa3p7-450.jpeg create mode 100644 images/feed-thumbnails/xZ295Pa3p7-450.webp create mode 100644 images/feed-thumbnails/xa4er9Llil-150.jpeg create mode 100644 images/feed-thumbnails/xa4er9Llil-150.webp create mode 100644 images/feed-thumbnails/xa4er9Llil-450.jpeg create mode 100644 images/feed-thumbnails/xa4er9Llil-450.webp create mode 100644 images/feed-thumbnails/y3UV8QYa5J-150.jpeg create mode 100644 images/feed-thumbnails/y3UV8QYa5J-150.webp create mode 100644 images/feed-thumbnails/y3UV8QYa5J-450.jpeg create mode 100644 images/feed-thumbnails/y3UV8QYa5J-450.webp create mode 100644 images/feed-thumbnails/yiKORoD0y1-150.jpeg create mode 100644 images/feed-thumbnails/yiKORoD0y1-150.webp create mode 100644 images/feed-thumbnails/yiKORoD0y1-450.jpeg create mode 100644 images/feed-thumbnails/yiKORoD0y1-450.webp create mode 100644 images/feed-thumbnails/ylxHSkJGZh-150.jpeg create mode 100644 images/feed-thumbnails/ylxHSkJGZh-150.webp create mode 100644 images/feed-thumbnails/ylxHSkJGZh-450.jpeg create mode 100644 images/feed-thumbnails/ylxHSkJGZh-450.webp create mode 100644 images/feed-thumbnails/yxntpVJmcf-150.jpeg create mode 100644 images/feed-thumbnails/yxntpVJmcf-150.webp create mode 100644 images/feed-thumbnails/yxntpVJmcf-450.jpeg create mode 100644 images/feed-thumbnails/yxntpVJmcf-450.webp create mode 100644 images/feed-thumbnails/yxwIY8bL3Z-150.jpeg create mode 100644 images/feed-thumbnails/yxwIY8bL3Z-150.webp create mode 100644 images/feed-thumbnails/yxwIY8bL3Z-450.jpeg create mode 100644 images/feed-thumbnails/yxwIY8bL3Z-450.webp create mode 100644 images/feed-thumbnails/z-9Imuwsrl-150.jpeg create mode 100644 images/feed-thumbnails/z-9Imuwsrl-150.webp create mode 100644 images/feed-thumbnails/z-9Imuwsrl-450.jpeg create mode 100644 images/feed-thumbnails/z-9Imuwsrl-450.webp create mode 100644 images/feed-thumbnails/zG1PkroLru-150.jpeg create mode 100644 images/feed-thumbnails/zG1PkroLru-150.webp create mode 100644 images/feed-thumbnails/zG1PkroLru-450.jpeg create mode 100644 images/feed-thumbnails/zG1PkroLru-450.webp create mode 100644 images/feed-thumbnails/zID0owxgN4-150.jpeg create mode 100644 images/feed-thumbnails/zID0owxgN4-150.webp create mode 100644 images/feed-thumbnails/zID0owxgN4-450.jpeg create mode 100644 images/feed-thumbnails/zID0owxgN4-450.webp create mode 100644 images/feed-thumbnails/zSZeG3Qk7f-150.jpeg create mode 100644 images/feed-thumbnails/zSZeG3Qk7f-150.webp create mode 100644 images/feed-thumbnails/zSZeG3Qk7f-450.jpeg create mode 100644 images/feed-thumbnails/zSZeG3Qk7f-450.webp create mode 100644 images/feed-thumbnails/zXCLEv-6wc-150.jpeg create mode 100644 images/feed-thumbnails/zXCLEv-6wc-150.webp create mode 100644 images/feed-thumbnails/zXCLEv-6wc-450.jpeg create mode 100644 images/feed-thumbnails/zXCLEv-6wc-450.webp create mode 100644 images/github-mark.png create mode 100644 images/hatenabookmark-icon.png create mode 100644 images/icon-transparent.png create mode 100644 images/icon.png create mode 100644 images/icon256-transparent.png create mode 100644 images/icon512-transparent.png create mode 100644 images/icon512.png create mode 100644 images/og-image.png create mode 100644 images/slack-mark.png create mode 100644 images/subscribe-feedly.png create mode 100644 images/subscribe-inoreader.png create mode 100644 index.html create mode 100644 site.xml create mode 100644 sitemap.xml create mode 100644 styles/bundle.css diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/blogs/001f7b8d04e0eda0ec6b406131f9a168/index.html b/blogs/001f7b8d04e0eda0ec6b406131f9a168/index.html new file mode 100644 index 000000000000..95931af8d335 --- /dev/null +++ b/blogs/001f7b8d04e0eda0ec6b406131f9a168/index.html @@ -0,0 +1,21 @@ +Checkly Blog: Monitoring Insights & Trendsのフィード|JSer.info Watch List RSS

Checkly Blog: Monitoring Insights & Trends

https://www.checklyhq.com/blog

Learn about the latest tips, tricks & how-to articles on advanced synthetic monitoring, Playwright & Monitoring as Code trends.

フィード

記事のアイキャッチ画像
Announcing Checkly Traces: Unified Synthetic Monitoring and Distributed Tracing
Checkly Blog: Monitoring Insights & Trends
+Checkly Traces are now GA! Learn how combining synthetic monitoring with distributed tracing helps you quickly pinpoint failures, reduce noise, and lower observability costs.
3日前
記事のアイキャッチ画像
+DOES Cache Rule Everything Around Me? — Using Compression for our Prometheus Cache
Checkly Blog: Monitoring Insights & Trends
How we added a cache to our Prometheus requests, without significantly increasing cache usage.
7日前
記事のアイキャッチ画像 +
Why Monitoring as Code Is the Future of Application Reliability for Modern Teams... and how it can save you $1 million!
Checkly Blog: Monitoring Insights & Trends
+I recently talked to a customer of Checkly and he shared some thoughts about Monitoring as Code. Let’s call him Karl in this article. Karl and I talked about why Monitoring as Code (MaC) is becoming essential for teams operating at scale. As the Head of Platform Engineering at a major e-commerce company processing millions of transactions daily, his experience shows how MaC solves a lot of the messy challenges that come with traditional synthetic monitoring setups. The Problem: No Ownership, No Visibility With hundreds of microservices, dozens of development teams, and critical customer journeys that need constant monitoring, Karl's observability needs are complex and demanding. Before implementing MaC, his company struggled with traditional synthetic monitoring approaches that weren't scaling with their business needs. Traditional monitoring tools often rely on shared consoles and UIs where tests are created and managed. At first, that seems fine, but it creates some big problems: Who +
9日前
記事のアイキャッチ画像
How We Migrated Checkly From Heroku to AWS
Checkly Blog: Monitoring Insights & Trends
Around 2022 that we needed to consider another hosting solution, and decided to move from Heroku to AWS as our hosting provider. We thought it would be interesting to share some of our thoughts and learnings from this process, so we decided to write a blog post about our experiences.
23日前
記事のアイキャッチ画像
How LinkedIn Stopped Relying on Users to Report Bugs
Checkly Blog: Monitoring Insights & Trends
Discover how LinkedIn improved infrastructure monitoring with Checkly, preventing bugs from reaching users and enhancing service reliability.
1ヶ月前
記事のアイキャッチ画像
How good is GitHub Copilot at generating Playwright code?
Checkly Blog: Monitoring Insights & Trends
Learn how GitHub Copilot generates Playwright tests, from detailed prompts to AI-driven coding, to streamline end-to-end test automation.
2ヶ月前
記事のアイキャッチ画像
+Prometheus Blackbox Exporter vs Kuberhealthy for K8s monitoring
Checkly Blog: Monitoring Insights & Trends
Compare Prometheus Blackbox Exporter and Kuberhealthy for Kubernetes monitoring. Discover cost, scope, and performance differences to ensure uptime.
2ヶ月前
記事のアイキャッチ画像
Are ChatGPT or Claude better than Playwright Codegen?
Checkly Blog: Monitoring Insights & Trends
+Explore ChatGPT and Playwright Codegen for generating end-to-end tests. Discover strengths, limitations, and insights into AI-powered test generation.
3ヶ月前
記事のアイキャッチ画像
Five Playwright CLI features you should know
Checkly Blog: Monitoring Insights & Trends
Learn 5 essential Playwright CLI features like "--last-failed" and "--only-changed" to rerun failed tests & optimize end-to-end testing workflows.
4ヶ月前
記事のアイキャッチ画像
How to parameterize Playwright projects
Checkly Blog: Monitoring Insights & Trends
Learn how to parameterize Playwright projects using fixtures and page object models for cleaner, maintainable code, and enhanced test efficiency.
5ヶ月前
記事のアイキャッチ画像
Attach Screenshots to Your Playwright Test Reports
Checkly Blog: Monitoring Insights & Trends
Learn how to attach screenshots directly to Playwright test reports, centralizing all files in one place for an integrated view of test results.
5ヶ月前
記事のアイキャッチ画像
How to detect broken links with Playwright
Checkly Blog: Monitoring Insights & Trends
Discover how to use Playwright and Checkly to detect broken links in your web applications by evaluating URL status codes in end-to-end tests.
5ヶ月前
記事のアイキャッチ画像
+How a tcpdump led us to a bug in Node's IPv6 handling
Checkly Blog: Monitoring Insights & Trends
Learn how a TCPDump uncovered a bug in Node.js IPv6 handling, highlighting limitations and lessons from Checkly’s Coralogix integration in monitoring services.
5ヶ月前
記事のアイキャッチ画像
How to test and monitor your APIs with Playwright
Checkly Blog: Monitoring Insights & Trends
+In this post, we’ll explore how Playwright can be used to test a GraphQL API (but don’t worry if you’re using REST; Playwright can handle any HTTP-based API). Let's dive into an example using the countries.trevorblades.com GraphQL API.
5ヶ月前
記事のアイキャッチ画像
How to apply Playwright test steps with TypeScript decorators
Checkly Blog: Monitoring Insights & Trends
+Streamline Playwright tests with TypeScript decorators. Learn how to efficiently structure test steps and enhance your Playwright test reports.
5ヶ月前
\ No newline at end of file diff --git a/blogs/014821f6a94482c99fda5176d84f9a94/index.html b/blogs/014821f6a94482c99fda5176d84f9a94/index.html new file mode 100644 index 000000000000..8403af1a6124 --- /dev/null +++ b/blogs/014821f6a94482c99fda5176d84f9a94/index.html @@ -0,0 +1,12 @@ +FOSDEM 2024のフィード|JSer.info Watch List RSS

FOSDEM 2024

フィード

記事のアイキャッチ画像
FOSDEM 2025 dates: 1 & 2 February 2025
FOSDEM 2024
<p> FOSDEM 2025 will take place on Saturday 1th and Sunday 2nd of February 2025. This will be our 25th anniversary.</p>
5ヶ月前
記事のアイキャッチ画像
Video transcoders churning away
FOSDEM 2024
+<p>FOSDEM is over, but our video infrastructure is still working hard!</p>
1年前
記事のアイキャッチ画像
Call for volunteers
FOSDEM 2024
<p> With FOSDEM just a few days away, it is time for us to enlist your help.</p>
1年前
記事のアイキャッチ画像
FOSDEM junior
FOSDEM 2024
2024 will be the first year there will be a FOSDEM junior track, organizing workshops for children 7-17.
1年前
記事のアイキャッチ画像
Accepted stands for FOSDEM 2024
+FOSDEM 2024
<p> With great pleasure we can announce the following projects will have a stand at FOSDEM 2024 (3 & 4th of February).</p>
1年前
記事のアイキャッチ画像
Presentations - Call for Participation
FOSDEM 2024
<p> We now invite proposals for presentations.</p>
1年前
記事のアイキャッチ画像
Accepted developer rooms
FOSDEM 2024
<p> We are pleased to announce the developer rooms that will be organised at FOSDEM 2024.</p>
1年前
記事のアイキャッチ画像
+FOSDEM 2024 amendments stands call for proposals
FOSDEM 2024
<p> We believe that the former dates of the stands cfp would create logistical problems.</p>
1年前
記事のアイキャッチ画像
FOSDEM 2024 call for devrooms
FOSDEM 2024
<p>We now invite proposals for developer rooms for FOSDEM 2024.</p>
1年前
記事のアイキャッチ画像
FOSDEM 2024 stands call for proposals
FOSDEM 2024
<p> FOSDEM 2024 will take place at the ULB on the 3th and 4th of February 2024. As has become traditional, we offer free and open source projects a stand to display their work &quot;in real life&quot; to the audience.</p>
1年前
\ No newline at end of file diff --git a/blogs/03b9a47ab592768a7d4df7d9bb623813/index.html b/blogs/03b9a47ab592768a7d4df7d9bb623813/index.html new file mode 100644 index 000000000000..642a394ec704 --- /dev/null +++ b/blogs/03b9a47ab592768a7d4df7d9bb623813/index.html @@ -0,0 +1,19 @@ +2ality – JavaScript and moreのフィード|JSer.info Watch List RSS

2ality – JavaScript and more

フィード

記事のアイキャッチ画像
Read-only accessibility in TypeScript
2ality – JavaScript and more
<p>In this blog post, we look at how can make things “read-only” in TypeScript – mainly via the keyword <code>readonly</code>.</p>
2日前
記事のアイキャッチ画像
Tutorial: publishing ESM-based npm packages with TypeScript
2ality – JavaScript and more
<p>During the last two years, ESM support in TypeScript, Node.js and browsers has made a lot of progress. In this blog post, I explain my modern setup that is relatively simple – compared to what we had to do in the past:</p><ul><li>It is intended for packages that can afford to ignore backward compatibility. The setup has worked well for me for a while – since TypeScript 4.7 (2022-05-24).<ul><li>It helps that Node.js now supports <a href="https://nodejs.org/api/modules.html#loading-ecmascript-modules-using-require">“require(esm)”</a> – requiring ESM libraries from CommonJS modules.</li></ul></li><li>I’m only using tsc, but mention how to support other tools via <code>tsconfig.json</code> in section <a href="#compiling-without-tsc">“Compiling TypeScript with tools other than tsc”</a>.</li></ul>
4日前
記事のアイキャッチ画像
Computing with tuples in TypeScript
はてなブックマークアイコン 1
2ality – JavaScript and more
+<p>JavaScript’s Arrays are so flexible that TypeScript provides two different kinds of types for handling them:</p><ul><li>Array types for arbitrary-length sequences of values that all have the same type – e.g.: <code>Array&lt;string&gt;</code></li><li>Tuple types for fixed-length sequences of values where each one may have a different type – e.g.: <code>[number, string, boolean]</code></li></ul><p>In this blog post, we look at the latter – especially how to compute with tuples at the type level.</p>
10日前
記事のアイキャッチ画像
Template literal types in TypeScript: parsing during type checking and more
2ality – JavaScript and more
<p>In this blog post, we take a closer look at template literal types in TypeScript: While their syntax is similar to JavaScript’s template literals, they operate at the type level. Their use cases include:</p><ul><li>Static syntax checking for string literals</li><li>Transforming the casing of property names (e.g. from hyphen case to camel case)</li><li>Concisely specifying large string literal union types</li></ul>
15日前
ECMAScript proposal: RegExp escaping
2ality – JavaScript and more
<p>The ECMAScript proposal <a href="https://github.com/tc39/proposal-regex-escaping">“RegExp escaping”</a> (by Jordan Harband and Kevin Gibbons) specifies a function <code>RegExp.escape()</code> that, given a string <code>text</code>, creates an escaped version that matches <code>text</code> – if interpreted as a regular expression.</p><p>This proposal is currently at stage 3.</p>
18日前
記事のアイキャッチ画像
TypeScript enums: use cases and alternatives
2ality – JavaScript and more
<p>In this blog post, we take a closer look at TypeScript enums:</p><ul><li>How do they work?</li><li>What are their use cases?</li><li>What are the alternatives if we don’t want to use them?</li></ul><p>The blog post concludes with recommendations for what to use when.</p>
20日前
記事のアイキャッチ画像
A guide to <code>tsconfig.json</code>
2ality – JavaScript and more
+<p>I was never entirely sure which options to put in my <code>tsconfig.json</code> and which ones to omit. To change that, I went through the <a href="https://www.typescriptlang.org/tsconfig/">official documentation</a>, collected the most important options, and documented how to use them in this blog post. The result is a much cleaner <code>tsconfig.json</code> than I had before.</p><ul><li>You can jump directly to the end result, which is shown in <a href="#summary">the summary</a> of this post.</li><li>Or you can let me walk you through the most common options and learn how to best use them yourself.</li><li>As part of my research, I read the <code>tsconfig.json</code> recommendations of several TypeScript programmers. <a href="#tsconfig-recommendations">Links to them</a> are listed at the end.</li></ul><p>I’m curious what your experiences with <code>tsconfig.json</code> are: Do you agree with my choices?</p> +
24日前
記事のアイキャッチ画像
ECMAScript feature: regular expression pattern modifiers
2ality – JavaScript and more
+<p>Traditionally, we could only apply regular expression flags such as <code>i</code> (for ignoring case) to all of a regular expression. The ECMAScript feature <a href="https://github.com/tc39/proposal-regexp-modifiers">“Regular Expression Pattern Modifiers”</a> (by Ron Buckton) enables us to apply them to only part of a regular expression. In this blog post we examine how they work and what their use cases are.</p><p>Regular expression pattern modifiers attributes reached stage 4 in October 2024 and will probably be part of ECMAScript 2025.</p>
1ヶ月前
記事のアイキャッチ画像
ECMAScript feature: import attributes
2ality – JavaScript and more
<p>The ECMAScript feature <a href="https://github.com/tc39/proposal-import-attributes">“Import Attributes”</a> (by Sven Sauleau, Daniel Ehrenberg, Myles Borins, Dan Clark and Nicolò Ribaudo) helps with importing artifacts other than JavaScript modules. In this blog post, we examine what that looks like and why it’s useful.</p><p>Import attributes reached stage 4 in October 2024 and will probably be part of ECMAScript 2025.</p>
1ヶ月前
記事のアイキャッチ画像 +
Node’s new built-in support for TypeScript
2ality – JavaScript and more
<p>Starting with <a href="https://nodejs.org/en/blog/release/v23.6.0">v23.6.0</a>, Node.js supports TypeScript without any flags. This blog post explains how it works and what to look out for.</p>
1ヶ月前
記事のアイキャッチ画像
+WebAssembly as an ecosystem for programming languages
2ality – JavaScript and more
<p>In this blog post, we look at how WebAssembly has become an ecosystem for many programming languages and what technologies enable that.</p>
1ヶ月前
\ No newline at end of file diff --git a/blogs/041f24dccd26bad426827ec14a65569f/index.html b/blogs/041f24dccd26bad426827ec14a65569f/index.html new file mode 100644 index 000000000000..1ece700445b5 --- /dev/null +++ b/blogs/041f24dccd26bad426827ec14a65569f/index.html @@ -0,0 +1,149 @@ +Denoのフィード|JSer.info Watch List RSS

Deno

フィード

記事のアイキャッチ画像
How Deno's documentation is evolving
Deno
Documentation is a critical part of developer experience. Here's how we're improving our documentation and what's to come.
16時間前
記事のアイキャッチ画像
Oracle justified its JavaScript trademark with Node.js—now it wants that ignored
はてなブックマークアイコン 2
Deno
+Oracle filed a motion to dismiss in response to Deno’s petition to cancel its “JavaScript” trademark. But instead of addressing the real issue—that JavaScript is an open standard with multiple independent implementations—Oracle is trying to stall the process and sidestep accountability.
4日前
記事のアイキャッチ画像
Introducing the JSR open governance board
はてなブックマークアイコン 2
Deno
JSR, a modern open source JavaScript registry, is meant for the greater JavaScript and TypeScript community. We're thrilled to announce its own independent governing body.
5日前
記事のアイキャッチ画像
Intro to Wasm in Deno
はてなブックマークアイコン 2
Deno
Web Assembly, or Wasm, is a great way to increase performance in your web application. Here is an introductory guide to what it is and how you can use it.
11日前
記事のアイキャッチ画像
Announcing OpenAI on JSR
Deno
OpenAI, leading development platform for building generative AI products and experiences, now has a JavaScript and TypeScript SDK on JSR.
15日前
記事のアイキャッチ画像
Deno in 2024
Deno
We had a busy 2024 with the launch of Deno 2 and JSR, and dozens of features to simplify programming. Here are the biggest updates in 2024 and what's on the horizon.
18日前
記事のアイキャッチ画像
Goodbye WinterCG, welcome WinterTC
Deno
WinterCG, the Web Interoperable Runtimes Community Group is moving to Ecma as TC55 to be able to publish standards.
1ヶ月前
記事のアイキャッチ画像
Build a SolidJS app with Deno
Deno
Learn how to build a simple SolidJS application with Deno.
2ヶ月前
記事のアイキャッチ画像
Run your Next.js SSR app on Deno Deploy
Deno
Here's how to get your Next.js SSR project up and running on Deno Deploy.
2ヶ月前
記事のアイキャッチ画像
Solve Advent of Code 2024 with Deno and Win Prizes!
Deno
We're giving out exclusive prizes for using Deno during the Advent of Code 2024. Here's what you can win.
2ヶ月前
記事のアイキャッチ画像
Deno v. Oracle: Canceling the JavaScript Trademark
Deno
Oracle is holding the JavaScript trademark hostage, and we’re pursuing legal means to #FreeJavaScript. Here’s a brief update.
2ヶ月前
記事のアイキャッチ画像
Deno 2.1: Wasm Imports and other enhancements
Deno
Deno 2.1 introduces first-class Wasm imports, built-in tracing with OpenTelemetry, faster `deno compile`, and improved package management.
3ヶ月前
記事のアイキャッチ画像
Build a Typesafe API with tRPC and Deno
Deno
Learn how to build a typesafe API with tRPC and Deno.
3ヶ月前
記事のアイキャッチ画像
Self-contained Executable Programs with Deno Compile
Deno
Deno compile is a flexible tool that turns a JavaScript or TypeScript program into a portable, streamlined binary for any OS. Here's how it works.
3ヶ月前
記事のアイキャッチ画像
+Build a Database App with Drizzle ORM and Deno
Deno
Using an object-relational mapping (ORM) database can make working with persistent data simpler. Here's how to use a popular ORM, Drizzle, with Deno.
3ヶ月前
記事のアイキャッチ画像
Introducing your new JavaScript package manager: Deno
Deno
Deno’s new package manager, added in v2.0, is fast, flexible, and supports Node and package.json. Here’s how it works.
3ヶ月前
記事のアイキャッチ画像
Announcing Growthbook on JSR
Deno
Growthbook's JavaScript SDK, which enables easy AB testing and personalization, is now available on JSR.
3ヶ月前
記事のアイキャッチ画像
Build an Astro site with Deno
Deno
Learn how to build a server-rendered website with Astro and Deno.
3ヶ月前
記事のアイキャッチ画像
How to convert CommonJS to ESM
Deno
Here’s a thorough guide that covers everything you need to know to migrate your CommonJS project to ESM.
4ヶ月前
記事のアイキャッチ画像
Announcing Deno 2
Deno
Our next major version of Deno combines the simplicity, security, and performance of Deno 1 with full Node and npm backwards compatibility, and much more.
4ヶ月前
記事のアイキャッチ画像
The Final Touches: What’s New In v2.0.0-rc.10
Deno
We've merged in many fixes and improvements to the Deno 2 release candidate. Here's what's new.
4ヶ月前
記事のアイキャッチ画像
Announcing Stable V8 Bindings for Rust
Deno
Rusty V8, a library that provides high-quality, zero-overhead Rust bindings to V8, is finally stable. Here's how to use it.
4ヶ月前
記事のアイキャッチ画像
Deno 2.0 Release Candidate
Deno
This release candidate, a near-final look at Deno 2, includes the addition of Node's process global, better dependency management, and various API stabilizations, and more.
5ヶ月前
記事のアイキャッチ画像
Secure, efficient private npm registries with Cloudsmith and Deno
Deno
Deno can use private npm registries with Cloudsmith, which offers additional security features, analytics into module usage, and more. Here’s how to do it.
5ヶ月前
記事のアイキャッチ画像
Painting the Plane as We Fly It: Designing JSR
Deno
JSR, created for the JavaScript community, needed a logo and a website to look distinct, friendly, and inclusive. Here's how we approached this design problem.
5ヶ月前
記事のアイキャッチ画像
Introducing Web Cache API support on Deno Deploy
Deno
The Web Cache API offers sub-millisecond read latency, multi-Gbps write throughput, and unbounded storage. Here’s how you can use it.
5ヶ月前
記事のアイキャッチ画像
Deno 1.46: The Last 1.x Release
Deno
Our last 1.x release before Deno 2 comes with a ton of features, ranging from a simpler, improved CLI, to multi-threaded web servers, improvements to Node.js/npm compatibility, and more.
6ヶ月前
記事のアイキャッチ画像
Protect your cloud spend with new Deno Deploy spend limits
Deno
You can now exercise greater control over your Deno Deploy spend with our new spend limits. Here’s how they work.
6ヶ月前
記事のアイキャッチ画像
What we got wrong about HTTP imports
Deno
Designing a module system around HTTP imports was ambitious. Here are some issues we encountered and how we solved for them.
6ヶ月前
記事のアイキャッチ画像
Benchmarking AWS Lambda Cold Starts Across JavaScript Runtimes
Deno
When running production JavaScript in the cloud, performance is a critical consideration. Here’s how Deno’s cold start times compare against other JavaScript runtimes on AWS Lambda.
6ヶ月前
記事のアイキャッチ画像
Announcing Supabase on JSR
Deno
Supabase's isomorphic JavaScript client library is now available on JSR.
7ヶ月前
記事のアイキャッチ画像
Deno 1.45: Workspace and Monorepo Support
Deno
+Deno 1.45 introduces workspaces and monorepo support, improved Node.js compatibility, updates to `deno install`, the new `deno init --lib` command, deprecation of `deno vendor`, Standard Library stabilization, upgrades to V8 12.7 and TypeScript 5.5.2, and more.
7ヶ月前
記事のアイキャッチ画像
Introducing KV Backup for Deno Subhosting
Deno
This new feature allows Subhosting users to configure their KV databases to back up data to their own S3-compatible object storage via APIs.
7ヶ月前
記事のアイキャッチ画像
A Gentle Intro to TypeScript
Deno
Quick, digestible bites of TypeScript goodness for Deno developers.In this first bite, we introduce TypeScript, how to add type annotationsto your code and why you should.
7ヶ月前
記事のアイキャッチ画像
Announcing Hono on JSR
Deno
Hono, a lightweight, fast, cross-platform web framework, is now on JSR.
7ヶ月前
記事のアイキャッチ画像
How We Made the Deno Language Server Ten Times Faster
Deno
+When a customer reported performance issues with the Deno language server, we began a performance investigation that resulted in reducing auto-completion times from 6-8 seconds to under one second in large codebases. This is how we did it.
8ヶ月前
記事のアイキャッチ画像
How the Guardian uses Deno to audit accessibility and performance across their 2.7 million articles
Deno
+The Guardian receives over 350 million unique page views. Learn how Deno helps the Guardian maximize web performance and adhere to accessibility standards to retain and grow their readership.
8ヶ月前
記事のアイキャッチ画像
Introducing More Flexible Domain Association for Deno Subhosting
Deno
This new update simplifies programmatically managing custom domains, wildcard domains, subdomains for different deployments, and more.
8ヶ月前
記事のアイキャッチ画像
The stabilization process of the Standard Library has begun
Deno
The Deno Standard Library is going to reach 1.0.0 shortly. We hope you try RC versions of the packages and give us feedback!
8ヶ月前
記事のアイキャッチ画像
Deno 1.44: Private npm registries, improved Node.js compat, and performance boosts
Deno
Deno 1.44 adds support for private npm registries, gRPC connections, improved Node.js compat with initial Next.js support, and significant performance improvements.
8ヶ月前
記事のアイキャッチ画像
How we built a secure, performant, multi-tenant cloud platform to run untrusted code
Deno
When building a modern cloud platform to securely run untrusted code, it can be difficult to balance cost and performance. Here’s how we built Deno Deploy and Deno Subhosting.
9ヶ月前
記事のアイキャッチ画像
The Deno Standard Library is now available on JSR
Deno
The Deno Standard Library has moved to JSR, supporting SemVer ranges in imports and compatibility with Node.js, Cloudflare Workers, and more.
9ヶ月前
記事のアイキャッチ画像
How to document your JavaScript package
Deno
Writing good JSDocs for your JavaScript package is critical to its success. Here are some best practices for creating docs that helps your users be successful.
9ヶ月前
記事のアイキャッチ画像
Your Low Code Solution Needs an Escape Hatch
Deno
A low-code solution is a simple way to offer some flexibility for your users. However, to accommodate further customization (especially for enterprise users), you should have an “escape hatch” — simple, code-level customization. Here are three product scenarios and where an escape hatch makes most sense.
9ヶ月前
記事のアイキャッチ画像
Deno 1.43: Improved Language Server performance
Deno
Deno 1.43 enhances productivity with a faster language server, improved npm compatibility, a new `deno serve` subcommand, URL.parse() API, and announcements regarding Deno 2.
9ヶ月前
記事のアイキャッチ画像
How Slack used Deno to save months of engineering effort in launching their new platform
Deno
Learn how building with Deno helped Slack launch their new development platform in weeks and not months. +
9ヶ月前
記事のアイキャッチ画像
JSR Is Not Another Package Manager
Deno
JSR introduces a new way to share JavaScript and TypeScript code across platforms, focusing on simplifying distribution without replacing existing package managers.
9ヶ月前
Announcing the Hookdeck SDK on JSR
Deno
Hookdeck, an event gateway for distributed and async architecture, now has an SDK on JSR.
10ヶ月前
記事のアイキャッチ画像
Announcing the Neon Serverless Driver on JSR
Deno
Neon, a performant, edge-compatible, serverless Postgres driver, arrives on JSR.
10ヶ月前
記事のアイキャッチ画像
An intro to TSConfig for JavaScript Developers
Deno
TypeScript, one of the fastest growing languages, helps JavaScript developers improve code quality and productivity. But getting started can be challenging. Here's an introduction to TSConfig.
10ヶ月前
How we built JSR
Deno
A modern JavaScript registry needs to be fast, reliable, and be as simple as possible for end users. Here's how we built JSR.
10ヶ月前
記事のアイキャッチ画像
How Netlify used Deno Subhosting to build a successful edge functions product
Deno
+Learn why Netlify chose Deno Subhosting over building their own solution with AWS Lambda to offer a successful edge functions product within weeks.
10ヶ月前
記事のアイキャッチ画像
Introducing Simpler Project Creation in Deno Deploy
Deno
Introducing a more simplified project creation flow in Deno Deploy, including seamless CI/CD setup, a more transparent build and deployment step, and more.
10ヶ月前
記事のアイキャッチ画像
Deno 1.42: Better dependency management with JSR
Deno
Deno 1.42 revolutionizes dependency management with the seamless integration of JSR, enhancing Node/npm compatibility and introducing significant performance improvements.
10ヶ月前
記事のアイキャッチ画像
Introducing deployctl, the command line interface for Deno Deploy
Deno
Deno Deploy’s command line interface, deployctl, is the simplest way to deploy your projects to the cloud. Here’s how to do it.
1年前
記事のアイキャッチ画像
Introducing JSR - the JavaScript Registry
Deno
+The JavaScript Registry (JSR) is a TypeScript-first, ESM-only module registry designed for the entire JavaScript ecosystem. Use JSR modules from Deno and npm-based projects. JSR is free and open source. Available today in public beta.
1年前
記事のアイキャッチ画像
How to add Monaco to a Next.js app and securely run untrusted user code
Deno
+Enabling your users to deploy and run code can make your platform more useful. Here's a guide to building a platform that deploys and runs untrusted user code via a browser IDE with Monaco, Next.js, and Subhosting.
1年前
記事のアイキャッチ画像
Survey Results and Roadmap
Deno
You answered our survey and we listened. Here’s what we’re working on currently and what you can expect from Deno next.
1年前
記事のアイキャッチ画像
Deno 1.41: smaller deno compile binaries
Deno
We've roughly halved the size of `deno compile` binaries, added official Linux ARM64 builds, continued to land Node.js compatibility improvements, and more.
1年前
記事のアイキャッチ画像
+Webhooks suck, but here are alternatives
Deno
Webhooks, originally proposed as a way to consume asynchronous feeds, became the one-size-fits-all solution for integrating cloud software. Here’s why we think there’s a better solution.
1年前
記事のアイキャッチ画像
Introducing Deno Deploy onboarding tutorials
Deno
We revamped Deno Deploy’s onboarding to show you how easy it is to use Deno’s cloud primitives in your projects.
+
1年前
記事のアイキャッチ画像
Deno in 2023
Deno
2023 marked a significant step towards our vision of radically simplifying web development. Here are the biggest updates and what’s coming up next.
1年前
記事のアイキャッチ画像
Using Deno Subhosting vs. AWS Lambda to Run Untrusted User Code
Deno
Which technology is best for building a deployment platform for running third party code? Let's dive into the key differences in feature set, billing model, and performance.
1年前
記事のアイキャッチ画像
Deno 1.40: Temporal API
Deno
+Deno 1.40 introduces the Temporal API, TC39 decorators, and a range of deprecations and stabilizations, along with improvements in Node.js compatibility, LSP, diagnostics, and handling of unstable features, paving the way for a seamless upgrade to Deno 2.
1年前
記事のアイキャッチ画像
Build Your Own Cloud IDE with the Subhosting API
Deno
This tutorial will show you how to build a simple cloud IDE using the Deno Subhosting API.
1年前
+
記事のアイキャッチ画像
Build a Cloud IDE for the Deno Subhosting Hackathon
Deno
Details, prizes, submission guidelines, resources, and more about the Deno Subhosting Hackathon.
1年前
記事のアイキャッチ画像
Run a Node project with Deno and win prizes in the #NodeToDenoChallenge
Deno
We've made a ton of improvements to our Node and npm compatibility this past year. Here's a chance for you to experience those improvements and win some prizes.
1年前
記事のアイキャッチ画像
Getting Started with the OpenAI SDK for Deno
Deno
+Learn to use text completions, image generation, image analysis, and morefeatures of OpenAI using their official Deno SDK.
1年前
記事のアイキャッチ画像
Deno 1.39: The Return of WebGPU
Deno
We've re-added WebGPU, added new deno coverage reporters, made substantial Node.js compatibility improvements, and more.
1年前
記事のアイキャッチ画像
Deno KV vs. Cloudflare Workers KV, Upstash Redis, AWS DynamoDB, and Google Firestore
Deno
We compare Deno KV to other serverless data stores on performance, price, developer experience, and more.
1年前
記事のアイキャッチ画像
Use Deno KV in Node with the new official npm package
Deno
Access our zero config distributed database, Deno KV, in your Node projects with our new npm package.
1年前
記事のアイキャッチ画像
Build Real-time Applications with the new "watch" API in Deno KV
Deno
Detecting changes in Deno KV with `kv.watch` makes it easier to buildreal-time applications like newsfeeds, analytics, multi-user collaborationtools, and more.
1年前
記事のアイキャッチ画像
Manage your Deno Deploy and Deno Subhosting projects with Terraform
Deno
Terraform is a popular tool used to safely and predictably provision and manage infrastructure in any cloud. Here’s how you could use Terraform to manage your Deno Deploy or Deno Subhosting projects.
1年前
記事のアイキャッチ画像
Fresh 1.6: Tailwind CSS plugin, simplified typings and more
Deno
Discover new improvements in Fresh 1.6 that simplify your project and make it speedier.
1年前
記事のアイキャッチ画像
Announcing Deno Cron
Deno
`Deno.cron` allows you to easily create scheduled jobs and is available on Deno Deploy. Here's how it works.
1年前
記事のアイキャッチ画像
How security and tenant isolation allows Deno Subhosting to run untrusted code securely
Deno
Deno Deploy and Deno Subhosting was designed with security and tenant isolation in mind. Here's how it works.
1年前
記事のアイキャッチ画像
How Brazil's top ecommerce platform used Deno Subhosting to drive 5x faster page load speeds
Deno
Learn how using Deno improves the performance of Deco.cx's clients storefronts and increase page load speeds by 5x.
1年前
記事のアイキャッチ画像
Deno Subhosting: the easiest and most secure way to run untrusted multi-tenant code
Deno
Subhosting is a new way to leverage Deno Deploy's fast, scalable multi-tenant v8 isolate cloud to run your users code securely.
1年前
記事のアイキャッチ画像
Announcing self-hosted Deno KV, continuous backups, and replicas
Deno
Deno KV is now even more flexible and powerful with self-hosted options, replicas, and S3 and GCS continuous backup support.
1年前
記事のアイキャッチ画像
Deno 1.38: HTML doc generator and HMR
Deno
Deno 1.38 ships with HTML doc output, hot module replacement, improved Node.js compatibility by allowing you to use your own `node_modules` folder, and more.
1年前
記事のアイキャッチ画像
+Fresh 1.5: Partials, client side navigation and more
Deno
Discover new improvements in Fresh 1.5 that makes your site quicker to load and comes with several improvements to make authoring complex projects easier.
1年前
記事のアイキャッチ画像
Announcing Deno Queues
Deno
+Introducing Deno Queues - zero config, scalable messaging with a guaranteedat-least-once delivery. This new primitive builds on the foundation set byDeno KV, and is available today in the Deno JavaScript runtime and DenoDeploy.
1年前
記事のアイキャッチ画像
Register for Deno Fest Tokyo, October 20th 2023
Deno
Join us to learn about the past, present, and future of Deno as we co-hostDeno Fest in Tokyo on October 20th!
1年前
記事のアイキャッチ画像
Deno 1.37: Modern JavaScript in Jupyter Notebooks
Deno
Deno 1.37 ships with a Jupyter notebook integration and improved VSCode and LSP features.
1年前
記事のアイキャッチ画像
The State of Web Frameworks on Deno
Deno
With npm compatibility in Deno improving, and npm specifiers now available onDeno Deploy, there are more options than ever to build web apps on Deno.Let's explore some options, including Fresh, SvelteKit, Nuxt/Vue, Astro, andbeyond.
1年前
記事のアイキャッチ画像
Deno KV internals: building a database for the modern web
Deno
How we built a performant, scalable, ACID-compliant, JavaScript-native database on FoundationDB.
1年前
記事のアイキャッチ画像
Announcing native npm support on Deno Deploy
Deno
Deno Deploy becomes the first isolate serverless platform to natively support more than two million modules on npm.
1年前
記事のアイキャッチ画像
Deno KV is in Open Beta
Deno
Deno KV, the easiest way to add a strongly consistent database to your app, is now in open beta.
1年前
記事のアイキャッチ画像
Build a Cross-Platform CLI with Deno in 5 minutes
Deno
Here's how Deno's built-in tools and APIs make it easy to build a CLI and distribute it to all major platforms.
1年前
記事のアイキャッチ画像
August 22nd, 2023 Deno Deploy Post-mortem
Deno
Post-mortem report for the Deploy outage on August 22nd, 2023.
1年前
記事のアイキャッチ画像
Fresh 1.4 – Faster Page Loads, Layouts and More
Deno
Discover new improvements in Fresh 1.4 that makes your site quicker to load and comes with several improvements to make authoring complex projects easier.
1年前
記事のアイキャッチ画像
Node.js's Config Hell Problem
Deno
Why a Next.js project has over 30 configuration files and what we can do to avoid it.
1年前
記事のアイキャッチ画像
Deno 1.36: More flexible security and expanded testing APIs
Deno
Deno 1.36 introduces new runtime security options plus expanded testing and benchmarking APIs.
2年前
記事のアイキャッチ画像
dnt — the easiest way to publish a hybrid npm module for ESM and CommonJS
Deno
How to write your module with modern tooling and transform it with `dnt` to support CommonJS, ESM, browsers, Deno, Node.js, TypeScript, and more.
2年前
記事のアイキャッチ画像
How the creator of Homebrew simplifies distributing software with tea and Deno
Deno
+Deno is a critical part of distributing our own software and also helping our users manage their dependencies.
2年前
記事のアイキャッチ画像
Build and Ship Astro Sites with Deno and Deno Deploy
Deno
Learn how to build and deploy static and server-rendered apps with Astro on Deno and Deno Deploy.
2年前
記事のアイキャッチ画像
Fresh 1.3 – Simplified Route Components and More
Deno
Explore the key improvements in Fresh 1.3: streamlined route components, enhanced error handling, updated linting rules, and multi-island exports. This release also supports the stable Deno.serve API, making Deno projects more efficient and manageable.
2年前
記事のアイキャッチ画像
+Deno 1.35: A fast and convenient way to build web servers
Deno
Deno.serve() is stable, support for key npm packages, and more.
2年前
記事のアイキャッチ画像
June 25th, 2023 Deno Deploy Postmortem
Deno
Post-mortem report for the Deploy outage on June 25th, 2023.
2年前
記事のアイキャッチ画像
CommonJS is hurting JavaScript
Deno
How CommonJS became Node's module system, ESM solved modules for the browser, and why supporting both slows down the JavaScript ecosystem.
2年前
記事のアイキャッチ画像
+Announcing SOC 2 Compliance
Deno
What SOC 2 compliance for security, availability, and confidentiality means for Deno.
2年前
記事のアイキャッチ画像
Fresh 1.2 – welcoming a full-time maintainer, sharing state between islands, limited npm support, and more
Deno
Learn what new features the 1.2 release brings and about the future of Fresh.
2年前
記事のアイキャッチ画像
Announcing the Deno KV Hackathon
Deno
Rules, categories, prizes, and more about the Deno KV Hackathon.
2年前
記事のアイキャッチ画像
The State of Edge Functions 2023: The Year of Globally Distributed Apps +
Deno
More developers are hosting entire apps at the edge and other major takeaways from the 2023 State of Edge Functions report.
2年前
記事のアイキャッチ画像
How to Build a CRUD API with Oak and Deno KV
Deno
Learn how to use secondary indexes, atomic transctions, and more with Deno KV in this introductory tutorial.
2年前
記事のアイキャッチ画像
Node.js built-ins on Deno Deploy
Deno
You can now use Node.js built-in modules like `node:http` on Deno Deploy, allowing you to run existing Node.js apps at the edge.
2年前
記事のアイキャッチ画像
Deno 1.34: deno compile supports npm packages +
Deno
This update augments compatibility with npm and Node.js, incorporates glob support, and enhances TLS certificates with IP addresses. It also brings forth improvements to the configuration, language server, APIs, and updates to V8 and TypeScript.
2年前
記事のアイキャッチ画像
May 23rd, 2023 Deno Deploy Postmortem
Deno
Post-mortem report for the Deploy and Subhosting outage on May 23rd, 2023.
2年前
記事のアイキャッチ画像
How immutable scripts in Deno allow Windmill.dev (YC S22) to build production-grade ops
Deno
We chose Deno for its low cold start times, ability to execute untrusted code securely, and ease in creating shareable, immutable scripts.
2年前
+記事のアイキャッチ画像
Build your own ChatGPT-style doc search with Fresh, OpenAI, and Supabase
Deno
Learn how to setup a customized ChatGPT-style doc search and work with the OpenAI Chat-GPT3 API.
2年前
記事のアイキャッチ画像
+Roll your own JavaScript runtime, pt. 3
Deno
We'll create and load a snapshot of our custom JavaScript runtime to optimize startup time.
2年前
記事のアイキャッチ画像
Announcing Deno KV
Deno
Introducing Deno KV, a global key-value database for effortless stateful app development on Deno Deploy, offering seamless integration, strong consistency, and versatility.
2年前
+記事のアイキャッチ画像
Deno 1.33: Deno 2 is coming
Deno
Deno 1.33 is a step towards our next major release, with improved LSP support, enhanced Node.js compatibility, and more.
2年前
記事のアイキャッチ画像
A Gentle Introduction to Islands
Deno
What islands are, what they're not, and how they work.
2年前
記事のアイキャッチ画像
Build a REST API with Express, TypeScript, and Deno, pt. 2
Deno
The second half in our series of how to get up and running with Deno and Express quickly.
2年前
記事のアイキャッチ画像
Announcing Deno SaaSKit: an open-source SaaS template built with Fresh
Deno
Built on Fresh, SaaSKit combines the best developer experience with a performant user experience to help you start your SaaS fast.
2年前
記事のアイキャッチ画像
+Deno 1.32: Enhanced Node.js Compatibility
Deno
Deno 1.32 brings major improvements to deno compile, Node.js compatibility, Web APIs, and more.
2年前
記事のアイキャッチ画像
Why We Added package.json Support to Deno
Deno
The most recent release brought some significant changes in the form of better Node and NPM compatibility with package.json support. This prompted questions from our users about whether our core priorities have shifted.
+
2年前
記事のアイキャッチ画像
Build a REST API with Express, TypeScript, and Deno
Deno
How to setup a REST API using Express and TypeScript in minutes.
2年前
記事のアイキャッチ画像
Introducing the Annual State of Edge Functions Survey
Deno
Together we can identify current and upcoming trends as well as common frustrations to better understand how to best use this nascent technology.
2年前
記事のアイキャッチ画像
You Don't Need a Build Step
Deno
+The build step helps Node.js/npm run in the browser, optimize end-user performance, etc. But long build times limit productivity. With modern tooling, do we still need a build step?
2年前
記事のアイキャッチ画像
Deno 1.31: package.json support
Deno
Deno 1.31 adds support for package.json, stabilizes Node-API, Deno.Command API, adds `node:v8` module, and more.
2年前
記事のアイキャッチ画像
Office Hours Roundup and Update
Deno
We’ve got Q&A highlights from our last two live events and updates about Office Hours going forward.
2年前
記事のアイキャッチ画像
Roll your own JavaScript runtime, pt. 2
Deno
We'll implement `fetch`, read command line arguments, and add native support for TypeScript and TSX.
2年前
記事のアイキャッチ画像
Build a Simple Image Resizing API in less than 100 LOC
Deno
A tutorial on building and deploying a simple image resizing API.
2年前
記事のアイキャッチ画像
The Future (and the Past) of the Web is Server Side Rendering
Deno
A brief history about server-side rendering and why it's the right approach for modern web development.
2年前
記事のアイキャッチ画像
+Deno 1.30: Built-in Node modules
Deno
Deno 1.30 supports built-in Node modules, deno.json is an import map, deno fmt can format without semicolons, and more...
2年前
記事のアイキャッチ画像
Office Hours Transcript for 2023-01-13
Deno
Here's a list of questions, answers, and takeaways from our January 13th office hours.
2年前
記事のアイキャッチ画像
Deno in 2022: npm, Edge Functions, Series A, Fresh, and more
Deno
2022 was a big year for Deno. Here are the biggest updates from the past year and what's coming up next.
2年前
記事のアイキャッチ画像
How to Build a GraphQL Server with Deno
Deno
A short tutorial on building a GraphQL server in Deno.
2年前
記事のアイキャッチ画像
Announcing Office Hours!
Deno
We're hosting bi-weekly office hours in our Discord server! Ask questions (or submit them in advance), get technical help, or just come and hang out.
2年前
記事のアイキャッチ画像
Deno 1.29: Custom npm registry support
Deno
Deno 1.29 ships with many npm compatibility improvements, lots of quality of life improvements and TypeScript 4.9
2年前
記事のアイキャッチ画像
Build an Edge Function for the Supabase Hackathon
Deno
We're sponsoring and judging the Best Edge Functions category. Create an edge function and be eligible to win Deno merch and other prizes.
2年前
記事のアイキャッチ画像
How to build a static site with Lume
Deno
Build a simple static site with Lume.
2年前
記事のアイキャッチ画像
Run npm and Deno anywhere
Deno
Did you know you can host and run your Deno code in any virtual private server? Here's how to get started.
2年前
記事のアイキャッチ画像
Build a More Secure Web using npm with Deno
Deno
How Deno's secure-by-default and opt-in permissions system gives you more confidence in running untrusted npm modules.
2年前
記事のアイキャッチ画像
Build Apps in Deno with Frameworks such as React, Vue, Express, and more.
Deno
Getting started with web frameworks in npm and Deno.
+2年前
記事のアイキャッチ画像
Persist Data in Deno with npm using Prisma, Mongoose, Apollo, and more.
Deno
Here's how to get started with a few data persistence npm modules and Deno.
2年前
記事のアイキャッチ画像
+Deno 1.28: Featuring 1.3 Million New Modules
Deno
Deno 1.28 ships with stabilized npm modules, auto-discovered lock file, a new subprocess API, and more
2年前
記事のアイキャッチ画像
Introducing Fresh WordPress Themes
Deno
Combine the DX and performance of Fresh with the reliability and dependability of WordPress.
2年前
記事のアイキャッチ画像
How to Setup Auth with Fresh
Deno
A tutorial to setting up authentication with Fresh.
2年前
記事のアイキャッチ画像
Deno 1.27: Major IDE Improvements
Deno
Deno 1.27 ships with major improvements for IDEs, better support for npm packages, navigator.language Web API and more.
2年前
記事のアイキャッチ画像
How to Build a Blog with Fresh
Deno
Create a simple blog with Fresh in minutes.
2年前
記事のアイキャッチ画像
Which serverless edge platform has the fastest git deployments?
Deno
We test a handful of popular serverless edge computing providers to see which has the fastest git deployment time.
2年前
記事のアイキャッチ画像
The Future of the Web is on the Edge
Deno
A brief history of the internet explaining why building for the edge is faster, more secure, and easier than ever.
2年前
記事のアイキャッチ画像
Deno 1.26 Release Notes
Deno
Deno 1.26 adds Cache Web API; improves permission system, experimental npm support, Node.js compatibility; ships with TypeScript 4.8, and more.
2年前
記事のアイキャッチ画像
The Anatomy of an Isolate Cloud
Deno
Deno Deploy is one of the fastest ways to deploy an app. How does it work?
2年前
記事のアイキャッチ画像
Slack releases platform open beta powered by Deno
Deno
+Introducing the new Slack Platform that is a faster, flexible, and more secure way to build on top of Slack.
2年前
記事のアイキャッチ画像
A Whole Website in a Single JavaScript File, cont'd
Deno
A modern website with dynamic API endpoints and form functionality in a single JavaScript file.
2年前
記事のアイキャッチ画像
Fresh 1.1 - automatic JSX, plugins, DevTools, and more
Deno
This release makes Fresh even more powerful with automatic JSX, plugins, DevTools integration and more.
2年前
記事のアイキャッチ画像
Deno 1.25 Release Notes
Deno
Deno 1.25 adds the `deno init` subcommand, experimental support for importing npm packages, a new faster web server, and performance improvements to the FFI.
2年前
記事のアイキャッチ画像
Big Changes Ahead for Deno
Deno
Learnings from our recent survey and feedback from across our community. We'll discuss how we're addressing this feedback and the features to expect from Deno in the coming months.
2年前
+記事のアイキャッチ画像
Roll your own JavaScript runtime
Deno
A walk-through of creating a CLI that executes JavaScript files.
3年前
記事のアイキャッチ画像
Deno 1.24 Release Notes
Deno
Deno 1.24 improves performance of transpiling and type-checking, adds unhandledrejection and beforeunload events, adds import.meta.resolve() API, and more
3年前
記事のアイキャッチ画像
2022-07-18 incident update
Deno
Post-mortem report for the Deploy and Subhosting outage on July 18th
3年前
記事のアイキャッチ画像
July 13th Utah Outage Update
Deno
Post-mortem report for the outage on July 13th and 14th 2022
3年前
記事のアイキャッチ画像
wasmbuild - Using Rust in Deno and Web Apps
Deno
An easier way to build Rust for Deno and the Web.
3年前
記事のアイキャッチ画像
Fresh 1.0
Deno
Fresh is a new full stack web framework for Deno. By default, Fresh web pages send zero JavaScript to the client.
3年前
記事のアイキャッチ画像 +
Deno raises $21M
Deno
Series A led by Sequoia Capital
3年前
記事のアイキャッチ画像
Deno 1.23 Release Notes
Deno
Deno 1.23 changes default type-checking behavior, ships with TypeScript 4.7, updates "deno task", and more
3年前
記事のアイキャッチ画像
May 30 incident update
Deno
Post-mortem report for the 1 hour service outage on March 30th 2022
3年前
記事のアイキャッチ画像
Deno Deploy Beta 4
Deno
Introducing a dashboard re-design, more regions, and billing.
3年前
記事のアイキャッチ画像
Deno 1.22 Release Notes
Deno
Deno 1.22 changes default type-checking behavior, removes Deno.emit() API, adds Response.json() API, adds Deno namespace to workers by default, and more
3年前
記事のアイキャッチ画像
Announcing the Web-interoperable Runtimes Community Group
Deno
Deno partners with Cloudflare and others on runtime interoperability through web standards.
3年前
記事のアイキャッチ画像
How to setup a blog with Hugo and Deno Deploy
Deno
+Set up and deploy a blog to the edge in minutes.
3年前
記事のアイキャッチ画像
Deno 1.21 Release Notes
Deno
Deno 1.21 has improvements to testing facilities, the REPL, adds deno check, improves the language server, adds a new subprocess API, and more
3年前
記事のアイキャッチ画像
Netlify Edge Functions on Deno Deploy
Deno
Introducing Netlify Edge Functions built on Deno Deploy.
3年前
記事のアイキャッチ画像
A Whole Website in a Single JavaScript File
Deno
Explanation and making of a website in a single JavaScript file
3年前
記事のアイキャッチ画像
Supabase Functions on Deno Deploy
Deno
Supabase developers can now deploy global edge functions on Deno Deploy.
3年前
記事のアイキャッチ画像
Deno 1.20 Release Notes
Deno
Deno 1.20 increases performance, auto-compresses http responses, adds 'deno task', adds 'deno bench', allows import maps in deno.json, and more
3年前
記事のアイキャッチ画像
How to use Google Analytics in Deno Deploy
Deno
An example of how to use server-side Google Analytics in Deno
3年前
+
記事のアイキャッチ画像
How to publish Deno modules to NPM
Deno
dnt and oak - making code work across Deno and Node.js
3年前
記事のアイキャッチ画像
Deno 1.19 Release Notes
Deno
+Deno 1.19 improves our web streams integration, introduces a `deno vendor` subcommand, and adds many other new features.
3年前
記事のアイキャッチ画像
Static Files on Deno Deploy
Deno
Deno Deploy runs Deno programs at the edge, now with support for static files.
3年前
A list of every web API in Deno
Deno
Have you ever wondered how web compatible Deno is? In this blog post I explain every single web API available in Deno.
3年前
記事のアイキャッチ画像
Deno in 2021
Deno
Retrospect of what happened in 2021 and what's coming in 2022
3年前
記事のアイキャッチ画像
Deno 1.18 Release Notes
Deno
Deno 1.18 marks the finalization of the Web Cryptography API, and adds, stabilizes, and improves many features.
3年前
記事のアイキャッチ画像
January 4th incident update
Deno
Post-mortem report for the 40 minute service outage on on 4th January 2022.
3年前
記事のアイキャッチ画像
Deno 1.17 Release Notes
Deno
Deno 1.17 adds JSON imports, import completions in the REPL, and much more.
3年前
記事のアイキャッチ画像
Deno joins TC39
Deno
Deno has joined the JavaScript standards committee to improve the language for everyone.
3年前
記事のアイキャッチ画像
Web Streams at the Edge
Deno
+Deno Deploy provides web standard streaming infrastructure to easily whip up real-time applications.
3年前
記事のアイキャッチ画像
Slack Introduces New Platform With Help From Deno
Deno
Today Slack has announced their next generation development platform. Slack chose Deno for its "secure by default" principles, its web standard APIs, and its first-class TypeScript support.
3年前
記事のアイキャッチ画像
Connecting to Postgres from the edge
Deno
Many serverless at edge products can not connect to Postgres because they don't support TCP. Deno Deploy can.
3年前
記事のアイキャッチ画像
Deno 1.16 Release Notes
Deno
Deno 1.16 adds support for new JSX transforms, reading files from disk using fetch, and much more.
3年前
記事のアイキャッチ画像
Deno Deploy Beta 3
Deno
Deno Deploy is a multi-tenant distributed JavaScript VM running in 28 data centers across the world.
3年前
Deno 1.15 Release Notes
Deno
Deno 1.15 improves Web Crypto support, adds deno uninstall subcommand, stabilizes URLPattern and more.
3年前
記事のアイキャッチ画像
September 23 incident update
Deno
Post-mortem report for the 35 minute service outage on on September 23, 2021.
+
3年前
記事のアイキャッチ画像
Deno 1.14 Release Notes
Deno
Deno 1.14 improves Web Crypto support, adds customization options to deno fmt and deno lint, introduces URLPattern, and more.
3年前
記事のアイキャッチ画像
Deno Deploy Beta 2
Deno
Deno Deploy is a multi-tenant distributed JavaScript VM running in 25 data centers across the world.
3年前
記事のアイキャッチ画像
Deno on MDN
Deno
Web compatibility data for Deno is now available on MDN.
3年前
記事のアイキャッチ画像
Deno 1.13 Release Notes
Deno
Deno 1.13 stabilizes the native HTTP server, and introduces FFI, a streaming WebSocket API, the new self.structuredClone() function and more.
3年前
記事のアイキャッチ画像
July 27 incident update
Deno
Post-mortem report for the 6 minute service outage on July 27, 2021.
4年前
記事のアイキャッチ画像
Deno 1.12 Release Notes
Deno
The Deno 1.12 release adds server side WebSockets, support for WASM threads, new web crypto APIs and more.
4年前
記事のアイキャッチ画像
Deno Deploy Beta 1
Deno
Deno Deploy is a multi-tenant distributed JavaScript VM running in 25 data centers across the world.
4年前
記事のアイキャッチ画像
Deno 1.11 Release Notes
Deno
The Deno 1.11 release adds new web APIs, resolves long standing issues, and improves editor experience.
4年前
記事のアイキャッチ画像
Deno 1.10 Release Notes
Deno
Deno 1.10 improves the built-in test runner, adds support for Web Storage API, structured clone, and more.
4年前
記事のアイキャッチ画像
Deno 1.9 Release Notes
Deno
Deno 1.9 adds a new native HTTP/2 web server, a vastly improved op infrastructure, import completions in the LSP, an interactive permission prompt, blob url support.
4年前
記事のアイキャッチ画像
Announcing the Deno Company
Deno
We have raised money to enable the millions of web programmers out there tomaximally leverage their craft.
4年前
記事のアイキャッチ画像
March 2 incident update
Deno
Post-mortem report for the 98 minute service outage on March 2, 2021.
4年前
記事のアイキャッチ画像
Deno 1.8 Release Notes
Deno
Deno 1.8 adds experimental support for the WebGPU API, adds support for importing private modules, stabilizes import maps, revamps coverage tooling, adds ICU to provide internationalization out of the box, and a whole lot more.
4年前
記事のアイキャッチ画像
Deno 1.7 Release Notes
Deno
Deno 1.7, one of our largest releases to date, adds cross compilation and 60% smaller binaries for deno compile, a DNS resolver API, support for data URLs in import statements and web workers, and much more.
4年前
記事のアイキャッチ画像
Deno in 2020
Deno
Retrospect of what happened in Deno in 2020
4年前
記事のアイキャッチ画像
Deno 1.6 Release Notes
Deno +
Deno 1.6 adds the ability to build your Deno projects into fully standalone, self-contained executables with `deno compile`. The release also introduces a built-in LSP for editor integrations, and experimental Apple Silicon support.
4年前
記事のアイキャッチ画像
Deno 1.5 Release Notes
Deno
Deno 1.5 improves `deno bundle` with support for tree shaking and a 15x speed improvement. This release also adds the `alert`, `confirm`, and `prompt` APIs and enhances the REPL.
4年前
記事のアイキャッチ画像
Deno 1.4 Release Notes
Deno
Deno 1.4 adds support for the web standard WebSocket API, deno run --watch, and integrated test coverage. This is the largest feature release yet.
4年前
記事のアイキャッチ画像
Updates to deno.land/x
Deno
Design considerations and changes for the new code hosting service.
5年前
記事のアイキャッチ画像
Deno 1.0
Deno
Dynamic languages are useful tools. Scripting allows users to rapidly and succinctly tie together complex systems and express ideas without worrying about details like memory management or build systems.
5年前
+
\ No newline at end of file diff --git a/blogs/05749c401ce5e701a1125ee262869fe1/index.html b/blogs/05749c401ce5e701a1125ee262869fe1/index.html new file mode 100644 index 000000000000..599431eafa70 --- /dev/null +++ b/blogs/05749c401ce5e701a1125ee262869fe1/index.html @@ -0,0 +1,15 @@ +Bytecode Allianceのフィード|JSer.info Watch List RSS

Bytecode Alliance

https://bytecodealliance.org/

Welcome to the Bytecode Alliance

フィード

記事のアイキャッチ画像
Bytecode Alliance Election Results
Bytecode Alliance
Each December the Bytecode Alliance conducts elections to fill important roles on our governing Board and Technical Steering Committee (TSC). I’m pleased to announce the results of our just-held December 2024 election, in which our Recognized Contributors (RCs) selected three Elected Delegates to the TSC and one At-Large Director to represent them on the Alliance Board.
25日前
記事のアイキャッチ画像
Wasmtime 28.0: Optimizing at compile-time, Booleans in the Cranelift DSL, and more
Bytecode Alliance
Wasmtime is a lightweight WebAssembly runtime built for speed, security, and standards-compliance. December’s v28.0 release brings enhancements including a new option for optimization at compile-time, a new first-class type for Cranelift’s domain-specific language (DSL), and more.
1ヶ月前
記事のアイキャッチ画像
Making WebAssembly and Wasmtime More Portable
Bytecode Alliance
Portability is among the first properties promoted on WebAssembly’s official homepage:
2ヶ月前
記事のアイキャッチ画像
Wasmtime 27.0: Complete Wasm GC support, PyTorch backend, and more
Bytecode Alliance
+This month’s v27.0 release of Wasmtime—the fast, secure, and standards-compliant WebAssembly (Wasm) runtime—includes enhancements such as completed support for the new Wasm garbage collection proposal, a PyTorch backend for wasi-nn, link-time feature gate configuration for unstable WIT APIs, and more.
2ヶ月前
記事のアイキャッチ画像
Wasmtime 26.0: 64-bit tables, shell completions, Windows ARM64 support, and more
Bytecode Alliance
+Wasmtime is a fast, secure, and standards-compliant WebAssembly runtime. The latest v26.0 release includes enhancements such as implementation of the “table64” extension, a new wasmtime completion subcommand, ARM64 Windows support, and more.
3ヶ月前
記事のアイキャッチ画像
Wasmtime v25.0 brings extended constants, WASI 0.2.1, user stack maps, and more
Bytecode Alliance
+Wasmtime is a lightweight WebAssembly runtime that is fast, secure, and standards-compliant. Today’s release of Wasmtime v25.0 brings enhancements including extended constants, WASI 0.2.1 support, and user stack maps.
5ヶ月前
記事のアイキャッチ画像
New Stack Maps for Wasmtime and Cranelift
Bytecode Alliance
+As part of implementing the WebAssembly garbage collection proposal in Wasmtime, which is an ongoing process, we’ve overhauled the stack map infrastructure in Cranelift. This post will explain what stack maps are, why we needed to change them, and how the new stack maps work.
5ヶ月前
記事のアイキャッチ画像
Our Next Plumbers Summit event - September 26 &amp; 27, 2024
Bytecode Alliance
+The Bytecode Alliance is pleased to invite you to the next installment in our ongoing Plumbers Summit event series, each designed to bring our members and community contributors together to help set strategic direction and plan efforts for the coming year. Our next Summit will be September 26 and 27, 2024 at the Microsoft Visitor Center in Redmond, Washington. Seating for the in-person session is limited but the event will be live streamed online to support full remote participation.
5ヶ月前
記事のアイキャッチ画像
Simplifying components for .NET/C# developers with componentize-dotnet
Bytecode Alliance
If you’re a .NET/C# developer, componentize-dotnet makes it easy to compile your code to WebAssembly components using a single tool. This Bytecode Alliance project is a NuGet package that can be used to create a fully AOT-compiled component from a .NET application—giving .NET developers a component experience comparable to those in Rust and TinyGo.
5ヶ月前
記事のアイキャッチ画像
Announcing WASI 0.2.1
Bytecode Alliance
Welcome to the Bytecode Alliance blog. The Bytecode Alliance is a nonprofit organization dedicated to creating secure new software foundations, building on standards such as WebAssembly and WebAssembly System Interface (WASI).
6ヶ月前
\ No newline at end of file diff --git a/blogs/05ce464f9272917edf0a84d07c22c83d/index.html b/blogs/05ce464f9272917edf0a84d07c22c83d/index.html new file mode 100644 index 000000000000..64a3f969c18a --- /dev/null +++ b/blogs/05ce464f9272917edf0a84d07c22c83d/index.html @@ -0,0 +1,35 @@ +Repro Tech Blogのフィード|JSer.info Watch List RSS

Repro Tech Blog

https://tech.repro.io/

Repro Tech Blog

フィード

記事のアイキャッチ画像
開発者の作業効率を向上させるためのデプロイプロセス改善
はてなブックマークアイコン 50
Repro Tech Blog
+Development Division/Platform Team/Sys-Infra Unit では、開発者がスムーズに開発作業をできるように様々なことに取り組んでいます。 今回はそのうちの1つを紹介します。 背景 Repro の Slack には、開発オペレーション用のチャンネルがあります。このチャンネルには@deploy-botが存在しています。前回の改善1で@deploy-botは使いやすくなったのですが、Development Division 全体ではあまり活用されていませんでした。 新規アプリケーションのデプロイ準備時に Sys-Infra Unit への作業依頼が多かったため…
9日前
記事のアイキャッチ画像
103 Early Hints とは何か? ~マイナーだけど革新的なHTTPステータスの世界~
はてなブックマークアイコン 33
Repro Tech Blog
はじめに みなさまこんには。日々 Booster で楽しくコードを書いている杉浦(sugi) です。 Booster プロジェクトではタグを入れるだけでサイトを高速化できる「Repro Booster」という製品を作っていますが、そのためにも日々さまざまな最適化手法を調査・模索しています。 その中で個人的に期待しているのが、 103 Early Hints というHTTPステータスコードです。 この記事では Repro Tech Meetup #9 で行った発表(資料)を元に、103 Early Hintsはどのような仕組みなのか、なぜ高速化につながるのか、さらに現状の実装に関して解説します。…
11日前
記事のアイキャッチ画像
ServiceWorkerの課題を解決する!? Static Routing APIを使ってみた
Repro Tech Blog
はじめに こんにちは、Repro Booster という製品の開発責任者/プロダクトマネジメントを担当しているEdward Fox(@edwardkenfox)です。 今回は、ServiceWorkerに組み込まれた新機能「Static Routing API」を実際に試してみた件について説明します。Repro Boosterでの応用を通じて得た知見を共有できればと思います。 Repro Boosterとは Repro Boosterは、私たちが提供しているパフォーマンス最適化ソリューションです。サイトにタグを設置するだけで、読み込み速度が向上するというシンプルなコンセプトで設計されています。…
1ヶ月前
記事のアイキャッチ画像
Reproで技術書の読書会を続けるために行っていること
Repro Tech Blog
Repro Team / Feature Unit の下村です。 Reproで行っている技術書の読書会をどのように運営しているのかについて紹介します。 Reproの技術書読書会の現状 現状は2週間に1回のペースで1時間ほど時間をつかって読書会を行っています。参加者はその時々によって変わりますが、2-5人程度が参加しています。 今までは以下のような本を読んできました。 システム設計の面接試験 (半年程度で読破) ソフトウェア設計のトレードオフと誤り (半年程度で読破) 分散システムデザインパターン (現在読んでいるところ) Reproでは高トラフィックなシステムの保守運用や開発が求められる場面が…
1ヶ月前
記事のアイキャッチ画像
Repro Tech Meetup #9 – Webパフォーマンス を開催しました
Repro Tech Blog
こんにちは、Repro Booster開発責任者のEdward Fox(edwardkenfox)です。12月13日に開催された Repro Tech Meetup #9 のイベントレポートをお届けします。 今年の3月には「Deep Dive into Browsers」というテーマで開催した Repro Tech Meetup ですが、今回はもう少しテーマを広げ「Webパフォーマンス」という括りにしてみました。テーマの裾野が広くなったことも手伝ってか、前回のイベントと比較すると参加者が倍近くまで増え、約30名の皆さんにご参加いただきました。規模が拡大した一方で、熱量の高い発表や質疑応答が次々…
2ヶ月前
記事のアイキャッチ画像
AWS Lambda RuntimeをRuby3.3にしたら外部エンコーディングが変化した話
Repro Tech Blog
+こんにちは。Feature2 Unitのうなすけです。我々のチームの担当範囲のひとつには「データの入出力」というものがあり、お客様からAPI呼び出しやファイルアップロードなどで受け取ったデータを適切に処理するコンポーネントの運用・開発をしています。 AWS Lambdaの処理が失敗するようになった 皆さん、AWS Lambdaはお使いでしょうか。我々も様々な処理にAWS Lambdaを活用しています。一例として、ユーザーからアップロードされたCSVファイルのバリデーションを行うLambda functionをAWS Step Functionsの一部として実行しています。 ある日、機能追加とし…
2ヶ月前
記事のアイキャッチ画像
Apache HudiのMerge on Readテーブルのパフォーマンス特性とチューニングについて
Repro Tech Blog
+Reproでチーフアーキテクトをやっているjoker1007です。 前回、Apache Hudiというテーブルフォーマットについて紹介する記事を書きましたが、今回はHudiを実際に本番に近いデータで検証し、パフォーマンス特性とチューニングについていくつか知見を得たので、その辺りについて紹介します。 また、同じ内容をベースにOTFSG Tokyo Meetup #4というイベントで発表させていただきました。 これぐらいの規模でHudiについてガッツリ検証している例は国内では余り見ない様なので、それなりに貴重な知見を共有できたかなと思います。 ブログ記事とほぼ同じ内容ですが、スライドになってる資料…
3ヶ月前
記事のアイキャッチ画像
Repro で遭遇した Aurora MySQL にまつわるトラブル 5 選
Repro Tech Blog
+こんにちは、Platform Team の荒引 (@a_bicky) です。前回は続・何でも屋になっている SRE 的なチームから責務を分離するまでの道のり 〜新設チームでオンコール体制を構築するまで〜という話を書いたんですが、今回は Repro の運用に 7 年以上携わる中で私が遭遇して印象的だった Aurora MySQL 絡みのトラブルについて紹介します。 Aurora MySQL が詰まってデータ処理のスループットが下がるとか、API のレスポンスが遅くなるとか、ALTER TABLE する度にアプリケーションエラーが発生するとか、胃が痛くなる胸が熱くなる話が多いので、Aurora M…
4ヶ月前
記事のアイキャッチ画像
pt-online-schema-changeにnohupをつけてバックグラウンドで実行してもSIGHUPを受け取って終了する現象
Repro Tech Blog
+Platform Team/Sys-Infra Unitの伊豆です。今回は、pt-online-schema-changeにnohupをつけてバックグラウンドで実行してもSIGHUPを受け取って終了する現象に遭遇したので、そのときに調査した内容を共有します。 調査は以下の環境で行いました。 pt-online-schema-change v3.6.0 Amazon Linux 2023 bash 5.2.15 OpenSSH 8.7p1 背景 ReproではAurora MySQLを使っていて、レコード数の多いテーブルのスキーマを変更するときに、pt-online-schema-changeを…
4ヶ月前
記事のアイキャッチ画像
Kafka Streams はレコードをどのように処理しているのか
Repro Tech Blog
+Platform Team/Repro Core Unit の村上です。 Repro では Kafka を基盤としたストリーム処理のアプリケーションを構築する際に、Kafka Streams を積極的に活用しています。 Kafka Streams は、フォールトトレラントなステートフル処理を簡潔に実装でき、データパイプラインを Topology という表現で抽象化することで、複雑な処理でも管理しやすい形で組み立てていくことが可能です。 また、Apache Kafka 以外の外部依存がないことや Streams DSL によるシンプルな記述でストリーム処理を実装できることなども、ストリーム処理の…
4ヶ月前
記事のアイキャッチ画像
TerraformのCIをAtlantisに移行しました
Repro Tech Blog
+Repro では AWS 等のリソース管理に Terraform を活用しています。 この度 Terraform で管理しているコードの CI を Atlantis に移行したので、その経緯などについて書きます。 背景 Repro では以下のリソースを Terraform を使ってコード化して GitHub で管理しています。 AWS で構築したインフラ DataDog のモニターやアラート Google Cloud Platform で利用している一部のリソース GitHub の reproio organization のメンバーやチーム Kafka Topic MySQL アカウント P…
5ヶ月前
記事のアイキャッチ画像
共通認識を作ろう!ユーザーストーリーマッピングのすすめ
Repro Tech Blog
Reproのデザイナーが、機能開発において要件・フェーズを決めるのに活用できるユーザーストーリーマッピングというワークショップ手法をご紹介します。
6ヶ月前 +
記事のアイキャッチ画像
Go で実 DB を使ったテストをしてみた
Repro Tech Blog
はじめに こんにちは。Repro で新規事業の開発をしている冨永です。 我々のチームでは主に、ユーザーのイベント集計を定期的にバッチ処理するフローで Go を採用しています。 Go で RDB など外部依存のあるコンポーネントを扱うテストをする際 interface などで抽象化しモックすることが多かったのですが、実際にその部分の挙動が確かめられないという不安がありました。 そこで今回は testfixtures というライブラリを使って実際に DB アクセスするテストを書いてみたのでその紹介です。 きっかけ まずはチーム内でテストに関する共通認識を作るためワークショップを実施しました。 各々…
6ヶ月前
記事のアイキャッチ画像
デザイナーが中期製品戦略を立てて全社員に未来を見据えたアクションをしてもらうまで
Repro Tech Blog
こんにちは、Reproのデザイナーの河西です。今日は、以前取り組んだ「中期製品戦略の策定」について話したいと思います。 ちょうど1年前のある日、中期経営計画の改定にともなって、中期製品戦略の策定のためのプロジェクトが立ち上がり、策定のためのメンバーの募集がありました。 デザイナーとしてもっと幅を広げたい、会社のみんなにもっとプロダクトにフォーカスしてほしい、売上を伸ばしたい...そんな思いから、策定メンバーに立候補しました。 Reproでいう中期製品戦略とは 戦略的な目標とそれに必要なプロダクト上の戦術を含む、約3年分の開発マイルストーンです。(以下 製品戦略と表記)世間的にはこれら戦略まで含…
6ヶ月前
記事のアイキャッチ画像
作った機能をお客様に使ってもらうために必要なのは結局組織間連携の強化だった
Repro Tech Blog
こんにちは。ReproのProduct Planning Teamでプロダクト企画を担当している正木です。 今回は前回の記事の続きで、なぜGoToMarketの改善活動の効果がなかったのかの原因と、そこへの対策についてお話をしていきます。 tech.repro.io 結論から先に言うと、機能提供から利用開始されるまでのリードタイムが減り、活用度も上がるという結果になりました! GoToMarket改善活動はなぜ効果がなかったのか? 大きく2つの理由がありました。 プロジェクト型組織構造によるナレッジの局所化 当時のReproの開発組織はプロジェクト制を取っており、何かの開発が決定すると都度プロ…
6ヶ月前
記事のアイキャッチ画像
+更新可能なデータレイクを構築するテーブルフォーマットApache Hudiについて
Repro Tech Blog
Reproでチーフアーキテクトを担当しているjoker1007です。 今回、社内のデータストレージの将来的な選択肢の一つとしてApache Hudiというテーブルデータフォーマットについて調査と実データでの検証を実施しました。 この記事では2回に分けて、そもそもhudiってどんなフォーマットなのか、どういうデータで検証してどんな結果が得られたのかについて紹介します。 ということで第1回は、hudiそのものについての紹介をしていきます。 この記事はhudi-0.14.1を利用して検証した時のものです。また社内向けに書いた資料の手直しであるため丁寧語でないことに御留意ください。 Hudiとは何か、…
6ヶ月前
記事のアイキャッチ画像
作った機能をお客様に使ってもらうためのGoToMarket活動を改善した話
Repro Tech Blog
こんにちは。ReproのProduct Planning Teamでプロダクト企画を担当している正木です。 Product Planning Teamって何?という方はこちらの記事を併せて見ていただけると嬉しいです! tech.repro.io さて、プロダクト開発に関わっている皆さんであれば「我々の作った機能は果たしてちゃんと使われているんだろうか…」と思ったことは一度はあるはずです。 今回はリリースした機能をお客様に使ってもらうための試行錯誤について2回にわたってお話しようと思います。 ReproにおけるGoToMarketとは? Reproにおいてはリリースされた機能をお客様に使ってもら…
6ヶ月前
記事のアイキャッチ画像
Google Cloud の CDC サービスを活用した請求フローの構築
Repro Tech Blog
+はじめに こんにちは。新規事業のプロダクトマネジメントを担当している taison です。 先日、顧客への請求金額を算出するために日々実行しているデータフローを刷新しました。 その際に Datastream という Google Cloud が提供する CDC サービスを活用したことで、構築・運用が楽になったのでご紹介します。 なお今回は開発にご協力いただいている 株式会社 Rabee の abyssparanoia さんの提案・検証があって実現したので、ここで感謝させていただきます。 全体像 それまではとある BI ツールを活用して、請求根拠となるデータを各内容にあわせて出力するデータフロー…
6ヶ月前
記事のアイキャッチ画像
プロダクトへのフィードバックループを回すための取り組み
Repro Tech Blog
+こんにちは。ReproのProduct Planning Teamでプロダクト企画を担当している正木です。 Product Planning Teamって何?という方はこちらの記事を併せて見ていただけると嬉しいです! tech.repro.io 今回はプロダクトや作っている途中の機能に対して、全社からのフィードバックを得るために行っているプロダクトフィードバック会(通称プロフィ会)の運用と改善についてのお話です。 プロダクトフィードバック会とは? 毎週木曜11:00-12:00で全社員を対象に開発チームがプロダクトに関する発表やプレゼンを行い、フィードバックを得る会です。この会は、プロダクトに…
7ヶ月前
記事のアイキャッチ画像
Amazon EMR のバージョンアップ 3/3:Presto から Trino への移行
Repro Tech Blog
+前回の続きです。 EMR 5.36.1 から EMR 6.15.0 への更新 使用するアプリケーションのバージョンは以下のようになりました。OS は Amazon Linux 2 です。 アプリケーション等 EMR 5.36.1 EMR 6.15.0 Tez 0.9.2 0.10.2 Hue 4.10.0 4.11.0 Hive 2.3.9 3.1.3 Hadoop 2.10.1 3.3.6 Presto 0.267 0.2831 Trino N/A 426 Hive, Hadoop, Tez については前の記事で確認済みなので、ここからはそれ以外の要素について検討していきます。 一番問題にな…
9ヶ月前
記事のアイキャッチ画像
Amazon EMR のバージョンアップ 2/3:メジャーバージョンアップで遭遇した問題
Repro Tech Blog
+前回の続きです。 EMR 5.36.1 から EMR 6.6.0 への更新について書きます。 EMR 5.36.1 から EMR 6.6.0 への更新 アプリケーション等 EMR 5.36.1 EMR 6.6.0 Tez 0.9.2 0.9.2 Hue 4.10.0 4.10.0 Hive 2.3.9 3.1.2 Hadoop 2.10.1 3.2.1 Presto 0.267 0.267 Trino N/A 367 Amazon Linux 2 2 このバージョンアップでは Hive と Hadoop のメジャーバージョンアップがあるので、Upgrade Amazon EMR Hive Me…
10ヶ月前
記事のアイキャッチ画像
Amazon EMR のバージョンアップ 1/3:メジャーバージョンアップの前にやったこと
Repro Tech Blog
+Development Division/Platform Team/Sys-Infra Unit で実施した Amazon EMR 1 のバージョンアップについてどのようなことをやったのか紹介します。 Repro では Presto や Hive などのセットアップに EMR を使用しており、以下の用途で活用しています。 プッシュ通知の配信対象を抽出する 管理画面で参照するデータを抽出する S3 などに貯まっているイベントデータを集計する EMR のアプリケーションとしては以下を使用していました。 Presto Tez Hadoop Hive Hue 経緯 Repro では多くのミドルウェア…
10ヶ月前
記事のアイキャッチ画像
@hono/zod-openapiで型安全なAPI開発
Repro Tech Blog
+はじめに こんにちは、Reproで新規事業の開発を行っているエンジニアの兼信です。 今回は @hono/zod-openapi を採用して型安全なAPI開発を行なっている事例をご紹介します。 導入の経緯 私たちが提供する「Repro」は、デジタル領域のマーケターに対し、エンドユーザーとの付加価値の高いコミュニケーション手段を提供するためのSaaSプロダクトです。一方でそのコミュニケーションを次のステージに導くための新規事業も準備しており、そのために新しいプロダクトの開発も行っています。 すでにRepro という規模が大きくなっているプロダクト・ソリューションをもっているため、最初から一定の規模…
10ヶ月前
記事のアイキャッチ画像
Repro Tech Meetup #8 – Deep Dive into Browsers を開催しました
Repro Tech Blog
+Repro Tech Meetup #8 – Deep Dive into Browsers こんにちは、Repro Booster開発責任者のEdward Fox(edwardkenfox)です。 3/15(金)に「Repro Tech Meetup #8 – Deep Dive into Browsers」という勉強会を開催しました。私たちがRepro Boosterの開発と運用を行っている中で、ブラウザの仕様や細かい挙動に関する知見が少しづつ溜まっており、テックブログとは違う形で発表できないかと思いこのイベントを企画しました。また幸運なことに、ブラウザの有識者やサービス開発を通した知見を…
1年前
記事のアイキャッチ画像
作って終わりにしない!チームのビジョンの策定と活用のためにやったこと
Repro Tech Blog
+はじめに こんにちは、ReproでUI/UXデザイナー組織のマネジメントを担当している多賀です。 今回は私達が取り組んでいたチームビルディング活動のうち、ビジョンの策定とその活用について紹介したいと思います。 ※ここで言うビジョンとは、どんなチームにしたいのか?の共通認識を言語化したものと捉えています。 いかに良いチームをつくるかはどんな組織においても課題だと思いますが、私達の取り組み例が少しでもお役に立てれば幸いです。 当時の状況 ReproのUI/UXデザイナーは、プロダクト企画を行うProduct Planning Teamというチームに所属しています。 ※Product Plannin…
1年前
記事のアイキャッチ画像
マルチプロジェクト構成リポジトリにおいて変更の影響を受けるプロジェクトを検出する
Repro Tech Blog
+どうも、Repro Core Unit に所属している村上です。 Repro では現在、20 を超える Kafka Streams アプリケーションが稼働しています。 その中の半分くらいが Repro システムの共通基盤を構成する Kafka Streams アプリケーションであり、それらの運用は Repro Core が持つ責務の 1 つとなっています。 この共通基盤となる Kafka Streams アプリケーション群は、Gradle のマルチプロジェクト構成になっていてコードベースはモノレポで管理されています。 本稿では、この構成におけるデプロイ性の課題とそれに対するアプローチの話をしま…
1年前
記事のアイキャッチ画像
AWS Aurora MySQL のメンテナンスの準備・実施・振り返りをチーム横断で行った話
Repro Tech Blog
+こんにちは、Sys-Infra Unit の小山です。今回は、AWS Aurora MySQL のメンテナンス準備・実施・振り返りまでを複数チーム横断で行った話を紹介します。 背景と課題 Repro では、AWS Aurora MySQL を利用してサービスを提供しています。Aurora MySQL は、MySQL 互換のリレーショナルデータベースサービスで、Aurora MySQL にも独自のバージョン番号が設定されています。バージョンにはサポート期間が設定されているため、利用しているバージョンのサポート期間が終了する前にはアップデートしておきたいものになります。 今回、Repro で利用し…
1年前
記事のアイキャッチ画像
解約したお客さまにインタビューしてプロダクトの企画に活かすまで
Repro Tech Blog
+はじめまして、ReproでUI/UXデザイナーを務めている河西と申します。Reproのデザイナーはプロダクト企画を行っているProduct Planning Teamに属し、プロダクトの少し先の未来を描き、中期製品戦略の策定とその浸透および状況にあわせた戦略の改定、顧客からの一次情報を収集、戦略の実行のため体験設計、UI設計まで一貫して行っています。 Product Planning Teamがなにをやっているかなど詳しくはこちらの記事をご覧ください! tech.repro.io 今回は解約したお客さまにインタビューを行いプロダクトの企画に活かすまでをお話したいと思います。ユーザーインタビュー…
1年前
記事のアイキャッチ画像
PerformanceResourceTiming API で HTTP Cache のヒット率を知る
Repro Tech Blog
+はじめに こんにちは、Repro Booster という製品の開発責任者/プロダクトマネジメントを担当しているEdward Fox(edwardkenfox)です。 WebサイトやWebアプリケーションの表示速度を考える上では、キャッシュの活用はとても大事なテーマです。一口にキャッシュといっても、Webの文脈だけで見ても様々なレイヤーや用途のキャッシュが存在します。今回は昔ながらのキャッシュ、いわゆる HTTP Cache に的を絞り、HTTP Cache のヒット率について考えてみたいと思います。 さまざまなキャッシュレイヤー 前述のように、Webにおけるキャッシュには用途やレイヤーの異なる…
1年前
記事のアイキャッチ画像
Reproにおけるプロダクト企画を担うチームとは?
Repro Tech Blog
+はじめまして。ReproのProduct Planning Team というチームのマネージャーをしている正木と申します。元々はReproのユーザーでしたが、なんやかんやあってReproに入社しCSを経て現在はPMMを担当しています。 今後、Product Planning Teamからはこれまであまり発信してこなかったReproというプロダクトの企画のお話や、デザインの話、作った機能のGo To Marketの話などをしていこうと思っていますので、よろしくお願いします。 今回は初めての投稿ということもあり、そもそもReproのプロダクト企画チームって何をやってるの?という話をしようと思います…
1年前
\ No newline at end of file diff --git a/blogs/05e539c7d5181a12b1ca52602f94fe81/index.html b/blogs/05e539c7d5181a12b1ca52602f94fe81/index.html new file mode 100644 index 000000000000..5fa960cc6d56 --- /dev/null +++ b/blogs/05e539c7d5181a12b1ca52602f94fe81/index.html @@ -0,0 +1,71 @@ +Sansec - experts in eCommerce securityのフィード|JSer.info Watch List RSS

Sansec - experts in eCommerce security

フィード

記事のアイキャッチ画像
Criminals have rewired 3,500 online stores
Sansec - experts in eCommerce security
Criminals have secretly rewired 3,500 online stores to continuously harvest credit card numbers. The fraud can be traced back as far as May 12th 2015, so if you have bought something at one of thes...
9年前
記事のアイキャッチ画像
+Visbot malware found on 6691 stores [analysis]
Sansec - experts in eCommerce security
Visbot is one of the oldest Magecart payment skimmers: it steals customer data and credit cards. The first case was documented as early as March 2015. But being publicly discussed did not stop it ...
8年前
記事のアイキャッチ画像
Self-healing malware restores itself after deletion
Sansec - experts in eCommerce security
+Regular Javascript-based malware is normally injected in the static header or footer HTML definitions in the database. Cleaning these records used to be sufficient to get rid of the malware. But n...
8年前
記事のアイキャッチ画像
An OpenCart/Magento hacking dashboard
Sansec - experts in eCommerce security
+This post shows how sophisticated Magento hacking operations have become nowadays.While investigating a bruteforced Magento store, we noticed that the hacker logged in using a curious referrer sit...
8年前
記事のアイキャッチ画像
A Magento breach analysis: part 1
Sansec - experts in eCommerce security
Part of a series where Magento security professionals share their case notes, so that we can ultimately distill a set of best practices, tools and workflow.Part of the job of running the MageRepo...
+
8年前
記事のアイキャッチ画像
Warning: fake Magento patch 9789 contains virus
Sansec - experts in eCommerce security
Update May 21st: a similar phishing mail circulates about a fake patch SUPEE-1798.Update Apr 22nd: added reference to Neutrino Bot and POS systemsThis week a mail was sent out to announce the ne...
8年前
記事のアイキャッチ画像
Why ordering HTTP headers is important
Sansec - experts in eCommerce security
If you code against Akamai hosted sites, you could be rejected because your HTTP library sends request headers in the wrong order. In fact, most libraries use undefined order, as the IETF specifica...
8年前
記事のアイキャッチ画像
Cryptojacking found on 2496 online stores
Sansec - experts in eCommerce security
Does your laptop get hot when visiting your favorite shop? You computer is likely mining cryptocurrencies to the benefit of a cyberthief.Cryptojacking - running crypto mining software in the brow...
7年前
記事のアイキャッチ画像
+Hackers breached Magento through helpdesk
Sansec - experts in eCommerce security
Magento merchants have recently received messages like this:Hey, I strongly recommend you to make a redesign! Please contact me if you need a good designer! -- knockers@yahoo.comUpon closer exa...
7年前
記事のアイキャッチ画像
MagentoCore group hacks 7,339 stores and counting
Sansec - experts in eCommerce security
A single group is responsible for planting skimmers on 7339 individual stores in the last 6 months. The MagentoCore skimmer is now the most successful to date.Update 2018-09-07: Because Google Chr...
6年前
記事のアイキャッチ画像
Is your Google Analytics code malicious?
Sansec - experts in eCommerce security
+Would you - a webdeveloper - get alarmed if you found the following code on your website? Probably not, as Google Analytics is embedded in pretty much every website these days:<script type=&quo...
6年前
記事のアイキャッチ画像
ABS-CBN next in series of high profile breaches
Sansec - experts in eCommerce security
+While Filipinos are recovering from typhoon Mangkhut, another misfortune awaits them online. We found their broadcasting giant ABS-CBN − a $740 million conglomerate & top-500 global Internet de...
6年前
記事のアイキャッチ画像
MageCart: now with tripwire
Sansec - experts in eCommerce security
Back in 2016, Magecart skimmers would evade detection by sleeping if any developer tools were found running. Then, their malware would 404 without correct Referer or User-Agent header. And now, Ma...
6年前
記事のアイキャッチ画像
German political party store hacked before election
Sansec - experts in eCommerce security
The store of German political party CSU (www.csu-shop.de) contains an identity skimmer that was planted on or before Oct 5th, right before the Bavarian election on Oct 14th. Personal identifyable ...
6年前
+記事のアイキャッチ画像
Unpublished security flaws (0days) massively exploited
Sansec - experts in eCommerce security
Online credit card theft has been all over the news: criminals inject hidden card stealers on legitimate checkout pages. But how are they are able to inject anything in the first place? As it turn...
6年前
記事のアイキャッチ画像
Backdoor found in Webgility
Sansec - experts in eCommerce security
Update Nov 23rd: Webgility has released a patch and a public statement, urging all customers to upgrade to version 345.Update Nov 30th: Webgility has discovered another security issue and urges a...
6年前
記事のアイキャッチ画像
Merchants struggle with MageCart reinfections
+Sansec - experts in eCommerce security
1 in 5 compromised merchants get reinfected, average skimming operation lasts 13 daysMageCart, the notorious actors behind massive online card skimming, has been busy. And so have we: our crawlers...
6年前
記事のアイキャッチ画像
Competing digital skimmers sabotage each other
Sansec - experts in eCommerce security
+Skimmers found to subtly sabotage each others fraud operationsCompetition is grim in the online skimming business (aka "MageCart"). The aggressive MagentoCore skimmer was previously obs...
6年前
記事のアイキャッチ画像
PHP tool 'Adminer' leaks passwords
Sansec - experts in eCommerce security
+Update 2019-01-20: the root cause is a protocol flaw in MySQL.Adminer is a popular PHP tool to administer MySQL and PostgreSQL databases. However, it can be lured to disclose arbitrary files. Atta...
6年前
記事のアイキャッチ画像
Large sites hacked via Adminer database tool
Sansec - experts in eCommerce security
+This week I discovered that large ecommerce and government sites got hacked via the Adminer database tool. As it turns out, the root cause is a protocol flaw in MySQL. Curiously, it is described in...
6年前
記事のアイキャッチ画像
Bad extensions now main source of Magento hacks: a solution!
Sansec - experts in eCommerce security
+In October last year I discovered several Magento extension 0days. As it turns out, this was only the tip of the iceberg: today, insecure 3rd party extensions are used to hack into thousands of sto...
6年前
記事のアイキャッチ画像
Credit cards of Atlanta Hawks fans stolen
Sansec - experts in eCommerce security
MageCart attacks on online stores surged last year, culminating in the hack of British Airways and Ticketmaster. This year the trend continues with another high-profile target. The Atlanta Hawks sh... +
6年前
記事のアイキャッチ画像
57 payment gateways from Germany to Brazil targeted
Sansec - experts in eCommerce security
Sansec discovered a polymorphic skimmer that works with 57 different payment gateways. It has global reach, affecting payment systems from Germany to Brazil. It is by far the most advanced skimmer ...
6年前
記事のアイキャッチ画像
Sports brand Puma infected with advanced malware
Sansec - experts in eCommerce security
After the NBA Hawks got skimmed last week, this time Puma's Australian customers are cannon fodder for Magecart thieves. Anyone who ordered a pair of sneakers online, had their name, address and cr...
6年前
記事のアイキャッチ画像
Critical Magento 2 flaw exploited within 16 hours
Sansec - experts in eCommerce security
The number of hacked Magento 2 stores spiked in the last four weeks, after a critical security flaw was discovered in March and criminals stole admin passwords within 16 hours. Merchants are advise...
6年前
記事のアイキャッチ画像
PCI-SSC/RHISAC quote Sansec: 20% stores reinfected
+Sansec - experts in eCommerce security
The PCI Security Standards Council and the Retail & Hospitality ISAC alert merchants to the threat of digital skimming. In its report, it quotes Sansec research, which has found that about 20% ...
6年前
記事のアイキャッチ画像
Sansec at Europol training: 50,000+ stores hacked
Sansec - experts in eCommerce security
+Cementing itself as a global force in the protection against eCommerce fraud, Sansec has been invited to speak at the fifth edition of Europol’s Training Course on Payment Card Fraud Forensic Inves...
5年前
記事のアイキャッチ画像
FBI recommends eCommerce malware protection
Sansec - experts in eCommerce security
+The FBI warns small and medium-sized businesses and government agencies against the threat of e-skimming. E-skimming occurs when cyber criminals inject malicious code onto a website.Read the origi...
5年前
記事のアイキャッチ画像
Magento security extentions vendor got hacked
Sansec - experts in eCommerce security
+The store of a US Magento extension vendor was found compromised. Attackers had write access to the server selling extensions. We are awaiting a statement on the integrity of downloaded software.O...
5年前
記事のアイキャッチ画像
American Cancer Society hit by payment skimmer
Sansec - experts in eCommerce security
+Digital skimming groups (aka Magecart) hit another low, as they successfully targeted the American Cancer Society last night. Our skimmer detectors found a piece of malicious code embedded on the C...
5年前
記事のアイキャッチ画像
Payment skimmers have impersonated Sansec
Sansec - experts in eCommerce security
+Payment skimmers are hiding their malpractice by impersonating our Sansec anti-skimming service. They have registered malicious domains sansec.us and sanguinelab.net, even using a fake address in A...
5年前
記事のアイキャッチ画像
Indonesian Magecart hackers arrested
Sansec - experts in eCommerce security
+The Indonesian police announced on Friday that they have arrested three alleged Magecart hackers on December 20th. The suspects are from Jakarta and Yogyakarta and are 23, 26 and 35 years old. Afte...
5年前
記事のアイキャッチ画像
Maxcluster and Sansec partner to secure German stores
Sansec - experts in eCommerce security
+Utrecht, February 20; Sansec is proud to announce that it hasformed a long-term strategic partnership with maxcluster to bring itsindustry-leading anti-malware technology to the German e-commerce...
5年前
記事のアイキャッチ画像
Sansec reveals longest Magecart skimming operation to date [Analysis]
Sansec - experts in eCommerce security
+Sansec, a global leader in eCommerce security, reveals that hackers successfully infiltrated an online printing platform for more than two and a half years. Our research shows that crooks ran keylo...
5年前
記事のアイキャッチ画像
Magento 1 still PCI compliant after 1 July 2020?
Sansec - experts in eCommerce security
+Magento 1 will no longer receive official updates & security fixes per July 1st, 2020 (the end-of-life, or EOL date). Merchants are urged to upgrade to Magento 2, but for many stores this deadl...
5年前
記事のアイキャッチ画像
Do these two things to keep your Magento 1 store running after June
Sansec - experts in eCommerce security
+Over a 100 thousands Magento 1 stores will be running after Adobe terminates support in June (end-of-life). Many merchants need more time to transition to Magento 2 or another platform. No need to ...
5年前
記事のアイキャッチ画像
Lockdown: Stores closed, online stores hacked
Sansec - experts in eCommerce security
+While an international retail chain closed its physical stores, attackers hacked its online presence, Sansec research shows. Following common Magecart malpractice, payment skimmers were injected an...
5年前
記事のアイキャッチ画像
Digital skimmer runs entirely on Google, defeats CSP
Sansec - experts in eCommerce security
+A newly discovered skimming campaign runs entirely on Google servers, Sansec research shows. The novel malware sends stolen credit cards directly to Google Analytics, evading security controls like...
5年前
記事のアイキャッチ画像
North Korean hackers are skimming US and European shoppers
Sansec - experts in eCommerce security
+Previously, North Korean hacking activity was mostly restricted to banks and South Korean crypto markets^cryptohack, covert cyber operations that earned hackers $2 billion, according to a 2019 Unit...
5年前
記事のアイキャッチ画像
Cardbleed: 3% of Magento install base hacked
Sansec - experts in eCommerce security
Update Sept 18: Cardbleed has infected 2806 Magento1 stores so far (3% of total install base)Over the weekend, almost two thousand Magento 1 stores across the world have been hacked in the largest...
4年前
記事のアイキャッチ画像
Payment skimmer hides in social media buttons
Sansec - experts in eCommerce security
Researchers at Sansec have uncovered a novel technique to inject payment skimmers onto checkout pages. This new malware has two parts: a concealed payload and a decoder, of which the latter reads t...
4年前
記事のアイキャッチ画像
Hackers exploit security flaw right before Black Friday
Sansec - experts in eCommerce security
The affected stores were all running the older Magento 2.2, which is unsupported since December 2019.In addition to the injected flaw, attackers used a hybrid skimming architecture, with front and...
4年前
記事のアイキャッチ画像
eCommerce trojan accidentally leaks victims
Sansec - experts in eCommerce security
Sansec discovered a clever remote access trojan (RAT) that has been hiding in the alleys of hacked eCommerce servers. Despite the advanced setup, perpetrators mistakenly left a list of victim store...
4年前
記事のアイキャッチ画像
Fake payment page before checkout on Shopify and BigCommerce
Sansec - experts in eCommerce security
Once the data is intercepted and exfiltrated, the attackers display an error message and the customer is redirected to the real payment page. Customers probably just enter their details again and i...
4年前
記事のアイキャッチ画像
Google Apps Script used to steal data
Sansec - experts in eCommerce security
+The Google business application platform Apps Script is used to funnel stolen personal data, Sansec learned. Attackers use the reputation of the trusted Google domain script.google.com to evade mal...
4年前
記事のアイキャッチ画像
Case Study: How eCommerce Hackers Silently Steal Credit Card Data
Sansec - experts in eCommerce security
+This is what happened to one of our clients. Due to his attentiveness - and a bit of luck! - this merchant noticed some abnormalities in his store’s code. He wasn’t using our malware scanning techn...
4年前
記事のアイキャッチ画像
New linux_avp malware hits eCommerce sites
Sansec - experts in eCommerce security
+A merchant recently reached out to us, after hiring two forensic companies but still having malware on his store. As we appreciate a challenge, our team got started and quickly discovered an intric...
3年前
記事のアイキャッチ画像
CronRAT malware hides behind February 31st
Sansec - experts in eCommerce security
At this time of year we typically see a surge in eCommerce attacks and new malware. Last week we analyzed a clever malware attacking online stores, and today we expose another, much more sophistica...
3年前
記事のアイキャッチ画像
NginRAT parasite targets Nginx
Sansec - experts in eCommerce security
Last week we exposed the CronRAT eCommerce malware, which is controlled by a Chinese server. Out of curiosity, we wrote a "custom" RAT client and waited for commands from the far east. Ev...
3年前
記事のアイキャッチ画像
Magento and the Log4j vulnerability
Sansec - experts in eCommerce security
Updated Dec 20th. This article describes how Magento is affected by the critical log4j vulnerability, and what you can (and should) do to prevent a hack.A critical vulnerability in the popular Log...
3年前
記事のアイキャッチ画像
NaturalFreshMall: a Magento Mass Hack
Sansec - experts in eCommerce security
More than 350 ecommerce stores infected with malware in a single day.Today our global crawler discovered 374 ecommerce stores infected with the same strain of malware. 370 of these stores load the ...
3年前
記事のアイキャッチ画像
Magento 2 critical vulnerability (CVE-2022-24086 & CVE-2022-24087)
+Sansec - experts in eCommerce security
Update Feb 21st, 2022: Sansec has observed the first actual attacks in the wild. Patch now! Unfortunately, this validates our previous prediction that abuse would start within days. Attacks are com...
3年前
記事のアイキャッチ画像
Magento vendor Fishpig hacked, backdoors added
Sansec - experts in eCommerce security
+Update 2022-09-13 FishPig has confirmed the incident and published a status page. It recommends customers to upgrade and/or reinstall all FishPig modules.Sansec discovered malware in the Fishpig ...
2年前
記事のアイキャッチ画像
Surge in Magento 2 template attacks
Sansec - experts in eCommerce security
Currently, Sansec eComscan is the only malware scanner that detects the injected remote access trojan (see Virustotal).223sam.jpg attackAll of the observed attacks have been interactive, possibly... +
2年前
記事のアイキャッチ画像
Extortion of Magento merchants
Sansec - experts in eCommerce security
Related: many stores are occassionally contacted by "security researchers" who claim to have found a vulnerability and want a "bounty" to disclose it. In 99% of these cases, the...
2年前
記事のアイキャッチ画像
Adobe Commerce merchants to be hit with TrojanOrders this season
Sansec - experts in eCommerce security
After a quiet summer, the number of attacks targeting the mail template vulnerability in Magento 2 and Adobe Commerce is rising fast. Merchants and developers should be on the lookout for TrojanOrd...
2年前
記事のアイキャッチ画像
Fake Klaviyo accounts added to Magento
Sansec - experts in eCommerce security
Magento 2 template hacks have been raging since a month or two, and Sansec is closely tracking any new attack payloads. So far, we observed about 20 different payloads which all added a basic PHP b...
2年前
記事のアイキャッチ画像
+Vendors defeat Magento security patch (+ simple check)
Sansec - experts in eCommerce security
BackgroundAdobe’s fix to CVE-2022-24086 was to remove “smart” mail templates. Many vendors were caught off guard and had to revert to the original functionality. In doing so, they unknowingly expo...
2年前
記事のアイキャッチ画像
Sansec analysis: 12% of online stores leak private backups
+Sansec - experts in eCommerce security
It is a common practice to make ad-hoc backups during store platform maintenance. The problem, however, is that these backups often end up in a public folder. Perhaps the administrator intended to ...
2年前
記事のアイキャッチ画像
Postponed Exfiltration Evades Detection
Sansec - experts in eCommerce security
+The domain gtag-analytics.com has recently emerged as a threat, employing various cunning techniques to evade detection and targeting unsuspecting users, but what makes it especially deceptive is i...
2年前
記事のアイキャッチ画像
Malware Persistence via Telegram and GitHub
Sansec - experts in eCommerce security
+Attackers are devising ingenious methods to prolong their skimming activities, aiming for sustained persistence.The usual tactics, techniques, and procedures (TTP) include the creation of disposab...
1年前
記事のアイキャッチ画像
Is your store’s newsletter being used for phishing?
Sansec - experts in eCommerce security
+Cybercriminals in eCommerce are diversifying their targets, now aiming at entire customer databases instead of just stealing credit cards. A recent incident revealed this trend: a hacked Magento ad...
1年前
記事のアイキャッチ画像
Magento wish list exploit bypasses WAF protection
Sansec - experts in eCommerce security
+In recent weeks, Sansec observed a spike in hacked Magento 2 stores. Our investigations led to a (likely) single attacker, who used a combination of clever techniques to bypass WAFs and competing t...
1年前
記事のアイキャッチ画像
Sansec and Europol counter online skimming
Sansec - experts in eCommerce security
In a strategic alliance, Europol, the European Union Agency for Cybersecurity (ENISA), law enforcement from 17 nations, and key private sector entities such as Sansec, have aligned to counteract th... +
1年前
記事のアイキャッチ画像
Sansec joins forces with Google's VirusTotal
Sansec - experts in eCommerce security
In January we announced our partnership with Europol and today, we are proud to be recognized by Google as experts in eCommerce security.Sansec and Google have agreed on a data exchange and we tru...
1年前
+記事のアイキャッチ画像
Persistent Magento backdoor hidden in XML
Sansec - experts in eCommerce security
The following XML code was found in the layout_update database table and is responsible for periodic reinfections of your system.Attackers combine the Magento layout parser with the beberlei/asse...
10ヶ月前
記事のアイキャッチ画像
CosmicSting attack threatens 75% of Adobe Commerce stores
Sansec - experts in eCommerce security
Update June 27th: Adobe has now provided an official, isolated fix that can be applied to installations without requiring upgrade.Update June 27th: our partner Hypernode as actually observed the ...
8ヶ月前
記事のアイキャッチ画像
Polyfill supply chain attack hits 100K+ sites
+Sansec - experts in eCommerce security
Update June 28th: We are flagging more domains that have been used by the same actor to spread malware since at least June 2023: bootcdn.net, bootcss.com, staticfile.net, staticfile.org, unionad...
7ヶ月前
記事のアイキャッチ画像
CosmicSting attacks have started hitting major stores
Sansec - experts in eCommerce security
+API AbuseAs CosmicSting enables attackers to read any file, attackers can steal Magento's secret encryption key. This encryption key can generate JSON Web Tokens with full administrative API acces...
7ヶ月前
記事のアイキャッチ画像
Persistent backdoors injected on Adobe Commerce via new CosmicSting attack
Sansec - experts in eCommerce security
+CosmicSting (CVE-2024-34102) allows arbitrary file reading on unpatched systems. When combined with CNEXT (CVE-2024-2961), threat actors can escalate to remote code execution, taking over the entir...
5ヶ月前
記事のアイキャッチ画像
CosmicSting attack & defense overview
Sansec - experts in eCommerce security
ImplicationsCosmicSting targets a critical bug in the Adobe Commerce and Magento platforms. Bad actors use it to read any of your files, such as passwords and other secrets. The typical attack str...
5ヶ月前
記事のアイキャッチ画像
Thousands of Adobe Commerce stores hacked in competing CosmicSting campaigns
Sansec - experts in eCommerce security
Sansec research shows that seven different groups have been hacking into 4275 online stores since the publication of CVE-2024-34102 (also known as CosmicSting) on June 11th. Despite ongoing warning...
4ヶ月前
記事のアイキャッチ画像
Google services abused in skimming campaigns
Sansec - experts in eCommerce security
Google TranslateAttackers are using Google Translate’s page functionality to execute malicious JavaScript files, as demonstrated below:<script src="https://translate.google.co.in/translat...
1ヶ月前
記事のアイキャッチ画像
Sorry, client-side security does not work
Sansec - experts in eCommerce security
Merchants spend millions of dollars on client-side security solutions to prevent digital skimming attacks. Companies are rushing to implement these tools, often driven by PCI requirements. But here...
5日前
+
\ No newline at end of file diff --git a/blogs/06364a52928a7f6e1a2f45d5de71571e/index.html b/blogs/06364a52928a7f6e1a2f45d5de71571e/index.html new file mode 100644 index 000000000000..ee1d3a35156b --- /dev/null +++ b/blogs/06364a52928a7f6e1a2f45d5de71571e/index.html @@ -0,0 +1,29 @@ +hogashi.*のフィード|JSer.info Watch List RSS

hogashi.*

https://blog.hog.as/

日記から何から

フィード

記事のアイキャッチ画像
辻撮り写真2024
hogashi.*
スマホ充電器vs公衆電話終了してるけど綺麗にされててすごいなぜか花椒だけ売り切れてるおしゃれポストご自由にお持ちになっている状態黒い公衆電話久々に見た右往左往してる重ね合わされた状態2
12日前
記事のアイキャッチ画像
position: stickyで貼り付いたときだけ境界線を出す(JavaScriptを使わない)
hogashi.*
スクロールしてこの見出しが画面上部に貼り付いたときだけ、見出しの下に境界線を出したい。 技として、境界線用の要素をいっこ用意して、それを見出しの裏に忍ばせておく方法がある。……
22日前
記事のアイキャッチ画像
hogashi.*
実家Podcast*1、母と、椿油、服、IT系の仕事と年齢、DX的なこと、AIと人間への敬意について話しました。 *1:別に録音はない
1ヶ月前
記事のアイキャッチ画像
Redashではクエリ結果にHTMLを使えるので便利 長いカラムをdetailsで畳める ほか
hogashi.*
Redash でデータをクエリしたとき、長い値が入ったカラムがあると、クエリ結果が縦に長くなってしまいがち。 Redash ではなんとクエリ結果に HTML が書かれているとレンダされるので、 details タグで囲うことで畳むことができる。便利。……
1ヶ月前
記事のアイキャッチ画像
はてなブログおみくじ
hogashi.*
はてなブログおみくじ2014 今年もよろしくお願いします🎍
1ヶ月前
記事のアイキャッチ画像
GitHub issueで箇条書きのハイフンなしで改行するにはShift+Enter
hogashi.*
GitHub issue で、 Shift + Enter で、箇条書きのハイフンなしで改行ができる。続けて何行でもできる。 Shift + Enter で改行している様子- コードの様子 - before <-- ここで Shift + Enter すると | <-- ここにハイフンなしで改行される ショートカットは Keyboard shortcuts - GitHub Docs に一覧があるけど、 Shift + Enter は載ってない……。
2ヶ月前
記事のアイキャッチ画像
querySelectorAllの結果をmapしたいときはArray.fromすると良い
hogashi.*
JavaScript で、 querySelectorAll の結果を map したいことがあるが、そのままだと map できない。 Array.from を使って、 Array インスタンスにしてあげると良い。
2ヶ月前
記事のアイキャッチ画像
拡張機能「twitter画像原寸ボタン」v7.1.0公開
hogashi.*
拡張機能「twitter画像原寸ボタン」v7.1.0 を公開しました。主に依存パッケージとパッケージマネージャの更新のみで、機能に変化はありません。細かいところでは、ポップアップの設定画面の保存ボタンのテキストが折り返すことがあったので広めにしました。 インストールはこちら:Google Chrome 版 chromewebstore.google.comMicrosoft Edge 版 microsoftedge.microsoft.com
3ヶ月前
記事のアイキャッチ画像
shufコマンドがないときに同じことをするシェルスクリプト
hogashi.*
shuf コマンドとは、入力の行をシャッフルして出力するコマンド。 shuf invocation (GNU Coreutils 9.5) 手元の環境に入ってなかったので、こういうのを書いてみた。 Bash で試しています。オプションとかは実装してません。 function shuf() { OLD_IFS=$IFS IFS=$'\n' ( for line in $( if [ -n "$1" ]; then cat "$1" else cat /dev/stdin fi ); do echo "$RANDOM"$'\t'"$line" done ) | sort -n | cut -f2-…
4ヶ月前
記事のアイキャッチ画像
hogashi.*
今朝見た夢、まったく関係ない話から、途中から突然祖父が登場したりした。夢に登場する祖父は実際とはかなりかけ離れているもので、起きてからなんだそりゃとなりがち。
+
5ヶ月前
記事のアイキャッチ画像
progress要素でモアイまわしができる
hogashi.*
progress 要素で遊ぶシリーズ。 まず普通に x と y を追従するようなものをつくるとこう。 Glitch で遊んでたのをここにコピペしてるのでなんか変かも。 x と y を入れ替えると、もう奇妙な感覚になる。 つまりこれをうまく使って遊べそう → これモアイまわしじゃん、ということに気づいたのだった。
5ヶ月前
記事のアイキャッチ画像 +
progress要素並べまくるとスペクトラムアナライザみたいな表示ができる
hogashi.*
progress 要素はこういうやつ <progress>: 進捗インジケーター要素 - HTML: ハイパーテキストマークアップ言語 | MDN 並べまくるとこうなる。 DOM なのでたぶん遅そう。 はじめる とめる 値はランダムなだけだけど、こういう音楽といっしょに楽しめる。
5ヶ月前
記事のアイキャッチ画像
会話日記
hogashi.*
+実家に帰って親と会話していて 2時間くらい経っていた。いろんな話題があったけど、その中で、常々頭の中にはあった考えを即興で言葉に起こして流れをもって伝える、という場面がお互いにたくさんあった。喋りながら、これはブログだなと思って、…
6ヶ月前
記事のアイキャッチ画像
シェルで簡単ストップウォッチ
hogashi.*
ルービックキューブを揃えるまでの時間を測りたい!手元にシェルしかない!そんなときはこう $ time read これで計測開始 (コマンド開始) と 計測終了 (read に入力) の両方を Enter キーでできるのでわかりやすくて便利。
6ヶ月前
記事のアイキャッチ画像
GitHub Actions workflowのannotationを一覧するシェルスクリプトを書いた
hogashi.*
GitHub リポジトリの actions の実行に、エラーや警告 (deprecation など含む) の annotation がつくことがあるannotation 一覧みたいなものはないので、 workflow がたくさんあると、それぞれの annotation を見て対応するのが大変markdown で一覧するためのシェルスクリプトを書いた
8ヶ月前
記事のアイキャッチ画像
+Docker Compose 1.27.0以降ではdocker-compose.ymlにversionを書く必要がなくなっていた
hogashi.*
docker-compose.yml でトップレベルの version 要素を指定していると、 WARN[0000] (...)/docker-compose.yml: `version` is obsolete と表示される。 しかし昔は必要だった記憶があって、気になって issue/p-r を見ていったら、 2020年あたりにはすでに optional になっていたようだった。 ...
9ヶ月前
記事のアイキャッチ画像
拡張機能「twitter画像原寸ボタン」v7.0.0公開
hogashi.*
+拡張機能「twitter画像原寸ボタン」の v7.0.0 を公開しました (申請中なので、それが通り次第自然と更新されます)。 x.com mobile.x.com pro.x.com でも動作するように対象ドメインを追加したので、"権限エラー"みたいな表示が出るかもしれませんが、新規ドメインでも動作することを許可すれば使えます。 追記 (2024/5/17 23:15): 更新されていたので画像を撮りました。 右上に"エラー"と出るので、クリック "twitter画像原寸ボタン が無効になりました" をクリック 書かれている内容を読み、許可できる場合は "権限を許可" をクリック 注記してお…
9ヶ月前
記事のアイキャッチ画像
Python 3.12の環境でbrew install furoshiki2できなくなってたのでp-r出した
hogashi.*
+motemen/furoshiki2 が Python 3.12 で brew install 失敗するようになっていて、 id:motemen に助けを求めたところ、 📝2023-07-20 PyYAMLの5.4.1がChefBuildErrorでインストールできない - Minerva という話があるので PyYAML のバージョン上げると直ったり? と教えてもらった。 ついでに homebrew のレシピが GitHub - motemen/homebrew-furoshiki2 にあるのも教わって、直す p-r をつくって出した (Update PyYAML to 6.0.1 to f…
9ヶ月前
記事のアイキャッチ画像
ワイワイ椅子2023
hogashi.*
ワイワイあらすじ: 以来この木の椅子だけで生活していました。特に直近で買い直すつもりはなかったけど、この間の Amazon ブラックフライデーで白だけ半額になっていたこの椅子を買いました。
1年前
+
記事のアイキャッチ画像
拡張機能「twitter画像原寸ボタン」v5.4.0, v6.0.0公開
hogashi.*
TweetDeck の URL が pro.twitter.com に変わったので、そこでも動作するようにしました / Original ボタンのテキストを設定できるようにしました
1年前
記事のアイキャッチ画像
+GitHubのissueやpull reqのラベルはキーボード操作でも付けられる
hogashi.*
GitHub の issue とか pull request では、 L キーを押すとラベルのモーダルを開ける。検索語を入れたりしつつ、十字キー上下でラベルを選んで、 Enter キーかスペースキーでチェックをつけたり外したりしてから、 Escape キーでモーダルを閉じると、チェックをつけたラベルが付く。 操作の様子 GitHub のショートカット一覧を見るとめちゃくちゃ色々ある。docs.github.com 余談だけど、日本語でこのドキュメントを見ると、ショートカット一覧の表が (GitHub のドキュメントの独自のテンプレートの記述のせい?で) 崩れている箇所があって、何かして直せない…
1年前
記事のアイキャッチ画像
hogashi.*
+CSS だけでダークモードとそうじゃないモード(ライトモード?)を切り替えられるような仕組みはできないのかな〜と考えていて、 details タグをボタンと見なして open 属性の有無で切り替えるというのは :has で書けるな、と思ったのだけど、自分のブログに置こうとすると、ページ遷移ごとにもとに戻ってしまうので、あんまり便利ではなさそうだった。ページ遷移をまたいで何かするなら localStorage とかを使うことになりそうだし、それだったら details タグとか使わずに最初から JavaScript を書いたらよさそう、となってしまった。何かうまい方法があったりするんだろうか………
1年前
記事のアイキャッチ画像
Google Chromeのサイト内検索(検索のショートカット)機能を便利に使う
hogashi.*
+三行 Google Chrome には、「サイト内検索」という機能があり、好きなキーワード + 検索語で、好きな検索 URL をつくれる 検索のショートカットのような機能 特定のサイト内検索 URL をつくるだけじゃなくて、規定の検索エンジンの検索 URL をつくっても良い 検索 URL だけじゃなくて、自由な URL をつくっても良い 使い方には注意 目次 三行 目次 サイト内検索という機能がある 規定の検索エンジンの URL でも良い 検索 URL じゃなくても良い 意図しない URL にしてしまわないよう注意 追記 Firefox にもある %s も入れずに使う サイト内検索という機能が…
1年前
記事のアイキャッチ画像
拡張機能「twitter画像原寸ボタン」v5.3.0公開
hogashi.*
+拡張機能「twitter画像原寸ボタン」 v5.3.0 を公開しました。画像ページで Ctrl-s/Cmd-s を押したときの保存されるファイル名を修正する機能を削除しています。 機能削除はあまり歓迎されないものと認識しています。そのために今まで残していましたが、メンテナンスしていくにあたって考えることを減らすためにやはり削除しました。削除するに至った理由は以下です。 まず少し前に、 URL パスが hogehoge.jpg:orig から hogehoge?format=jpg&name=orig のような書式に変わり、この場合はファイル名を修正しなくても (hogehoge.jpg-ori…
2年前
記事のアイキャッチ画像
拡張機能「twitter画像原寸ボタン」v5.2.1公開
hogashi.*
+拡張機能「twitter画像原寸ボタン」 v5.2.1 を公開しました (数日のうちに更新されるはず) 。 公式 Web でたまに画像が webp で表示されることがあり、その場合は name=orig での表示ができないようなので、 webp のときに限ってかわりに name=4096x4096 を使うようにしました *1 。手元で確認した限り、同じ仕様 *2 で表示できるようなので、拡張機能としての挙動の変化は URL やファイル名が変わるくらいのもので、基本的な体験は変わりません。 ついでに、ダークモードのとき Original ボタンが見えないことがあったので修正しました。表示はされて…
2年前
記事のアイキャッチ画像
hogashi.*
我々は香りを忘れつつある— シャッカ (@hogextend) 2022年5月14日
2年前
記事のアイキャッチ画像
marquee 入れ子 どうなる
hogashi.*
<marquee scrollamount="1" direction="right"> <div style="width: 100px; height: 100px; background-color: green;"></div> </marquee> <marquee scrollamount="10" direction="right"> <marquee scrollamount="9"> <div style="width: 100px; height: 100px; background-color: green;"></div> </marquee> </marquee> <…
2年前
記事のアイキャッチ画像
hogashi.*
分割キーボード使ったりはしてるけどトラックパッドは右手で使うので結局なんとなく体の力の入り方のバランスが取れてないな〜と思っていたけど、こと Magic Trackpad に限っていえば左右どっちの手で使っても特に困ることないことに気付いた。ここ数年で上位に入る気付き。早速左手で使い始めているけど自然と右手が出てしまっておもしろい。
2年前
記事のアイキャッチ画像
+Chrome113でHTTPヘッダを上書きしていろんな状態をお試しできる
hogashi.*
Chrome 113 で、 DevTools の Network ペインで HTTP ヘッダを好きなように編集して、いろんな状態をお試しできるようになっている。 What's New in DevTools (Chrome 113) - Chrome Developers で紹介されている。 GitHub から example.com を fetch してみる GitHub の CSP ヘッダを上書き example.com の CORS のヘッダを上書き 途中で指定したフォルダの中身は何? 上書きをやめるには? 感想 GitHub から example.com を fetch してみる 試し…
2年前
記事のアイキャッチ画像
イヤホン / 考え過ぎる
hogashi.*
+外出すると、たいていイヤホンをつけている。これは高校か大学のころに身につけ始めた技で、周りの音を小さくしたり、単に"ながら"にできる時間で曲やポッドキャストを聞いたりすることが積極的な動機。近年気付きつつある消極的な動機に、頭が自由に思考を進めることを抑制するような効果がある。…
2年前
\ No newline at end of file diff --git a/blogs/09829cea8d10b2c19db4cac26adc3d3f/index.html b/blogs/09829cea8d10b2c19db4cac26adc3d3f/index.html new file mode 100644 index 000000000000..ccce776cfc7f --- /dev/null +++ b/blogs/09829cea8d10b2c19db4cac26adc3d3f/index.html @@ -0,0 +1,61 @@ +dwango on GitHubのフィード|JSer.info Watch List RSS

dwango on GitHub

https://dwango.github.io/

ドワンゴ社内の様子や、文化、技術をご紹介します。

フィード

記事のアイキャッチ画像
新卒エンジニアが語る、ドワンゴの2024年エンジニア研修体験記
dwango on GitHub
こんにちは。2024年新卒エンジニアのhayapo(@hayapo)です。 本記事では4月中旬~7月末の約3ヶ月間受けたドワンゴの2024年新
2ヶ月前
記事のアイキャッチ画像
新ランキングでのランキング過去ログファイル利用方法
dwango on GitHub
【重要】ランキング過去ログファイル 提供終了のお知らせ 下記の通り、本APIは2024年11月13日(水)をもって提供を終了しました。 いつもニコ +
3ヶ月前
記事のアイキャッチ画像
フォロー新着: 多様なサービスに対応したタイムラインシステムの技術的変遷
dwango on GitHub
こんにちは。ニコニコ共通バックエンド開発担当の小野塚です。 2024年8月8日から順次「フォロー新着」機能がリリースされましたので、技術的な側
5ヶ月前
記事のアイキャッチ画像
ニコニコ動画 iOS アプリでの Xcode Cloud の活用
dwango on GitHub
はじめに こんにちは。ニコニコ開発部で ニコニコ動画 iOS アプリ を開発している兎澤です。 ニコニコ動画 iOS アプリでは2023年末より Jenkins から Xcode Cloud への移行を
6ヶ月前
記事のアイキャッチ画像
ニコニコ動画のコード改善の歩み
dwango on GitHub
+はじめに こんにちは。ニコニコ動画開発の小池です。 私の所属するチームではニコニコ動画の動画サービスのサーバーサイドをメインに担当しております。
1年前
記事のアイキャッチ画像
楕円曲線暗号方式の強度について
dwango on GitHub
※本ブログは2024/2に執筆されています。そのため、アップデートによってここに記載されている内容が現状と乖離する可能性があります。記載する
1年前
2023年新卒エンジニア研修
dwango on GitHub
はじめに 2023年新卒エンジニアの武智です。 今回は2023年新卒エンジニアが3ヶ月間共通で受けた研修について、研修の内容と感想を記事にしよう
1年前
記事のアイキャッチ画像
仕様と実装から読み解くHTMLのloading属性
dwango on GitHub
+こんにちは。ニコニコQセクションのHajime-san(GitHub)です。 本稿では、HTMLのloading属性の仕様とブラウザの実装を解
1年前
記事のアイキャッチ画像
共通通知システムを刷新しました
dwango on GitHub
こんにちは。ニコニコ共通バックエンド開発担当の小野塚です。 ニコニコには各ファミリーサービスが使っている共通通知システムがあります。このシステ
1年前
ニコニコ動画iOSアプリ 改善の歴史
dwango on GitHub
はじめに こんにちは。ニコニコ開発部で、動画スマホアプリ開発を担当している秋元です。 私たちのチームでは、いくつかのスマホアプリを開発しています
1年前
記事のアイキャッチ画像
型安全なURL生成ライブラリ url-from を公開しました
dwango on GitHub
+こんにちは。ニコニコ生放送生放送フロントエンドシステムセクションのmisuken(GitHub/Twitter)です。 今回は最近公開したur
2年前
記事のアイキャッチ画像
ニコニコの就業型インターンでサーバーサイドの開発に参加してきました!
dwango on GitHub
はじめに はじめまして!同志社大学大学院 理工学研究科に所属しています、修士2年のbe3(@Blossomrail)です。 私は、2023年の1月
2年前
記事のアイキャッチ画像
ニコニコ超会議2023でCTOと若手エンジニアがドワンゴについて語りました!
dwango on GitHub
はじめに こんにちは。ニコニコ開発部のHikamayoと、教育事業本部のlenです。 2023/4/29と4/30に幕張メッセで行われたニコニコ
2年前
記事のアイキャッチ画像
ニコニコ動画のコメントサーバーを引っ越した時の話
dwango on GitHub
+こんにちは。ニコニコ動画開発の多胡です。 今回は PHPerKaigi2023 向けの記事として、2021年に実施したニコニコ動画のコメントサーバーをお引越しした時のことを
2年前
記事のアイキャッチ画像
Service WorkerとCache APIによるWebサーバーの負荷軽減とテスト実装について-後編
dwango on GitHub
ニコニコQセクションのHajime-san(GitHub)です。 本記事は、Service WorkerとCache APIによるWebサーバーの
2年前
記事のアイキャッチ画像
Service WorkerとCache APIによるWebサーバーの負荷軽減とテスト実装について-前編
dwango on GitHub
こんにちは。ニコニコQセクションのHajime-san(GitHub)です。 当記事では所属部署で開発に携わっている「ニコニコオーディション」
2年前
記事のアイキャッチ画像
社内発表で『AIによる画像生成勉強会』を開催しました!
dwango on GitHub
この記事は『ドワンゴ Advent Calendar 2022』 23日目の記事です。 社内発表で『AIによる画像生成勉強会』を開催しました こんにちは、動画コアシステムセクシ
2年前
記事のアイキャッチ画像
Sass製SVG爆速表示ライブラリのご紹介
dwango on GitHub
こんにちは。ニコニコ生放送生放送フロントエンドシステムセクションのmisuken(GitHub/Twitter)です。 今回は10月に公開した
2年前
記事のアイキャッチ画像
reftest を導入しプロダクト品質改善の土台を整えた話
dwango on GitHub
はじめに ニコニコサービス本部ニコニコ開発部の小野寺と田中です。ニコニコ生放送の開発をしています。 今回は我々のチームで担当しているプロダクトの
2年前
記事のアイキャッチ画像
ニコニコ生放送のBackend For FrontendsをKubernetesに移行した知見を公開します
dwango on GitHub
こんにちは。生放送フロントエンドシステムセクションのHimenon(GitHub/Twitter)です。 ニコニコ生放送のWEBフロントエンド
3年前
記事のアイキャッチ画像
ニコニコの就業型インターンに参加してきました!
dwango on GitHub
はじめに こんにちは。ニコニコでサーバーサイドエンジニアの就業型インターンシップをしていました有馬海人です。 インターンシップに申し込んだ当時は
3年前
記事のアイキャッチ画像
2021年度 エンジニア新入社員研修のご紹介
dwango on GitHub
こんにちは。エンジニアの新入社員研修を担当している青木です。 今回はリモートで行われた2021年度の新入社員研修が、どのような様子だったかをご
3年前
記事のアイキャッチ画像
S3のコストダウンを実施してみた
dwango on GitHub
+※本ブログは2022/2に執筆されています。そのため、アップデートによって内容が現在と異なる可能性があります。 はじめに モバイル事業本部プロダ
3年前
記事のアイキャッチ画像
ドワンゴ21新卒がフルリモートでの入社から機能をリリースするまで
dwango on GitHub
はじめに 2021年新卒エンジニアのHikamayoです。 先日、僕が入社して初めて開発に関わった機能がリリースされました。 ニコニコ動画で、自分
3年前
新ランキングでのランキングRSS利用方法
dwango on GitHub
ジャンルランキングにおけるランキングRSSについて はじめに ニコニコ動画では、ランキングページをRSS形式で取得できる機能を提供しています。 2
6年前
記事のアイキャッチ画像
新ランキングでのランキング過去ログファイル利用方法
dwango on GitHub
+はじめに ニコニコ動画では、過去にどのような動画がランキングに掲載されていたかが分かる機能を提供しています。 これまではプレミアム会員専用機能と
6年前
記事のアイキャッチ画像
社内LT配信システムの紹介
dwango on GitHub
ドワンゴ 技術コミュニケーション室のsaka1です。 この記事では、社内で用いられているLightningTalk(LT)用のライブストリーミン
6年前
記事のアイキャッチ画像
AV1リアルタイムハードウェアエンコーダを開発しました
dwango on GitHub
はじめに AV1はAlliance for Open Media(AOM)が開発しているオープンかつロイヤリティフリーな動画圧縮コーデックです。 従来のコーデッ
6年前
記事のアイキャッチ画像
エンジニアの心技体
dwango on GitHub
+ドワンゴ 技術コミュニケーション室の塩谷( kwappa ) です。 2019年、ドワンゴには19名の新卒エンジニアが入社しました。一般研修やグループ会社との合
6年前
記事のアイキャッチ画像
JANOG43 Report
dwango on GitHub
はじめに Dwango Cloud Service部 Networkセクションの北内です。 2019年1月22日〜25日に行われたJANOG43 Meetingに参加して
6年前
記事のアイキャッチ画像
niconico 改善インターンを終えて
dwango on GitHub
ドワンゴ 技術コミュニケーション室の小枝です。 2018年度のエンジニア向けインターンシップは、niconico改善インターン、研究開発インター
6年前
記事のアイキャッチ画像
VimConf 2018のスポンサーをしました
dwango on GitHub
はじめに こんにちは。 入社2年目のエンジニア、moppです。 2018/11/24にVimConf 2018が開催されました。 昨年のVimConf
6年前
記事のアイキャッチ画像
革新的懇親会アイテム「プルタブフック」のご案内
dwango on GitHub
ドワンゴ 技術コミュニケーション室の塩谷( @kwappa / kwappa@friends.nico )です。 エンジニアにとって勉強会やカンファレンスに参加するのは学びであるとともに楽しみでもあり
6年前
記事のアイキャッチ画像
ゲームを作ってみよう
dwango on GitHub
この文書は 2018 年当時のものです。 最新のニコ生ゲーム作成については https://akashic-games.github.io/shin-ichiba/ をご参照ください。 本ページの内容 本ページは、2018年10月25日~2018
6年前
記事のアイキャッチ画像
ツールを作ってみよう
dwango on GitHub
+この文書は 2018 年当時のものです。 最新のニコ生ゲーム作成については https://akashic-games.github.io/shin-ichiba/ をご参照ください。 本ページの内容 本ページは、2018年10月25日~2018
6年前
記事のアイキャッチ画像
Rust製の分散オブジェクトストレージをOSSとして公開しました
dwango on GitHub
はじめに ドワンゴではniconicoの配信系サービスのバックエンドで利用するために、Frugalosという名前の分散オブジェクトストレージを
6年前
記事のアイキャッチ画像
ニコニコ新市場対応コンテンツ制作ガイド
dwango on GitHub
この文書は 2018 年当時のものです。 最新のニコ生ゲーム作成については https://akashic-games.github.io/shin-ichiba/ をご参照ください。 本ページの内容 本ページでは、2018年10月25日より可能
6年前
記事のアイキャッチ画像
泥棒バスターを改造してみよう
dwango on GitHub
この文書は 2018 年当時のものです。 最新のニコ生ゲーム作成については https://akashic-games.github.io/shin-ichiba/ をご参照ください。 本ページの内容 本ページは、2018年10月25日~2018
6年前
記事のアイキャッチ画像
教育従事プログラマーというキャリアについて
dwango on GitHub
株式会社ドワンゴの教育事業本部でN高等学校のプログラミング教育を担当しているエンジニアのsifueといいます。 N高等学校は2016年にできた
6年前
記事のアイキャッチ画像
UniVRM-0.44のマテリアル
dwango on GitHub
UniVRM-0.44でマテリアル関連の修正と追加があります。 UniGLTF/UniUnlitシェーダーの導入 UniVRM-0.43は以下の
6年前
記事のアイキャッチ画像
+『ニコニコ漫画』『読書メーター』スマートフォンアプリについて【トリスタinside出張版】
dwango on GitHub
はじめまして。トリスタアプリ開発セクションのtukiyoです。普段はAndroidアプリの開発を行っています。 このブログの読者の皆さんには、
6年前
記事のアイキャッチ画像
実験放送の構成 - コメントサーバー編
dwango on GitHub
本ドキュメントの内容はすでに廃止されています。 2019年4月11日をもちまして、実験放送は終了いたしました。 ご意見・ご協力いただき、ありがと
6年前
記事のアイキャッチ画像
Webフロントエンド パフォーマンス改善ハンドブックを公開しました
dwango on GitHub
パフォーマンス改善ハンドブック ウェブページにおけるパフォーマンスに関する問題の見つけ方や考え方の事例をまとめた Webフロントエンド パフォーマ
6年前
記事のアイキャッチ画像
+niconicoの開発者向け情報の公開
dwango on GitHub
本サイトに、ニコニコ動画、ニコニコ生放送他、niconicoに関する開発者向けの情報を掲載するスペースを作成しました。 niconicoの開発
6年前
記事のアイキャッチ画像
実験放送の構成 - コメント編
dwango on GitHub
本ドキュメントの内容はすでに廃止されています。 2019年4月11日をもちまして、実験放送は終了いたしました。 ご意見・ご協力いただき、ありがと
6年前
記事のアイキャッチ画像
Akashic Engineの紹介
dwango on GitHub
はじめに 第二サービス開発本部 第一プロダクト開発部の告原と申します。 ドワンゴには5年程前に入社し、最初のニコキャスに携わった後、この記事で触れ
7年前
記事のアイキャッチ画像
ドワンゴのセミナールームが移転しました
dwango on GitHub
+
2019年6月追記:本記事は過去の情報となっています。ご注意ください。 ドワンゴ 技術コミュニケーション室の塩谷( @kwappa / kwappa@friends.nico )です。 勉強会の会場とし
7年前
記事のアイキャッチ画像
機械学習エンジニアから見たWWDC2018
dwango on GitHub
Dwangoの中の、機械学習の研究開発部署Dwango Media Villageで働くエンジニアの大垣です。 今回はAppleのWWDCに機械学習エンジ
7年前
記事のアイキャッチ画像
VRMFirstPersonの使い方
dwango on GitHub
VRMFirstPersonの設定 VRMFirstPersonではRendererに対して設定があります。 FirstPersonFlag レイヤー 備考 Both default 一人称と三人称で
7年前
記事のアイキャッチ画像
APIの変更履歴
dwango on GitHub
プログラムに影響のある変更についてです。 最新バージョンはUniVRM/Wikiをご覧ください。 v0.36 テクスチャ名の格納位置の修正 GLTFの仕様に
7年前
記事のアイキャッチ画像
UniVRMでよくある質問
dwango on GitHub
エラーの報告 コンソール画面の内容をご確認ください。 コンソール画面はメニューから表示できます。 表示されたコンソール画面にエラーメッセージ(赤い
7年前
「VRM」って何?どんなことができる?
dwango on GitHub
「VRM」とは VR(Virtual Reality)やVTuberなどにおいて**「キャラクターや人型のアバター(の3Dモデル)」**を取り扱おうとした場合、従
7年前
記事のアイキャッチ画像
BlendShapeを操作する
dwango on GitHub
+スクリプトからBlendShapeを適用する var proxy=GetComponent<VRMBlendShapeProxy>(); // enumで呼び出し proxy.SetValue(BlendShapePreset.A, 1.0f); // 0から1で指定 // stringで呼び出し proxy.SetValue("A", 1.0f); 複数のBlendShap
7年前
記事のアイキャッチ画像
gltf VRM extension
dwango on GitHub
+Contributors dwango Status DraftDependencies Written against the glTF 2.0 spec.Overview This extension defines Humanoid model for VR.human bone definitions standard morphs secondary animation annotations mesh visibilities for first person view glTF Schema Updates This extension adds:JSON Schema TODO: Links to the JSON schema for the new extension properties.Known Implementations TODO: List of known implementations, with links to each if available. Resources TODO: Resources, if any.
7年前
記事のアイキャッチ画像
GLTFについて
dwango on GitHub
glTFはOpenGLの仕様策定をしているKHRONOSによる3Dフォーマットです。2017年にVersion2が策定されました。 VRMはg
7年前
記事のアイキャッチ画像
MToon
dwango on GitHub
Shader preloadingの設定 MToonの使い方 MToon について MToon は日本のアニメ的表現をすることを目標としています。 主色 (Lit Color) と陰色 (Shade Color) の 2 色を、Li
7年前
記事のアイキャッチ画像
UniVRMで使えるシェーダー
dwango on GitHub
UniVRM-0.44のマテリアル PBR Standardシェーダー Unity標準です。 Unlit系シェーダー VRM/UnlitTexture UnityのUnit/Textur
7年前
記事のアイキャッチ画像
UniVRMのインストール
dwango on GitHub
+Unity Version Unity5.6以降をサポートしています。 インストール Assets/VRMにインストールします。 既存のVRMが存在している場合、あらかじ
7年前
記事のアイキャッチ画像
UniVRMの座標系変換について
dwango on GitHub
UniVRMは、インポート・エクスポート時に自動でGLTFとの座標変換を実行しています。 VRMの座標系 VRMはGLTFの拡張なので、GLTF
7年前
UniVRMモデルのワークフロー
dwango on GitHub
ワークフロー humanoid avatarがセット済みの人間型モデルを用意します Fbx等のUnityのHumanoidモデルを用意してください。 FbxのIm
7年前
記事のアイキャッチ画像
VRMSpringBone
dwango on GitHub
+揺れモノ設定。 コンポーネントのアタッチされるノード VRMをインポートしたとき、揺れモノ関連のコンポーネントは以下のようにアタッチされます。 V
7年前
記事のアイキャッチ画像
VRMのT-Poseについて
dwango on GitHub
VRMの第1実装のUnityのHumanoidに準拠したT-Pose1を採用しています。 T-Poseの例 胴体と頭・足については自明ですが、腕
7年前
記事のアイキャッチ画像
VRMファイルが使えるアプリケーションは?
dwango on GitHub
3Dキャラクター投稿プラットフォーム ザ・シードオンライン ニコニ立体 VRoid Hub キャラメイクツール Vカツ VRoid セシル変身アプリ 配信ツール バーチャルキャスト
7年前
記事のアイキャッチ画像
VRMファイルを作ってみたい
dwango on GitHub
VRMファイルのつくりかた(既存3Dモデルからのコンバート) VRMファイルをつくるためには、UnityとUniVRMを使用します。 おおまかな
7年前
記事のアイキャッチ画像
VRMファイルを眺めてみたい
dwango on GitHub
VRMファイルの読み込みかた UniVRMTest/releasesからVRMファイルのビューアーアプリケーションをダウンロードしてください。
7年前
記事のアイキャッチ画像
VRMモデルを実行時にインポートする
dwango on GitHub
最新バージョンはこちらをご覧ください。 Unityで実行時にモデルをインポートする方法です。 ファイルパスからVRMを開く var path="sample.vrm"; var go=VRM.VRMImporter.LoadFromPath(path); Debug.LogFormat("loaded {0}", go.name); ファイル
7年前
記事のアイキャッチ画像
VRM仕様
dwango on GitHub
glTF-2.0のバイナリ形式glbをベースにした、VR向けモデルフォーマットです。 更新履歴 20181109: JsonShcemaのVector3のタイプが
7年前
記事のアイキャッチ画像
ブレンドシェイプの設定
dwango on GitHub
UniVRM v0.45で導入された新機能はこちらをご覧ください。 VRMBlendShapeProxy 実行時のVRMBlendShapeProxyのインスペクタ。Editorをプレイ状態
7年前
記事のアイキャッチ画像
モデル情報
dwango on GitHub
VRMMeta VRMMetaコンポーネント 情報(Information) タイトル(Title) アバターモデルの名前を設定します 作者(Author) モデル
7年前
記事のアイキャッチ画像
一人称表示
dwango on GitHub
+VRMFirstPerson 一人称表示に関連する設定です。 FirstPersonBone 通常頭ボーンを指定します。 一人称時にヘッドセットに追随させるボーンです。 FirstPersonOffset 追随する位置をFirstPers
7年前
記事のアイキャッチ画像
視線制御
dwango on GitHub
VRMLookAtHead VRMLookAtHead このコンポーネントは頭から見たTargetの方向を計算します。 Target 注視する対象物です。目を向けたい場所にあるオブジェクトをセットしてくださ
7年前
記事のアイキャッチ画像
Harekaze CTF 2018のスポンサーをしました
dwango on GitHub
はじめに 第二サービス開発本部 研究開発部の鷹取です。 私は個人的にCTFチーム Harekazeに所属しています。 チームHarekazeでは、20
7年前
記事のアイキャッチ画像
いきのこれ!社畜ちゃん3巻のプログラム作成をお手伝いした時の話
dwango on GitHub
技術コミュニケーション室の中山です。 2017年11月に発売されたいきのこれ! 社畜ちゃん(3)のプログラミング講座にて、プログラム作成をお手伝
7年前
記事のアイキャッチ画像
とあるクエリを2万倍速にした話 -データベースの気持ちになる- 後編
dwango on GitHub
技術コミュニケーション室 OSSグループの髙﨑です。 本記事は、とあるクエリを2万倍速にした話 -データベースの気持ちになる- 前編の続きです。 前回
7年前
記事のアイキャッチ画像
とあるクエリを2万倍速にした話 -データベースの気持ちになる- 前編
dwango on GitHub
技術コミュニケーション室 OSSグループの髙﨑です。 当グループでは、マストドンというオープンソースの分散型マイクロブログについて、 弊社が運営す
7年前
記事のアイキャッチ画像
超歌舞伎に登場する初音ミクさんの美麗な舞を高品質なままMicrosoft HoloLensで鑑賞する技術
dwango on GitHub
TL;DR(とても長いのでまとめ) HoloLensの3D計算能力は限られているので、美麗なミクさんを美麗なまま鑑賞するために細々とした工夫を
7年前
記事のアイキャッチ画像
白黒漫画にDeep Learningで着色する ~参照画像を使って~
dwango on GitHub
この記事はドワンゴアドベントカレンダー26日目(延長戦!)の記事です。 私は、Dwango Media Villageで研究を行なっている古澤です。Dwa
7年前
記事のアイキャッチ画像
エンジニアが読みたくなる職務経歴書
dwango on GitHub
この記事はドワンゴ Advent Calendar 2017 24日目の記事です。メリークリスマス! ドワンゴ 技術コミュニケーション室の塩谷( @kwappa / kwappa@friends.nico )です。 先日、技術コミュニケーシ
7年前
記事のアイキャッチ画像
RubyWorld Conference 2017に参加してきました
dwango on GitHub
ドワンゴ 技術コミュニケーション室の塩谷( @kwappa / kwappa@friends.nico )です。 11月1日と2日に島根県松江市で開催された「RubyWorld Conference 2017」に参加してき
7年前
記事のアイキャッチ画像
VimConf 2017のスポンサーをしました
dwango on GitHub
はじめに こんにちは。 第二サービス開発本部所属、新卒エンジニアのmoppです。 先日(2017/11/04)にVimConf 2017が開催され、
7年前
記事のアイキャッチ画像
ニコニコ生放送におけるdockerの活用事例
dwango on GitHub
この記事はdwango エンジニア ブロマガの記事を再収録したものです。 はじめに はじめまして。ニコニコ生放送でマイクロサービスチームのグループリ
7年前
記事のアイキャッチ画像
riapi.nicovideo.jp APIサーバの廃止と移行のお知らせ
dwango on GitHub
こんにちは、ニコニコ動画開発チームからのお知らせです。 運用状況の都合により、 riapi.nicovideo.jp のAPIサーバは 2018年1月31日をもちまして機能を停止させ
7年前
記事のアイキャッチ画像
dwango.github.io を公開しました
dwango on GitHub
ドワンゴ 技術コミュニケーション室の塩谷( @kwappa / kwappa@friends.nico )です。 ドワンゴではエンジニアブログとして自社プロダクトである「ブロマガ」を使ってきました。し
7年前
\ No newline at end of file diff --git a/blogs/0a562062a428615c736fe21821f18918/index.html b/blogs/0a562062a428615c736fe21821f18918/index.html new file mode 100644 index 000000000000..009f784be6b6 --- /dev/null +++ b/blogs/0a562062a428615c736fe21821f18918/index.html @@ -0,0 +1,225 @@ +HTMHellのフィード|JSer.info Watch List RSS

HTMHell

フィード

記事のアイキャッチ画像
datalists are more powerful than you think
HTMHell
+by Alexis DegryseI think we all know the <datalist> element (and if you don’t, it’s ok). It holds a list of <option> elements, offering suggested choices for its associated input field.It’s not an alternative for the <select> element. A field associated to a <datalist> can still allow any value that is not listed in the <option> elements.Here is a basic example:Pretty cool, isn't it? But what happens if we combine <datalist> with less common field types, like color and date:<label for="favorite-color">What is your favorite color?</label><input type="color" list="colors-list" id="favorite-color"><datalist id="colors-list"> <option>#FF0000</option> <option>#FFA500</option> <option>#FFFF00</option> <option>#008000</option> <option>#0000FF</option> <option>#800080</option> <option>#FFC0CB</option> <option>#FFFFFF</option> <option>#000000</option></datalist>Colors listed in <datalist> are pre-selectable but the color picker is still usable by users if they need to choose a more specific one +
1ヶ月前
記事のアイキャッチ画像
Boost website speed with prefetching and the Speculation Rules API
HTMHell
+by ScheppEverybody loves fast websites, and everyone despises slow ones even more. Site speed significantly contributes to the overall user experience (UX), determining whether it feels positive or negative. To ensure the fastest possible page load times, it’s crucial to design with performance in mind. However, performance optimization is an art form in itself. While implementing straightforward techniques like file compression or proper cache headers is relatively easy, achieving deeper optimizations can quickly become complex.But what if, instead of solely trying to accelerate the loading process, we triggered it earlier—without the user noticing?One way to achieve this is by prefetching pages the user might navigate to next using <link rel="prefetch"> tags. These tags are typically embedded in your HTML, but they can also be generated dynamically via JavaScript, based on a heuristic of your choice. Alternatively, you can send them as an HTTP Link header if you lack access to the HT +
1ヶ月前
記事のアイキャッチ画像
Misleading Icons: Icon-Only-Buttons and Their Impact on Screen Readers
HTMHell
+by Alexander MuzenhardtIntroductionImagine you’re tasked with building a cool new feature for a product. You dive into the work with full energy, and just before the deadline, you manage to finish it. Everyone loves your work, and the feature is set to go live the next day.<button> <i class="icon">📆</i></button>The ProblemYou find some good resources explaining that there are people with disabilities who need to be considered in these cases. This is known as accessibility. For example, some individuals have motor impairments and cannot use a mouse. In this particular case, the user is visually impaired and relies on assistive technology like a screen reader, which reads aloud the content of the website or software. The button you implemented doesn’t have any descriptive text, so only the icon is read aloud. In your case, the screen reader says, “Tear-Off Calendar button”. While it describes the appearance of the icon, it doesn’t convey the purpose of the button. This information is me... +
1ヶ月前
記事のアイキャッチ画像
The underrated &lt;dl&gt; element
HTMHell
+by David LuhrThe Description List (<dl>) element is useful for many common visual design patterns, but is unfortunately underutilized.It was originally intended to group terms with their definitions, but it's also a great fit for other content that has a key/value structure, such as product attributes or cards that have several supporting details.Developers often mark up these patterns with overused heading or table semantics, or neglect semantics entirely. With the Description List (<dl>) element and its dedicated Description Term (<dt>) and Description Definition (<dd>) elements, we can improve the semantics and accessibility of these design patterns.The <dl> has a unique content model:A parent <dl> containing one or more groups of <dt> and <dd> elementsEach term/definition group can have multiple <dt> (Description Term) elements per <dd> (Description Definition) element, or multiple definitions per termThe <dl> can optionally accept a single layer of <div> to wrap the <dt> and <dd> +
1ヶ月前
記事のアイキャッチ画像
Preloading fonts for web performance with link rel="preload"
HTMHell
+by Alistair ShepherdWeb performance is incredibly important. If you were here for the advent calendar last year you may have already read many of my thoughts on the subject. If not, read Getting started with Web Performance when you’re done here!This year I’m back for more web performance, this time focusing on my favourite HTML snippet for improving the loading performance of web fonts using preloads. This short HTML snippet added to the head of your page, can make a substantial improvement to both perceived and measured performance.<link rel="preload" href="/nova-sans.woff2" as="font" type="font/woff2" crossorigin="anonymous">Above we have a link element that instructs the browser to preload the /nova-sans.woff2 font. By preloading your critical above-the-fold font we can make a huge impact by reducing potential flashes of unstyled or invisible text and layout shifts caused by font loading, like here in the following video:Recording of a page load illustrating how a font loading late +
1ヶ月前
記事のアイキャッチ画像
The search input: They almost got it right
HTMHell
+by Steve FrenzelThis example is a classic - in a bad way - and can cause quite some confusion for users of assistive technology (AT). But it's also very easy to fix! It's the <input> element missing its dear friend, the <label>... 😭Bad code<input placeholder="Search" />It's not relevant for this article, but here's the "button" to submit the content of the <input>:<div class="_icon_1f3oz_44"> <span title="" class="gl-icon__wrapper" role="img"> <svg class="gl-icon"> <use xlink:href="#search"></use> </svg> </span></div>The cherry on top: It's not even wrapped inside a <form> element, so it's very likely that the submit is handled via JavaScript. 🍒So what's the issue with this <input> element? In theory, having a placeholder instead of a <label> element is only a temporary solution! Once you've typed something, the placeholder gets replaced with whatever you've typed.This could be a big issue for screen reader users. Let's check how different screen readers handle this kind of situation... +
1ヶ月前
記事のアイキャッチ画像
The devil is in the &lt;details&gt;
HTMHell
+by J. Pedro RibeiroNot too long ago, building an accordion component would require you to use a combination of JavaScript and CSS. If you've been around for as long as I have, you might have used a library like jQuery or Mootools."vanilla", your code would look something like this:<div class="my-js-accordion"> <span>Learn more about accordions</span> <p class="hidden">Accordions encapsulate content under a heading.</span></div>.hidden { display: none; }document.querySelectorAll(".my-js-accordion").forEach((accordion)=>{ accordion.querySelector("span").addEventListener("click", (e)=>{ accordion.querySelector("p").classList.toggle("hidden"); });});And it would work as you expected:→ Learn more about accordions Accordions encapsulate content under a heading.→ This one was built with JS and CSS We needed JavaScript and CSS to make this work. Click the heading again to close it.→ Each accordion on this example works independently For any other advanced feature, more JavaScript will be neede +
2ヶ月前
記事のアイキャッチ画像
PSA: Stop using the title attribute as tooltip!
HTMHell
+by Daniela KubeschIt's almost 2025, so it's time to stop using the title attribute everywhere. Images, text, buttons, ... you name it, devs really like to put it on any element in sight. Most of the time, people actually want to create a tooltip. You know, that little bubble of information designed to clarify the purpose of otherwise unclear elements, that pops up attached to an element when its receives focus or a user hovers their mouse over it.The identifying thing about tooltips is that they contain no interactive elements (aka. only plain text), and are always attached to existing interactive elements.tooltip, but toggletip. Toggletips can contain semantic markup, rich content and interactive elements, and usually only appear when an element is clicked. The great thing about toggletips is that they're accessible on touchscreens and easier to find and recognise for users with low vision.So depending on your use case, you need to implement a tooltip or a toggletip.But let's circle b +
2ヶ月前
記事のアイキャッチ画像
Grouping form fields
HTMHell
+by Matthias KittsteinerWhen I first stumbled upon fieldset and legend, I didn’t know much about HTML and especially not about accessibility. Everything I noticed was the special way a legend is displayed inside a fieldset – or rather: alongside the border of a fieldset.Fast forward to (kind of) today: while working on a contact form, I first could get my hands on this element and learned more about it.What is a fieldset?Every so often I’m surprised how well chosen names in HTML are. fieldset is no exception here. It’s basically a list of form fields (inputs, selects, textareas). It groups all fields inside of it, and makes it a set of fields. And the legend is used as caption of the fieldset (and ultimately it becomes a caption for all of the grouped form fields).A simple example of a fieldset looks like this:<fieldset> <legend>Date</legend> <label for="date-month">Month</label> <input name="date[month]" type="number" id="date-month"> <label for="date-day">Day</label> <input name="date +
2ヶ月前
記事のアイキャッチ画像
My favourite colour is Chuck Norris red
HTMHell
+by Declan ChidlowSetting the colour of text on a webpage is usually a simple affair involving whipping it out the good ol' CSS color property. But this is HTMHell, dammit. None of that wishy-washy CSS nonsense here. No siree. We use HTML as the good lord intended and shalln't stray into the sins of cascading sheets lest we end up some non-HTML variant of hell where they define page structure with JavaScript vars.But HTML isn't great for defining styles -- or at least, it isn't anymore. If we wind back the clocks a few years to HTML versions of old, we find the colour attribute. If you've been around for a while, you've no doubt seen it. Something like this:<font color="#d72b2b">HTMHell rules!</font>HTMHell rules!If we render that in a browser, we get some text in the lovely HTMHell red. That's great. That's what we'd expect. Next we'll choose another colour. Something a bit different. Let's try 'chucknorris'.<font color="chucknorris">But... Chuck Norris isn't a colour.</font>But... Chu +
2ヶ月前
記事のアイキャッチ画像
Getting Oriented with HTML Video
HTMHell
+by Scott JehlA couple years back, I was in a window seat on a flight from Amsterdam to New York. The weather was gray and drizzly as the plane took off, but as it punched through the clouds a very different scene revealed itself. Out my window, it looked like a Maxfield Parrish painting brought to life. And the plane's speed made it appear to scroll by with this uncanny effect, like a parallax effect that used the wrong easing function. Mesmerizing! I pulled out my phone and recorded a couple of videos.One in landscape:And one in portrait:I didn't realize at the time that those video orientations would come in handy for a little post on this website.Let's jump ahead a year to mid 2023. For years, many of us had been advocating for a simple, HTML-based way to serve video files in different sizes and formats using media queries—essentially how the picture element handles images. I won't rehash the entire history here, but that concept wasn't new or mine to claim. In fact, we once had exa +
2ヶ月前
記事のアイキャッチ画像
Microdata for books
HTMHell
+by Alan DaltonDive into marking up booksBooks are the best Christmas presents, especially for us web geeks. (I hope you’ll find a Web Accessibility Cookbook in your Christmas stocking, gentle reader.) Unfortunately, A Book Apart closed this year. Fortunately, the authors reacquired the rights to their books.To track the authors’ preferred ways of making their books available, I created an “Authors Apart” webpage. For the HTML, I recalled the “‘Distributed,’ ‘Extensibility,’ & Other Fancy Words” chapter of Mark Pilgrim’s seminal Dive Into HTML5, which explains HTML’s microdata features. Mark wrote that article 13 years ago with a focus on Google Rich Snippets, and so I also referred to his unofficial guide to migrating Google Rich Snippets to schema.org and the more recent “Book” schema from Schema.org. Armed with that knowledge, here’s how I structured the HTML for each book to convey the name, URL, author’s name, author’s URL, original publishing date, date when the book was updated ( +
2ヶ月前
記事のアイキャッチ画像
How I gained a new perspective on ARIA
HTMHell
+by Marco BretschneiderCan you remember the day you first learnt about ARIA? Maybe the first fact you learnt about ARIA was the first rule “Don't use ARIA, use native HTML instead“ - and so did I.As someone who has been able to speak native HTML for many years, I always thought that ARIA is not relevant for a developer like me.My “Wait a minute” momentWith the entry into force of the European Accessibility Act, accessibility has also become more important in our products, which are mainly used internally by banks.<nav> <ul> <li> <a href="#">First navigation link</a> </li> <li> <a href="#" class="active">Second navigation link</a> </li> <!-- more navigation links --> </ul></nav>.active { /* Highlight the selected navigation entry */}When it comes to supporting people with visual impairments, it is our job as developers to convey as much information as possible that we also display to sighted people.The code example above represented in the accessibility tree The information that the seco +
2ヶ月前
記事のアイキャッチ画像
You don’t need the isOpen class
HTMHell
+by Maureen HollandDon’t get me wrong. You can keep it if you like it. But you don’t need it.A class selector can allow us to visually show or hide content for disclosure widgets, like a custom select component or dropdown navigation menu. But a disclosure widget is made of two parts:A button that controls show/hide behaviourRelated content that is shown or hidden depending on the button stateWhether the isOpen class is applied or not, a screenreader would announce this button as "Click me!, button".<button>Click me!</button><p class="isOpen">Content that displays depending on a conditionally applied class.</p>One of the principles of web accessibility is to be perceivable. That means not relying exclusively on one sense, like sight, to provide information. In the above case, if I can’t see the content being shown or hidden, how do I know my button click did anything?We need a corresponding semantic update to indicate what happened. This is what the aria-expanded attribute provides.The +
2ヶ月前
記事のアイキャッチ画像
The Gift You Do NOT Want: A Div in a Button's Clothing
HTMHell
+by Corina MurgWith the right CSS makeup and a click event, almost anything can pretend to be a button. In accessibility work, we spot these fakes and fix them, but teaching others why and how to do it is just as important. It’s not just about correcting a single mistake; it’s about introducing developers to accessibility concepts and approaches that they can comfortably return to and reuse across all their projects. More importantly, it encourages them to think beyond the sighted user with a mouse and consider the needs of those who rely on assistive technologies.Really, How Bad Can a Fake Button Be?!So, how do we answer this question? I used to demo the problems using a screen reader, but I've found that it can be overwhelming for developers new to accessibility. I prefer now a different approach, using simpler tools: the keyboard and the accessibility tree. They are easy to pick up and give developers a good feel for what’s really going on.No, the message is not to avoid screen reade +
2ヶ月前
記事のアイキャッチ画像
Page by Page: How Pagination Makes the Web Accessible
HTMHell
+by Kristin RohlederImagine you’re reading a book that seems perfect for cozy winter evenings. But as soon as you turn the page, you suddenly find yourself somewhere else, rather than on the next page of the story. Now, you have to painstakingly search through the book to find where the story continues — as if someone had bound the pages in the wrong order.For about 16% of the world’s population (roughly the population of China), the web often feels like a maze. People who rely on assistive technologies experience the web like a poorly bound book, one they must tediously navigate page by page rather than simply moving to the next relevant section.Another example: imagine you're searching on Google and find the answer on page 2. However, to get there, you first need to enter the Konami Code to unlock the link. Such obscured navigation elements are, unfortunately, a daily reality for many web users.While an accessible pagination doesn't make the entire web accessible, it does ensure that +
2ヶ月前
記事のアイキャッチ画像
Improving User Experience for Multilingual Web Browsing
HTMHell
+by Anastasiia BatareiToday, I’d like to talk about the experience of browsing websites where content is fully or partially in a language different from the user’s native one. This situation is common for users navigating government portals or local service providers in a country where they don't speak the language well, and for international marketplaces, where essential information might appear in unfamiliar language. Or just a user has a different language preference set in their browser because it's convenient for them. In these cases, users often rely on the browser’s auto-translate feature, which many modern browsers offer by default. When you open a page in a different language from your preferred setting, the browser will prompt you to translate it automatically.Browser auto-translation relies on the lang attribute set on the HTML element:<html lang="en"></html>However, automatic translations can sometimes be inaccurate or misleading, especially when it comes to proper and brand +
2ヶ月前
記事のアイキャッチ画像
HTML and CSS I didn't even know about before I started creating content in Japanese
HTMHell
+by Julia UndeutschSince I started to create content in Japanese, I also wanted to learn about traditional setups, like having Japanese text flow from top to bottom, right to left, like you’d see in newspapers or novels. That's when I discovered CSS properties like writing-mode: vertical-rl and HTML tags like <ruby>, which add furigana (phonetic guides) over kanji characters.Honestly, I’d never used these properties before and almost forgot they even existed! But now that I’ve dived into them, I’ll break down how you can implement them step-by-step to get that traditional Japanese look.That's the text we'll work with. It means "Example of vertical text. Japanese culture is very rich.":Step 1: Setting Up Vertical Text with CSSFirst up, we’ll make the text flow vertically from right to left, top to bottom. The CSS property writing-mode: vertical-rl is perfect for this. It’s how you make Japanese text look like it’s traditionally printed..vertical-text { font-size: 2rem; /* Adjust font siz +
2ヶ月前
記事のアイキャッチ画像
Makeshift hot reload
HTMHell
+by Evan HahnIn short: put <meta http-equiv="refresh" content="1"> in your <head> element to refresh your page every second. This is a makeshift "hot reload" for development. It's not perfect, but it can be a quick solution!Hot reloading automatically reloads parts of your page while you're working. Change some HTML and see your work instantly! Tweak some CSS and the results are right there! Gone are the days of repeatedly switching to your browser to refresh, because hot reload takes care of it.It's called "hot" reloading because it's hot. It's powerful. Everyone loves it.But here's the problem: hot reload requires fancy build tooling. It's built into tools like Vite, Parcel, and various editor plugins. But what if you aren't using one of these? What if you're writing HTML the way God intended: by editing some damn files on disk? In other words, without a build tool?Can you still get that hot, hot reloading?Home-grown hot reloadYou can create a makeshift hot reload by putting this some +
2ヶ月前
記事のアイキャッチ画像
Submit to the Quirks of HTML
HTMHell
+by Felix HessenbergerIt was on a cold February evening. I had been working on a client project, building an order item list—nothing out of the ordinary. To adjust an item’s quantity, the user would open a popup form with a single input field, type a number, and hit enter.<form> <label> Quantity <input type="number"> </label></form>Everything worked as intended when suddenly, a new requirement came in: add another input field to also set a bulk quantity. I did what I was told, but to my horror, the form wouldn’t submit anymore with the new field displayed! 😱I checked the browser console for any JavaScript errors and double-checked my markup, but to no avail. A quick detour to Stack Overflow shed light on the situation: according to the HTML 2.0 spec, it's a feature, not a bug:When there is only one single-line text input field in a form, the user agent should accept Enter in that field as a request to submit the form.Some Web archeology later, I found myself pretty deep down the rabbit... +
2ヶ月前
記事のアイキャッチ画像
Native HTML light and dark color scheme switching
HTMHell
+by Vadim MakeevIt’s getting dark early in Berlin in the winter. It’s not even close to evening, but my OS and all apps have already switched to dark mode. Well, not all of them, unfortunately. And that’s the thing: dark mode has become a quality-of-life feature for many users, and I often try to avoid using apps or websites that haven’t implemented it, especially in the evening. They literally hurt my eyes!When it comes to color scheme implementations, they range from rather useless ones that require a page reload to more sensible ones that query the prefers-color-scheme media feature and apply changes in CSS on the fly:body { background-color: #ffffff; color: #000000; @media (prefers-color-scheme: dark) { background-color: #000000; color: #ffffff; }}⭐ I’ll be using native CSS nesting in all demos throughout this article. It works in all modern browsers and makes code a bit more compact, especially when it comes to media queries. But if you’re not familiar with CSS nesting, you can use +
2ヶ月前
記事のアイキャッチ画像
Past HTML, Future HTML?
HTMHell
+by Jens Oliver MeiertConsider the following HTML document:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 1996-01//EN"><html> <head> <title></title> </head> <body> <p class="Author"> <h1></h1> <P> <P> <H2></H2> <P> <UL> <LI> <LI> <LI> </UL> <P> <!-- … --> </body></html>You will notice a few things:The unusual doctypeThe inconsistencies in element case (most notably, <p> vs. <P>)The inconsistencies in omitting optional tags (like dropping </p> and </li> end tags, but keeping </body> and </html>)Yet in some respects, this document structure is better than the code we find on many modern websites (and that is sites, not even apps).Why? What’s to like about this kind of code?It’s valid. If you run this and the respective original page’s code through an HTML conformance checker like the W3C markup validator, the code will validate. This is basic professional work that we don’t see often anymore.It’s focused. There’s close to no superfluous code. While there’s a little bit more optional markup to be +
2ヶ月前
記事のアイキャッチ画像
Almost, but not quite, entirely unlike...
HTMHell
+by Léonie WatsonCan you give me the HTML for an accessible button please?It was a simple enough question. Or it would have been, had I been asking another person. As it was, I was asking ChatGPT, and so of course there was nothing simple about it.For the briefest of moments, I caught myself thinking even ChatGPT couldn't get this wrong. The <button> element is probably the most talked about HTML element in accessibility. Literally all you have to do is use it, give it an accessible name, attach some JavaScript to get it to do something if it isn't part of a form, and you don't even need to think about keyboard accessibility because the browser takes care of all that for you.Then reality kicked me in the shins and told me to snap out of it, and, as if to prove reality's point, ChatGPT burbled:Absolutely! Here’s an accessible button in its simplest form, following best practices to ensure compatibility with screen readers and keyboard navigation.OK, I thought to myself, that doesn't soun +
2ヶ月前
記事のアイキャッチ画像
aria-labelledby = self
HTMHell
+by Weston ThayerAn accessible name is how UI components are identified to assistive tech. Having a good accessible name is important. If not, negative effects may include screen reader users missing out on vital information, voice control users struggling to interact, and any number of other issues with the assistive technologies that rely on it.By default, accessible name is computed from an element's own contents. That's part of the spec'd algorithm that browsers implement.<a href="/updates"> Latest updates</a>A link with the accessible name "Latest updates".There are many ways to change that behavior. The aria-labelledby attribute is one which can be used to point the algorithm somewhere else in the DOM. Or not.<h2 id="heading">Latest updates</h2><a href="/updates" aria-labelledby="heading"> <svg>…</svg></a>A link with the accessible name "Latest updates".What happens if aria-labelledby points within?Purgatory<a href="/updates" aria-labelledby="contents"> <span id="contents">Latest +
2ヶ月前
記事のアイキャッチ画像
Forced Colors Mode Futility
HTMHell
+by Matthias Zöchlingfigure{margin-bottom:2.4rem}figure img{aspect-ratio:4;border: 6px solid #000}figcaption,sup,.highlight,section:has(#resources) span,section:has(#fns) ol{font-size:87.5%}.highlight{margin-left:1.5em;padding:1rem;text-wrap:balance}.highlight::before{content:attr(data-icon);content:attr(data-icon) / '';position:absolute;margin-left:calc(-1.5em - 1rem);filter:grayscale()}.highlight em{font-style:inherit;text-transform:uppercase}sup{position:relative;top:-.5em;vertical-align:baseline}Are you aware of Forced Colors Mode? If not, there are some resources at the end. If so, did you also know that this accessibility feature can be used as an entry-level debugging tool?From left to right: The HTMHell Advent Calendar 2024 in its intended theme, when viewed in Windows 11 contrast theme “Night Sky”, and “Desert”.Note: I’ve created a CodePen with all the upcoming examples, so you can follow along.PremiseWhen the forced colors feature is turned on, colors will be replaced with CSS +
2ヶ月前
記事のアイキャッチ画像
Control the Viewport Resize Behavior on mobile with `interactive-widget`
HTMHell
+by Bramus figcaption { font-size: 0.8em; text-align: center; }Viewports units on mobile have been a problem for a long time. Using 100vh is most likely not exactly what you initially expected it to be. To fix this, the CSS Working Group came up with more units over time for you to use. The dynamic viewport units got introduced, which include svh and lvh which represent 1% of the small and large viewport height respectively.Two mobile browser visualizations positioned next to each other. One has an element sized to be 100svh (left, green) and the other 100lvh (right, blue). The blue dashed outline represents the Layout Viewport.While these units are fairly interoperable at the time of writing – there are still some interop issues, mainly related to webviews – there is one big gripe that a lot of people have with it: when the Virtual Keyboard gets shown, these units do not take the presence of that Virtual Keyboard into account. Depending on what you are building, you might want to have +
2ヶ月前
記事のアイキャッチ画像
Smooth Multi-Page Experiences with Just a Few Lines of CSS
HTMHell
+by John AllsoppA single line of CSS can enable slick multi-page transitions for web applications (and web sites for those who maintain there's a difference), opening up new possibilities for web app architectures, and website experiences. So let’s take a look at View Transitions, why we might want them, and how to get started with just that single line of CSS.The Web's Long Legacy of Native App EnvyThe launch of the iPhone coincided with (and likely ignited) a resurgence of the web. After years of stagnation under the dominance of Internet Explorer, competition and innovation were rekindled by Safari for Mac and Firefox. The iPhone’s killer feature (hard as it might be to believe now) was the “full Safari” on a mobile device.The Safari team introduced native CSS features like gradients, rounded corners, web fonts, transitions, animations, and transforms. Slick interactive experiences were now a reality on the web.Then native iPhone apps arrived—with their smooth, animated state transit +
2ヶ月前
記事のアイキャッチ画像
Starting off right: Where autofocus shines
HTMHell
+by Kilian ValkhofFocus is where the user is on your website. It's what makes it possible to navigate your site with the keyboard or other assistive technologies, and it's how a browser knows which form element you're typing in. It's vital to get right if you want to build good websites.Whenever you're dealing with code that can “steal” focus you have to be aware of how that affects your visitor. So it's not strange that many folks will tell you to leave focus alone, to stay away from tabindex and autofocus.All of that advice is good advice: you should be careful when moving the focus away from where it would normally be and where the user would expect it to be, or you'll quickly find yourself in a world of accessibility issues.But if you start off on the right foot, managing focus is a delightful HTML detail that makes your site a joy to use.AutofocusThe autofocus attribute can be added to any element to make it automatically focused on page load, skipping over any other elements that +
2ヶ月前
記事のアイキャッチ画像
A link on a logo in the header, what should the alt-text be?
HTMHell
+by Rian RietveldIt's a common pattern to use a logo in the header as a link to the homepage.Fun fact: the alt text of the image inside a link, will be added to the link text.The problem with linking a logo is that it serves 2 purposes:a logo, that tells you which site you are visiting;a link, that leads to the homepage.So add both that info in the alt text. Explain what's on the image and where the link leads to: "Site name logo, to the homepage".Note: Start the alt text with the visible text, then the link will be easier to target for people using voice recognition software.Let's take as example the logo of my home town Leidschendam-Voorburg.In code (simplified):<a href="/"> <img alt="Leidschendam-Voorburg logo, to the homepage" src="logo-lv.svg" /></a>Generated HTML:VoiceOver in Safari will announce this as:All info is there.There is an advantage of using the alt text instead of an aria-label solution. When the connection is slow, the alt text will show up before the image does and a +
2ヶ月前
記事のアイキャッチ画像
Never underestimate HTML
HTMHell
+by Lara Aigmüller“HTML is easy.”, “Frontend development is easier than backend development.”, “Updating the UI should be a simple task once the backend is ready.”—these and other similar statements reached my ears time and again during my career as a web developer.Very often, these made me sad. 🥲The reason is that I spend most of my working hours writing frontend code including HTML, CSS, and JavaScript (JS) (actually, TypeScript most of the time). When somebody tells me, that my job is “easy”, I feel like my skills are nothing special and another developer could replace me anytime…What follows now is an article about thoughts that came to my mind in the last couple of years when working together with different people from different teams with different backgrounds in HTML and frontend technologies in general. This is an article about the many “whys” in my head and possible answers…Why do people think HTML is easy?What is meant by “easy” anyway? Whether something is easy or not is usu... +
1年前
記事のアイキャッチ画像
The devil is in the details: a look into a disclosure widget markup
HTMHell
+by Cristian DiazDisclosure widgets are one of the most common component patterns you can find on the web. It consists of a button that can hide or show information when you click it. It's also one of the straightforward components to make from a technical standpoint.Just a quick note: this article will focus on the most basic form of it to show or hide content. A navigation menu can be considered as a disclosure widget but it has other features that won’t be the main focus of this article.This component pattern has two approaches: the first one is creating a <button> element with the attribute aria-expanded that will toggle between true and false when you want the content to be shown or hidden. Additionally, you want to create a relationship between those two elements with aria-controls to indicate the button controls the presence of this element, like this:<button aria-expanded="false" aria-controls="accordion">What are cephalopods?</button><div id="accordion"> <p>A cephalopod is any +
1年前
記事のアイキャッチ画像
ARIA Live Regions
HTMHell
+by Andrea de SouzaARIA stands for Accessible Rich Internet Applications. It is a set of roles and attributes that makes web page elements accessible to users who require assistive technology, like screen readers, when native HTML alone is not enough. One of these sets of roles and attributes is aimed at defining live regions.Live regions are areas that, when dynamically updated, trigger screen readers to announce their new content. They are commonly used for notifications that do not receive focus when the new content is added to the page. For example: form errors, loading spinners, search results that appear on dynamic search, and toasts.Here is a practical example. On an e-commerce website, the notification “product added to cart” displays momentarily whenever the “add to cart” button is pressed. The new content is added to the page, but doesn't receive focus. While sighted users would be able to see it, screen-reader users would not know that somewhere on the page an updated happene +
1年前
記事のアイキャッチ画像
The Implied Web
HTMHell
+by Halvor William SandenPeople don’t need call-to-action buttons. Interface elements made to get attention and herd people towards clicks increase cognitive effort because they obscure themselves and reduce interfaces to clickable surfaces.The implied web is based on the idea that people read interfaces through the glasses of their needs combined with previous web platform experiences. Driven by tasks, they are open to clues about solutions and need clear communication to comprehend and actively move through the interface. In short, people must recognise elements so they can act accordingly.To better understand how to work with the implied web, we will look at signifier mishmash, intent through HTML and the dynamics of roles.The impossible elementInterface elements tasked with explicitly communicating clickability make things more complicated because clicking is neither a defining nor a driving factor in the interface; it’s just the mundane way things work.We make such click-focused el +
1年前
記事のアイキャッチ画像
Design pattern for custom tooltips
HTMHell
+by Jan HellbuschShould we use tooltips to convey information? Hints and descriptions are often included on web pages through tooltips – but not everyone has access to them.A tooltip is a short text that usually appears as a popup when a user hovers a mouse pointer over an element. Tooltips can be attached to any HTML element using the title attribute. There are only a few exceptions when a tooltip created with a title attribute will not be displayed (e.g., a title attribute on an iframe element). In this article, we’ll first take a look at the title attribute in HTML and point out to a few accessibility issues. Then we’ll make a few general suggestions about how to use tooltips. In the third part, we’ll build two accessible custom tooltips with HTML and ARIA, then look at two different CSS solutions and finally add an event handler in accordance with accessibility guidelines. Both tooltips can be previewed:In example 1, you’ll find a nested tooltip with a basic design using the z-index +
1年前
記事のアイキャッチ画像
Boosting testing efficiency: how semantic HTML transforms End-to-End testing
HTMHell
+by Stefania MellaiSemantic and accessible HTML serves as a powerful tool, enhancing not only human interaction but also the efficiency of software systems. For instance, when users fill out forms with clear labels and accessible input fields, this reduces errors and ensures sending accurate data to the backend and databases. You may also have heard about how a well structured web page is fundamental for search engine optimization (SEO).The Connection Between Semantic HTML, Accessibility, and TestingThis topic was beautifully explored by Rita Castro, in her talk a11y and TDD: A Perfect Match. While Rita mainly focuses on unit tests, it's worth mentioning how these principles can be applied to end-to-end testing as well, and for the same reasons.The End-to-End Testing DilemmaEnd-to-end testing, goes beyond checking individual parts of a website. It tries to act like a real user in a real web browser, testing the whole webpage as it would appear to someone using it for real.Let's imagine +
1年前
記事のアイキャッチ画像
The road to HTMHell is paved with semantics
HTMHell
+by Vadim MakeevHTML semantics is a nice idea, but does it really make a difference? There’s a huge gap between HTML spec’s good intentions and what browsers and screen readers are willing to implement. Writing semantic markup only because the good spec is a spec, and it is good, and it’s a spec is not the worst approach you can take, but it might lead you to HTMHell.Simple daysLike most people involved in the front-end, I started my journey into Web development from HTML. It was simple enough, close to a natural language, and easy to use: you type some tags, save a text file, and reload the browser to see the result. And it would almost never fail if I made a mistake!Back then, I considered HTML a simple set of visual building blocks. It was too late for purely visual <font> elements (the CSS has replaced them), but the general idea stayed pretty much the same: if you wrap your text into <h1>, it becomes big and bold, if you have two <td> cells in a row, that’s your two-column layout. +
1年前
記事のアイキャッチ画像
Revisiting Fundamentals - Semantic lists for Improved Accessibility
HTMHell
+by Winnie BosiboriLists are one of the fundamental semantic HTML configurations that, when implemented appropriately can enhance accessibility.HTML Lists RefresherWhenever I visit any website, I have formed the habit of checking for any accessibility issues and delving deeper into the HTML code structure. One apparent thing is that a large number of sites are characterized by non-semantic code structures that result in inaccessible sites.<ul>, <ol>, or <dl> elements.As developers or designers, we may sometimes overlook and deem lists as insignificant HTML constructs. However, Without lists, it will be difficult for people to follow content or information on a site. This is because they facilitate grouping related pieces of information, so they are associated with each other and make it easy to read and understand. In addition, people who use assistive technologies such as screen readers may be able to easily interact with a page using keyboard shortcuts.In this article, we are going to +
1年前
記事のアイキャッチ画像
Swallowing camels
HTMHell
+by Ida FranceenI don't like how the screen reader pronounces these numbers and I've been experimenting with different kinds of markup to get it to read better, like injecting spans to force it to make proper pauses…Reflecting on my tendency to obsess over small, but maybe not so important details has led me to write this article. I want to share my experiences and the lessons learned from past projects where I may have lost sight of what is actually important.The biggest problemWhen I'm actively trying to improve the accessibility of a website it's easy to start with the first issue I come across. Maybe the color contrast of the icons in the footer is not good enough, making it hard for people to see them. Let's fix this!Well, if I'm selling things then the core functionality is probably people being able to buy things. However, if I'm focused on getting a screen reader to read prices in a preferred way, and my checkout is broken due to missing form labels, it's a problem. This situati +
1年前
記事のアイキャッチ画像
The Ghosts of Markup Past
HTMHell
+by Thomas A. PowellAs a well-seasoned web developer, a clear euphemism for my age, I reminisce about the early days of markup through the haze of strong emotional glasses. I see the past from an extreme nostalgic fondness for the simplicity of the time when a basic text editor and the ability to view source was all you needed. Yet it can just as easily go to a secret shame and embarrassment of admitting that we hacked around with invisible pixels, nested tables, and all manner of quirky presentational elements.This post attempts to map those extremes and the space between them. The ultimate outcome would be to encourage you to personally explore the history of the web to unearth things that could be rediscovered, recycled, or recast for the modern web as well as learn from past mistakes. So let’s get going, and I promise we will tread a path that isn’t as annoying as a scolding about the innovation of the <blink> tag.Searching for Markup GhostsBefore we get started with our naughty, ni +
1年前
記事のアイキャッチ画像
Getting started with Web Performance 🚀
HTMHell
+by Alistair Shepherd Carefully observing websites in the wild As the murderous tortoises start to converge on Ryūji’s hideout, they pull out their phone. It’s a cheap, older device but it’s survived the toils of the tortoise-ageddon well so far. Thankfully the internet still exists, although a bit slower, so they’re able to search online for how to scare tortoises away. The first result looks promising so they quickly tap through to find the information they need. But as the loading bar moves at barely a crawl, Ryūji realises with horror that this website is loading far too slowly—20 seconds have passed and it’s still just a white screen! They look up and realise they’ve run out of time, poor website performance was Ryūji’s downfall.As Ryūji discovered, web performance really matters, and is about making websites fast. I hope that most of us don’t encounter as drastic circumstances as they have! For the rest of us a well performing website is more accessible to people, offers a more en +
1年前
記事のアイキャッチ画像
HTML: The Bad Parts
HTMHell
+by MayankYou've probably heard statements along the lines of "HTML is already accessible by default" or "You don't need to reinvent this perfectly fine HTML control". I consider these to be more of general claims rather than universal truths. It's extremely important for web developers to recognize gaps in the platform. To that end, I've decided to collect a few instances where HTML falls short, through accessibility issues or usability issues.This is not a comprehensive list, and it does not include gaps in ARIA. I wanted to find a balance between widely known issues and more frequently encountered (but lesser known) ones, while making sure to include some things that we take for granted. In each section, I will include its severity, alternate suggestions, and links where you can find more detailed information.<select multiple>Let's start with an easy one. The multiple attribute on <select> should pretty much never be used. It's like the polar opposite of single <select>, where instea +
1年前
記事のアイキャッチ画像
Test-driven HTML and accessibility
HTMHell
+by David LuhrWhen I started writing unit tests and following a test-driven development (TDD) workflow, I was stoked with the immediate feedback and confidence I gained in every line of JavaScript I wrote.TDD improved my software design with simpler, more predictable code. It saved me countless hours of manual debugging by reporting errors directly in failing tests. And with solid test coverage, it allowed me to add new logic and functionality while keeping everything in an always-working state.I followed the process of Red, Green, Refactor, meaning I wrote a failing test, wrote just enough code to make the test pass, and then freely cleaned up my code, knowing everything was working. My JavaScript code had never been better.Then one day, I wrote a UI-oriented test that used document.querySelector(). Before the test even finished running, it errored and revealed that JavaScript tests run outside of the browser in Node, where no document object model (DOM) exists. Since the focus of my c +
1年前
記事のアイキャッチ画像
The hidden attribute in HTML
HTMHell
+by Ahmad El-AlfyThe hidden attribute allows us to hide HTML elements from the page. When it was introduced, it worked in a very simple way: it set the CSS display property to none.Many people voiced concerns because here we are, mixing styles with markup again. To be fair, this was at a time before the rise of frameworks and the change in people's mindsets where separation of concern became a less debatable issue. There were also others who opposed the attribute because it can be easily overridden by CSS. A solution to avoid hidden elements from showing unintentionally is adding this snippet to your stylesheet to ensure it overrides other rules used on the same element.[hidden] { display: none !important;}There are differing opinions on using the !important declaration, as some authors considered it code smell. Later, the use of !important in utility classes became more accepted.A modern way to mitigate the use of !important is the use of CSS Cascade Layers. CSS layers is implemented b +
1年前
記事のアイキャッチ画像
Template for accessibility guidelines
HTMHell
+by Steve FrenzelForewordThis template is opinionated and intended as a starting point for those who want to define how accessibility is dealt with in their company. It does not matter whether your title is developer, designer, project manager or something else.I created it based on my experience working with a very small start-up, a digital agency with more than 250 employees and a monolithic company with very fixed structures.When creating this template, I had the six most common WCAG failures in mind, but also what processes take place when you collaborate with other people. Nothing is set in stone and it should be adapted in consultation with your colleagues, because accessibility is a group effort! More on that in Prependix.As a reference, I refer to the Web Content Accessibility Guidelines (WCAG) 2.2, as they are popular and well documented. However, you are free to include a different one or more in this template, depending on your location and the requirements that need to be me +
1年前
記事のアイキャッチ画像
What the slot?
HTMHell
+by Egor Kloos (aka dutchcelt)Web Components. The discussion seems to pop up more than it used to.Web Components Will Outlive Your JavaScript FrameworkHTML Web Components: An ExampleMaterial web components 1.0 releaseHTML Web Components are Just JavaScript?Web Components offer nifty features for creating components using JavaScript, CSS, and HTML. They have been available in all major web browsers since 2017. That’s long enough to start using them in production.Web Components consist of three things that are intended to work together.Custom ElementsShadow DOMTemplates and SlotsThe great thing is that you can use each of these on their own. For HTMHell and fun, let’s take a closer look at Slots and the <slot> element.What are slots?For slots to do their thing, we need a Shadow DOM. MDN on what the Shadow DOM is:A set of JavaScript APIs for attaching an encapsulated "shadow" DOM tree to an element — which is rendered separately from the main document DOM — and controlling associated funct +
1年前
記事のアイキャッチ画像
The hidden depths of the input element
HTMHell
+by Phil NashThe <input> element is the most fascinating element in HTML.Most elements behave the same way regardless of their attributes, the type attribute of the <input> element can take 1 of 22 different values that gives it not only different behaviour, but a different visual appearance too (many of which are hell to style, of course).The <input> element is responsible for everything from text input, through checkboxes and radio buttons, to a button that resets all other elements in the form. I want to look beyond the various types that the <input> can embody, to the attributes you may not know about. Attributes that tweak the behaviour of the <input> to make it more usable, more accessible, and more applicable to various situations. Let's dig in.Keyboard controlOn a mobile device, focusing a text input will bring up the default virtual keyboard. But what if the input you are expecting is numerical or some other format? In this case the inputmode attribute can help to optimise the +
1年前
記事のアイキャッチ画像
Security Headers using &lt;meta&gt;
HTMHell
+by Saptak SVarious HTTP headers are sent between the user and the server of a website in the request-response cycle. Some of these HTTP response headers sent by the server to the browser help enhance the security and privacy of the website's users. These sets of headers are often commonly known as security headers. These can range anywhere from forcing the browser to always visit your website through https (Strict-Transport-Security) to preventing Cross Site Scripting and Clickjacking attacks on the website's user. You can check how well the security headers are set for your website using securityheaders.com.These security headers (or any HTTP response headers) are usually set through the server configuration, i.e., nginx config, Apache config, or similar. However, in certain scenarios, like hosting a static website using GitHub Pages, the developers don't have a lot of control over the HTTP response headers. In such scenarios, the ability to add security headers declaratively through +
1年前
記事のアイキャッチ画像
Web Components FTW!
HTMHell
+by Chris FerdinandiWeb Components are a collection of technologies that you can use to create reusable custom elements, with built-in interactivity, automatically scoped (or encapsulated) from the rest of your code.They have a wide range of features and functionality (some good, some bad, some ugly), but today, we're going to look at how to create your first Web Component using the most cliche of examples: the counter button.We'll learn how this...<counter-button></counter-button>Automagically becomes somethings like this under-the-hood...<button onclick="increase()">Clicked 0 Times</button><script>let count = 0;function increase (event) {count++;event.target.textContent = `Clicked ${count} Times`;}</script>Let's dig in!Creating a custom elementFirst, we'll create a custom element.You can name it anything you want, but it must include at least one dash (-). Single-word web components are not allowed (those are reserved for native elements).Let's uncreatively name ours counter-button.<c +
1年前
記事のアイキャッチ画像
The Hellish History of HTML: An incomplete and personal account
HTMHell
+by Jason Cranford TeagueTimeline of HTML from 1990–2024Note: HTML standards are developed first in browsers, so the version might have already became the de facto standard before the official standard document is released.The story so far:In the beginning Tim Berners-Lee created the World Wide Web. This has made a lot of people very angry and — putting all of humanity in constant contact with each other — been widely regarded as a bad move.This would be called the Hypertext Transfer Protocol, but you probably see it every day as http://. Although initially intended as a way to share scientific papers, Berners-Lee quickly realized it would do a lot more than that:His vision has led us to today, where the Web is now the predominant information platform for the planet Earth, and the language he created to create documents, HTML, is used by billions.Unlike other systems at the time that were making use of the growth of home computers and modems — like AOL and Compuserve — Berners-Lee provi +
1年前
記事のアイキャッチ画像
Back to Basics: 5 HTML attributes for improved accessibility and user experience
HTMHell
+by Daniela KubeschIn the fast-paced world of web development, it's easy to get caught up in the latest frameworks, libraries and cutting-edge technologies. But sometimes, the most impactful improvements come from revisiting the fundamentals.In this blog post, I'll guide you through five HTML attributes that not only improve accessibility but also enhance the overall user experience. Whether you are an experienced developer or just starting, let's explore the potential of these elements to create a more inclusive web experience.1. hreflangThe hreflang attribute specifies the language of a linked resource on an <a> or <link> element. It works like the lang attribute but is specifically used for links.Why use hreflang?You can improve the user experience and SEO by using hreflang for both internal and external site links.hreflang on internal website links provides a way to tell search engines about different variations of a page for other languages or regions. This means that English speak +
1年前
記事のアイキャッチ画像
The Form Attribute - Enhancing Form Layout Flexibility
HTMHell
+by Alexander MuzenhardtConsider a scenario where you have a login form containing two input fields with corresponding labels, alongside a submit and a reset button. If you submit the form, the action of the form gets triggered, and you can work with the formData.The layout looks nice as well (let’s imagine we have added some fancy CSS).<form action="/login" method="get"> <div> <label for="username">Username</label> <input type="text" name="username" id="username" required /> </div> <div> <label for="password">Password</label> <input type="password" name="password" id="password" required /> </div> <div> <button type="reset">Reset</button> <button type="submit">Submit</button> </div></form>The ChallengeNow, let's delve into a new requirement presented by your client. They want a revamped layout with the buttons placed elsewhere. This redesign, however, leads to a problem.<main> <form action="/login" method="get"> <div> <label for="username">Username</label> <input type="text" name="usern +
1年前
記事のアイキャッチ画像
You don't need JavaScript for that
HTMHell
+by Kilian ValkhofHello, my dear friend of RSS! This post contains interactive demos. You may want to read it on the website.Please don't feel antagonised by the title of this article. I don't hate JavaScript, I love it. I write bucketloads of it every single day. But I also love CSS, and I even love JSX HTML. The reason I love all three of these technologies is something called:The rule of least powerIt's one of the core principles of web development and it means that you should Choose the least powerful language suitable for a given purpose.On the web this means preferring HTML over CSS, and then CSS over JS. JS is the most versatile language out of the three because you're the one describing how the browser should act, but it can also break, it can fail to load and it takes extra resources to download, parse and run. It is also very easy to exclude keyboard users and people using assistive technologies with it.In contrast to JS, which is imperative, HTML and CSS are declarative. You +
1年前
記事のアイキャッチ画像
The UX of HTML
HTMHell
+by Vasilis van GemertRecently when I gave a coding assignment — an art directed web page about a font — a student asked: does it have to be semantic and shit? The whole class looked up, curious about the answer — please let it be no! I answered that no, it doesn’t have to be semantic and shit, but it does have to be well designed and the user experience should be well considered. Relieved, all of my students agreed. They do care about a good user experience.The joke here is, of course, that a well considered user experience starts with well considered HTML.Somehow my students are allergic to semantics and shit. And they’re not alone. If you look at 99% of all websites in the wild, everybody who worked on them seems to be allergic to semantics and shit. On most websites heading levels are just random numbers, loosely based on font-size. Form fields have no labels. Links and buttons are divs. It’s really pretty bad. So it’s not just my students, the whole industry doesn’t understand sema +
1年前
記事のアイキャッチ画像
Preventing form submission with zero Javascript
HTMHell
+Want to trigger an action? Use a button element. They’re great.Want to also prevent form submission when someone clicks that button? Put down the JavaScript, friend. I have a better suggestion:<button type="button">Button action goes here</button>And that’s it! No preventDefault() or no overwrought dependencies that will stop working without notice. Just good ol’ reliable HTML and a humble attribute.Okay, cool, thanks!PS from Manuel: Thank you so much to all authors for this wonderufl series of articles and thank you to all readers for reading, sharing, and commenting! Merry christmas and a happy new year! 🖤
2年前
記事のアイキャッチ画像
Enforcing better HTML markup with Eleventy
HTMHell
+While what we mean is usually very clear to us, others may decode our messages differently from what we intended. This is especially true on the web, where there are many ways to consume content. The language, browser type, device model, using a screen reader, navigating with or without a mouse - all of these factors can influence how information is experienced on the web.And the glue that can better aid all these factors might be developing with semantic HTML which helps in describing content more accurately. In this article, we will explore common issues related to incorrect HTML markup and how you can enforce good practices to fix them.IntroductionWeb experiences should be fast, accessible, and tailored to the capabilities of users and the devices they own. A premise we could all agree on, as we have all have suffered from poorly designed web experiences. And if you are a web developer, you might have once followed practices that led to such experiences.Still, building for a wide ra +
2年前
記事のアイキャッチ画像
What is the Difference Between Alternative Text, Long Description, and Caption?
HTMHell
+When it comes to adding images on the web, you need to consider how to make them accessible and understandable to everyone.Which means you need to include text alternatives to describe the image information or function.Three options are:Alternative TextLong descriptionCaptionBut how do you know which one to use? And when? Here's info to help you make that decision.Alternative TextAlternative text is a concise image text alternative for screen reader users. It's not shown to sighted users unless the image doesn't load.Which can happen when someone has turned off images on their email application. Or they're using a slow connection.<img src="flickr.svg" alt="Flickr">Long DescriptionLong descriptions are longer text alternatives for complex images, which are shown to both sighted and screen reader users.An expand/collapse accordion below an image is one example of a long description. Another example is a text description below the image.Note: don't confuse the longdesc attribute with long +
2年前
記事のアイキャッチ画像
A Theory of Web Relativity
HTMHell
+The rel attribute has the potential to take the Internet to the next level… and yet, we usually forget about it.Imagine a city where people guided themselves by the landmarks and the stores, where there were no directional signs, and where streets and neighborhoods had no names. It may sound like a U2 song, but it is the current state of the web.The Internet is a vast network of related pages and nodes, but the connections between the elements are void of meaning by default. They lack semantics. A link may connect pages A and B, but what is the relationship between the two? Why are they related? Wouldn’t it be great if there was a way of expressing the relationship between the Internet nodes? Then we wouldn’t have just data; we would have meaningful information. It would take the Internet to a whole new level.Fortunately, it is possible. Thanks to the rel attribute.The rel attributeThe rel attribute defines a relationship between the linked resources (one being the document it appears +
2年前
記事のアイキャッチ画像
Common nesting issues in HTML
HTMHell
+HTML is such a lovely language. Browsers will almost always display something for you, no matter what you put in the HTML document. Heck, you could omit all tags, and it will still work.That’s all nice, but as web professionals, we should aim to write valid code. But even professional web developers make mistakes. Here are some examples of common nesting issues in HTML.Anchors and buttonsLet’s start with anchors and buttons. It is common to see buttons inside anchors out in the web wilderness.<a href="#"> <button>Button</button></a>According to the specification, the anchor element must not contain any other interactive element, so <button> elements cannot live inside the <a> element.Permitted content- the a element on MDNIf we validate the code against the HTML validator, we can see that it's invalid.In the example below, when you click on a button, you will get two alerts, which is far from ideal.See the Pen Nesting issue: <a> and <button> by Silvestar Bistrović (@CiTA) on CodePen.Yo +
2年前
記事のアイキャッチ画像
Do you know color-scheme?
HTMHell
+Do you know of color-scheme yet? If not, I bet you still think you do. It will certainly look familiar, as prefers-color-scheme has been around for longer and is clearly related.You're in good company if it's new to you - the State of CSS 2022 results just came in, and 73% of respondents had never heard of it.You probably use prefers-color-scheme a lot within your CSS media queries, to make a dark or light theme for your sites and apps based on user preference. Maybe you also add a toggle so people can choose their color scheme, irrespective of their OS settings. Beautiful. But now there's more to play with!What is color-scheme, then?It's a CSS property all of its own, and can save you a bunch of styling work for dark mode./* the selector here could be :root, html or body */:root { color-scheme: light dark;}Stick the above inside your stylesheet or <style></style> tags and voila, your website, without any other styling, will now respond to the user's prefer-color-scheme preference, as +
2年前
記事のアイキャッチ画像
Mini-guide to add an image
HTMHell
+Adding an image with HTML is pretty easy, it’s just a simple tag, after all, right?<img src="path/to/image.jpg" />But when you start taking into consideration topics such as performance, screen sizes, accessibility, pixel density, or user preferences, you might ask yourself at some point if plain HTML is enough for the task… And the answer is yes! HTML has many options and is powerful enough to handle this task. This article will cover what you should consider at the moment of adding an image to a site with HTML.Basic considerationsalt attributeLet’s start with a very important one: your image needs an alternative text. It’ll have screen reader users to identify the image content, but it’ll also help when the image doesn’t load (maybe because the image is not available, or maybe because the user has a slow network). Otherwise, they won’t know what the image is. This can be done with the alt attribute.<img src="path/to/image.jpg" alt="A white cat laying on a sofa" />Keep in mind, someti +
2年前
記事のアイキャッチ画像
Modern HTML as a foundation for progressive enhancement
HTMHell
+Reading HTMHell, you might be aware that progressive enhancement is a thing. To sum things up, it's a way to make sure anyone gets a viable version of your page whatever is their context — slow bandwitdh, oldish browser, etc. — but also making the said page more resilient (e.g. to JavaScript errors).Progressive enhancement starts from the ground up:content,marked up with HTML,styled with CSS,enhanced with JavaScriptand improve accessibility with a bit of ARIA.Each of those steps should work as-is and enhance the lower steps without breaking them. In other words, you would need to write your markup independently from the CSS or JS you will apply later on.Great.That being said, it's kinda obvious that the better you know each step in the stack the more robust your page should be. JavaScript is everywhere so we may assume you know about it. ARIA is getting some shedlight for a few years now, so even without knowing ARIA we may suppose you use components libraries or something doing this j +
2年前
記事のアイキャッチ画像
5 HTML elements, And a partridge in a despair tree
HTMHell
+HTML is a beautiful programming language. It comes with many out-of-the-box accessibility benefits—it conveys semantic meaning to assistive technology, enabling people to consume content and complete often important journeys that they may not be able to do outside of the web. So why is all that goodness we can get for free ignored so often?To expand on that point a little, why do we ignore native HTML elements that will tell people exactly what their purpose is and enable them to interact with it, and use overly complex ARIA-laden JavaScript solutions? Some of this may come down to how something is designed, while in other cases it may be misunderstanding/confusion or copied-and-pasted bad practices. In this article, we'll look at 5 common instances when semantic HTML is ignored.<button>Let's start with a topic that people will have seen many discussions around—interactive buttons. Take a look at the latest postings on the HTMLHell site, which will no doubt feature this issue heavily!A +
2年前
記事のアイキャッチ画像
Get that marquee ✨AeStHeTiC✨
HTMHell
+With the current Y2K fashion trend and JLo being back together with Ben Affleck, the 2000s are having a revival this year. Many brands are jumping onto the boat by creating websites with an “old-school” vibe.SEPRONIC WORLD by Thea Wood on BehanceThe marquee element is an old web dev community favourite, fitting the 2000s aesthetic. However, this HTML element is deprecated and should not be used on modern websites. If you still want to achieve that unique marquee aesthetic, this article is here to help. First, we learn about the history of the marquee element and look at the pros and cons. Then we code an alternative with CSS and JavaScript.The Marquee elementThe marquee element has never been a standard HTML element and is even classified as a non-conforming feature in HTML5. This means it is entirely obsolete and must not be used, according to the World Wide Web Consortium (W3C). Microsoft introduced the marquee element in Internet Explorer version 2.0, which was launched in 1995. Sin +
2年前
記事のアイキャッチ画像
Table Like It's 2023
HTMHell
+In this article:Hello, Website Builders!A little historyWhat is a table?Who benefits from tables?What does a table look like?What does a table sound and feel like?(Re)learning tables (1994 - 2022)WCAG levels unlockedWhen tables get complicatedGo forth, and make good tablesLearn HTML (including tables) for freeTesting toolsSpecial thanksAbout AmyHello, Website Builders!Hey, you. Yes, you. Let's talk about tables on the web.It's almost 2023. Yet tabular data is still being delivered in ways that aren't accessible. From a visually disabled person's perspective, it's horrifying.Data tables aren't given semantic HTML to clarify its information relationships. Table markup is still used for page layouts, yet they're aren't flagged as such. The Web Alamanac reported how infrequent caption (a table's title) and role=presentation (indicating layout-only) were used in 2022 to improve accessibility.I'm embarrassed on behalf of my fellow developers, who should be more up-to-date with their craft an +
2年前
記事のアイキャッチ画像
One day we'll have a fully customisable select
HTMHell
+Today, I want to look at a proposed HTML feature that may end up replacing a lot of <div>s-based custom input components: <selectmenu>.CSS is awesomeI realise this calendar is about HTML. And I'll get to that. But first, let me start with CSS. CSS is fantastic, because it has allowed us to decide what our websites look like for over 25 years. This wasn't a given. Before CSS, you could only define the structure of your pages and browsers would decide their appearance.Fast-forward to today, CSS not only exists, it has become extremely versatile. We have grids, custom properties, transforms and much more, and it is all pretty compatible across different browsers. The basic principle of CSS stays: styles are hints. What websites look like is a combination of the preferences of users, browsers and web developers.But maybe in your design system, your select has a very specific style. Shadows around the listbox, brand-specific whitespace settings… or your select contains more than just string +
2年前
記事のアイキャッチ画像
DOM Clobbering
HTMHell
+MotivationWhen thinking of HTML-related security bugs, people often think of script injection attacks, which is also known as Cross-Site Scripting (XSS). If an attacker is able to submit, modify or store content on your web page, they might include evil JavaScript code to modify the page or steal user information like cookies.However, this article is NOT about XSS.This article is about an interesting attack that relies on HTML-only injections. The techniques here were first described by Gareth Heyes in 2013, the topic gained additional attention due to a recent research paper and its accompanying website https://domclob.xyz/ from Khodayari et al.BackgroundBefore we dive into the vulnerability class of DOM Clobbering, we need to establish some background.Have you ever noticed that whenever you include a HTML element with an id attribute, it becomes available as a global name (and a name on the window object)? So, for example<form id=freddy>…will lead to window.freddy becoming a referenc +
2年前
記事のアイキャッチ画像
There can be only one: Options for building “choose one” fields
HTMHell
+When it comes to building out forms, it sometimes seems like there are at once both too few field types and too many. This is especially true when it comes to having users choose an option from a pre-defined list, also known as “choose one” fields.This article will take you on a three-stop tour of the most common ways to enable this kind of response in your forms, using just HTML. I’ll talk about some of the implications for CSS and JavaScript as well, but this is HTMHell after all, so my main focus is on the markup.Selection controls (a.k.a., drop-downs)The <select> dropdown has been a mainstay of web forms since they first debuted in HTML 2. This relatively simple element allows for an author to define multiple choices for the user to choose from and the whole thing is neatly packaged in a compact control that can be manipulated via the mouse or keyboard or both.<label for="fruit">What’s your favorite fruit?</label><select name="fruit" id="fruit"> <option>Apple</option> <option>Orang +
2年前
記事のアイキャッチ画像
Dear developer, your assumptions are wrong
HTMHell
+As developers, validation of user input is one of the first things we are taught.So, for example, we may think it would be a good idea to put some restrictions in an input field for a name:<label for="name">First name:</label><input type="text" minlength="3" maxlength="20" id="name">You might be surprised at discovering how many people in the world have names with just 1 or 2 letters (Read the article Inclusive name inputs – because not everyone is called Chad Pancreas by Bruce Lawson for examples), or maybe you can try to fit the full name of Pablo Diego José Francisco de Paula Juan Nepomuceno Crispín Crispiniano María de los Remedios de la Santísima Trinidad Ruiz Picasso in your poor name field.But if you absolutely want to add some kind of validation, you can try with a pattern attribute:<label for="name">First name:</label><input type="text" pattern="[a-zA-Z]{2,20}" id="name">So... you're assuming names can only contain A-Z letters. What do we say then to Lee-Ann, Niccolò, Noëmi, a +
2年前
記事のアイキャッチ画像
You don't need HTML!
HTMHell
+While browsing Mastodon late one night, I came across this excellent blog post called HTML is all you need to make a website. It describes a few websites which are pure HTML. No CSS and no JS.And I thought… do you even need HTML to make a website?A few hours later, I launched the NO-HT.ML website. Proving, once and for all, that you don't need HTML to make a beautiful1 responsive2, and useful3 website which everyone will love4.Go take a look and marvel at its magnificence - then come back here to discuss its profound importance.How it worksIf you look at the source code, you'll see it uses a tiny scrap of (mostly) invalid markup to kick things off.<!doctype UNICODE> is a fake doctype. But it seems to be needed to convince some browsers into attempting to render the document.<meta charset="UTF-8"> is real. Without this, text encoding sniffing takes places and some browsers just displayed rubbish.<plaintext> is also a real HTML element. It was deprecated in HTML 2 back in the mid-1990s. +
2年前
記事のアイキャッチ画像
Improving SEO without knowing where to start
HTMHell
+SummaryIntroductionWhat is SEO ?Web quality with OpquastSEO-related Opquast rulesConclusionIntroduction ↑Colleagues sometimes ask me: “Hey Alex, I would like to learn a bit about search engine optimisation (SEO) but I don't really know where to start. Do you have tips for me?”. Well, it's not surprising: like accessibility, sustainability and environment, or performance, SEO is a big topic.I usually answer: “It's awesome that you want to dig into this. SEO is also a significant part of UX, and more globally of web quality assurance. Listen, I'm not a SEO expert but I know a solid start: these are the Opquast rules. If you apply them carefully, you will do better than most other websites.”In this article, first I would like to describe shortly what SEO means, then present what Opquast is, and finally explain the benefits of some Opquast's SEO rules.Disclaimer: Opquast is a society. I am neither an employee nor an affiliate.What is SEO ? ↑SEO stands for Search Engine Optimisation. It com +
2年前
記事のアイキャッチ画像
Meaningful labels using ARIA – or not.
HTMHell
+If I had a dollar for every time I've had to tell someone to remove an aria-label from an interactive control that has actual visible text, I could have bought Twitter! As a former developer and current accessibility consultant, it is my sincere hope that by reading this article, developers unfamiliar with or unsure about this topic will have a better understanding of the differences between aria-label, aria-labelledby, and aria-describedby.Semantic HTML elements convey meaning - role and state - to browsers and assistive technologies. Whenever you can use an appropriate native HTML element, you should do so. For example, using a <button>, instead of using a generic element such as a <div> and then adding ARIA roles and states and properties and JavaScript functions and CSS to make it look and behave like a button, is a much better way to code. In fact, the First Rule of ARIA is: Use HTML. (Credit for that paraphrase.)When should I use ARIA to label something?Using this priority of met +
2年前
記事のアイキャッチ画像
Adding Complementary Performance Data to Your Site
HTMHell
+Getting performance data from real users can transform assumptions about how a user experiences a site into objective, actionable information.In the last two years, there has been increased awareness of web performance thanks to Google's Core Web Vitals (CWV) metrics. These metrics are great and have nearly universal application, but it can also be helpful to add information specific to your site. Fortunately, it's easier than ever to collect this data thanks to features that have made their way into browsers in recent years.Critical LandmarksUsing the PerformanceObserver API, you can get performance information about page navigation, in-page landmarks like how long it takes to parse the HTML, how long it takes to download and render specific resources, and it's even possible to measure server performance with the Server-Timing header.It's possible you have a dedicated Real User Monitoring (RUM) vendor that takes care of logging this information for you, but if not, most site analytics +
2年前
記事のアイキャッチ画像
Reading the meter
HTMHell
+The <meter> element is a little known and rarely used semantic element. It's a non-interactive form element that renders as a partially filled horizontal bar. Browsers provide user-agent styles, but the <meter> element can also be styled.<meter min="10" max="200" value="130"></meter>The example above in Safari, Chrome and Firefox on MacOS.<meter> is sometimes confused with the <progress> element as they are visually similar, but <meter> represents a current value in a known range, while <progress> represents something that is in progress, like a file upload.The definition found in the HTML spec includes some examples of potential uses.The meter element represents a scalar measurement within a known range, or a fractional value; for example disk usage, the relevance of a query result, or the fraction of a voting population to have selected a particular candidate.The spec also states that it should not represent an arbitrary range, meaning there should be a known maximum value.Attributes +
2年前
記事のアイキャッチ画像
Landmarks and where to put them
HTMHell
+Heading elements (h1 through to h6) are used to give structure to the content of your page. They're important for SEO, make your pages more readable and, of course, also help people that use assistive technologies navigate through your page. Somewhat less known are landmark elements. These are elements that are used to define the structure of your entire HTML and you probably know some of them already: nav, main and footer are all landmark elements (well, most of the time. We'll get to that.)Many of these elements were only introduced with HTML5 (compared to the headers that have been with us for as long as HTML existed) so if you haven't used them extensively yet, that's not that unusual. Let's figure out what they are and where you can (and can not) use them.Landmarks 101When you look up landmark elements, you'll find that they also go by another name: sectioning elements. You can take that quite literally: they section off different parts of your page into unique semantic blocks.Kno +
2年前
記事のアイキャッチ画像
Using SRI to protect from malicious JavaScript
HTMHell
+At some point of developing a website, there might come a time where we need to progressively enhance using JavaScript. There are few different options of how you add JavaScript. Firstly, we can write our own script using vanilla JS only, and self host the JavaScript file. However, often we find ourselves needing to use a JavaScript framework or library to make our life a little easier. We can definitely download all the JavaScript framework and libraries we are using and self host them in our server, but most framework websites recommend using a CDN.CDNs for JavaScript frameworks and librariesCDN or Content Delivery Networks are a group of servers which stores duplicate copies of data and serves them to the user from the server closest to them to improve performance. CDNs are often used to serve static files like CSS and JS files by frameworks and libraries. Developers used CDNs for serving JS files not only because CDNs are usually faster, but also since a lot of commonly used framew +
2年前
記事のアイキャッチ画像
You Don't Need ARIA For That
HTMHell
+In web development, writing semantic HTML is important for accessibility, and also provides some nice side effects such as supporting browser "reader" modes, SEO, graceful degradation, and exporting.Implementing semantic HTML will also greatly reduce the need for ARIA (Accessible Rich Internet Applications). ARIA is a large set of HTML attributes to help accessibility for users of assistive technology, namely screen readers, by better supporting semantics not provided or not supported well via HTML.ARIA usage certainly has its place. But overall, reduced usage of ARIA will, ironically, greatly increase accessibility. This is due to several reasons including:ARIA is very often implemented incorrectly. This is well known in the industry, but for data, reference the WebAIM Million report which states “Home pages with ARIA present averaged 70% more detected errors than those without ARIA”.ARIA may not be supported well (even when implemented correctly) by the browser and/or screen reader, +
2年前
記事のアイキャッチ画像
How to transfigure wireframes into HTML
HTMHell
+Soon enough in your career as a web developer, you encounter the situation where a designer hands over a wonderful web design in all its large-screen glory. Your mission now is to transform it into code to present a prototype as soon as possible, starting with nothing but an empty text file.Facts, questions and the truthThis task comes with a few challenges and most of the time there’s no single correct way to do it. In this article, I’m going to describe how I personally approach these tasks.Our goal for today is to build an HTML prototype for an online newspaper homepage, “The Weekly Prophet”. The only information we have is the following wireframe:There’s a lot to unpack here.The first important fact is that in HTML there’s no such thing as placing elements on a page next to each other (we need CSS—Cascading Style Sheets—for that). There’s just one element at a time. When there’s no one-column layout for small screen sizes provided by a designer, we need to define an order of elemen +
2年前
記事のアイキャッチ画像
#1 button disguised as a link
HTMHell
+Bad code<button role="link" title="Name of website" tabindex="0"> <img alt="Name of website" src="logo.jpg" title="Name of website"></button>Issues and how to fix themWrong usage of the button element. There’s an element for linking to external sites (<a>). Do not change native semantics, unless you really have to.It’s possible to link to pages without JavaScript.The title attribute is redundant.The tabindex attribute is redundant. A button doesn’t need tabindex, it’s focusable by default.Good code<a href="https://"> <img alt="Name of website" src="logo.jpg"></a>
5年前
記事のアイキャッチ画像
#2 div with button role
HTMHell
+Bad code<div tabindex="-1"> <div role="button"> <svg width="28" height="24"> … </svg> </div></div>Issues and how to fix themSetting button semantics explicitly using the role attribute isn’t necessary, there’s an element for that (button).You don’t need the tabindex attribute if you use a button. HTML buttons are focusable by default.A click event on a div triggers only on click. A click event on a button triggers on click and if the user presses the Enter or Space key.There’s no text alternative for the icon.Good codeUnfortunately, there’s no native way of hiding content only visually.The .sr-only class makes sure that content is visually hidden but still accessible to screen reader users..sr-only { position: absolute; white-space: nowrap; width: 1px; height: 1px; overflow: hidden; border: 0; padding: 0; clip: rect(0 0 0 0); clip-path: inset(50%); margin: -1px;}<button> <span class="sr-only">Send</span> <svg width="28" height="24" aria-hidden="true"> … </svg></button> +
5年前
記事のアイキャッチ画像
#3 image-buttons
HTMHell
+Bad code<img src="/images/edit.gif" onclick="openEditDialog(123)"><img src="/images/delete.gif" onclick="openDeleteDialog(123)">Issues and how to fix themThe purpose of the img element is to display images, not to execute JavaScript.A click event on a img triggers only on click. A click event on a button triggers on click and if the user presses the Enter or Space key.There’s no text alternative for the image. Screen readers may announce the filename instead.Good codeSolution #1: Use buttons and add alt attribute to images<button onclick="openEditDialog(123)"> <img src="/images/edit.gif" alt="Edit product XY"></button><button onclick="openDeleteDialog(123)"> <img src="/images/delete.gif" alt="Delete product XY"></button>Solution #2: Use buttons, add text content and hide imagesUnfortunately, there’s no native way of hiding content only visually.The .sr-only class makes sure that content is visually hidden but still accessible to screen reader users..sr-only { position: absolute; white- +
5年前
記事のアイキャッチ画像
#4 link-also-button
HTMHell
+Bad code<a href="https://example.com"> <button>Example</button></a>Issues and how to fix themBy nesting a button inside of a link, you’re sending two messages: this is a button, but also this is a link.If you’re not sure when to use <a> or <button>, watch The Links vs. Buttons Showdown by Marcy Sutton.Good code.button { /* use CSS to apply button-like styles to the link */}<a href="https://example.com" class="button">Example</a>
5年前
記事のアイキャッチ画像
#5 button-like-link
HTMHell +
Bad code<a href="#form" role="button" aria-haspopup="true"> &nbsp;&nbsp;Register&nbsp;&nbsp; </a>Issues and how to fix themIt’s a link to a form at the same page that looks like a button.By adding role="button" to a link, you’re telling that it’s a button, though it acts like a link. Do not change native semantics, unless you really have to.aria-haspopup="true" suggests that there’s a popup, but it doesn’t exist.Padding should be added via CSS, not &nbsp;.Good code.button { /* use CSS to apply button-like styles to the link */}<a class="button" href="#form"> Register </a>
5年前
記事のアイキャッチ画像
#6 link with void operator as href value
HTMHell
Bad code<a href="javascript:void(1)" onClick='window.location="index.html"'>Link</a>Issues and how to fix themLinks won't work, if JavaScript fails to load or execute.You don’t need JavaScript to link to other pages, you can use the href attribute for that. Browser support is pretty good (100% of all browsers).The context menu on right click is different, "Open in new tab/window" is not available.CMD + Click to open a link in the background won't work.Good code<a href="index.html">Link</a>
5年前
記事のアイキャッチ画像
#7 multiple duplicate ids and table layout
HTMHell
+Bad code <table> <tr id="body"> <td id="body"> <table id="body"> <tr id="body_row"> <td id="body_left">…</td> <td id="body_middle">…</td> <td id="body_right">…</td> </tr> </table> </td> </tr> </table>Issues and how to fix themAn id should be unique no matter on which tag it’s added. Also this code uses a table-based layout (and yeah, it’s on a live production site still running, redesigned in 2016). Avoid using tables for layout reasons only, because table elements have a semantic meaning. Using them could make your document more confusing for some people.Replace the current markup with semantic HTML5 tags. This reduces the number of tags and avoids the table-based layout.Style the new elements by using Flexbox or CSS Grid.For the ID values, more semantic terms should be used.Good code <main id="body"> <aside id="secondary_content"> </aside> <article id="primary_content"> </article> <aside id="tertiary_content"> </aside> </main> +
5年前
記事のアイキャッチ画像
#8 anchor tag used as button
HTMHell
+Bad code<a href="#" onclick="modal.open()">Login</a>Issues and how to fix themIf the a element has an href attribute, it represents a link to another resource like a page or a PDF document.The purpose of the element in this example is to trigger an action on the same page with JavaScript. The button element with the type button is more suitable because it has no default behaviour and it’s designed to trigger actions on user input.Browsers and devices that do not support JavaScript will not be able to access the content in the modal.Good codeSolution #1: Use a button element<button type="button" onclick="modal.open()">Login</button>Since the only purpose of this element is to trigger an action on the same page instead of navigation; the <button></button> element is the semantically correct element to use.Solution #2: Add a valid href value to the login form<a href="/login" onclick="modal.open()">Login</a>Another solution is to add a href value to a location where the same actions as the +
5年前
記事のアイキャッチ画像
#9 Cookie Consent from Hell
HTMHell
+Bad code<body> <header>…</header> <main>…</main> <footer>…</footer> <div class="cookie_consent modal"> <p>We use cookies…</p> <div class="cookie_consent__close"> <i class="fa fa-times"></i> </div> <div class="cookie_consent__ok">OK</div> </div></body>Issues and how to fix themThe modal is not the first item on the page and focus is not on the modal when the page loads. Keyboard users have to tab through all items on the page to access the cookie consent window.A div isn’t keyboard focusable.Content inside these divs is semantically just text. Assistive technology doesn’t know that these fake buttons are actually buttons.A click event on a div triggers only on click. A click event on a button triggers on click and if the user presses the Enter or Space key.There’s no text alternative for the icon.Font Awesome advises to hide icons semantically by settings aria-hidden="true" on the <i> element.Font Awesome adds Unicode content via the ::before pseudo element. Assistive technology may ann +
5年前
記事のアイキャッチ画像
#10 <section> is no replacement for <div>
HTMHell
+Bad code<section id="page-top"> <section data-section-id="page-top" style="display: none;"></section></section><main> <section id="main-content"> <header id="main-header"> <h1>...</h1> <section class="container-fluid"> <section class="row"> <article class="content col-sm-12"> <section class="content-inner"> <div class="content__body"> <article class="slider"> <section class="slide"> … </section> </article> </div> </section> </article> </section> </section> </header> </section></main>Issues and how to fix themSectioning content (<article>, <aside>, <nav>, <section>) is content that potentially has a heading and is appropriate only if the element’s contents would be listed explicitly in the document’s outline.It’s OK to nest sectioning content, but it only makes sense if the contents of the inner elements are related to the contents of the outer element.In this specific example, the sectioning elements are used for styling purposes only. They must not convey any semantic meaning, most of +
5年前
記事のアイキャッチ画像
#11 The trigram for heaven
HTMHell
+Bad code<span class="nav-toggle"> ☰ Menu </span>Issues and how to fix themA screen reader may announce this as trigram for heaven menu, because ☰ is the unicode character for the trigram for heaven.The purpose of the icon is decorative, it should be hidden from screen readers. Consider adding decorative images using background properties in CSS.A click event on a span triggers only on click. A click event on a button triggers on click and if the user presses the Enter or Space key.A span isn’t keyboard focusable, but this element must be focusable, because it’s used for opening and closing the main navigation.aria-expanded must be added to indicate wheather the main navigation is collapsed or not.Good code<button class="nav-toggle" aria-expanded="false"> <span aria-hidden="true">☰</span> Menu</button>Fun factThe Bagua or Pa Kua are eight symbols used in Taoist cosmology to represent the fundamental principles of reality, seen as a range of eight interrelated concepts. Each consists of +
5年前
記事のアイキャッチ画像
#12 accessible poll yes/no
HTMHell
+Bad code<form role="form"> <h2>Poll title</h2> <div id="pollQuestion">Is this accessible?</div> <div name="pollGroup" role="radiogroup"> <div role="radiogroup" aria-label="Poll title"> <input type="radio" name="poll" aria-labelledby="pollQuestion" value="[object Object]"> <span>Yes</span> <input type="radio" name="poll" aria-labelledby="pollQuestion" value="[object Object]"> <span>No</span> <input type="radio" name="poll" aria-labelledby="pollQuestion" value="[object Object]"> <span>Maybe</span> <input type="radio" name="poll" aria-labelledby="pollQuestion" value="[object Object]"> <span>Can you repeat the question?</span> </div> <button type="submit">Vote</button> </div></form>Issues and how to fix themSetting form semantics explicitly using the role attribute isn’t necessary, the semantics are implied in the element.A form is a landmark. An aria-labelledby referring to the h2 gives the landmark an accessible name. This makes it more useful for navigation.Setting role="radiogroup" isn +
5年前
記事のアイキャッチ画像
#13 link or label
HTMHell
+Bad code<input type="checkbox" id="accept" required><label for="accept"> <a href="/legal"> I accept the confidentiality policy and data… </a></label>Issues and how to fix themIt’s bad practice to nest elements with activation behavior (e.g. click).Users don’t expect a new page to open when they click a label.The ability to click a label provides usability and accessibility benefits (larger hit area).Place links outside the label element.Good code<input type="checkbox" id="accept" required><label for="accept"> I accept the confidentiality policy and data… </label>(read <a href="/legal">Terms and conditions</a>)Resources4.10.4. The label elementBe Wary of Nesting Roles by Adrian Roselli
5年前
記事のアイキャッチ画像
#14 not my type
HTMHell
+Bad code<a type="button" class="button" href="/signup" tabindex="-1">Sign up</a>Issues and how to fix themThe type attribute has no effect on the semantics of an <a> element.An anchor may have the type attribute, but the value should be a valid MIME type. Browsers may consider it, but it’s purely advisory.If the presence of the href attribute makes sense, you most definitely want to use a proper link (<a>) and not a button, no matter how the element looks like in your design.A negative tabindex value means that the element is not accessible via keyboard, but it could be focused with Javascript.Do not change native semantics, unless you really have to.If you need a button, use the <button> element.Good code<a href="/signup" class="button">Sign up</a>Resources4.8.2. Links created by a and area elements4.5.1. The a element
+5年前
記事のアイキャッチ画像
#15 letter by letter
HTMHell
+Bad codeLetters are wrapped in divs to animate each letter with JavaScript.<h3> <div style="display: block; text-align: start; position: relative;" class="title"> <div style="position: relative; display: inline-block; transform: rotateX(90deg); transform-origin: 50% 50% -30.8917px;" class="char">H</div> <div style="position: relative; display: inline-block; transform: rotateX(90deg); transform-origin: 50% 50% -30.8917px;" class="char">e</div> <div style="position: relative; display: inline-block; transform: rotateX(90deg); transform-origin: 50% 50% -30.8917px;" class="char">a</div> <div style="position: relative; display: inline-block; transform: rotateX(90deg); transform-origin: 50% 50% -30.8917px;" class="char">d</div> <div style="position: relative; display: inline-block; transform: rotateX(90deg); transform-origin: 50% 50% -30.8917px;" class="char">i</div> <div style="position: relative; display: inline-block; transform: rotateX(90deg); transform-origin: 50% 50% -30.8917px;" class= +
5年前
記事のアイキャッチ画像
#16 alt, no wait…, aria-label, no wait…, alt
HTMHell
+Context: A list of images that link to detail pages.Bad code<a tabindex="0"> <div alt="Browser Wars: The Last Engine" aria-label="Browser Wars: The Last Engine"> <div> <img alt="Browser Wars: The Last Engine" src="thumbnail.jpg"> </div> </div></a>Issues and how to fix themIf the <a> element has no href attribute, then the element represents a placeholder for where a link might otherwise have been placed.HTML spec)If you’re adding a click event to a placeholder link, you probably don’t want to use a placeholder link, but an actual link with an href attribute or a <button>, depending on what's happening on click.Placeholder links aren't focusable. tabindex makes them focusable, but the attribute is another indicator that a proper link would be a better choice here.alt is not allowed on div elements and it has no effect on their semantic meaning.Avoid aria attributes when possible. The aria-label attribute on the div is redundant, because the img already has an accessible name (the value +
5年前
記事のアイキャッチ画像
#17 inaccessible cards
HTMHell
+Context: A list of linked cards, each with heading, image, and teaser text.Bad code<section> <section> <h2>Overview</h2> <figure class="card" data-url="image1.html" style="background: url(image1.jpg)"> <figcaption> <h4>My heading</h4> <article>Teasertext...</article> </figcaption> </figure> <figure class="card" data-url="image2.html" style="background: url(image2.jpg)"> … </figure> </section></section>Issues and how to fix themYou might not need (so many) <section>s. Read Why You Should Choose HTML5 <article> Over <section> by Bruce Lawson for more details.Heading levels shouldn’t be skipped. Screen reader users rely on a sound document outline and hierarchy. It helps with navigation and understanding how the page is structured.The figure element represents content, optionally with a caption, that is self-contained, but in this example there’s no content, only a caption.The image in a card usually isn’t decorative, it conveys information. It should be part of the HTML document and not +
5年前
記事のアイキャッチ画像
#18 main divigation
HTMHell
+Context: The main navigation of a personal website.Bad code<div class="nav"> <div> <div>about</div> <div>thoughts</div> </div></div>Issues and how to fix themThe <div> element is an element of last resort, for when no other element is suitable. Use of the <div> element instead of more appropriate elements leads to poor accessibility.Use <nav> for the main navigation, it represents a landmark with links to external or internal pages. Screen reader users may use shortcuts to access the navigation directly or skip it.Use <ul> or <ol> to structure related links semantically and visually. Screen readers usually announce the number of items in a list.If the order of items in the navigation matters, use <ol>, otherwise <ul>.A click event on a div triggers only on click. Use <a href=""> to link to other pages. It’s (more) accessible to keyboard, screen reader, and mouse users than a fake JavaScript-only link.Good code<nav> <ul class="nav"> <li> <a href="/about">about</a> </li> <li> <a href="/t +
5年前
記事のアイキャッチ画像
#19 heading in the wrong direction
HTMHell
+Context: A simple page that displays the availability of a product.Bad code<h1>Product Status</h1><h2>Is the product available?</h2><div> <h3> <div> <div> <i> <h3 class="message is-success"> It‘s <a>available</a>. </h3> </i> </div> </div> </h3></div>Issues and how to fix themh1 – h6 elements must not be used to markup subheadings, subtitles, alternative titles and taglines unless intended to be the heading for a new section or subsection.1All div elements in this specific example are superfluous. It’s likely that they only exist because a front-end framework adds them by default. Use Fragments in React or similar techniques in other frameworks to avoid unnecessary markup.Try to avoid excessive DOM sizes. Too many DOM nodes and nested DOM elements may harm your page performance.A large DOM tree results in a large accessibility tree, which may have a bad impact on the performance of assistive technology.Only phrasing content is allowed as children and descendants of h1 – h6 elements. (h3 +
5年前
記事のアイキャッチ画像
#20 HTMHell special: close buttons
HTMHell
+This first HTMHell special inspects one of the most complicated and most controversial patterns in front-end development:🔥 the close button. 🔥In modals, ads, and other overlays you often find a button with a close symbol that allows users, or at least some of them, to close the overlay. This functionality is often limited to mouse users, because most implementations of close buttons suck.After less than 2 hours of research, HTMHell presents a collection of 11 different bad practices.Pattern 1: div and background image<div class="close"></div>.close::after { background: url("close.png"); content: "";}Issues and how to fix themThe <div> element is an element of last resort, for when no other element is suitable. Use of the <div> element instead of more appropriate elements leads to poor accessibility.A click event on a div triggers only on click. A click event on a button triggers on click and if the user presses the Enter or Space key.A div isn’t keyboard focusable.There’s no text alt... +
5年前
記事のアイキャッチ画像
#21 Legendary legend!
HTMHell
+Context: A button that expands and collapses a section of text.Bad code<button class="panel-heading" tabindex="0" href="#collapse0" aria-expanded="true"> <legend> Industries Served </legend></button>Issues and how to fix themlegend is not allowed as a child of any other element than fieldset.HTML spec for legend)You don’t need the tabindex attribute if you use a button. HTML buttons are focusable by default.href attribute is not allowed on the button element.HTML spec for button)Good code<button class="panel-heading" aria-expanded="true"> Industries Served</button>ResourcesThe legend elementThe button element
5年前
記事のアイキャッチ画像
#22 the good ol’ div link
HTMHell
+Context: A link to another page.Bad code<div>About us</div><div onClick="location.href='about.html'"> About us</div><div data-page="aboutus" data-url="index.php"> About us</div>…or any other variation of this pattern where an element other than <a> is used to link to a page.Issues and how to fix themThe <div> element is an element of last resort, for when no other element is suitable. Use of the <div> element instead of more appropriate elements leads to poor accessibility.A click event on a div triggers only on click. A click event on an a triggers on click and if the user presses the Enter key.A div isn’t keyboard focusable.The context menu on right click doesn’t provide options like “Open in new tab/window” or “Bookmark this link”.By default, screen readers just announce the text in a div (e.g. “about us”), in a proper link (<a>) a screen reader announces the text and the role (e.g. “about us, link”).Attributes like aria-label might not work (properly) on div elements.Screen reader +
4年前
記事のアイキャッチ画像
#23 A card pattern
HTMHell
+Bad code<article> <div> <div class="sr-only">Image</div> <img src="/feature-teaser.png" alt="Feature teaser" /> </div></article><div> <span> <span>Exciting feature!</span> </span> <div> This text describes what the feature does! </div> <a href="/blog/feature"> <span>Read more</span> <svg viewBox="0 0 9 12" xmlns="http://www.w3.org/2000/svg"> <path d="M.84 10.59L5.42 6 .84 1.41 2.25 0l6 6-6 6z"></path> </svg> </a></div>Issues and how to fix themThe example code uses an <article>. This element is meant for standalone content that can be re-used by itself. If there is anything reusable here, it is the entire “card”. More appropriate is a <section>.There is a piece of text before the image, with the text image. This seems to be some sort of definition of the role of the element following. When using proper semantic HTML, the HTML-elements already communicate their semantics. Adding text is superfluous and confusing.The alt-attribute states that image is a teaser for the feature mentioned b +
4年前
記事のアイキャッチ画像
#24 A placeholder is not a label
HTMHell
+Bad code<input type="text" placeholder="First name">Issues and how to fix themEvery form input element needs a label. When screen reader users access a form field, the label is announced with the field type (e.g. first name, edit text). If it’s missing, users might not know what they’re supposed to fill in (e.g. edit text).Some screen readers fall back to placeholder as the label, but it’s not recommended to rely on it.By default, placeholder text is displayed in a light grey color with low contrast. It might not be readable for people with low vision or under certain conditions, like strong sunlight.It’s possible to increase contrast by using the ::placeholder pseudo element, but if contrast is too high, users may mistake a placeholder for data that was automatically filled in.Using and displaying a <label> increases the target size of the form field which can be of great help, especially on touch devices.If placeholder functions as the only label, the label disappears when the user t +
4年前
記事のアイキャッチ画像
#25 A link is a button is a link
HTMHell
+Note: We've removed most classes to improve readability.Bad code<a tabindex="0" type="button" href="/signup" role="link"> <span class="focus" tabindex="-1"></span> <span> <span> <span>Sign up</span> <i class="icon icon-external-link" aria-hidden="true" role="img"></i> </span> </span></a>Issues and how to fix themYou don’t need the tabindex attribute if you use an a tag. HTML hyperlinks are focusable by default.The type attribute on a tag is used to hint at the linked URL’s format with a MIME type, eg: type="image/svg+xml"Using role=link on an a tag is not needed since you already get that behaviour for free by using a standard hyperlink (<a href="">).A negative tabindex value means that the element is not accessible via keyboard, but it could be focused with JavascriptAn additional span to handle focus isn’t necessary, a can do that by itself. 💪🏻The i element represents a span of text in an alternate voice or mood, or otherwise offset from the normal prose in a manner indicating a di... +
4年前
記事のアイキャッチ画像
#26 HTMHell special: tasty buttons
HTMHell
+The second HTMHell special focuses on another highly controversial pattern in front-end development:🔥 the burger button. 🔥The burger button and his tasty friends (kebab, meatball and bento) usually reveal a list of links when activated. According to our studies, these buttons are highly optimized for mouse and touch users, but lack support for keyboard and screen reader users in most cases.After less than 1 hours of research, HTMHell presents a collection of 18 different bad practices found on real websites.Pattern 1: the unsemantic burger<div class="burger"> <span></span> <span></span> <span></span></div>.burger { display: flex; flex-direction: column; justify-content: space-between; width: 30px; height: 20px; cursor: pointer;}.burger span { height: 1px; display: block; background: #000;}Issues and how to fix themThe <div> element is an element of last resort, for when no other element is suitable. Use of the <div> element instead of more appropriate elements leads to poor accessibi... +
3年前
記事のアイキャッチ画像
#27 <a6>
HTMHell
+Context: Visually a list of links.Bad code<h6>Popular Cities</h6><div> <h6 class="footerLinks">Amsterdam</h6> <h6 class="footerLinks">Rotterdam</h6> <h6 class="footerLinks">Utrecht</h6> <h6 class="footerLinks">Den Haag</h6> <h6 class="footerLinks">Eindhoven</h6></div>Issues and how to fix themUse headings (<h1>-<h6>) to structure the page, don’t use heading elements arbitrarily or only to comply with visual requirements.By default, a click event on an <h6> triggers only on click. A click event on an a triggers on click and if the user presses the Enter key.An <h6> isn’t keyboard focusable.If your content it so comprehensive and deeply structured that you need levels as deep as <h5> and <h6> in order to describe the structure, consider splitting your large page into multiple smaller pages.The <div> element is an element of last resort, for when no other element is suitable. Use of the <div> element instead of more appropriate elements leads to poor accessibility.If you’re listing items +
3年前
記事のアイキャッチ画像
#28 alert level 1
HTMHell
+Bad code<h1 aria-busy="true" aria-live="polite" role="alert" class="sr-only"> Done</h1>Issues and how to fix themThe element is used for communicating status updates, not to structure the page. A div with a role of status or alert is more suitable than a h1.The heading is semantically not a heading anymore, but an alert container. This can be confusing, NVDA, for example, announces “alert busy Done level 1”. Do not change native semantics, unless you really have to.aria-live="polite" turns the element explicitly into a polite live region. This behavior is overwritten by role="alert" which turns it implicitly into an assertive live region.For frequent updates it might be better to use a polite (role="status") and a not an assertive (role="alert") live region.aria-busy indicates whether an element, and its subtree, are currently being updated. The text of the live region “Done” indicates that all the necessary updates have finished. If that's the case, aria-busy should be removed or set +
3年前
記事のアイキャッチ画像
#29 Randomly grouping content
HTMHell
+Bad code<section> <aside> <div> <section> <header> <a href="/"> <img src="logo.svg" alt="Logo"> </a> </header> <main> <a href="/services">Services</a> <a href="/products">Products</a> <a href="/aboutus">Aboutus</a> </main> <footer></footer> </section> </div> </aside> <section> <footer></footer> <main> <h1>Welcome to Hell</h1> </main> <footer></footer> </section></section>Issues and how to fix themUse the <section> element only to mark up a grouping of related content, typically introduced with a heading. Learn more about sections in Issue #8 - the section element.Use the <aside> element only for content that is tangentially related to the main content and not for important parts of the page or site.Use the <nav> elements for important navigational groupings of links. Learn more about landmarks in Issue #16 - Landmarks.If a link contains an image and no text, the alt attribute of the image serves as the link text. In such a case it might make sense to use the attribute not to describe t +
3年前
記事のアイキャッチ画像
#30 Bullet “list”
HTMHell
+Bad code<p> • HTML <br> • CSS <br> • JavaScript</p>Issues and how to fix themUse <p> for paragraphs, not lists. The standard way for creating basic lists is <ul> (when the order doesn't matter) or <ol> (when the order matters), and <li> for each item.The “list” won't be announced as a list when using a screen reader.<ul> and <ol> provide useful semantic information. What and how assistive technology announces information differs, but:screen readers might announce it as a “list with items”screen readers might announce the number of items in the list, e.g. “list with 3 items”screen readers might announce the bullet or number of each itemscreen readers might announce when you enter or leave a listScreen reader users may use shortcuts to jump from list to list on a page<ul> and <ol> provide a selector for styling in CSSWhen copying the fake list, all the bullets will go along with itYou can turn the bullet into a fire emoji using ::marker 🔥Good code<ul> <li>HTML</li> <li>CSS</li> <li>Java... +
3年前
記事のアイキャッチ画像
#31 additional “assistance”
HTMHell
+Bad code <a href="/contact" aria-label="If you find that you need additional assistance in navigating or accessing the content of this website, please call our customer service toll free number 1-800-666-8654309" title="Ifyou find that you need additional assistance in navigating or accessing the content of this website, please call our customer service toll free number 1-800-666-8654309"> Contact </a> <a href="/login" aria-label="If you find that you need additional assistance in navigating or accessing the content of this website, please call our customer service toll free number 1-800-666-8654309" title="If you find that you need additional assistance in navigating or accessing the content of this website, please call our customer service toll free number 1-800-666-8654309"> Login </a>Issues and how to fix themaria-label, aria-labelledby, etc. must not be misused for dumping contact information or other unrelated content.Text in a link must describe the purpose or the target of the +
3年前
記事のアイキャッチ画像
#32 almost a proper close button
HTMHell
+Bad code<button display="flex" role="button"> <svg role="img" viewBox="0 0 13 13" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" height="15px" width="15px" fill="#000" name="close"> <title>Close dialog</title> <path d="…"> </path> </svg></button>Issues and how to fix themEither turn the <svg> into a semantic element (role="img") or exclude it from the accessibility tree (aria-hidden="true"). Doing both makes no sense.The button has no accessible name (a text alternative). The title element in the svg would serve as the accessible name, but aria-hidden="true" makes the whole SVG inaccessible to assistive technology.Even without aria-hidden="true", some screen reader/browser combinations might not recognise the <title> element. Label the <svg> using aria-labelledby or aria-label.The role=button attribute and value for the button is redundant. Its implicit default role is “button”.There's no display attribute. If you need custom attributes, use the data- prefix.The name attribute i +
3年前
記事のアイキャッチ画像
#33 make me one (input) with everything
HTMHell
+The good intentions were there but in the HTML and Accessibility world, less is sometimes more.Bad code<label for="textinput">First name</label><input type="text" id="textinput" aria-label="First name" placeholder="First name" title="First name">Issues and how to fix themThe aria-label, placeholder, and title attributes all provide the same informaton ("First name"), leading to the screenreader reading the same text multiple times.The aria-label is unnecessary since the input is already correctly labeled by the <label> element. <label> elements should be preferred to aria-label since they are also visible to sighted users.The title attribute is not needed here, as the label and placeholder already convey the necessary information. Using title in this context adds unnecessary complexity.The placeholder text should provide a hint / example to the user what kind of input is expected, it should not act as a label or contain the same content.Good code<label for="textinput">First name</label +
5ヶ月前
記事のアイキャッチ画像
#34 a button is not a link
HTMHell
+Bad code<button type="button" onclick="window.open('https://example.com/other-page')">Link target description</button>Issues and how to fix themA button opening a link will be unexpected behavior for screen reader users. No matter how it is styled.Links disguised as buttons won’t show up in the link list of a site in assistive technologies.Use links for navigation to other pages or sections, and buttons for actions performed on the current page or within the application.Good code<a href="https://example.com/other-page">Link target description</a>Resources<a> on MDN<button> on MDNButtons vs. Links by Eric Eggert
2ヶ月前
\ No newline at end of file diff --git a/blogs/0ae95435ab00c9062e315698b68a3c47/index.html b/blogs/0ae95435ab00c9062e315698b68a3c47/index.html new file mode 100644 index 000000000000..8600b78d5a28 --- /dev/null +++ b/blogs/0ae95435ab00c9062e315698b68a3c47/index.html @@ -0,0 +1,24 @@ +kettanaito.comのフィード|JSer.info Watch List RSS

kettanaito.com

https://kettanaito.com

Artem Zakharchenko's personal blog.

フィード

記事のアイキャッチ画像
2023 Year in Review
kettanaito.com
The good, the bad, and the ugly of the year 2023.
1年前
記事のアイキャッチ画像
A Total Mess Behind GitHub Accelerator
kettanaito.com
GitHub Accelerator is a life-changing program on paper. In reality, it turned out a bit differently.
2年前
記事のアイキャッチ画像
Advanced forms in React made easy
kettanaito.com
Learn how to create clean and performant forms using React Advanced Form package.
7年前
記事のアイキャッチ画像
Build-time Open Graph Images in Remix
kettanaito.com
Generate Open Graph images in Remix on build time with this neat library.
2ヶ月前
記事のアイキャッチ画像
Building a Tree-shakable Library with Rollup
kettanaito.com
+A missing guideline for JavaScript library authors on building and distributing a tree-shakable library using RollupJS.
5年前
記事のアイキャッチ画像
Catching Flaky Tests Before It's Too Late
kettanaito.com
Learn how you can use reporting tools to automate flaky test discovery
2ヶ月前
記事のアイキャッチ画像
Debounce vs Throttle: Definitive Visual Guide
kettanaito.com
A complete guide to learn the difference between debounce and throttle using visual examples. Never confuse the two again.
5年前
記事のアイキャッチ画像
+Debugging Like A Pro-xy
kettanaito.com
Learn how to use Proxies to debug tricky issues in JavaScript.
1年前
記事のアイキャッチ画像
Don't Sleep on AbortController
kettanaito.com
Learn how to make anything abortable in JavaScript.
5ヶ月前
記事のアイキャッチ画像
Efficient CircleCI debugging with SSH
kettanaito.com
Stop wasting hours on debugging failed CI jobs, when you can go to the very remote machine that run your tests, open its state, and solve the issue spot-on.
5年前
記事のアイキャッチ画像
How To Ask Questions?
kettanaito.com
Asking the right questions in engineering is hard. This article makes it a bit easier.
4年前
記事のアイキャッチ画像
Looking For a Job As an Open Source Maintainer
kettanaito.com
Learn about the precautions to take if you are an open source maintainer looking for a job.
1年前
記事のアイキャッチ画像
Making Sense of TypeScript Generics
kettanaito.com
Here's what you need to understand about generics in TypeScript.
1年前
記事のアイキャッチ画像
My Struggle With Remix
kettanaito.com
Remix is a fantastic framework but it's not without its issues. Here are some of my struggles after building a few different projects with it.
2年前
記事のアイキャッチ画像
One Thing Nobody Explained To You About TypeScript
kettanaito.com
One of the most common mistakes in configuring TypeScript.
1年前
記事のアイキャッチ画像
Practical Guide to Custom Jest Matchers
kettanaito.com
Learn how to create custom Jest matchers to reduce the repetition in your tests and make them more readable.
3年前
記事のアイキャッチ画像
The Art of Code Review
kettanaito.com
Lessons learned from reviewing a team of 15 people throughout 2,5 years.
6年前
記事のアイキャッチ画像
The Dark Side of Open Source
kettanaito.com
Drawing from personal experience how open source can be a double-edged sword.
3年前
記事のアイキャッチ画像
The Difference Between Null and Undefined
kettanaito.com
In JavaScript, null and undefined cannot be more different. Here's why.
1年前
記事のアイキャッチ画像
The Plague of Linters
kettanaito.com
If you ever had a debate about which linting rule to use, you must read this.
5年前
記事のアイキャッチ画像
Thinking in Functions, Part II: Higher-order Functions
kettanaito.com
Let's take a dive into what "higher-order" functions are, what problems they solve, and learn how to use them in practice.
4年前
記事のアイキャッチ画像
Thinking in Functions, Part I: The Input/Output Pattern
kettanaito.com
+Function is a synonym for action. It's good when your actions have purpose, and their intent is clear. But how to write such functions?
5年前
記事のアイキャッチ画像
Thirty Years and Counting
kettanaito.com
Listen as I reminisce about the past ten years of my life.
3ヶ月前
+記事のアイキャッチ画像
Why Fetch Promise Doesn't Reject on Error Responses
kettanaito.com
The fetch Promise doesn't reject on error responses and that's entirely correct! Here's why.
1年前
記事のアイキャッチ画像
Why I Wouldn't Want to Have an Engineering Degree
kettanaito.com
Coming from a non-technical background is challenging. Yet I wouldn't want to have studied software engineering regardless because it would've taken one little but incredibly important thing from me.
3年前
記事のアイキャッチ画像
Why Patching Globals Is Harmful
kettanaito.com
Why I believe patching globals is a bad API design.
9ヶ月前
記事のアイキャッチ画像
Writing a Custom Webpack Loader
kettanaito.com
Learn how to write custom webpack loaders with this example that transforms MP3 file imports into interactive audio players.
4年前
\ No newline at end of file diff --git a/blogs/0b2c3130289cfb1005b1bed4cac7732f/index.html b/blogs/0b2c3130289cfb1005b1bed4cac7732f/index.html new file mode 100644 index 000000000000..5ee33c9b576b --- /dev/null +++ b/blogs/0b2c3130289cfb1005b1bed4cac7732f/index.html @@ -0,0 +1,8 @@ +Jacob &#39;kurtextrem&#39; Großのフィード|JSer.info Watch List RSS

Jacob 'kurtextrem' Groß

https://kurtextrem.de/

Jacob 'kurtextrem' Groß portfolio overview, including links to blog posts, projects, research and tools published.

フィード

記事のアイキャッチ画像
How To Improve INP: React⚛️
Jacob 'kurtextrem' Groß
All-in-one guide for improving Interaction-to-Next-Paint (INP) Core Web Vital in React applications. Introduces the useAfterPaintEffect hook.
2ヶ月前
記事のアイキャッチ画像
How To Improve INP: Yield Patterns
Jacob 'kurtextrem' Groß
Detailed insights into patterns like await-interaction-response, yieldToMain, yieldUnlessUrgent & tips for faster Interaction-to-Next-Paint (INP).
7ヶ月前
記事のアイキャッチ画像
Fastest Way of Passing State to JavaScript, Re-visited
Jacob 'kurtextrem' Groß
Re-visitting the most performant way of passing state to JavaScript. Contains microbenchmarks and a DevTools challenge.
1年前
記事のアイキャッチ画像
Breaking Up with SVG-in-JS in 2023
Jacob 'kurtextrem' Groß
Technical deep-dive on why you shouldn't have SVGs in your JS bundle and better techniques for JSX usage.
2年前
\ No newline at end of file diff --git a/blogs/0b333fec2ef9092be168d6c058c32593/index.html b/blogs/0b333fec2ef9092be168d6c058c32593/index.html new file mode 100644 index 000000000000..8c5b7023eb85 --- /dev/null +++ b/blogs/0b333fec2ef9092be168d6c058c32593/index.html @@ -0,0 +1,165 @@ +&lt;/&gt; htmx - high power tools for htmlのフィード|JSer.info Watch List RSS

</> htmx - high power tools for html

https://htmx.org

htmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react

フィード

記事のアイキャッチ画像
An interview with Chris Wanstrath aka @defunkt, Creator of pjax
はてなブックマークアイコン 1
</> htmx - high power tools for html
+I’m very excited to be able to interview @defunkt, the author of pjax, anearly hypermedia-oriented javascript library that served as an inspiration for intercooler.js, which later becamehtmx. He’s done a few other things too, like co-founding GitHub, but in this interview I want to focus on pjax, how itcame to be, what influenced it and what it in turn influenced.Thank you for agreeing to an interview @defunkt!Q: To begin with, why don’t you give the readers a bit of your background both professionally & technically:I think I can sum up most of my technical background in two quick anecdotes:For “show and tell” in 6th grade, I brought in a printout of a web page I had made - including its source code. Ilike to imagine that everyone was impressed.Right after 7th grade, a bunch of rowdy high schoolers took me down to the local university during a Linuxinstallfest and put Red Hat on my family’s old PC. That became my main computer for all of high school.So pretty much from the start I was +
12日前
記事のアイキャッチ画像
An interview with Makinde Adeagbo, Creator of Primer
</> htmx - high power tools for html
+I’m delighted to be able to interview Makinde Adeagbo, one of the creators of Primer,an hypermedia-oriented javascript library that was being used at Facebook in the 2000s.Thank you for agreeing to an interview!Q: To begin with, why don’t you give the readers a bit of your background both professionally & technically?I’ve always been into tech. In high school, I used to build computers for friends and family. I took the computer science classes my high school offered and went on to study computer science in college. I was always amazed by the fact that I could build cool things—games, tools, etc.—with just a computer and an internet connection.I was lucky enough to participate in Explore Microsoft, an internship that identifies underrepresented college freshmen and gives them a shot at working at Microsoft. After that experience, I was sold on software as my future. I later interned at Apple and Microsoft again. During college, I also worked at Facebook when the company was about 150 e +
12日前
記事のアイキャッチ画像
An interview with Mike Amundsen, Author of 'RESTful Web APIs'
</> htmx - high power tools for html
+Mike Amundsen is a computer programmer, author and speaker, and is one of the world leading experts on REST &hypermedia. He has been writing about REST and Hypermedia since 2008 and has published two books on the ideas:RESTful Web APIsBuilding Hypermedia APIs with HTML and NodeMike agreed to do an interview with me on his view of the history of hypermedia and where things are today.Q: The “standard” history of hypermedia is Vannevar Bush’s “As We May Think”, followed by Nelson introducingthe term “hypermedia” in 1963, Englebart’s “Mother of all Demos” in 1968 and then Berners-Lee creating The Web in 1990.Are there any other important points you see along the way?I think starting the history of what I call the “modern web” with Bush makes a lot of sense. Primarily because you candirectly link Bush to Engelbart to Nelson to Berners-Lee to Fielding. That’s more than half a century of scholarship,design, and implementation that we can study, learn from, and expand upon.At the same time, I +
12日前
記事のアイキャッチ画像
Vendoring
はてなブックマークアイコン 1
</> htmx - high power tools for html
+“Vendoring” software is a technique where you copy the source of another project directly into your own project.It is an old technique that has been used for time immemorial in software development, but the term “vendoring” todescribe it appears to have originated in the ruby community.Vendoring can be and is still used today. You can vendor htmx, for example, quite easily.Assuming you have a /js/vendor directory in your project, you can just download the source into your own project likeso:curl https://raw.githubusercontent.com/bigskysoftware/htmx/refs/tags/v2.0.4/dist/htmx.min.js > /js/vendor/htmx-2.0.4.min.jsYou then include the library in your head tag:<script src="/js/vendor/htmx-2.0.4.min.js"></script>And then you check the htmx source into your own source control repository. (I would even recommend considering usingthe non-minimized version, soyou can better understand and debug the code.)That’s it, that’s vendoring.Vendoring StrengthsOK, great, so what are some strengths of ven +
12日前
記事のアイキャッチ画像
Alternatives to htmx
</> htmx - high power tools for html
+htmx is only one of many different libraries & frameworks that take thehypermedia oriented approach to building web applications. I havesaid before that I think the ideas of htmx / hypermedia are more important thanhtmx as an implementation.Here are some of my favorite other takes on these ideas that I think are worth your consideration:UnpolyUnpoly is a wonderful, mature front end framework that has been used heavily (especially in theruby community) for over a decade now. It offers best-in-class progressive enhancementand has many useful concepts such as layers and sophisticatedform validation.I interviewed the author, Henning Koch, hereYou can see a demo application using Unpoly here.TriptychTriptych is a set of three proposalsto bring more generalized hypermedia controls directly into the HTML specification:Allow more HTTP Methods to be used directly from HTMLAllow buttons to act as stand-alone hypermedia controlsAllow hypermedia controls to target any element on the page for repla +
1ヶ月前
記事のアイキャッチ画像
A Real World wasm to htmx Port
</> htmx - high power tools for html
+img, video { max-width: 100%; margin: 10px;}When I was in college, I wrote some customer service software that tied together some custom AI models I trained, the OpenAI API, a database, and some social media APIs to make the first version of Sidekick.Led astrayOver the next couple years I worked on adding more features and growing the user base. As a solo founder, I should have been focused on sales, marketing, and market discovery. Instead, as an engineer, I wanted to hand-craft the perfect web stack. I was firmly of the belief that the network gap between the frontend and the backend could be abstracted away, and I could make writing web apps as simple as writing native apps. Did this have anything to do with my business, product, or customers? Absolutely not, but as many technical founders do, I believed if I perfected the tech, the customers would materialize.My design decisions were naive, but also reminiscent to what’s seen in industry today: I wanted the backend and frontend to +
1ヶ月前
記事のアイキャッチ画像
The future of htmx
</> htmx - high power tools for html
+In The Beginning…htmx began life as intercooler.js, a library built around jQuery that added behavior basedon HTML attributes.For developers who are not familiar with it, jQuery is a venerable JavaScriptlibrary that made writing cross-platform JavaScript a lot easier during a time when browser implementations were veryinconsistent, and JavaScript didn’t have many of the convenient APIs and features that it does now.Today many web developers consider jQuery to be “legacy software.” With all due respect to this perspective, jQuery iscurrently used on 75% of all public websites, a number that dwarfs all other JavaScript tools.Why has jQuery remained so ubiquitous?Here are three technical reasons we believe contribute to its ongoing success:It is very easy to add to a project (just a single, dependency-free link)It has maintained a very consistent API, remaining largely backwards compatible over its life (intercooler.js workswith jQuery v1, v2 and v3)As a library, you can use as much or as +
1ヶ月前
記事のアイキャッチ画像
htmx quirks
</> htmx - high power tools for html
+This is a “quirks” page, based on SQLite’s “Quirks, Caveats, and Gotchas In SQLite” page.Attribute InheritanceMany attributes in htmx are inherited: child elements can receive behavior from attributes locatedon parent elements.As an example, here are two htmx-powered buttons that inherit their target from a parentdiv:<div hx-target="#output"> <button hx-post="/items/100/like">Like</button> <button hx-delete="/items/100">Delete</button></div><output id="output"></output>This helps avoid repeating attributes, thus keeping code DRY.On the other hand, as the attributes get further away elements, you lose Locality of Behaviorand it becomes more difficult to understand what an element is doing.It is also possible to inadvertently change the behavior of elements by adding attributes to parents.Some people prefer to disable inheritance in htmx entirely, using the htmx.config.disableInheritanceconfiguration variable.Here is a meta tag configuration that does so: <meta name="htmx-config" content +
2ヶ月前
記事のアイキャッチ画像
htmx lore
</> htmx - high power tools for html
+For better or for worse, htmx has collected a lot of lore, mainly around the twitter account.Here are some explanations.It’s So Over/We’re So BackA common set of phrases used by htmx enthusiasts when, for example, @bunjavascript told me to delete my accounthtmx CEOAt one point there was a hostile takeover attempt of the htmx CEO position and, in a desperate poison pill, I declaredeveryone CEO of htmx.Turk created https://htmx.ceo if you want to register as a CEO.If someone emails hr@bigsky.software asking if you are CEO of htmx, I will tell them yes.You can put it on your LinkedIn, because it’s true.Laser Eye HorseAt some point I photoshopped lasers onto a horse mask, as kind of an homage to @horse_js.For some reason it stuck and now it’s the official unofficial mascot of htmx.SpieltriebSpieltrieb means “play instinct”, and is a big part of the htmx vibe.PicklesAt some point someone (I think @techsavvytravvy), generated a grug AI image, and therewas a pickle smiling in a really bizarre +
2ヶ月前
記事のアイキャッチ画像
Prefer If Statements To Polymorphism...
</> htmx - high power tools for html
+Or, Watching Myself Lose My Mind In Real Time…“Invert, always invert.” –Carl Jacobi, by way of Charlie MungerIf Statementsprefer if statements to polymorphismwhenever you are tempted to create a class, ask yourself: “could this be an if statement instead?”The Closed/Closed PrincipleIn grug-oriented programming, the closed–closed principle (CCP) states “software entities (classes, modules, functions, etc.) should be closed for extension, but also closed for modification”they should just do something useful manThe Minimize Abstractions PrincipleThe Minimize Abstractions Principle (MAP) is a computer programming principle that states that “a module shouldminimize the number of abstractions it contains, both in API and in implementation. Stop navel gazing nerd.”The Try It Out Substitution PrincipleThe “Try It Out” Substitution Principle states that you should try something out and, if that doesn’t work, think about why, and substitute something else for it instead.It is common to need to s +
2ヶ月前
記事のアイキャッチ画像
Codin' Dirty
</> htmx - high power tools for html
+“Writing clean code is what you must do in order to call yourself a professional. There is no reasonable excuse fordoing anything less than your best.” Clean CodeIn this essay I want to talk about how I write code. I am going to call my approach “codin’ dirty” because I oftengo against the recommendations of Clean Code,a popular approach to writing code.Now, I don’t really consider my code all that dirty: it’s a little gronky in places but for the most part I’mhappy with it and find it easy enough to maintain with reasonable levels of quality.I’m also not trying to convince you to code dirty with this essay. Rather, I want toshow that it is possible to write reasonably successful software this way and, I hope, offer some balance around softwaremethodology discussions.I’ve been programming for a while now and I have seen a bunch of different approaches to building software work. Somepeople love Object-Oriented Programming (I like it), other very smart people hate it. Some folks love the +
2ヶ月前
記事のアイキャッチ画像
Web Components Work Great with htmx
</> htmx - high power tools for html
+People interested in htmx often ask us about component libraries.React and other JavaScript frameworks have great ecosystems of pre-built components that can be imported into your project; htmx doesn’t really have anything similar.The first and most important thing to understand is that htmx doesn’t preclude you from using anything.Because htmx-based websites are often multi-page apps, each page is a blank canvas on which you can import as much or as little JavaScript as you like.If your app is largely hypermedia, but you want an interactive, React-based calendar for one page, just import it on that one page with a script tag.We sometimes call this pattern “Islands of Interactivity”—it’s referenced in our explainers here, here, and here.Unlike JS frameworks, which are largely incompatible with each other, using islands with htmx won’t lock you into any specific paradigm.But there’s a second way that you can re-use complex frontend functionality with htmx, and it’s Web Components!Practi +
3ヶ月前
記事のアイキャッチ画像
Next.js to htmx — A Real World Example
</> htmx - high power tools for html
+Over 6 years ago, I created an open source URL shortener with Next.js and after years of working on it, I found Next.js to be much more of a burden than a help. Over the years, Next.js has changed, and so did my code so it can be compatible with those changes.My Next.js codebase grew bigger, and its complexity increased by greater size. I had dozens of components and a list of dependencies to manage. I ended up maintaining the code constantly just to keep it alive. Sure, Next.js helped here and there, but at what cost?I asked myself, what am I doing on my website that is so complex that needs all that JavaScript code to decide what to render and how to render on my webpage? Next.js was trying to render the webpage from the server side, so why won’t I send the HTML directly myself?So I decided to try a new route—some might say the good ol’ route—and choose plain HTML and use the help of htmx for that.VideoWatch me go full in details here:The processReplacing my components with the equiv +
3ヶ月前
記事のアイキャッチ画像
Why Gumroad Didn't Choose htmx
</> htmx - high power tools for html
+At Gumroad, we recently embarked on a new project called Helper. As the CEO, I was initially quiteoptimistic about using htmx for this project, even though some team members were less enthusiastic.My optimism stemmed from previous experiences with React, which often felt like overkill for our needs. I thought htmxcould be a good solution to keep our front-end super light. Source with htmx - Click Image To ViewIn fact, I shared this sentiment with our team in Slack:“https://htmx.org/ may be a way of adding simple interactions to start”And initially, it seemed promising! As one of our engineers at Gumroad eloquently put it:“HTMX is (officially) a meme to make fun of how overly complicated the JS landscape has gotten - much like tailwind isjust a different syntax for inline CSS, HTMX is a different syntax for inline JS.”However, unlike Tailwind, which has found its place in our toolkit, htmx didn’t scale for our purposes and didn’t leadto the best user experience for our customers–at leas +
4ヶ月前
記事のアイキャッチ画像
You Can't Build Interactive Web Apps Except as Single Page Applications... And Other Myths
</> htmx - high power tools for html
+img, video { max-width: 100%; margin: 10px;}An Ode to Browser Advancements.I often encounter discussions on Reddit and YCombinator where newer developers seek tech stack advice. Inevitably,someone claims it’s impossible to build a high-quality application without using a single-page application (SPA)framework like React or AngularJS. This strikes me as odd because, even before the SPA revolution, many popularmulti-page web applications offered excellent user experiences.Two years ago, I set out to build an observability platform and chose to experiment with amulti-page application (MPA) approach using HTMX. I wondered: Would a server-rendered MPA be inadequate for a data-heavyapplication, considering that most observability platforms are built on ReactJS?What I discovered is that you can create outstanding server-rendered applications if you pay attention to certaindetails.Here are some common MPA myths and what I’ve learned about them.Myth 1: MPA Page Transitions are slow because Java +
5ヶ月前
記事のアイキャッチ画像
htmx 2.0.0 has been released!
</> htmx - high power tools for html
+htmx 2.0.0 ReleaseI’m very happy to announce the release of htmx 2.0. This release ends support for Internet Explorer and tightens up somedefaults, but does not change most of the core functionality or the core API of the library.Note that we are not marking 2.0 as latest in NPMbecause we do not want to force-upgrade users who are relying on non-versioned CDN URLs for htmx. Instead, 1.x willremain latest and the 2.0 line will remain next until Jan 1, 2025. The website, however, will reference 2.0.Major ChangesAll extensions have been moved out of the core repository to their own repoand website: https://extensions.htmx.org. They are now all versioned individually and can be developed outside ofthe normal (slow) htmx release cadence.Most 1.x extensions will work with 2.x, however the SSE extension did have a break and must be upgraded.The older extensions remain in the /dist/ext directory so as to not break the URLs of CDNs like unpkg, but pleasemove to the new extension URLs going forw +
8ヶ月前
記事のアイキャッチ画像
htmx 2.0.0-beta4 has been released!
</> htmx - high power tools for html
+htmx 2.0.0-beta4 ReleaseI’m happy to announce the fourth beta release of htmx 2.0This is an beta release and should NOT be considered ready for production. We are releasing it to beginfinal testing against real world scenarios.If you are able to do so, please switch to the release and do a quick run through any htmx-powered functionality youhave and let us know if there are issues.Of particular concern to us are the following changes:We removed the deprecated hx-sse and hx-ws attributes in favor of the extensions (which are available in 1.x)DELETE requests now use parameters, rather than form encoded bodies, for their payload (This is in accordance w/ the spec.)A complete upgrade guide can be found here:htmx 1.x -> 2.x Migration GuideNote that htmx 2.x will no longer be IE compatible, but 1.x will continue to be supported for IE users.InstallingThe beta can be installed via a package manager referencing version 2.0.0-beta4, or can be linked via a CDN:<script src="https://unpkg.com/htmx +
10ヶ月前
記事のアイキャッチ画像
htmx 2.0.0-beta1 has been released!
</> htmx - high power tools for html
+htmx 2.0.0-beta1 ReleaseI’m happy to announce the first beta release of htmx 2.0This is an beta release and should NOT be considered ready for production. We are releasing it to beginfinal testing against real world scenarios.If you are able to do so, please switch to the release and do a quick run through any htmx-powered functionality youhave and let us know if there are issues.Of particular concern to us are the following changes:We removed the deprecated hx-sse and hx-ws attributes in favor of the extensions (which are available in 1.x)DELETE requests now use parameters, rather than form encoded bodies, for their payload (This is in accordance w/ the spec.)A complete upgrade guide can be found here:htmx 1.x -> 2.x Migration GuideNote that htmx 2.x will no longer be IE compatible, but 1.x will continue to be supported for IE users.InstallingThe beta can be installed via a package manager referencing version 2.0.0-beta1, or can be linked via a CDN:<script src="https://unpkg.com/htmx. +
1年前
記事のアイキャッチ画像
htmx 2.0.0-alpha2 has been released!
</> htmx - high power tools for html
+htmx 2.0.0-alpha2 ReleaseI’m happy to announce the second alpha release of htmx 2.0This is an alpha release and should NOT be considered ready for production. We are releasing it to begin testingthe code against real world scenarios to figure out what is broken and what needs improvement.If you are able to do so, please switch to the release and do a quick run through any htmx-powered functionality youhave and let us know if there are issues.Of particular concern to us are the following changes:We removed the deprecated hx-sse and hx-ws attributes in favor of the extensions (which are available in 1.x)DELETE requests now use parameters, rather than form encoded bodies, for their payload (This is in accordance w/ the spec.)A complete upgrade guide can be found here:htmx 1.x -> 2.x Migration GuideNote that htmx 2.x will no longer be IE compatible, but 1.x will continue to be supported for IE users.InstallingThe alpha can be installed via a package manager referencing version 2.0.0-alpha2 +
1年前
記事のアイキャッチ画像
Web Security Basics (with htmx)
</> htmx - high power tools for html
+As htmx has gotten more popular, it’s reached communities who have never written server-generated HTML before. Dynamic HTML templating was, and still is, the standard way to use many popular web frameworks—like Rails, Django, and Spring—but it is a novel concept for those coming from Single-Page Application (SPA) frameworks—like React and Svelte—where the prevalence of JSX means you never write HTML directly.But have no fear! Writing web applications with HTML templates is a slightly different security model, but it’s no harder than securing a JSX-based application, and in some ways it’s a lot easier.Who is guide this for?These are web security basics with htmx, but they’re (mostly) not htmx-specific—these concepts are important to know if you’re putting any dynamic, user-generated content on the web.For this guide, you should already have a basic grasp of the semantics of the web, and be familiar with how to write a backend server (in any language). For instance, you should know not t +
1年前
記事のアイキャッチ画像
htmx sucks
</> htmx - high power tools for html
+I have been following htmx for a while now. I thought it was a somewhat funny/cringey memeand that it served as some light comic relief from the real work being done in web development, things likeReact Server Components, Svelte Runesand Signals that are actually pushing the state of the art forward.Unfortunately at some point in the middle of 2023people began to actually take htmx seriously for some reason.This is an extremely alarming turn of events that has me deeply concerned for the future of web development.And I’m not alone in my alarm: you can read an excellent dressing down of htmx here:Basically they put their ignorance on full display, then attribute all sorts of unfounded merits to whatever they’vedone hoping that everyone else pats them on the back for it.So true. So, so true.Unfortunately, the language in that excellent medium post is academic and, without a solid grasp of theoretical HTML,many of the more important points in it will go over a typical web developers head. +
1年前
記事のアイキャッチ画像
htmx 2.0.0-alpha1 has been released!
</> htmx - high power tools for html
+htmx 2.0.0-alpha1 ReleaseI’m happy to announce the first alpha release of htmx 2.0This is an alpha release and should NOT be considered ready for production. We are releasing it to begin testingthe code against real world scenarios to figure out what is broken and what needs improvement.If you are able to do so, please switch to the release and do a quick run through any htmx-powered functionality youhave and let us know if there are issues.Of particular concern to us are the following changes:We removed the deprecated hx-sse and hx-ws attributes in favor of the extensions (which are available in 1.x)We integrated the head tag processing from the head-extension into the core, and head processing is now the defaultbehavior for boosted links.DELETE requests now use parameters, rather than form encoded bodies, for their payload (This is in accordance w/ the spec.)A complete upgrade guide can be found here:htmx 1.x -> 2.x Migration GuideNote that htmx 2.x will no longer be IE compatible, b +
1年前
記事のアイキャッチ画像
Model/View/Controller (MVC)
</> htmx - high power tools for html
+A common objection I see to using htmx and hypermedia is something along the lines of:The problem with returning HTML (and not JSON) from your server is that you’d probably also like to serve mobileapps and don’t want to duplicate your APII have already outlined in another essay that I think you should split your JSON API & yourhypermedia API up into separate components.In that essay I explicitly recommend “duplicating” (to an extent) your API, in order todisentangle your “churny” web application API endpoints that return HTML from yourstable, regular & expressive JSON Data API.In looking back at conversations I’ve had around this idea with people, I think that I have been assuming familiaritywith a pattern that many people are not as familiar with as I am: theModel/View/Controller (MVC)pattern.An MVC IntroI was a little shocked to discover in a recent podcast that many youngerweb developers just don’t have much experience with MVC. This is perhaps due to the Front-end/Back-end split t +
1年前
記事のアイキャッチ画像
Is htmx Just Another JavaScript Framework?
</> htmx - high power tools for html
+One of the most common criticisms of htmx, usually from people hearing about it for the first time, goes like this:You’re complaining about the complexity of modern frontend frameworks, but your solution is just another complex frontend framework.This is an excellent objection! It’s the right question to ask about any third-party (3P) code that you introduce into your project. Even though you aren’t writing the 3P code yourself, by including it in your project you are committed to understanding it—and refreshing that understanding if you want to upgrade it. That’s a big commitment.Let’s break this criticism down into its constituent parts, and determine exactly how much htmx indulges in the harms it claims to solve.The difference between a library and a frameworkSome htmx defenders jump to our aid with: “htmx isn’t a framework, it’s a library.” This is probably incorrect.“Framework” is a colloquial term—there’s no hard rule for the point at which some third-party code evolves from a “l +
1年前
記事のアイキャッチ画像
Why I Tend Not To Use Content Negotiation
</> htmx - high power tools for html
+I have written a lot about Hypermedia APIs vs. Data (JSON) APIs, including the differences between the two,what REST “really” means and why HATEOASisn’t so bad as long as your API is interacting with a Hypermedia Client.Often when I am engaged in discussions with people coming from the “REST is JSON over HTTP” world (that is, the normalworld) I have to navigate a lot of language and conceptual issues:No, I am not advocating you return HTML as a general purpose API, hypermedia makes for a bad general purpose APIYes, I am advocating tightly coupling your web application to your hypermedia APINo, I do not think that we will ever fix how the industry uses the term RESTYes, I am advocating you split your data API and your hypermedia API upThe last point often strikes people who are used to a single, general purpose JSON API as dumb: why have two APIs when youcan have a single API that can satisfy any number of types of clients? I tried to answer that question as best I can in the essayabove +
1年前
記事のアイキャッチ画像
Does Hypermedia Scale?
</> htmx - high power tools for html
+One objection that we sometimes hear to htmx and hypermedia is some variation of the following:Well, it might work well for something small, but it won’t scale.It is always dangerous to provoke us with essay-fodder and so lets dig into this claim a bit and see if we canshed some light on whether Hypermedia-Driven Applications (HDAs) can scale.ScalingFirst of all, let’s define the term “scaling” and then the contexts that word can be used in development. In a softwarecontext, scaling typically means the ability of the software to handle “larger” things. Those things can be:More nodes in a general systemMore user requests (scaling your individual application’s performance)More features (scaling your codebase)More complex featuresMore developers (scaling your team size)Each of these sense of the word “scaling” demand their own analysis with respect to HDAs.Scaling Nodes In GeneralAlthough this isn’t of much interest to individual developers making decisions about their own applications, i +
1年前
記事のアイキャッチ画像
htmx 1.9.7 has been released!
</> htmx - high power tools for html
+htmx 1.9.7 ReleaseI’m happy to announce the 1.9.7 release of htmx.Improvements & Bug fixesFixed a bug where a button associated with a form that is swapped out of the DOM caused errorsThe hx-target-error attribute was added to the response-targets extension, allowing you to capture all 400 & 500responses with a single attributehx-on now properly supports multiple listenersThe hx-confirm prompt is now passed into custom confirmation handlersnext and previous are now valid extended CSS symbols in htmxThe htmx:beforeHistoryUpdate event was addedProperly ignore the dialog formmethod on buttons when resolving the HTTP method to useAdded a htmx.config.scrollIntoViewOnBoost option that may be set to false to disable scrolling the top of thebody into view for boosted elementsThank you to everyone who contributed, and enjoy!
1年前
記事のアイキャッチ画像
htmx 1.9.6 has been released!
</> htmx - high power tools for html
+htmx 1.9.6 ReleaseI’m happy to announce the 1.9.6 release of htmx.New FeaturesIE support has been restored (thank you @telroshan!)Introduced the hx-disabled-elt attribute to allow specifying elements to disable during a requestYou can now explicitly decide to ignore title tags found in new content via the ignoreTitle option in hx-swap and the htmx.config.ignoreTitle configuration variable.hx-swap modifiers may be used without explicitly specifying the swap mechanismArrays are now supported in the client-side-templates extensionXSLT support in the client-side-templates extensionImprovements & Bug fixesSupport preventDefault() in extension event handlingAllow the HX-Refresh header to apply even after an HX-Redirect has occurredthe formaction and formmethod attributes on buttons are now properly respectedhx-on can now handle events with dots in their namehtmx.ajax() now always returns a PromiseHandle leading style tag parsing more effectivelyMany smaller fixesThank you to everyone who con +
1年前
記事のアイキャッチ画像
The #ViewSource Affordance
</> htmx - high power tools for html
+Not for nothing, Hypercard presaged the web’s critical “#ViewSource” affordance, which allowed people to copy,modify, customize and improve on the things that they found delightful or useful. This affordance was later adaptedby other human-centered projects like #Scratch, and is a powerful tonic against #enshittification.--Cory Doctorow @pluralistic@mamot.frOpen Culture & The WebWhen people talk about open source software, that conversation is often dominated bythe Free Software Foundation’s notion of free software:“Free software” means software that respects users’ freedom and community. Roughly, it means that the users have thefreedom to run, copy, distribute, study, change and improve the software.This definition of free software has been a useful one and, through advocating for it, the FSF has gifted the world alot of wonderful open source software.Web applications, however, have always been an uncomfortable fit for this definition of free. This is mainlyfor technical reasons: web +
1年前
記事のアイキャッチ画像
Another Real World React -> htmx Port
</> htmx - high power tools for html
+The Mother of All htmx Demos you can see the real world results of aport from a React-based front end to an htmx-powered front end. The results are very good, although we qualify theexperience with the following:These are eye-popping numbers, and they reflect the fact that the Contexte application is extremely amenable tohypermedia: it is a content-focused application that shows lots of text and images. We would not expect everyweb application to see these sorts of numbers.However, we would expect many applications to see dramatic improvements by adopting the hypermedia/htmx approach, atleast for part of their system.As luck would have it, we have another application (again, based on Django on the server side) that has been ported froma React front end to an htmx front end: OpenUnited.Here is a graphic from the original LinkedIn postby Adrian McPhee, showing the total Lines of Code in the code base before and after the port:Before/After Source CodeA very nice aspect of this port is tha +
1年前
記事のアイキャッチ画像
htmx 1.9.5 has been released!
</> htmx - high power tools for html
+htmx 1.9.5 ReleaseI’m happy to announce the 1.9.5 release of htmx.New FeaturesYou can disable the interpretation of script tags with the new htmx.config.allowScriptTags config variableYou can now disable htmx-based requests to non-origin hosts via the htmx.config.selfRequestsOnly config variableImprovements & Bug fixesThe Security section has been expanded to help developers better understand how toproperly secure their htmx-based applications.Web sockets now properly pass the target id in the HEADERS structA very rare loading state bug was fixed (see https://github.com/bigskysoftware/htmx/commit/93bd81b6d003bb7bc445f10192bdb8089fa3495d)hx-on will not evaluate if allowEval is set to falseThank you to everyone who contributed, and enjoy!
1年前
記事のアイキャッチ画像
Why htmx Does Not Have a Build Step
</> htmx - high power tools for html
+A recurring question from some htmx contributors is why htmx isn’t written in TypeScript, or, for that matter, why htmx lacks any build step at all. The full htmx source is a single 3,500-line JavaScript file; if you want to contribute to htmx, you do so by modifying the htmx.js file, the same file that gets sent to browsers in production, give or take minification and compression.I do not speak for the htmx project, but I have made a few nontrivial contributions to it, and have been a vocal advocate for retaining this no-build setup every time the issue has arisen. From my perspective, here’s why htmx does not have a build step.Write Once, Run ForeverThe best reason to write a library in plain JavaScript is that it lasts forever. This is arguably JavaScript’s single most underrated feature. While I’m sure there are some corner cases, JavaScript from 1999 that ran in Netscape Navigator will run unaltered, alongside modern code, in Google Chrome downloaded yesterday. That is true for ve +
1年前
記事のアイキャッチ画像
htmx 1.9.3 has been released!
</> htmx - high power tools for html
+htmx 1.9.3 ReleaseI’m happy to announce the 1.9.3 release of htmx.New FeaturesThe hx-on attribute has been deprecated (sorry) in favor of hx-on:<event name> attributes. See hx-on for more information.You can now configure if a type of HTTP request uses the body for parameters or not. In particular, the DELETE should usequery parameters, according to the spec. htmx has used the body, instead. To avoid breaking code we are keeping this undefinedbehavior for now, but allowing people to fix it for their use cases by updating the htmx.config.methodsThatUseUrlParams configoption. Thank you to Alex and Vincent for their feedback and work on this issue!The this symbol is now available in event filter expressions, and refers to the element the hx-trigger is onThe HX-Reselect HTTP response header has been added to change the selection from the returned contentImprovements & Bug fixesWe now have functioning CI using GitHub actions!Fix bug where the htmx:afterSettle event was raised multiple times +
2年前
記事のアイキャッチ画像
REST Copypasta
</> htmx - high power tools for html
+REST copy-pastasAckshually…I’d just like to interject for a moment. What you’re referring to as REST,is in fact, JSON/RPC, or as I’ve recently taken to calling it, REST-less.JSON is not a hypermedia unto itself, but rather a plain data format madeuseful by out of band information as defined by swagger documentation orsimilar.Many computer users work with a canonical version of REST every day,without realizing it. Through a peculiar turn of events, the version of RESTwhich is widely used today is often called “The Web”, and many of its users arenot aware that it is basically the REST-ful architecture, defined by Roy Fielding.There really is a REST, and these people are using it, but it is just apart of The Web they use. REST is the network architecture: hypermedia encodes the stateof resources for hypermedia clients. JSON is an essential part of Single Page Applications,but useless by itself; it can only function in the context of a complete API specification.JSON is normally used in co +
2年前
記事のアイキャッチ画像
htmx is part of the GitHub Accelerator!
</> htmx - high power tools for html
+We are excited to announce that htmx has been accepted into the first class of theGitHub Open Source Accelerator! This is a tremendous opportunity to work with andlearn from some of the most successful open source developers and projects, and a great chance to get the messageout about hypermedia and htmx.We plan on using this opportunity to begin work on htmx 2.0 and, we hope, possibly learn how to make working on htmxa full time job!Here are some of the other open source projects that we have met through the GitHub accelerator and that we recommendpeople check out:BoxyHQ - BoxyHQ’s suite of APIs for security and privacy helps engineering teams build and ship compliant cloud applications faster.Cal.com - Cal.com is a scheduling tool that helps you schedule meetings without the back-and-forth emails.Crowd.dev - Centralize community, product, and customer data to understand which companies are engaging with your open source project.Documenso - The Open-Source DocuSign Alternative. We aim +
2年前
記事のアイキャッチ画像
Hypermedia On Whatever you'd Like
</> htmx - high power tools for html
+The one big remaining (advantage of MPAs) is (server side programming) language choice. If you’re already part of theanti-JavaScript resistance, then nothing I say in the rest of this talk is going to matter that much.But, I’m going to get into this later: that ship might have sailed…Rich Harris - Have SPA’s Ruined The Web?A concept we like to talk about is “The HOWL Stack”. HOWL stands for Hypermedia On Whatever you’d Like.This is a joke-but-not-really software stack, and a reference to morewell known stacks like The LAMP Stackor The MEAN Stack.The TLDR of The HOWL Stack is this: when you use a hypermedia-driven approachfor your web application, you free yourself up to choose whatever server-side technology best fits your problem andyour own technical tastes.Feeling The JavaScript PressureIf you decide to use an SPA framework for your web application you will, naturally, have a large front-end codebasethat is written in JavaScript.Given that, the following question inevitably will com +
2年前
記事のアイキャッチ画像
View Transitions
</> htmx - high power tools for html
+We have asserted, for a while now, that a major reason that many people have adopted the SPA architecture for web applicationsis due to aesthetic considerations.As we mention in our book Hypermedia Systems, whendiscussing the Web 1.0-style contact management application we begin with, there are serious aesthetic issues withthe application, even if it has feature-parity with an SPA version:From a user experience perspective: there is a noticeable refresh when you move between pages of the application, or when you create, update ordelete a contact. This is because every user interaction (link click or form submission) requires a full pagerefresh, with a whole new HTML document to process after each action.–Hypermedia Systems - Chapter 4This jarring “ka-chunk” between webpages, often with a Flash of Unstyled Contenthas been with us forever and, while modern browsers have improved the situation somewhat (while, unfortunately, also makingit less obvious that a request is in flight) the situ +
2年前
記事のアイキャッチ画像
htmx 1.9.0 has been released!
</> htmx - high power tools for html
+htmx 1.9.0 ReleaseI’m happy to announce the 1.9.0 release of htmx.New FeaturesSupport for view transitions, based on the experimental View Transitions APIcurrently available in Chrome 111+ and coming to other browsers soon.Support for “naked” hx-trigger attributes, where an hx-trigger is present on an elementthat does not have an hx-get, etc. defined on it. Instead, it will trigger the new htmx:triggered event, which canbe responded to via your preferred scripting solution.Support for generalized inline event handling via the new hx-on attribute, which addressesthe shortcoming of limited onevent properties attributes in HTML.Improvements & Bug fixesThe htmx website has been migrated from 11ty to zola by @danieljsummers, cuttingway down on the number of “development” javascript dependenciesA memory leak fix by @croxtonThank you to everyone who contributed, and enjoy!
2年前
記事のアイキャッチ画像
Architectural Sympathy
</> htmx - high power tools for html
+Mechanical Sympathy & Architectural SympathyYou don’t have to be an engineer to be a racing driver, but you do have to have Mechanical Sympathy.-Jackie Stewart, racing driverThe term “mechanical sympathy” was originally coined by Jackie Stewart to capture a characteristicof race car drivers, who needed a deep and intuitive understanding of how a race car worked in orderto get the best possible performance out of the vehicle.This term was applied to software development by Martin Thompson when discussing his LMAXarchitecture, which utilized a low level and intuitive understanding of how his cloud system functionedin order to maximize the performance of it. Thompson maintained a blogon the topic for many years, and it is well worth going back and reading the posts there.Architectural SympathyIn this brief essay I want to propose another concept and design principle, that of Architectural Sympathy:Architectural Sympathy is the characteristic of one piece of software adopting and conformin +
2年前
記事のアイキャッチ画像
htmx 1.8.6 has been released!
</> htmx - high power tools for html
+htmx 1.8.6 ReleaseI’m happy to announce the 1.8.6 release of htmx.New FeaturesESM support (thank you @dkniffin!)Sass has been vanquished from the htmx.org website so python 2 (!!!) is no longer required for developing htmx (thank you @dz4k!)Improvements & Bug fixesFixed a bug where the changed modifier on keyup did not work properly if an input was tabbed intoMany other smaller bug fixes and doc fixesThank you to everyone who contributed, and enjoy!
2年前
記事のアイキャッチ画像
Hypermedia Clients
</> htmx - high power tools for html
+Often, when we are being insufferably pedantic in online discussionsabout REST & HATEOAS, we willsay something along the lines of this:JSON isn’t a hypermedia because it doesn’t have hypermedia controls.Look at this JSON:{ "account": { "account_number": 12345, "balance": { "currency": "usd", "value": 50.00 }, "status": "open" }}See? No hypermedia controls.So this JSON isn’t a hypermedia, and, therefore, the API returning this JSON isn’t RESTful.To this, occasionally, a smart and experienced web developer will reply with something along these lines:OK, mr. REST-y pants, how about this JSON?{ "account": { "account_number": 12345, "balance": { "currency": "usd", "value": 50.00 }, "status": "open", "links": { "deposits": "/accounts/12345/deposits", "withdrawals": "/accounts/12345/withdrawals", "transfers": "/accounts/12345/transfers", "close-requests": "/accounts/12345/close-requests" } }}There, now there are hypermedia controls in this response (normal humans call them links, btw) so this +
2年前
記事のアイキャッチ画像
htmx 1.8.5 has been released!
</> htmx - high power tools for html
+htmx 1.8.5 ReleaseI’m happy to announce the 1.8.5 release of htmx.New FeaturesSupport a new optional cache-busting configuration option, getCacheBusterParam, to allow browsers to disambiguatebetween GET requests from htmx and from the raw browserSupport new hx-history='false' attribute, to prevent sensitive data from being stored in the history cache. (Thank you @croxton!)Extensive new event-oriented features are available in the Web Socket extension (Thank you @Renerick!)Improvements & Bug fixesA bug fix for when a form contains multiple empty input values with the same name (Thank you @bluekeyes!)A bug fix around inputs that throw exceptions when calling setSelectionRange() (Thank you @gone!)A bug fix to pass through the proper event for the htmx:configRequest eventA bug fix/improvement for the preload extensionMany other small bug and doc fixesThank you to everyone who contributed, and enjoy!
2年前
+
記事のアイキャッチ画像
Hypermedia-Friendly Scripting
</> htmx - high power tools for html
+The final addition to our constraint set for REST comes from the code-on-demand style of Section 3.5.3 (Figure 5-8).REST allows client functionality to be extended by downloading and executing code in the form of applets or scripts.This simplifies clients by reducing the number of features required to be pre-implemented. Allowing features to bedownloaded after deployment improves system extensibility. However, it also reduces visibility, and thus is only anoptional constraint within REST.--Roy Fielding - Representational State Transfer (REST)Scripting & The WebIn Hypermedia-Driven Applications we discuss how to buildweb applications in such a manner that they are hypermedia-driven, in contrast with the popular SPA approach, in whichthey are JavaScript and, at the network-level, RPC-driven.In the HDA article we mention scripting briefly:In an HDA, hypermedia (HTML) is the primary medium for building the application, which means that:All communication with the server is still managed via +
2年前
記事のアイキャッチ画像
htmx 1.8.3 has been released!
</> htmx - high power tools for html
+htmx 1.8.3 ReleaseI’m happy to announce the 1.8.3 release of htmx.New FeaturesA new htmx:confirm event was added that allows for asynchronous confirmation dialogs tobe integrated into htmx requestsThe new head-support extension allows for more elaborate head tag merging than standard htmxsupports. This functionality may be integrated into htmx 2.0, depending on feedback.The new multi-swap extension provides more elaborate swapping of multiple elements on a screen usinga custom swap strategyImprovements & Bug fixesMany smaller bug and docs fixesEnjoy!
2年前
記事のアイキャッチ画像
+When Should You Use Hypermedia?
</> htmx - high power tools for html
+The trade-off, though, is that a uniform interface degrades efficiency, since information is transferred in astandardized form rather than one which is specific to an application’s needs. The REST interface is designed to beefficient for large-grain hypermedia data transfer, optimizing for the common case of the Web, but resulting in aninterface that is not optimal for other forms of architectural interaction.-Roy Fielding, https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm#sec_5_1_5We are obviously fans of hypermedia and think that it can address, at least in part, many of the problems that the webdevelopment world is facing today:Hypermedia is often significantly less complex than an SPA approach wouldbe for many problemsHypermedia allows your application API to be much more aggressively refactored and optimizedHypermedia takes pressure off adopting a particular server technology, since you do not have an extensive JavaScriptfront-end code baseWith htmx and the a +
2年前
記事のアイキャッチ画像
htmx 1.8.1 has been released!
</> htmx - high power tools for html
+htmx 1.8.1 ReleaseI’m happy to announce the 1.8.1 release of htmx.New FeaturesWe now keep a count of outstanding requests for an indicator, so more than one overlapping request can share the sameindicator without issuesWe now track the attribute state of an element and re-initialize it if htmx.process() is called on the element andthe attributes have changedIdiomorph is now available for all your morph-swapping needsThe new hx-validate attribute will force elements to validate before a request, even ifthey are not within a form being submittedImprovements & Bug fixesThe unset directive now works properly for hx-vals and hx-varsThe title of the page is now properly set on a history cache missMany smaller bug and docs fixesEnjoy!
2年前
記事のアイキャッチ画像
A Real World React -> htmx Port
</> htmx - high power tools for html
+It is all well and good talking about REST & HATEOAS in theory or describing theHypermedia-Driven Application architecture, but, at the end of the day, whatmatters in software is practical: Does it work? Does it improve things?We can say for sure that htmx works, since we use it in our own software. But it is hard to say that it would bean improvement over other approaches, since we haven’t had an apples-to-apples comparison of how htmx might compare with,say, react.Until now.David Guillot at Contexte has given what we are calling“The Mother of All htmx Demos” atDjangoCon 2022:From React to htmx on a real-world SaaS product: we did it, and it’s awesome!We took the plunge and replaced the 2-year-of-work React UI of our SaaS product with simple Django templates and htmxin a couple of months. We’d like to share our experience with you, with concrete indicators on various aspects, andconvince your CTO!VideoYou can (should!) watch the entire presentation here:Executive SummaryThe effort too +
2年前
記事のアイキャッチ画像
Template Fragments
</> htmx - high power tools for html
+Template fragments are a relatively rare Server Side Rendering (SSR) template library feature that allow you to render afragment or partial bit of the content within a template, rather than the entire template. This feature is very handy inHypermedia Driven Applications because it allows you to decompose a particularview for partial updates internally without pulling fragments of the template out to separate files for rendering,creating a large number of individual template files.By keeping all the HTML in a single file, it is also easier to reason about how a feature works. This follows theLocality of Behavior design principle.MotivationLet’s look at how template fragments, in an obscure templating language for java calledchill templates, can help us build an HDA.Here is a simple chill template, /contacts/detail.html that displays a contact:/contacts/detail.html<html> <body> <div hx-target="this"> #if contact.archived <button hx-patch="/contacts/${contact.id}/unarchive">Unarchive</but +
3年前
記事のアイキャッチ画像
How Did REST Come To Mean The Opposite of REST?
</> htmx - high power tools for html
+pre { margin: 32px !important; }Tapping The SignI am getting frustrated by the number of people calling any HTTP-based interface a REST API. Today’s example is theSocialSite REST API. That is RPC. It screams RPC. There is so much coupling on display that it should be given anX rating.What needs to be done to make the REST architectural style clear on the notion that hypertext is a constraint? Inother words, if the engine of application state (and hence the API) is not being driven by hypertext, then it cannotbe RESTful and cannot be a REST API. Period. Is there some broken manual somewhere that needs to be fixed?–Roy Fielding, Creator of the term REST REST APIs must be hypertext-drivenREST must be the most broadly misused technical termin computer programming history.I can’t think of anything else that comes close.Today, when someone uses the term REST, they are nearly always discussing a JSON-based API using HTTP.When you see a job post mentioning REST or a company discussing REST Gui +
3年前
記事のアイキャッチ画像
htmx 1.8.0 has been released!
</> htmx - high power tools for html
+htmx 1.8.0 ReleaseI’m happy to announce the 1.8.0 release of htmx.NOTE: This was a big release with some changes to very touchy code that is hard to test (e.g. history support) soplease test thoroughly and let us know if there are any issues.New FeaturesThe hx-replace-url attribute was introduced, allowing you to replacethe current URL in history (to complement hx-push-url)m is now a valid timing modifier (e.g. hx-trigger="every 2m")next and previous are now valid extended query selector modifiers, e.g. hx-target="next div" will target thenext div from the current elementThe HX-Location response header now implements client-side redirects entirely within htmxThe HX-Reswap response header allows you to change the swap behavior of htmxThe new hx-select-oob attribute selects one or more elements from a server response to swap in via an out of band swapThe new hx-replace-url attribute can be used to replace the current URL in the locationbar (very similar to hx-push-url but no new history +
3年前
記事のアイキャッチ画像
10 Tips For Building SSR/HDA applications
</> htmx - high power tools for html
+Building web applications using traditional Server-Side Rendering (SSR) or, saying the same thing another way, buildingHypermedia-Driven Applications (HDAs) requires a mindset shift whencompared with building web applications with Single Page Application frameworks like React.If you come at this style of development with an SPA-engineering hat on, you are likely to be frustrated and miss outon many advantages of this particular architectural choice.Here are 10 tip to help you make the mental shift smoothly, taking advantage of the strengths of this approach andminimizing the weaknesses of it:Tip 1: Maximize Your Server-Side StrengthsA big advantage of the hypermedia-driven approach is that it makes the server-side environment far more important whenbuilding your web application. Rather than simply producing JSON, your back end is an integral component in the userexperience of your web application.Because of this, it makes sense to look deeply into the functionality available there. Man +
3年前
記事のアイキャッチ画像
An interview with Henning Koch, Creator of Unpoly
</> htmx - high power tools for html
+I’m very excited to be able to interview Henning Koch, the creator of Unpoly,a hypermedia-oriented javascript library that was created in parallel with intercooler.js.Thank you for agreeing to an interview!Q: To begin with, why don’t you give the readers a bit of your background both professionally & technically:Sure! I’m currently head of development at makandra, a Ruby on Rails consultancy I co-founded back in 2009, after many years of freelancing as a web developer. So my context is working on many different web apps concurrently, and maintaining those for a long time. On a given week we probably touch 10+ projects, for industries ranging from education to automotive to cybersecurity. Unpoly is an extraction from patterns that we saw repeating over and over in client projects.Q: When I created intercooler.js a big part of it was my unwillingness to deal with the popular SPA libraries of the time(Angular & ExtJS, for example). Did Unpoly have a similar history?Our team actually went +
3年前
記事のアイキャッチ画像
Two Approaches To Decoupling
</> htmx - high power tools for html
+The central feature that distinguishes the REST architectural style from other network-based styles is its emphasis ona uniform interface between components. By applying the software engineering principle of generality to the componentinterface, the overall system architecture is simplified and the visibility of interactions is improved.Implementations are decoupled from the services they provide, which encourages independent evolvability.-Roy Fielding, https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm#sec_5_1_5In this essay we will look at two different types of decoupling in the context of web applications:Decoupling at the application level via a generic JSON Data APIDecoupling at the network architecture level via a hypermedia APIWe will see that, at the application level, a hypermedia API tightly couples your front-end and back-end. Despite thisfact, surprisingly, the hypermedia API is in fact more resilient in the face of change.CouplingCoupling is a propert +
3年前
記事のアイキャッチ画像
htmx 1.7.0 has been released!
</> htmx - high power tools for html
+htmx 1.7.0 ReleaseI’m happy to announce the 1.7.0 release of htmx.New FeaturesThe new hx-sync attribute allows you to synchronize multiple element requests on a singleelement using various strategies (e.g. replace)You can also now abort an element making a request by sending it the htmx:abort eventServer Sent Events and Web Sockets are now available asextensions, in addition to the normal core support. In htmx 2.0, the current hx-sse and hx-ws attributes will bemoved entirely out to these new extensions. By moving these features to extensions we will be able to add functionalityto both of them without compromising the core file size of htmx. You are encouraged to move over to the newextensions, but hx-sse and hx-ws will continue to work indefinitely in htmx 1.x.You can now mask out attribute inheritance via the hx-disinherit attribute.The HX-Push header can now have the false value, which will prevent a history snapshot from occurring.Many new extensions, with a big thanks to all the c +
3年前
記事のアイキャッチ画像
Hypermedia-Driven Applications
</> htmx - high power tools for html
+Genesisthesis: MPA - multi-page applicationantithesis: SPA - single-page applicationsynthesis: HDA - hypermedia-driven application--@htmx_orgThe Hypermedia-Driven Application ArchitectureThe Hypermedia Driven Application (HDA) architecture is a new/old approach to building web applications. It combinesthe simplicity & flexibility of traditional Multi-Page Applications (MPAs) with the better user experience ofSingle-Page Applications (SPAs).The HDA architecture achieves this goal by extending the existing HTML infrastructure of the web to allow hypermediadevelopers to create more powerful hypermedia-driven interactions.Following the REST notion of architectural constraints,two such constraints characterize the HDA architecture:An HDA uses declarative, HTML-embedded syntax rather than imperative scripting to achieve better front-end interactivityAn HDA interacts with the server in terms of hypermedia (i.e. HTML) rather than a non-hypermedia format (e.g. JSON)By adopting these two constra +
3年前
記事のアイキャッチ画像
A Response To &quot;Have Single-Page Apps Ruined the Web?&quot;
</> htmx - high power tools for html
+Rich Harris is a well-known web developer who works on Svelte.js, a novelSingle-Page Application (SPA) framework.In October of 2021 he gave a talk at JamStack entitled “Have Single-Page Apps Ruined the Web?”.We have been asked for our opinion on the talk, so this essay is our response.The first thing to say about the talk is that it is very well done: well produced, thoughtful, funny, fair to both sides of the debateand very reasonable throughout. We don’t agree with a lot that Mr. Harris has to say, as we will detail below, but we respectand appreciate his opinions as well as the technologies he works on.Problems with SPAsThe talk begins with some reasonable criticisms of SPAs, particularly focusing on usability issues foundwith Instagram, a canonical SPA implementation from our friends at Facebook. He takes a very fair look atthe drawbacks to SPAs, including but not limited to the following list:You will need a bloated JS frameworkPerformance will sufferIt will be buggyThere will be +
3年前
記事のアイキャッチ画像
htmx 1.6.1 has been released!
</> htmx - high power tools for html
+htmx 1.6.1 ReleaseI’m happy to announce the 1.6.1 release of htmx.New FeaturesA new HX-Retarget header allows you to change the default target of returned contentThe htmx:beforeSwap event now includes another configurable property: detail.isError which canbe used to indicate if a given response should be treated as an error or notThe htmx:afterRequest event has two new detail properties: success and failed, allowing you to writetrigger filters in htmx or hyperscript: on htmx:afterRequest[failed] set #myCheckbox's checked to trueImprovements & Bug fixesFixed the from: option in hx-trigger to support closest <CSS selector>and find <CSS selector> formsDon’t boost anchor tags with an explicit target setDon’t cancel all events on boosted elements, only the events that naturally trigger them (click for anchors, submitfor forms)Persist revealed state in the DOM so that on history navigation, revealed elements are not re-requestedProcess all hx-ext attributes, even if no other htmx attribute i +
3年前
記事のアイキャッチ画像
HATEOAS
</> htmx - high power tools for html
+HATEOASPreface: HATEOAS — An Alternative ExplanationThis page is a reworking on the Wikipedia Entry on HATEOAS, which uses JSON.Here we use HTML to explain the concept, and contrast it with JSON APIs. It is a more opinionated explanation of theconcept than would be appropriate for Wikipedia, but it is more correct in our opinion.Hypermedia as the Engine of Application State (HATEOAS) is a constraint of the REST application architecture that distinguishes it from other network application architectures.With HATEOAS, a client interacts with a network application whose application servers provide information dynamically through hypermedia. A REST client needs little to no prior knowledge about how to interact with an application or server beyond a generic understanding of hypermedia.By contrast, today JSON-based web clients typically interact through a fixed interface shared through documentation via a toolsuch as swagger.The restrictions imposed by HATEOAS decouples client and server. Th +
3年前
記事のアイキャッチ画像
htmx 1.6.0 has been released!
</> htmx - high power tools for html
+htmx 1.6.0 ReleaseI’m happy to announce the 1.6.0 release of htmx.New Features & Major ChangesCompletely reworked <script> tag support that now supports the <script src="...'/> formYou can now use the value unset to clear a property that would normally be inherited (e.g. hx-confirm)The htmx-added class is added to new content before a swap and removed after the settle phase, which allows youmore flexibility in writing CSS transitions for added content (rather than relying on the target, as with htmx-settling)The htmx:beforeSwap event has been updated to allow you to configure swappingbehaviorImprovements & Bug fixesImproved <title> extraction supportYou can listen to events on the window object using the from: modifier in hx-triggerThe root option of the intersect event was fixedBoosted forms respect the enctype declarationThe HX-Boosted header will be sent on requests from boosted elementsPromises are not returned from the main ajax function unless it is an api call (i.e. htmx.ajax)En +
3年前
記事のアイキャッチ画像
Splitting Your Data &amp; Application APIs: Going Further
</> htmx - high power tools for html
+TLDR: If you split your API into Data and Application APIs, as advocated here,you should consider changing your Application API from JSON to Hypermedia (HTML) & using a hypermedia-oriented library likehtmx to reap the benefits of the hypermedia model (simplicity, reliability, flexibility, etc.)The ProblemRecently, Max Chernyak wrote an essay entitledDon’t Build A General Purpose API To Power Your Own Front End. HisTLDR is this:YAGNI, unless you’re working in a big company with federated front-ends or GraphQL.He then discusses some of the different needs of a general purpose API and your application API. He lists thefollowing as needs for a generic API:How to predict and enable all possible workflowsHow to avoid N+1 requests for awkward workflowsHow to test functionality, performance, and security of every possible requestHow to change the API without breaking the existing workflowsHow to prioritize API changes between internal and community requirementsHow to document everything so tha +
3年前
記事のアイキャッチ画像
Hypermedia APIs vs. Data APIs
</> htmx - high power tools for html
+A hypermedia API is an API that returns hypermedia, typically HTML overHTTP. This style of API is distinguished from data APIs that do not return a hypermedia. The most familiar form of thislatter style of API today is the ubiquitous JSON API.These two different types of API have distinctly different design needs and, therefore, should use different designconstraints and adopt different goals when being created.Hypermedia APIs:Will be trivially REST-ful, since they are simply what Roy Fielding was describing.Should be driven by the needs of the underlying hypermedia applicationMay change dramatically without versioning information, because hypermedia utilizes self describing messagesShould be passed directly to humans, to maximize the flexibility of the systemData APIs, on the other hand:Will not benefit dramatically from REST-fulness, beyond perhaps Level 2 of the Richardson Maturity ModelShould strive for both regularity and expressiveness due to the arbitrary data needs of consumers +
4年前
記事のアイキャッチ画像
REST - Explained For Beginners
</> htmx - high power tools for html
+There is no topic that generates more confusion in web development than the idea of Representational State Transfer,known as REST. This term comes from Chapter 5of Roy Fielding’s PhD thesis at U.C. Irvine.In this essay we will go through this Chapter and summarize the important concepts for non-academic web developers. Thethesis is dense and involves a lot of technical jargon that isn’t relevant to people who aren’t academics interestedin formal PhD thesis writing.By the end of this essay you should have a better handle on REST, and the concept of aUniform Interface in particular.OverviewThe first thing to understand about REST is that it is a description of the original web. Fielding describes REST as an“architectural style for distributed hypermedia systems”, which sounds fancy but just means the web we all know and love:clicking on hyperlinks, submitting forms, looking at images, reading paragraphs and all that jazz.It was NOT created as a description of a particular approach for JS +
4年前
記事のアイキャッチ画像
htmx 1.5.0 has been released!
</> htmx - high power tools for html
+htmx 1.5.0 ReleaseI’m happy to announce the 1.5.0 release of htmx.New Features & Major ChangesSupport tracking of button clicked during a form submissionAdded the hx-request attribute, allowing you to configure the following aspects of the requesttimeout - the timeout of the requestcredentials - if the request will send credentialsnoHeaders - strips all headers from the requestAlong with the above attribute, you can configure the default values for each of these via the corresponding htmx.configproperties (e.g. htmx.config.timeout)Improvements & Bug fixesConditional polling via the hx-trigger attributedocument is now a valid pseudo-selector on the hx-trigger from: argument, allowing youto listen for events on the document.Both the scroll and show options on hx-swap now support extended syntax for selecting theelement to scroll or to show, including the pseudo-selectors window:top and window:bottom.Enjoy!
4年前
+
記事のアイキャッチ画像
htmx 1.4.0 has been released!
</> htmx - high power tools for html
+htmx 1.4.0 ReleaseI’m happy to announce the 1.4.0 release of htmx.New Features & Major ChangesAdded the queue option to the hx-trigger attribute, allowing you to specify how eventsshould be queued when they are received with a request in flightThe htmx.config.useTemplateFragments option was added, allowing you to use HTML template tags for parsing contentfrom the server. This allows you to use Out of Band content when returning things like table rows, but it is notIE11 compatible.Introduced a new synthetic event, intersect that allows you to trigger when an item is scrolled into viewas specified by the IntersectionObserver APIThe htmx.config.withCredentials option was added, to send credentials with ajax requests (default is false)hx-swap now supports the none optionImprovements & Bug fixesThe defaultSettleDelay was dropped to 20ms from 100msFixed timing issue that caused exceptions in the reveal logic when scrolling at incredible speeds - https://github.com/bigskysoftware/htmx/issues/ +
4年前
記事のアイキャッチ画像
htmx 1.3.0 has been released!
</> htmx - high power tools for html
+htmx 1.3.0 ReleaseI’m happy to announce the 1.3.0 release of htmx.New Features & Major ChangesSupport a target modifier on hx-trigger to filter based on the element targeted by an event. This allowslazy binding to that target selector.Events are no longer consumed by the first element that might handle them, unless the consume keyword isadded to the hx-trigger specificationAdded the htmx:beforeSend event, fired just before an ajax request beginshtmx.ajax() now returns a promiseImprovements & Bug fixesSSE swaps are properly settledFixed bug that was improperly cancelling all clicks on anchorsEnjoy!
4年前
記事のアイキャッチ画像
htmx 1.2.0 has been released!
</> htmx - high power tools for html
+htmx 1.2.0 ReleaseI’m happy to announce the 1.2.0 release of htmx.New Features & Major Changeshx-vars has been deprecated in favor of hx-valshx-vals now supports a javascript: prefix to achieve the behavior that hx-vars providedThe new hx-headers attribute allows you to add headers to a request via an attribute. Like hx-vals it supportsJSON or javascript via the javascript: prefixhx-include will now include all inputs under an element, even if that element is not a form tagThe preload extension now offers a preload-images="true" attribute that will aggressively load images in preloaded contentOn requests driven by a history cache miss, the new HX-History-Restore-Request header is included so that the servercan differentiate between history requests and normal requestsImprovements & Bug fixesImproved handling of precedence of input values to favor the enclosing form (see here)Moved event filtering logic after preventDefault so filtering still allows events to be properly handledNo longe +
4年前
記事のアイキャッチ画像
htmx 1.1.0 has been released!
</> htmx - high power tools for html
+htmx 1.1.0 ReleaseI’m happy to announce the 1.1.0 release of htmx.This is a surprisingly big release, but the star of the show isn’t htmx itself, but rather the newpreload extension which allows you to preload requests into the cache,cutting down on latency. (This extension is used in the htmx website!)There are also new examples, including keyboard shortcuts anddrag and drop list reordering with Sortable.js.ChangesNewly added preload extension allows you to preload resources for lowerlatency requests!Support the ignore: modifier for extensionsUpdated form variable order inclusion to include the enclosing form last so that, in the presence of multiplevalues, the most relevant value is the most likely to be selected by the serverSupport for the htmx.ajax() javascript function, to issue an htmx-style ajaxrequest from javascriptRemoved the following htmx request headers for better cache behavior: HX-Event-Target, HX-Active-Element,HX-Active-Element-Name, HX-Active-Element-ValueAdded the h +
4年前
記事のアイキャッチ画像
htmx 1.0.0 has been released!
</> htmx - high power tools for html
+htmx 1.0.0 ReleaseI’m happy to announce the 1.0.0 release of htmx.htmx is now mature enough that I can recommend it as a general replacement for intercooler.jsprojects. I don’t think there is a strong reason to port an existing intercooler project tohtmx. I have several large intercooler apps and will not be moving them over any time soon. I can, however, recommend using htmx over intercooler for new projects.htmx is a different sort of javascript library. It is an HTML & hypertext-oriented reply to the current dominance of javascript-based SPA libraries. It is a response to Tom MacWright’s question:“If not SPAs, What?”.As the homepage says:Why should only <a> and <form> be able to make HTTP requests?Why should only click & submit events trigger them?Why should only GET & POST be available?Why should you only be able to replace the entire screen?HTML-oriented web development was abandoned not because hypertext was a bad idea, but rather because HTML didn’t have sufficient expressive po +
4年前
記事のアイキャッチ画像
htmx 0.4.0 has been released!
</> htmx - high power tools for html
+htmx 0.4.0 ReleaseI’m pleased to announce the 0.4 release of htmx.ChangesNew FeaturesNow support the HX-Redirect and HX-Refresh response headers for redirecting client side and triggering a page refresh, respectivelyhx-vars now overrides input values<title> tags in responses will be used to update page titlesAll uses of eval() have been removed in favor of Functionhx-vals is available as a save alternative to hx-vars. It uses JSON.parse() rather than evaluation, if you wish to safely pass user-provided values through to htmx.Bug FixesEliminated perf issues around hx-boost in large pages that are not using that attributeFixed bug which prevented evaluation when a script tag was the leading content in a responseEnjoy!
4年前
Complexity Budget
</> htmx - high power tools for html
+Every software project involves managing a complexity budget.A complexity budget can be defined as:An explicit or implicit allocation of complexity across the entire application“Complexity” here is defined subjectively (rather than formally)and in Stewartian Terms: “I know it when I see it.”Or, more specifically to software development: “I know it when I feel it.”One of the primary jobs of an application architect is to manage a projects complexity budget:Decide if a given feature is “worth it”Decide if a given implementation is “worth it”Add appropriate system boundaries to limit complexity between componentsAnd so onAn infuriating aspect of complexity is that that attempts to address it can, in fact, add more complexity.A good example of this from experience was when a company I worked at added OSGi to the system to manage theincreasing complexity of the project. It seemed like a reasonable approach,it offered a sophisticated module system,it was recommended by a newly hired architec +
4年前
記事のアイキャッチ画像
SPA Alternative
</> htmx - high power tools for html
+Recently Tom MacWright has written a few posts on Single Page Applications and their discontents:Second-guessing the modern webIf not SPAs, What?The emerging norm for web development is to build a React single-page application, with server rendering. The two keyelements of this architecture are something like:The main UI is built & updated in JavaScript using React or something similar.The backend is an API that that application makes requests against.This idea has really swept the internet. It started with a few major popular websites and has crept into cornerslike marketing sites and blogs.In these two articles Tom lays out the problem associated with the React/SPA everywhere mindset. If I can summarizethem in one sentence: SPA frameworks tend to be complex, and you don’t get a lot of benefit for all thatcomplexity in many cases.An AlternativeTom outlines a few alternatives to the SPA approach in the second article and, I’m happy to say, mentions htmx. However,he classifies htmx (as +
4年前
記事のアイキャッチ画像
htmx 0.3.0 has been released!
</> htmx - high power tools for html
+htmx 0.3.0 ReleaseI’m pleased to announce the 0.3 release of htmx. Due to a big testingpush I’m happy to say that htmx now has 98.4% test coverage.That said, this release involves some major surgery on trigger parsing, in particular, so please try it out and letme know if you see anything funny.ChangesNew Featureshx-trigger parsing has been rewritten and now supports trigger filters to filterevents based on arbitrary javascript expressionshtmx now supports two additional response headers HX-Trigger-After-Swap and HX-Trigger-After-Settle allowingan event to be triggered after a given life cycle event (instead of before the swap)The requestConfig is now passed out to events surrounding the AJAX life cycleEvaluate <script> tags as javascript when no language is defined on themA new event-header extension, which will include a serialized JSON representation ofthe triggering event in requestsBug FixesIgnore non-elements when triggering post-swap events (avoid multiple event triggers when co +
4年前
記事のアイキャッチ画像
htmx 0.2.0 has been released!
</> htmx - high power tools for html
htmx 0.2.0 ReleaseI’m pleased to announce the 0.2 release of htmxChangesNew FeaturesAJAX file upload is now supportedThe HTML validation API is now respectedBug FixesA selected element no longer breaks response processing in some rare casesHTMX-related classes (e.g. .htmx-request) are stripped from content before saving for historyEnjoy!
4年前
記事のアイキャッチ画像
htmx 0.1.2 has been released!
</> htmx - high power tools for html
+htmx 0.1.2 ReleaseI’m pleased to announce the 0.1.2 release of htmx as well as the first non-alpha hyperscriptrelease 0.0.2 hyperscript.ChangesBreaking ChangesThe SSE attribute hx-sse and the Web Sockets attribute hx-ws have changed syntax to now use colon separators: hx-sse='connect:/chat swap:message'Hyperscript no longer requires a _hyperscript.start() call to initialize.New FeaturesThe SSE attribute hx-sse allows for swapping content directly on an event, in addition to triggering an htmx element,with the new swap:<event name> syntax.hx-target now supports a find syntax to find elements below the element by a CSS selectorhtmx plays better with deferred loading and many package managersAll htmx events are dispatched in both camelCase as well as kebab-case, for better compatibility with AlpineJS and other frameworks. (e.g. htmx:afterOnLoad will also be triggered ashtmx:after-on-load)Bug FixesThe synthetic revealed trigger event is much less of a CPU hogMulti-select elements now send +
4年前
記事のアイキャッチ画像
htmx 0.0.7 has been released!
</> htmx - high power tools for html
+htmx 0.0.7 ReleaseI’m pleased to announce the 0.0.7 release of htmx.ChangesBreaking ChangesAll events fired by htmx have changed name, from <event name>.htmx (the old jQuery style) to htmx:<event name>New FeaturesThe hx-swap attribute now supports two new modifiers:scroll - allows you to scroll the target to the top or bottomview - allows you to scroll the top or bottom of the target into viewThe hx-push-url attribute now can optionally take a URL to push, in addition to true and falseAdded the hx-vars attribute that allows you to dynamically add to the parameters that will be submitted with a requestYou can now sponsor htmx development via GitHub SponsorsA big thanks to our first sponsors!https://github.com/putyourlightsonhttps://github.com/simosentissihttps://github.com/jreviewsEnjoy!
5年前
記事のアイキャッチ画像
htmx 0.0.8 has been released!
</> htmx - high power tools for html
htmx 0.0.8 ReleaseI’m pleased to announce the 0.0.8 release of htmx.ChangesBreaking ChangesThe view modifier on hx-swap has been renamed to show: hx-swap='innerHTML show:top'New FeaturesA bug fix on history when using local anchors: <a href="#example">...A bug fix for the aforementioned show functionalityEnjoy!
5年前
記事のアイキャッチ画像
htmx 0.0.6 has been released!
</> htmx - high power tools for html
+htmx 0.0.6 ReleaseI’m pleased to announce the 0.0.6 release of htmx.Changes_hyperscriptWith this release comes the release of a new sibling project:https://hyperscript.orghyperscript is a scripting language designed to be embedded directly in HTML and inspired byHyperTalk, the programming language of HyperCard.Breaking ChangesCustom request/response headers no longer start with the X- prefix, which is no longer recommendedThe X-HTTP-Method-Override is now part of the method-override extension, and AJAX requests use the actualhttp method specified for requests.Extensions that handle swaps must explicitly return an array of elements to process after the swapThe hx-error-url attribute was removed in favor of hyperscriptOther Changesempty verb attributes are now allowed and follow the anchor tag semantics (e.g. <div hx-get></div>)nunjuks inline rendering is now supported in the client-side-templates extensionthe new ajax-header extension includes the X-Requested-With headerbad JSON is now +
5年前
記事のアイキャッチ画像
Locality of Behaviour (LoB)
</> htmx - high power tools for html
+“The primary feature for easy maintenance is locality: Locality is that characteristic of source code that enables aprogrammer to understand that source by looking at only a small portion of it.” – Richard GabrielThe LoB PrincipleLocality of Behaviour is the principle that:The behaviour of a unit of code should be as obvious as possible by looking only at that unit of codeDiscussionThe LoB principle is a simple prescriptive formulation of the quoted statement from Richard Gabriel.In as much as it is possible, and in balance with other concerns, developers should strive to make the behaviour ofa code element obvious on inspection.Consider two different implementations of an AJAX request in HTML, the first in htmx:<button hx-get="/clicked">Click Me</button>and the second in jQuery: $("#d1").on("click", function(){ $.ajax({ /* AJAX options... */ }); });<button id="d1">Click Me</button>In the former, the behaviour of the button element is obvious on inspection, satisfying the LoB principle +
5年前
記事のアイキャッチ画像
htmx 0.0.4 has been released!
</> htmx - high power tools for html
+htmx 0.0.4 ReleaseI’m pleased to announce the 0.0.4 release of htmx, this time with noproject renaming.ChangesThis one had a lot of code clean up along with two major features:ExtensionsFirst off, htmx now has a proper extensions mechanism, allowing us to create extensions that plugin to the htmx life cycle and provide functionality that isn’t in the core library. Some extensions that have shippedwith this release and that you might find useful include:morphdom-swap - allows you to use the morphdom library for swapping in new contentclass-tools - replaces the retired hx-classes attributejson-enc - allows you to encode AJAX request bodies in JSONSee the full list of included extensions here.This extension mechanism will allow us to introduce useful HTML-oriented features while keeping the core htmx codefocused on loading content.Web Socket & Reworked Server Sent Events Supporthtmx now has experimental support for Web Socketswith the hx-ws attribute: <div hx-ws="connect wss:/chatroom"> < +
5年前
記事のアイキャッチ画像
kutty, er, htmx 0.0.3 has been released!
</> htmx - high power tools for html
+htmx 0.0.3 ReleaseI’m pleased to announce the 0.0.3 release of kutty, er, htmx, the successorto intercooler.js!Why not kutty 0.0.2?One of the reasons you put a 0.0.1 release out there is to see what happens. And one of the things thathappened was that multiple people made comments on how the word “kutty” meant different things in different languages, including“small”, “child” and a very unfortunate meaning in dutch slang. I had originallycalled the project htmx(html extensions) and went back and forth between the two names for a bit.It seems like, upon contact with reality, htmx is a better long term name for the project. It’s alsoa lot easier to search twitter & reddit for that term.It’s a simple fix for anyone who actually used 0.0.1:attributes go from kt- to hx- (their original prefix)request headers go from X-KT- to X-HX-kutty goes to htmx for event names, etc.ChangesOK, so besides the big re-rename, what changed?A bug fix for the hx-prompt attributeA bug fix for multiple hx-swap-o +
5年前
記事のアイキャッチ画像
kutty 0.0.1 has been released!
</> htmx - high power tools for html
+Kutty 0.0.1 ReleaseI’m pleased to announce the 0.0.1 release of kutty, the successorto intercooler.js!Like intercooler, kutty brings features of modern browsers that normally require javascript (AJAX, CSS transitions, etc.)directly into HTML.Why the rename?I chose to rename the project for a few reasons:I wanted the freedom to clean up mistakes and remove ideas that hadn’t worked out as cleanly as I wantedThe JS in intercooler.js implied a javascript-orientation. The more I developed intercooler the more I realizedthat it was really about enhancing (completing?) HTML, not javascript. This project doesn’t really compete with toolslike angular, vue or react, it’s something different, so I wanted a different name.kutty is short and memorable, kutty.org was available, and it has consonance with “cuttlefish” which is theofficial cephalopod of kutty development.So what’s new & different about kutty vs. intercooler?First and foremost, kutty has no external dependencies !No more dragging in jQ +
5年前
\ No newline at end of file diff --git a/blogs/0b97611dd71b93f64c2addf586934a88/index.html b/blogs/0b97611dd71b93f64c2addf586934a88/index.html new file mode 100644 index 000000000000..6dbd75266d25 --- /dev/null +++ b/blogs/0b97611dd71b93f64c2addf586934a88/index.html @@ -0,0 +1,218 @@ +Blog - Supabaseのフィード|JSer.info Watch List RSS

Blog - Supabase

https://supabase.com

Build production-grade applications with a Postgres database, Authentication, instant APIs, Realtime, Functions, Storage and Vector embeddings. Start for free.

フィード

記事のアイキャッチ画像
AI Hackathon at Y Combinator
Blog - Supabase
Announcing the winners of the Supabase AI Hackathon.
2ヶ月前
記事のアイキャッチ画像
Calendars in Postgres using Foreign Data Wrappers
+Blog - Supabase
Calendar data integration with Cal.com using Wasm foreign data wrapper on Supabase
2ヶ月前
記事のアイキャッチ画像
Supabase Launch Week 13 Hackathon Winners
Blog - Supabase
Announcing the winners of the Supabase Launch Week 13 Hackathon.
2ヶ月前
記事のアイキャッチ画像
How to Hack the Base!
Blog - Supabase
Played cool games, won cool prizes.
2ヶ月前
記事のアイキャッチ画像
Running Durable Workflows in Postgres using DBOS
Blog - Supabase
+Technical deep dive into the new DBOS integration for Supabase
2ヶ月前
記事のアイキャッチ画像
database.build v2: Bring-your-own-LLM
Blog - Supabase
Use any OpenAI API compatible LLMs in database.build
2ヶ月前
記事のアイキャッチ画像
Restore to a New Project
Blog - Supabase
Effortlessly Clone Data into a New Supabase Project
2ヶ月前
記事のアイキャッチ画像
Hack the Base! with Supabase
Blog - Supabase
Play cool games, win cool prizes.
2ヶ月前
記事のアイキャッチ画像
Top 10 Launches of Launch Week 13
Blog - Supabase
Highlights from Launch Week 13
2ヶ月前
記事のアイキャッチ画像
Supabase Queues
Blog - Supabase
Durable Message Queues with Guaranteed Delivery in Postgres
2ヶ月前
記事のアイキャッチ画像
High Performance Disk
Blog - Supabase
Store up to 60 TB of data with 100x improved durability and 5x more IOPS
2ヶ月前
記事のアイキャッチ画像
Supabase Cron
Blog - Supabase
Schedule Recurring Jobs in Postgres
2ヶ月前
記事のアイキャッチ画像
Supabase CLI v2: Config as Code
Blog - Supabase
Commit the configuration for all of your Projects and Branches into version control.
2ヶ月前
記事のアイキャッチ画像
Supabase Edge Functions: Introducing Background Tasks, Ephemeral Storage, and WebSockets
Blog - Supabase
Edge functions can be used for workloads outside the request-response lifecycle
2ヶ月前
記事のアイキャッチ画像
Supabase AI Assistant v2
Blog - Supabase
An evolution of how we approach AI within the Supabase dashboard
2ヶ月前
記事のアイキャッチ画像
OrioleDB Public Alpha
Blog - Supabase
Launching OrioleDB Public Alpha
2ヶ月前
+
記事のアイキャッチ画像
Executing Dynamic JavaScript Code on Supabase with Edge Functions
Blog - Supabase
Learn how to execute dynamic JavaScript code on Supabase using Edge Functions.
3ヶ月前
記事のアイキャッチ画像
ClickHouse Partnership, improved Postgres Replication, and Disk Management
Blog - Supabase
Improving the developer experience between Postgres and ClickHouse.
3ヶ月前
記事のアイキャッチ画像
Live Share: Connect to in-browser PGlite with any Postgres client
Blog - Supabase
Connect any Postgres client to your postgres.new databases.
4ヶ月前
記事のアイキャッチ画像
MongoDB Realm & Device Sync Alternatives - Supabase
Blog - Supabase
Learn how Supabase can help you transition from MongoDB Realm and Device Sync.
4ヶ月前
記事のアイキャッチ画像
Building offline-first mobile apps with Supabase, Flutter and Brick
Blog - Supabase
Brick is an all-in-one data manager for Flutter that handles querying and uploading between Supabase and local caches like SQLite. Using Brick, developers can focus on implementing the application without worrying about translating or storing their data.
4ヶ月前
記事のアイキャッチ画像
+Supabase Launch Week 12 Hackathon Winners
Blog - Supabase
Announcing the winners of the Supabase Launch Week 12 Hackathon.
4ヶ月前
記事のアイキャッチ画像
Local-first Realtime Apps with Expo and Legend-State
Blog - Supabase
Build local-first realtime web and mobile apps with Expo, Legend-State, and Supabase.
5ヶ月前
記事のアイキャッチ画像
Edge Functions are now 2x smaller and boot 3x faster
Blog - Supabase
Redeploy your Edge Functions with the CLI v1.192.5 for a peformance boost
5ヶ月前
記事のアイキャッチ画像
Building an Uber Clone with Flutter and Supabase
Blog - Supabase
Learn how to handle real-time geospatial data using Supabase Realtime and Flutter.
5ヶ月前
記事のアイキャッチ画像
In-Browser Semantic AI Search with PGlite and Transformers.js
Blog - Supabase
+Use pgvector in PGlite and combine it with Huggingface Transformers.js for a fully local, in-browser semantic search functionality!
5ヶ月前
記事のアイキャッチ画像
Supabase + Vercel Partnership
Blog - Supabase
Vercel just added official First-Party Integrations. We're one of them.
5ヶ月前
記事のアイキャッチ画像
Supabase Launch Week 12 Hackathon
Blog - Supabase
Build an Open Source Project over 10 days. 5 prize categories.
5ヶ月前
記事のアイキャッチ画像
Mozilla Llamafile in Supabase Edge Functions
+Blog - Supabase
Use Mozilla Llamafile OpenAI API compatible server in Supabase Edge Functions.
6ヶ月前
記事のアイキャッチ画像
Top 10 Launches of Launch Week 12
Blog - Supabase
Highlights from Launch Week 12
6ヶ月前
Introducing New Platform Access Control
Blog - Supabase
Granular permissions for adding users to specific projects in an Supabase organization.
6ヶ月前
記事のアイキャッチ画像
Postgres Foreign Data Wrappers with Wasm
Blog - Supabase
Build Wasm foreign data wrapper with Wrappers and use it on Supabase
6ヶ月前
記事のアイキャッチ画像
PostgREST 12.2: Prometheus metrics
Blog - Supabase
New features in the latest 12.2 release of PostgREST
6ヶ月前
記事のアイキャッチ画像
Supabase Python
Blog - Supabase
Supabase Python is now officially supported in Supabase.
6ヶ月前
記事のアイキャッチ画像
The Supabase Book by David Lorenz
Blog - Supabase
Learn Supabase by building a Multi-Tenant platform.
+6ヶ月前
記事のアイキャッチ画像
vec2pg: Migrate to pgvector from Pinecone and Qdrant
Blog - Supabase
Migrate vector data from vector DBs to Supabase
6ヶ月前
記事のアイキャッチ画像
Introducing Log Drains
Blog - Supabase
Log Drains for exporting product logs is now available under Public Alpha
6ヶ月前
記事のアイキャッチ画像
pg_graphql 1.5.7: pagination and multi-tenancy support
Blog - Supabase
Latest features of pg_graphql
6ヶ月前
記事のアイキャッチ画像
Snaplet is now open source
Blog - Supabase
Snaplet is closing their business and opening their source code
6ヶ月前
記事のアイキャッチ画像
Supabase Auth: Bring-your-own Auth0, Cognito, or Firebase
Blog - Supabase +
Use Firebase Auth, Auth0 or AWS Cognito (Amplify) with your Supabase project, secure your users with SMS based MFA, and use send hooks.
6ヶ月前
記事のアイキャッチ画像
Supabase Realtime: Broadcast and Presence Authorization
Blog - Supabase
Secure Realtime Broadcast and Presence with Authorization
6ヶ月前
記事のアイキャッチ画像
Official Supabase extension for VS Code and GitHub Copilot
Blog - Supabase
Today we're launching a new GitHub Copilot extension for VS Code to make your development with Supabase even more delightful.
6ヶ月前
記事のアイキャッチ画像
postgres.new: In-browser Postgres with an AI interface
Blog - Supabase
Introducing postgres.new, the in-browser Postgres sandbox with AI assistance.
6ヶ月前
記事のアイキャッチ画像
Announcing Supabase on JSR
Blog - Supabase
Supabase is now available on the open source JavaScript Registry (JSR).
7ヶ月前 +
記事のアイキャッチ画像
Supabase Security Suite
Blog - Supabase
Learn how to use range columns in Postgres to simplify time-based queries and add constraints to prevent overlaps.
7ヶ月前
記事のアイキャッチ画像
Simplifying Time-Based Queries with Range Columns
Blog - Supabase
Learn how to use range columns in Postgres to simplify time-based queries and add constraints to prevent overlaps.
7ヶ月前
記事のアイキャッチ画像
Postgres Realtime location sharing with MapLibre
Blog - Supabase
+Use Supabase Realtime to draw live location data onto the map with MapLibre GL JS.
7ヶ月前
記事のアイキャッチ画像
Generate Vector Tiles with PostGIS
Blog - Supabase
Use PostGIS to programmatically generate Mapbox Vector Tiles and render them with MapLibre GL.
7ヶ月前
記事のアイキャッチ画像
Self-host Maps with Protomaps and Supabase Storage
Blog - Supabase
Host Protomaps PMTiles on Supabase Storage and render them with MapLibre GL.
8ヶ月前
記事のアイキャッチ画像
+Cal.com launches Expert Marketplace built with Next.js and Supabase.
Blog - Supabase
Cal.com and Supabase team up to build an open-source platform starter kit for developers.
8ヶ月前
記事のアイキャッチ画像
The open source Kahoot alternative
Blog - Supabase
How we built a Kahoot alternative for the Supabase community meetups.
9ヶ月前
記事のアイキャッチ画像
What's new in pgvector v0.7.0
Blog - Supabase
Exploring new features in pgvector v0.7.0
9ヶ月前
記事のアイキャッチ画像
Open Source Hackathon 2024 winners
Blog - Supabase
Announcing the winners of the Open Source Hackathon 2024!
9ヶ月前
記事のアイキャッチ画像
Postgres Bloat Minimization
Blog - Supabase
Understanding and minimizing Postgres table bloat
9ヶ月前
記事のアイキャッチ画像
Exploring Support Tooling at Supabase: A Dive into SLA Buddy
Blog - Supabase
In this post, we explore the support tooling at Supabase, and how we use SLA Buddy to monitor our SLAs.
9ヶ月前
記事のアイキャッチ画像
Packaging Supabase with Nix
Blog - Supabase
9ヶ月前
記事のアイキャッチ画像
Supabase Storage: now supports the S3 protocol
Blog - Supabase
Supabase Storage is now officially an S3-Compatible Storage Provider.
10ヶ月前
記事のアイキャッチ画像
Top 10 Launches from Supabase GA Week
Blog - Supabase
A recap of the most important launches and updates from the week.
10ヶ月前
記事のアイキャッチ画像
Supabase Security Advisor & Performance Advisor
Blog - Supabase
We're making it easier to build a secure and high-performing application.
10ヶ月前 +
記事のアイキャッチ画像
Supabase Auth now supports Anonymous Sign-ins
Blog - Supabase
Sign in as an anonymous user to authenticate with Supabase
10ヶ月前
記事のアイキャッチ画像
AI Inference now available in Supabase Edge Functions
Blog - Supabase
Use embeddings and large language models on the edge with Supabase Edge Functions.
10ヶ月前
記事のアイキャッチ画像
Branching now Publicly Available
Blog - Supabase
Supabase Branching is now available on Pro Plan and above.
10ヶ月前
記事のアイキャッチ画像
Oriole joins Supabase
Blog - Supabase
The Oriole team are joining Supabase to build a faster storage engine for Postgres.
10ヶ月前
記事のアイキャッチ画像
Supabase on the AWS Marketplace
Blog - Supabase
Supabase is now available on the AWS Marketplace, Simplifying Procurement for Enterprise Customers.
10ヶ月前
記事のアイキャッチ画像
Supabase Bootstrap: the fastest way to launch a new project
Blog - Supabase
Launch a new hosted Supabase project directly from the CLI using pre-built applications.
10ヶ月前
記事のアイキャッチ画像
Supabase Swift
Blog - Supabase
Supabase Swift is now officially supported.
10ヶ月前
記事のアイキャッチ画像
+Supabase Open Source Hackathon 2024
Blog - Supabase
Build an Open Source Project over 10 days. 5 prize categories.
10ヶ月前
記事のアイキャッチ画像
Postgres Roles and Privileges
Blog - Supabase
A guide to Postgres roles and privileges
10ヶ月前
記事のアイキャッチ画像
Announcing Data Preservation Service
Blog - Supabase
Secure, reliable and timeless backups
10ヶ月前
記事のアイキャッチ画像
Implementing semantic image search with Amazon Titan and Supabase Vector
Blog - Supabase
Implementing semantic image search with Amazon Titan and Supabase Vector in Python.
10ヶ月前
記事のアイキャッチ画像
PostgREST Aggregate Functions
Blog - Supabase
Summarize your data by performing calculations across groups of rows in PostgREST
1年前
記事のアイキャッチ画像
Build a content recommendation app with Flutter and OpenAI
Blog - Supabase
Build a movie-viewing app that recommends another movie based on what the user is viewing using OpenAI, Flutter and Supabase.
1年前
記事のアイキャッチ画像
Automating performance tests
Blog - Supabase
Learn about our story to get to the automated performance testing.
1年前
記事のアイキャッチ画像
Matryoshka embeddings: faster OpenAI vector search using Adaptive Retrieval
Blog - Supabase
Use Adaptive Retrieval to improve query performance with OpenAI's new embedding models
1年前
記事のアイキャッチ画像
NoSQL Postgres: Add MongoDB compatibility to your Supabase projects with FerretDB
Blog - Supabase
NoSQL Postgres: Add MongoDB compatibility to your Supabase projects with FerretDB
1年前
pgvector 0.6.0: 30x faster with parallel index builds
Blog - Supabase
pgvector 0.6.0 brings a significant improvement: parallel index builds for HNSW. Building an HNSW index is now up to 30x faster for unlogged tables.
1年前
記事のアイキャッチ画像
Getting started with Ruby on Rails and Postgres on Supabase
Blog - Supabase
Learn how to create a new Rails app and connect it to a Supabase Postgres database.
1年前
記事のアイキャッチ画像
Create a Figma Clone app with Flutter and Supabase Realtime
Blog - Supabase
A tutorial on how to build a collaborative design app like Figma using Flutter and Supabase Realtime.
1年前
記事のアイキャッチ画像
How pg_graphql works
Blog - Supabase
An insight into the internals of GraphQL in Postgres using pg_graphql, and how you can contribute.
1年前
記事のアイキャッチ画像
Getting started with Laravel and Postgres +
Blog - Supabase
Learn how to create a new Laravel PHP app and connect it to a Supabase PostgreSQL database.
1年前
記事のアイキャッチ画像
What is SAML? A practical guide to the authentication protocol
Blog - Supabase
Learn what is SAML authentication, how it differentiates from SSO, SAML with Postgres, and more.
1年前
記事のアイキャッチ画像
Using React Query with Next.js App Router and Supabase Cache Helpers
Blog - Supabase
Learn how to use React Query in Next.js Client & Server Components for data fetching with Supabase.
1年前
記事のアイキャッチ画像
Brace yourself, IPv6 is coming
Blog - Supabase
On February 1st 2024, AWS will start charging for IPv4 addresses. This is a big deal for the internet, and we're here to help you prepare.
1年前
記事のアイキャッチ画像
Elixir clustering using Postgres
Blog - Supabase
Learn about our approach to connecting multiple nodes in Elixir using Postgres +
1年前
記事のアイキャッチ画像
Supabase Beta December 2023
Blog - Supabase
A Launch Week X rundown with all the fantastic goodies we shipped
1年前
記事のアイキャッチ画像
Launch Week X Hackathon Winners
Blog - Supabase
Announcing the winners of the Launch Week X Hackathon!
1年前
記事のアイキャッチ画像
Top 10 Launches of LWX
Blog - Supabase
Our CEO takes a look at his favorite ships from LWX
1年前
記事のアイキャッチ画像
Supabase Libraries V2: Python, Swift, Kotlin, Flutter, and Typescript
Blog - Supabase
Swift, Kotlin, C#, and Python are now stable and moving to the v2 API.
1年前
記事のアイキャッチ画像
Introducing Read Replicas
Blog - Supabase
We are launching support for Postgres Read Replicas
1年前
記事のアイキャッチ画像
Fly Postgres, managed by Supabase
Blog - Supabase
A managed Postgres offering developed by Supabase and Fly.io
1年前
記事のアイキャッチ画像
Supabase Auth: Identity Linking, Hooks, and HaveIBeenPwned integration
Blog - Supabase
Four major Auth features: Identity Linking, Session Control, Leaked Password Protection, and Hooks
1年前
記事のアイキャッチ画像
Supabase Wrappers v0.2: Query Pushdown & Remote Subqueries
Blog - Supabase
Supabase Wrappers v0.2 brings more Wrappers, query pushdown, remote subquery, and more
1年前
記事のアイキャッチ画像
PostgREST 12
Blog - Supabase
PostgREST 12 is out and we take a look at some of the major new features like JWT Caching and Aggregate Functions
1年前
記事のアイキャッチ画像
Supabase Branching
Blog - Supabase
A Postgres database for every Pull Request.
1年前
記事のアイキャッチ画像
Supavisor 1.0: a scalable connection pooler for Postgres
Blog - Supabase
Supavisor is now used across all projects, providing a scalable and cloud-native Postgres connection pooler that can handle millions of connections
1年前
記事のアイキャッチ画像
Edge Functions: Node and native npm compatibility
Blog - Supabase
+We're adding Node and native npm compatibility for Edge Functions.
1年前
記事のアイキャッチ画像
pg_graphql: Postgres functions now supported
Blog - Supabase
pg_graphql now supports the most requested feature: Postgres functions a.k.a. User Defined Functions (UDFs)
1年前
記事のアイキャッチ画像
Supabase Studio: AI Assistant and User Impersonation
Blog - Supabase
We're introducing the next generation of our AI Assistant and some features that will help get your ideas into code even faster.
1年前
記事のアイキャッチ画像
How design works at Supabase
Blog - Supabase
The transformative journey of Supabase's Design team and its unique culture to enhance the output and quality of the entire company.
1年前
記事のアイキャッチ画像
Postgres Language Server: implementing the Parser
Blog - Supabase
A detailed analysis of our iterations to implement a Parser for Postgres
1年前
+
記事のアイキャッチ画像
Supabase Beta November 2023
Blog - Supabase
Launch Week X is coming! But we still have cool updates that we couldn't fit next week.
1年前
記事のアイキャッチ画像
Launch Week X Community Meetups
Blog - Supabase
The Supabase Community Meetups are back, and this time we've got more events happening all over the world!
1年前
記事のアイキャッチ画像
Supabase Launch Week X Hackathon
Blog - Supabase
Build an Open Source Project over 10 days. 5 prize categories.
1年前
+
記事のアイキャッチ画像
Automatic CLI login
Blog - Supabase
Explore the technical implementation and security measures behind CLI's new automatic login feature.
1年前
記事のアイキャッチ画像
GitHub OAuth in your Python Flask app
Blog - Supabase
A step-by-step guide on building Login with Github into your Python apps.
1年前
記事のアイキャッチ画像
Getting started with React Native authentication
Blog - Supabase
Learn how to implement authentication in your React Native applications.
1年前
記事のアイキャッチ画像
Supabase Beta October 2023
Blog - Supabase
Brand-new features, community content, and (more importantly) the date for our next Launch Week.
1年前
記事のアイキャッチ画像
Supabase is now compatible with Next.js 14
Blog - Supabase
The fastest way to build apps with Next.js 14 and Supabase
1年前
記事のアイキャッチ画像
pgvector vs Pinecone: cost and performance
Blog - Supabase
Direct performance comparison between pgvector and Pinecone.
+1年前
記事のアイキャッチ画像
Offline-first React Native Apps with Expo, WatermelonDB, and Supabase
Blog - Supabase
Store your data locally and sync it with Postgres using WatermelonDB!
1年前
記事のアイキャッチ画像
Supabase Beta September 2023
Blog - Supabase
September was packed with so many new features and releases that it might have seemed like another Launch Week, but it wasn't!
1年前
記事のアイキャッチ画像
Dynamic Table Partitioning in Postgres
Blog - Supabase
+Learn how to scale large postgres tables in place and increase query performance.
1年前
記事のアイキャッチ画像
Supabase Beta August 2023
Blog - Supabase
Launch Week 8 review and more things we shipped 🚀
1年前
記事のアイキャッチ画像
pgvector v0.5.0: Faster semantic search with HNSW indexes
Blog - Supabase
Increase performance in pgvector using HNSW indexes
1年前
記事のアイキャッチ画像
Organization-based Billing, Project Transfers, Team Plan
Blog - Supabase
+Introducing the new Organization-based Billing
1年前
記事のアイキャッチ画像
Launch Week 8 Hackathon Winners
Blog - Supabase
Announcing the winners of the Launch Week 8 Hackathon!
1年前
記事のアイキャッチ画像
Launch Week 8 Community Highlights
Blog - Supabase
Highlights from the community for the past 4 months.
1年前
記事のアイキャッチ画像
Supabase is now HIPAA and SOC2 Type 2 compliant
Blog - Supabase
+This documents our journey from SOC2 Type 1 to SOC2 Type2 and HIPAA compliance. You can start building healthcare apps on Supabase today.
1年前
記事のアイキャッチ画像
Supavisor: Scaling Postgres to 1 Million Connections
Blog - Supabase
Supavisor is a scalable, cloud-native Postgres connection pooler. We connected a million clients to it to see how it performs.
1年前
記事のアイキャッチ画像
Supabase Integrations Marketplace
Blog - Supabase
Become a Supabase Integrations Partner: Publish OAuth Apps and Build with Supabase.
1年前
記事のアイキャッチ画像
+Vercel Integration and Next.js App Router Support
Blog - Supabase
Using Supabase with Vercel and Next.js is now a lot easier.
1年前
記事のアイキャッチ画像
Supabase Studio 3.0: AI SQL Editor, Schema Diagrams, and new Wrappers
Blog - Supabase
Supabase Studio now comes with an AI assisted SQL Editor, schema diagrams, and much more.
1年前
記事のアイキャッチ画像
Supabase Local Dev: migrations, branching, and observability
Blog - Supabase
New features to streamline the interaction between CLI, code editors, and remote databases.
2年前
記事のアイキャッチ画像
Hugging Face is now supported in Supabase
Blog - Supabase
We've added support Hugging Face support in our Python Vector Client and Edge Functions.
2年前
記事のアイキャッチ画像
Why we'll stay remote
Blog - Supabase
Offices are making a comeback, just not at Supabase.
2年前
記事のアイキャッチ画像
Coding the stars - an interactive constellation with Three.js and React Three Fiber
Blog - Supabase
How we built a constellation of stars with Three.js and React Three Fiber.
2年前
記事のアイキャッチ画像
pgvector: Fewer dimensions are better
Blog - Supabase
Increase performance in pgvector by using embedding vectors with fewer dimensions
2年前
記事のアイキャッチ画像
Supabase Beta July 2023
Blog - Supabase
Launch Week 8 is coming - but we still shipped some goodies during July
2年前
記事のアイキャッチ画像
React Native file upload with Supabase Storage
Blog - Supabase
Learn how to implement authentication and file upload in a React Native app.
2年前
記事のアイキャッチ画像
Supabase Launch Week 8 Hackathon
Blog - Supabase
Build an Open Source Project over 10 days. 5 prize categories.
2年前
記事のアイキャッチ画像
Getting started with Flutter authentication
Blog - Supabase
Learn how authentication on Flutter works through Google sign in with Supabase auth.
2年前
記事のアイキャッチ画像
pgvector 0.4.0 performance
Blog - Supabase
There's been a lot of talk about pgvector performance lately, so we took some datasets and pushed pgvector to the limits to find out its strengths and limitations.
2年前
記事のアイキャッチ画像 +
What is new in PostgREST v11.1?
Blog - Supabase
Impersonated Role Settings, Configurable Isolation Level, improved Bulk Insert, and more
2年前
記事のアイキャッチ画像
Supabase Beta June 2023
Blog - Supabase
A plethora of announcements... read till the end to find out when is the new Launch Week +
2年前
記事のアイキャッチ画像
Native Mobile Auth Support for Google and Apple Sign in
Blog - Supabase
Supabase auth adds full support for native mobile sign in with Apple and Google.
2年前
記事のアイキャッチ画像
Supabase Beta May 2023
Blog - Supabase
Learn about the great things we shipped last month. Spoiler alert... lots of AI.
2年前
記事のアイキャッチ画像
Flutter Hackathon Winners
Blog - Supabase
Announcing the winners of the Flutter Hackathon!
2年前
記事のアイキャッチ画像
Supabase Vecs: a vector client for Postgres
Blog - Supabase
Introducing Supabase Vecs, a PostgreSQL vector client
2年前
記事のアイキャッチ画像
ChatGPT plugins now support Postgres & Supabase
Blog - Supabase
Supabase recently contributed to the OpenAI Retrieval Plugin repo with a Postgres and a Supabase implementation to help developers build ChatGPT plugins using pgvector.
2年前
記事のアイキャッチ画像
Building ChatGPT Plugins with Supabase Edge Runtime
Blog - Supabase
+We're releasing a ChatGPT plugin template written in TypeScript and running on Deno!
2年前
記事のアイキャッチ画像
Flutter Hackathon
Blog - Supabase
Build Flutter apps and win limited edition swag.
2年前
記事のアイキャッチ画像 +
Supabase Beta April 2023
Blog - Supabase
A review of Launch Week 7 and more exciting updates from last month.
2年前
記事のアイキャッチ画像
Securing your Flutter apps with Multi-Factor Authentication
Blog - Supabase
+Build a Flutter app where the user is required to authenticate using Multi-Factor Authentication.
2年前
記事のアイキャッチ画像
Next steps for Postgres pluggable storage
Blog - Supabase
Exploring history of Postgres pluggable storage and the possibility of landing it in the Postgres core.
2年前
+記事のアイキャッチ画像
Launch Week 7 Hackathon Winners
Blog - Supabase
Announcing the winners of the Launch Week 7 Hackathon!
2年前
記事のアイキャッチ画像
What's New in pg_graphql v1.2
Blog - Supabase
New Features in the v1.2 release of pg_graphql
2年前
記事のアイキャッチ画像
dbdev: PostgreSQL Package Manager
Blog - Supabase
We're publicly previewing dbdev, a PostgreSQL package manager.
2年前
記事のアイキャッチ画像 +
Launch Week 7 Community Highlights
Blog - Supabase
We're honored to work with, sponsor, and support incredible people and tools. Here is a highlight of the last 3 months.
2年前
記事のアイキャッチ画像
Trusted Language Extensions for Postgres
Blog - Supabase
+We're collaborating with AWS to bring Trusted Language Extensions to Postgres.
2年前
記事のアイキャッチ画像
Supabase Studio 2.0: help when you need it most
Blog - Supabase
Supabase Studio now comes with ChatGPT, and GraphiQL built in, Cascade Deletes, and Foreign Key Selectors, and much more.
2年前
記事のアイキャッチ画像
Supabase Auth: SSO, Mobile, and Server-side support
Blog - Supabase
Supacharging Supabase Auth with Sign in with Apple on iOS, Single-Sign-On support with SAML 2.0, and PKCE for server-side rendering and mobile auth.
2年前
記事のアイキャッチ画像
+Supabase Storage v3: Resumable Uploads with support for 50GB files
Blog - Supabase
Storage V3 with lots of new features including resumable uploads, more image transformationsm a Next.js image loader and more.
2年前
記事のアイキャッチ画像
Supabase Edge Runtime: Self-hosted Deno Functions
Blog - Supabase
We are open-sourcing Supabase Edge Runtime allowing you to host your Edge Functions anywhere. +
2年前
記事のアイキャッチ画像
Supabase Logs: open source logging server
Blog - Supabase
We're releasing Supabase Logs for both self-hosted users and CLI development.
2年前
記事のアイキャッチ画像
Supabase Beta March 2023
Blog - Supabase
We are in full shipping mode 🛥️… Launch Week 7 can’t come quickly enough!
2年前
記事のアイキャッチ画像
Designing with AI: Generating unique artwork for every user
Blog - Supabase
+Using MidJourney to generative artwork and serving ticket images with Edge Functions
2年前
記事のアイキャッチ画像
The Supabase AI Hackathon
Blog - Supabase
Build an Open Source Project over 10 days. 5 prize categories.
2年前
Infinite scroll with Next.js, Framer Motion, and Supabase
Blog - Supabase
Lazy load and paginate data on scroll with Next.js and a sprinkle of Framer Motion magic ✨
2年前
記事のアイキャッチ画像
SupaClub
Blog - Supabase
The Worlds First Software Engineering Nightclub. +
2年前
記事のアイキャッチ画像
Supabase Beta February 2023
Blog - Supabase
There is something for everybody this month - AI, Auth, Database, Edge Functions, GraphQL … you name it!
2年前
記事のアイキャッチ画像
Geo Queries with PostGIS in Ionic Angular
Blog - Supabase
Using the PostGIS extension to build a cross-platform application with Ionic Angular.
2年前
記事のアイキャッチ画像
Type Constraints in 65 lines of SQL
Blog - Supabase
+Creating validated data types in Postgres
2年前
記事のアイキャッチ画像
HappyTeams unlocks better performance and reduces cost with Supabase
Blog - Supabase
How a bootstrapped startup migrated from Heroku to Supabase in 30 minutes and never looked back
2年前
記事のアイキャッチ画像
How to build a real-time multiplayer game with Flutter Flame
Blog - Supabase
Build a real-time multiplayer game using Flutter, Flame, and Supabase realtime.
2年前
記事のアイキャッチ画像
Supabase Beta January 2023
Blog - Supabase
New Postgres extensions, pg_graphql updates, changes to Edge Functions, and more!
2年前
記事のアイキャッチ画像
Supabase Clippy: ChatGPT for Supabase Docs
Blog - Supabase
Creating a ChatGPT interface for the Supabase documentation.
2年前
記事のアイキャッチ画像
Storing OpenAI embeddings in Postgres with pgvector
Blog - Supabase
An example of how to build an AI-powered search engine using OpenAI's embeddings and PostgreSQL.
2年前
記事のアイキャッチ画像
Supabase Beta December 2022
Blog - Supabase
This month the Beta Update is a Launch Week 6 Special, where we review the cascade of announcements.
2年前
記事のアイキャッチ画像
Launch Week 6 Hackathon Winners
Blog - Supabase
Announcing the winners of the Launch Week 6 Hackathon!
2年前
記事のアイキャッチ画像
Custom Domain Names
Blog - Supabase
Change your Supabase project's domain name to your own domain.
2年前
記事のアイキャッチ画像
Community Day
Blog - Supabase
Wrapping up Launch Week 6 with contributors, partners, and friends.
2年前
記事のアイキャッチ画像
Launch Week 6: Wrap Up
Blog - Supabase
That's a wrap on Supabase Launch Week Day 6. Here's everything we shipped in one long blog post.
2年前
記事のアイキャッチ画像
What's new in Postgres 15?
Blog - Supabase
Describes the release of Postgres 15, new features and reasons to use it
2年前
記事のアイキャッチ画像
pg_graphql v1.0
Blog - Supabase
Announcing the v1.0 release of pg_graphql +
2年前
記事のアイキャッチ画像
Point in Time Recovery is now available for Pro projects
Blog - Supabase
We're making PITR available for more projects, with a new Dashboard UI that makes it simple to use.
2年前
記事のアイキャッチ画像
PostgREST 11 pre-release
Blog - Supabase
Describes new features of PostgREST 11 pre-release
2年前
記事のアイキャッチ画像
Supabase Vault is now in Beta
Blog - Supabase
A Postgres extension to store encrypted secrets and encrypt data.
2年前
記事のアイキャッチ画像
Supabase Wrappers, a Postgres FDW framework written in Rust
Blog - Supabase
A framework for building Postgres Foreign Data Wrappers which connects to Stripe, Firebase, Clickhouse, and more.
2年前
記事のアイキャッチ画像 +
Multi-factor Authentication via Row Level Security Enforcement
Blog - Supabase
MFA Auth with enforcement via RLS
2年前
記事のアイキャッチ画像
Supabase Storage v2: Image resizing and Smart CDN
Blog - Supabase
+We're introducing new features for Supabase Storage: Image resizing and a Smart CDN.
2年前
記事のアイキャッチ画像
New Supabase Docs, built with Next.js
Blog - Supabase
We've redesigned our Docs and migrated to Next.js
2年前
pg_crdt - an experimental CRDT extension for Postgres
Blog - Supabase
Embedding Yjs and Automerge into Postgres for collaborative applications.
2年前
記事のアイキャッチ画像
Launch Week 6 Hackathon
Blog - Supabase
+Build an Open Source Project, Win $1500 and the Supabase Darkmode Keyboard
2年前
記事のアイキャッチ画像
Who We Hire at Supabase
Blog - Supabase
Traits we look for to maintain a culture of shipping fast and often
2年前
記事のアイキャッチ画像
Supabase Beta November 2022
Blog - Supabase
We are preparing everything for Launch Week 6, but we still had time to ship some goodies this month!
2年前
記事のアイキャッチ画像
The Supabase Content Storm
Blog - Supabase
We worked with +30 content creators to drop a mountain of content simultaneously. +
2年前
記事のアイキャッチ画像
SQL or NoSQL? Why not use both (with PostgreSQL)?
Blog - Supabase
How to turn Postgres into an easy-to-use NoSQL database that retains all the power of SQL
2年前
記事のアイキャッチ画像
Flutter Authorization with RLS
Blog - Supabase
Learn how you can secure your Flutter app using Supabase Row Level Security.
2年前
記事のアイキャッチ画像
Fetching and caching Supabase data in Next.js 13 Server Components
Blog - Supabase
+
Next.js 13 introduces new data fetching and caching methods to enable React Server Components and Suspense.
2年前
記事のアイキャッチ画像
Authentication in Ionic Angular with Supabase
Blog - Supabase
Learn how to build an Ionic Angular app with authentication, Row Level Security, and Magic Link auth.
2年前
記事のアイキャッチ画像
Supabase Beta October 2022
Blog - Supabase
New SDKs, quickstarts, Functions tricks, and more. But, more importantly, Launch Week 6️ has a date!
2年前
記事のアイキャッチ画像
+What is PostgreSQL commitfest and how to contribute
Blog - Supabase
A time-tested method for contributing to the core Postgres code
2年前
記事のアイキャッチ画像
supabase-flutter v1 Released
Blog - Supabase
We've released supabase-flutter v1. More intuitive way of accessing Supabase from your Flutter application.
2年前
記事のアイキャッチ画像
supabase-js v2 Released
Blog - Supabase
We've released supabase-js v2. Updated examples, quickstarts, and an improved experience.
2年前
記事のアイキャッチ画像
Postgres Full Text Search vs the rest
Blog - Supabase
Comparing one of the most popular Postgres features against alternatives
2年前
記事のアイキャッチ画像
Supabase Beta September 2022
Blog - Supabase
We were too focused on clearing out the backlog so we didn't ship anything new last month... or did we?!
2年前
記事のアイキャッチ画像
Postgres WASM by Snaplet and Supabase
Blog - Supabase
We're open sourcing postgres-wasm, a PostgresQL server that runs inside a browser, with our friends at Snaplet.
2年前
記事のアイキャッチ画像
Choosing a Postgres Primary Key
Blog - Supabase
Turns out the question of which identifier to use as a Primary Key is complicated -- we're going to dive into some of the complexity and inherent trade-offs, and figure things out
2年前
記事のアイキャッチ画像
Supabase Beta August 2022
Blog - Supabase
Launch Week Special. See everything we shipped, plus winners of the Hackathon and the extended Community Highlights
2年前
記事のアイキャッチ画像
Launch Week 5 Hackathon Winners
Blog - Supabase
Announcing the winners of the Launch Week 5 Hackathon!
2年前
記事のアイキャッチ画像
Building a Realtime Trello Board with Supabase and Angular
Blog - Supabase
Go beyond the hello world example with this real world project.
2年前
記事のアイキャッチ画像
Community Day
Blog - Supabase
Wrapping up Launch Week 5 with contributors, partners, and friends.
2年前
記事のアイキャッチ画像
One more thing
Blog - Supabase
Let's be honest, it's never just one more thing.
2年前
記事のアイキャッチ画像
pg_jsonschema: JSON Schema support for Postgres
Blog - Supabase
Today we're releasing pg_jsonschema, a Postgres extension for JSON validation.
2年前
記事のアイキャッチ画像
PostgREST v10: EXPLAIN and Improved Relationship Detection
Blog - Supabase
Today, PostgREST 10 was released. Let's take a look at some of the new features that go hand in hand with supabase-js v2.
2年前
記事のアイキャッチ画像
Supabase Vault
Blog - Supabase
Today we're announcing Vault, a Postgres extension for managing secrets and encryption inside your database.
2年前
記事のアイキャッチ画像
Realtime: Multiplayer Edition
Blog - Supabase
Announcing the general availability of Realtime's Broadcast and Presence.
2年前
記事のアイキャッチ画像
Supabase is SOC2 compliant
Blog - Supabase
Supabase is now SOC2 compliant. Learn how we got here and what it means for our customers.
2年前
記事のアイキャッチ画像
supabase-js v2
Blog - Supabase
A look at supabase-js v2, which brings type support and focuses on quality-of-life improvements for developers.
2年前
記事のアイキャッチ画像
Supabase CLI v1 and Management API Beta
Blog - Supabase
We are moving Supabase CLI v1 out of beta, and releasing Management API beta.
2年前
記事のアイキャッチ画像
Supabase Series B
Blog - Supabase
Supabase raised $80M in May, bringing our total funding to $116M.
2年前
記事のアイキャッチ画像
Launch Week 5 Hackathon
Blog - Supabase
Build to win $1500 - Friday 12th to Monday 21st August 2022
2年前
+
記事のアイキャッチ画像
Slack Consolidate: a slackbot built with Python and Supabase
Blog - Supabase
A slackbot to consolidate messages from different channels using Supabase, Slack SDK and Python
2年前
記事のアイキャッチ画像
Supabase Beta July 2022
Blog - Supabase
Launch Week Golden Tickets, Flutter SDK 1.0 Developer Preview and more...
3年前
記事のアイキャッチ画像
Supabase Flutter SDK 1.0 Developer Preview
Blog - Supabase
+Supabase Flutter SDK is getting a major update and we need your help making it better.
3年前
記事のアイキャッチ画像
Implementing "seen by" functionality with Postgres
Blog - Supabase
Different approaches for tracking visitor counts with PostgreSQL.
3年前
記事のアイキャッチ画像
Revamped Auth Helpers for Supabase (with SvelteKit support)
Blog - Supabase
Supabase Auth Helpers now have improved developer experience, Sveltekit support, and more.
3年前
記事のアイキャッチ画像
Supabase Beta June 2022
+Blog - Supabase
Auth Helpers, Unlimited Free Projects, CLI and more...
3年前
記事のアイキャッチ画像
Flutter Tutorial: building a Flutter chat app
Blog - Supabase
Learn how to build a Flutter chat app with open source and scalable backend (inc. auth, realtime, database, and more).
3年前
記事のアイキャッチ画像
Visualizing Supabase Data using Metabase
Blog - Supabase
How to create different kinds of charts out of data stored in Supabase using Metabase.
3年前
記事のアイキャッチ画像
Partial data dumps using Postgres Row Level Security
Blog - Supabase
Using RLS to create seed files for local PostgreSQL testing.
3年前
記事のアイキャッチ画像
Python data loading with Supabase
Blog - Supabase
An example of how to load data into Supabase using supabase-py
3年前
+
記事のアイキャッチ画像
Supabase Beta May 2022
Blog - Supabase
Product and community updates including wildcard auth redirects, edge functions with webhooks, and Prometheus endpoints for everybody.
3年前
記事のアイキャッチ画像
How Mike Lyndon is using Supabase to accelerate development of AllPullTogether
Blog - Supabase
Mike Lyndon is learning web development as he builds AllPullTogether, and Supabase is helping him accelerate what he can accomplish.
3年前
記事のアイキャッチ画像
Works With Supabase - announcing our Partner Gallery
Blog - Supabase +
Introducing our Partner Gallery - open source and made with Supabase.
3年前
記事のアイキャッチ画像
Bring the Func Hackathon Winners 2022
Blog - Supabase
Celebrating many amazing OSS Hackathon projects using GraphQL and Edge Functions.
3年前
記事のアイキャッチ画像
Supabase Beta March 2022
Blog - Supabase
Functions, GraphQL, and much more.
3年前
記事のアイキャッチ画像
Supabase Realtime, with Multiplayer Features
Blog - Supabase
Today we're announced Realtime, with multiplayer features. Realtime enables broadcast, presence, and listening to database changes delivered over WebSockets.
3年前
記事のアイキャッチ画像
Hackathon: Bring the Func(🕺)
Blog - Supabase
Build open-source projects with our latest features, win limited edition swag and plant a tree!
3年前
記事のアイキャッチ画像
Supabrew - Never Code Thirsty
Blog - Supabase
A light and refreshing non-alcoholic beer for devs.
3年前
記事のアイキャッチ画像
Edge Functions are now available in Supabase
Blog - Supabase
Today we're launching Edge Functions. Edge Functions let you execute Typescript code close to your users, no matter where they're located.
3年前
記事のアイキャッチ画像
Introducing Supabase Enterprise
Blog - Supabase
Today we are releasing Supabase Enterprise, a suite of features to scale your project.
3年前
記事のアイキャッチ画像
GraphQL is now available in Supabase
Blog - Supabase
GraphQL support is now in general availability on the Supabase platform via our open source PostgreSQL extension, pg_graphql.
3年前
記事のアイキャッチ画像
Community Day
Blog - Supabase
Kicking off Launch Week 4 with contributors, partners, and friends.
3年前
記事のアイキャッチ画像
Should I Open Source my Company?
Blog - Supabase
The unexpected upsides of building in public
3年前
記事のアイキャッチ画像
Supabase Launch Week 4
Blog - Supabase
Launch Week 4: One new feature every day for an entire week. Starting Monday 28th March.
3年前
記事のアイキャッチ画像
Postgres Auditing in 150 lines of SQL
Blog - Supabase
+PostgreSQL has a robust set of features which we can leverage to create a generic auditing solution in 150 lines of SQL.
3年前
記事のアイキャッチ画像
Supabase Beta January 2022
Blog - Supabase
New auth providers, SMS providers, and new videos.
3年前
記事のアイキャッチ画像
Golden Kitty Awards Ceremony Watch Party with Supabase
Blog - Supabase
Hang out with us while watching the Product Hunt Golden Kitty Awards Ceremony
3年前
記事のアイキャッチ画像
Supabase Beta December 2021
+Blog - Supabase
New crypto extension, Postgres videos, and a bunch of cool integrations.
3年前
記事のアイキャッチ画像
Holiday Hackdays Winners 2021
Blog - Supabase
Celebrating many amazing projects submitted to our Holiday Hackdays Hackathon.
3年前
+記事のアイキャッチ画像
Supabase Beta November 2021: Launch Week Recap
Blog - Supabase
We wrapped up November with Supabase's third Launch Week. Here's all the awesome stuff that got shipped ...
3年前
記事のアイキャッチ画像
Five more things +
Blog - Supabase
It's never just one more thing!
3年前
記事のアイキャッチ画像
pg_graphql: A GraphQL extension for PostgreSQL
Blog - Supabase
GraphQL support is in development for PostgreSQL + Supabase.
3年前
記事のアイキャッチ画像
Kicking off the Holiday Hackdays
Blog - Supabase
Build cool stuff and celebrate open-source software with us during the Holiday Hackdays!
3年前
記事のアイキャッチ画像
Supabase acquires Logflare
Blog - Supabase
Today, we're ecstatic to announce that Logflare is joining Supabase.
3年前
記事のアイキャッチ画像
Realtime Postgres RLS now available on Supabase
Blog - Supabase
Realtime database changes are now broadcast to authenticated users, respecting the same PostgreSQL policies that you use for Row Level Security.
3年前
記事のアイキャッチ画像
Supabase Studio
Blog - Supabase
The same Dashboard that you're using on our Platform is now available for local development and Self-Hosting.
3年前
記事のアイキャッチ画像
Community Day
Blog - Supabase
Kicking off launch week by highlighting the communities around Supabase.
3年前
記事のアイキャッチ画像
New in PostgreSQL 14: What every developer should know
Blog - Supabase
A quick look at some new features and functionality in PostgreSQL 14.
3年前
記事のアイキャッチ画像
PostgREST 9
Blog - Supabase
New features and updates in PostgREST version 9.
3年前
記事のアイキャッチ画像
How we launch at Supabase
Blog - Supabase
+The history and methodology of Supabase Launch Week.
3年前
記事のアイキャッチ画像
Supabase Launch Week III: Holiday Special
Blog - Supabase
Tis the season to be shipping.
3年前
記事のアイキャッチ画像
Supabase Beta October 2021
Blog - Supabase
Three new Auth providers, multi-schema support, and we're gearing up for another Launch Week.
3年前
記事のアイキャッチ画像
Supabase $30m Series A
Blog - Supabase
Supabase just raised $30M, bringing our total funding to $36M.
3年前
記事のアイキャッチ画像
Replenysh uses Supabase to implement OTP in less than 24-hours
Blog - Supabase
Learn how Replenysh uses Supabase to power the circular economy, redefining how brands interact with their customers and products.
3年前
記事のアイキャッチ画像
Hacktoberfest Hackathon Winners 2021
Blog - Supabase
Celebrating many amazing projects submitted to our Hacktoberfest Hackathon.
3年前
記事のアイキャッチ画像
Supabase Beta Sept 2021
Blog - Supabase
+Hackathon, Aborting request, UI updates, and now Hiring.
3年前
記事のアイキャッチ画像
Supabase Hacktoberfest Hackathon 2021
Blog - Supabase
We're running another Supabase Hackathon during Hacktoberfest!
3年前
Supabase Beta August 2021
Blog - Supabase
Fundraising, Realtime Security, custom SMS templates, and deployments in South Korea.
3年前
記事のアイキャッチ画像
Supabase Beta July 2021
Blog - Supabase
+Discord Logins, Vercel Integration, Full text search, and OAuth guides.
3年前
記事のアイキャッチ画像
Open Source Hackathon Winners
Blog - Supabase
Let the medal ceremony begin for the best projects submitted during the Supabase Hackathon.
3年前
The Supabase Hackathon
Blog - Supabase
A whole week of Hacking for Fun and Prizes.
4年前
記事のアイキャッチ画像
Updates for Supabase Functions
Blog - Supabase
+The question on everyone's mind - are we launching Supabase Functions? Well, it's complicated.
4年前
記事のアイキャッチ画像
Supabase Swag Store
Blog - Supabase
Today we are officially launching the Supabase Swag Store.
4年前
記事のアイキャッチ画像
Supabase Reports and Metrics
Blog - Supabase
We're exposing a full set of metrics in your projects, so that you can build better (and faster) products for your users.
4年前
記事のアイキャッチ画像
Mobbin uses Supabase to authenticate 200,000 users
Blog - Supabase
Learn how Mobbin migrated 200,000 users from Firebase for a better authentication experience.
4年前
記事のアイキャッチ画像
Supabase Auth v2: Phone Auth now available
Blog - Supabase
Phone Auth is available today on all new and existing Supabase projects.
4年前
記事のアイキャッチ画像
Spot: a video sharing app built with Flutter
Blog - Supabase
Spot is a geolocation-based video-sharing app with some social networking features.
4年前
記事のアイキャッチ画像
Supabase Storage now in Beta
Blog - Supabase
Supabase Storage moves into Beta.
4年前
記事のアイキャッチ画像
Epsilon3 Self-Host Supabase To Revolutionize Space Operations
Blog - Supabase
Learn how the team at Epsilon3 use Supabase to help teams execute secure and reliable operations in an industry that project spend runs into the billions.
4年前
記事のアイキャッチ画像
Supabase Community Day
Blog - Supabase
Community Day
4年前
記事のアイキャッチ画像
Supabase is now on Postgres 13.3
Blog - Supabase
From today, new Supabase projects will be on a version of Supabase Postgres that runs on Postgres 13.3.
4年前
記事のアイキャッチ画像
Supabase Launch Week II: The SQL
Blog - Supabase
Five days of Supabase. Again.
4年前
Protecting reserved roles with PostgreSQL Hooks
Blog - Supabase
Using Postgres Hooks to protect functionality in your Postgres database.
4年前
記事のアイキャッチ画像
Supabase Beta May 2021
Blog - Supabase
+Apple & Twitter Logins, Supabase Grid, Go & Swift Libraries.
4年前
記事のアイキャッチ画像
Supabase Beta June 2021
Blog - Supabase
Discord Logins, Vercel Integration, Full text search, and OAuth guides.
4年前
記事のアイキャッチ画像
Supabase Beta April 2021
Blog - Supabase
Supabase "gardening" - stability, security, and community support.
4年前
記事のアイキャッチ画像
Supabase Beta March 2021
Blog - Supabase
Launch week, Storage, Supabase CLI, Connection Pooling, Supabase UI, and Pricing.
4年前
記事のアイキャッチ画像
Supabase Dot Com
Blog - Supabase
The Supabase Domain name is changing.
4年前
記事のアイキャッチ画像
+PgBouncer is now available in Supabase
Blog - Supabase
Better support for Serverless and Postgres.
4年前
記事のアイキャッチ画像
Workflows are coming to Supabase
Blog - Supabase
Functions are great, but you know what's better?
4年前
記事のアイキャッチ画像
Supabase Launches NFT Marketplace
Blog - Supabase
A fully encrypted NFT platform to protect and transact your digital assets
4年前
記事のアイキャッチ画像
Supabase CLI
Blog - Supabase
+Local development, database migrations, and self-hosting.
4年前
記事のアイキャッチ画像
Storage is now available in Supabase
Blog - Supabase
Launching Supabase Storage and how you can use it in your apps
4年前
記事のアイキャッチ画像
Supabase Beta Pricing
Blog - Supabase
Supabase launches Beta pricing structure
4年前
記事のアイキャッチ画像
Angels of Supabase
Blog - Supabase
Meet the investors of Supabase.
4年前
記事のアイキャッチ画像
Launch week
Blog - Supabase
Five days of Supabase.
4年前
記事のアイキャッチ画像
Developers stay up to date with intheloop.dev
Blog - Supabase
+Learn why Kevin is building intheloop.dev with Supabase
4年前
記事のアイキャッチ画像
Using Supabase in Replit
Blog - Supabase
Free hosted relational database from within your node.js repl
4年前
記事のアイキャッチ画像
Toad, a link shortener with simple APIs for low-coders
Blog - Supabase
An easy-to-use link shortening tool with simple APIs
4年前
記事のアイキャッチ画像
Postgres as a CRON Server
Blog - Supabase
Running repetitive tasks with your Postgres database.
+
4年前
記事のアイキャッチ画像
Supabase Beta February 2021
Blog - Supabase
One year of building.
4年前
記事のアイキャッチ画像
Cracking PostgreSQL Interview Questions
Blog - Supabase
Understand the top PostgreSQL Interview Questions
4年前
記事のアイキャッチ画像
Roboflow.com choose Supabase to power Paint.wtf leaderboard
Blog - Supabase
Learn how Roboflow.com used Supabase to build their Paint.wtf leaderboard
4年前
記事のアイキャッチ画像
Supabase Beta January 2021
Blog - Supabase
Eleven months of building.
4年前
記事のアイキャッチ画像
Supabase Beta December 2020
Blog - Supabase
Ten months of building.
4年前
記事のアイキャッチ画像
Making the Supabase Dashboard Supa-fast
Blog - Supabase
Improving the performance of the Supabase dashboard
4年前
記事のアイキャッチ画像
Monitoro Built a Web Crawler Handling Millions of API Requests
Blog - Supabase
See how Monitoro built an automated scraping platform using Supabase.
4年前
記事のアイキャッチ画像
TAYFA Built a No-Code Website Builder in Seven Days
Blog - Supabase
See how Tayfa went from idea to paying customer in less than 30 days.
4年前
記事のアイキャッチ画像
Xendit Built a Counter-Fraud Watchlist for the Fintech Industry
Blog - Supabase
See how Xendit use Supabase to build a full-text search engine.
4年前
記事のアイキャッチ画像
Supabase Partners With Strive School To Help Teach Open Source
Blog - Supabase
Supabase Partners With Strive School To Help Teach Open Source To The Next Generation Of Developers
4年前
記事のアイキャッチ画像
Supabase Alpha November 2020
Blog - Supabase
Nine months of building.
4年前
記事のアイキャッチ画像
Postgres Views
Blog - Supabase
Creating and using a view in PostgreSQL.
4年前
記事のアイキャッチ画像
Supabase Alpha October 2020
Blog - Supabase
Eight months of building.
4年前
記事のアイキャッチ画像
Supabase.js 1.0
Blog - Supabase
We're releasing a new version of our Supabase client with some awesome new improvements.
4年前
記事のアイキャッチ画像
Supabase Alpha September 2020
Blog - Supabase
Seven months of building.
4年前
記事のアイキャッチ画像
Supabase Hacktoberfest 2020
Blog - Supabase
Join us for a celebration of open source software and learn how to contribute to Supabase.
4年前
記事のアイキャッチ画像
Supabase Alpha August 2020
Blog - Supabase
Six months of building
4年前
記事のアイキャッチ画像
Supabase Auth
Blog - Supabase
Authenticate and authorize your users with Supabase Auth
5年前
記事のアイキャッチ画像
Continuous PostgreSQL Backups using WAL-G
Blog - Supabase
+Have you ever wanted to restore your database's state to a particular moment in time? This post explains how, using WAL-G.
5年前
記事のアイキャッチ画像
Supabase Alpha July 2020
Blog - Supabase
Five months of building
5年前
記事のアイキャッチ画像
Alpha Launch Postmortem
Blog - Supabase
Everything that went wrong with Supabase's launch
5年前
記事のアイキャッチ画像
What are PostgreSQL Templates?
Blog - Supabase
What are PostgreSQL templates and what are they used for?
5年前
記事のアイキャッチ画像
Physical vs Logical Backups in PostgreSQL
Blog - Supabase
What are physical and logical backups in Postgres?
5年前
記事のアイキャッチ画像
Supabase Alpha June 2020
Blog - Supabase
Four months of building
5年前
記事のアイキャッチ画像
Steve Chavez has joined Supabase
Blog - Supabase
Steve joins Supabase to help build Auth.
5年前
記事のアイキャッチ画像
Supabase Alpha April 2020
Blog - Supabase
Two months of building
5年前
記事のアイキャッチ画像
Supabase Alpha May 2020
Blog - Supabase
+Three months of building
5年前
\ No newline at end of file diff --git a/blogs/0d77f5dab160e5e0d12d9b3a7c3ffa08/index.html b/blogs/0d77f5dab160e5e0d12d9b3a7c3ffa08/index.html new file mode 100644 index 000000000000..59144ab4a1b3 --- /dev/null +++ b/blogs/0d77f5dab160e5e0d12d9b3a7c3ffa08/index.html @@ -0,0 +1,338 @@ +Blog posts | RSS Feedのフィード|JSer.info Watch List RSS

Blog posts | RSS Feed

https://www.apollographql.com

Unlock microservices potential with Apollo GraphQL. Seamlessly integrate APIs, manage data, and enhance performance. Explore Apollo's innovative solutions.

フィード

記事のアイキャッチ画像
+What’s new in Apollo GraphOS 
Blog posts | RSS Feed
4ヶ月前
記事のアイキャッチ画像
More expressive schemas with @oneOf
Blog posts | RSS Feed
4ヶ月前
記事のアイキャッチ画像 +
Apollo Kotlin 4 is now available
Blog posts | RSS Feed
6ヶ月前
記事のアイキャッチ画像
What’s new in Apollo Client 3.11
Blog posts | RSS Feed
7ヶ月前
記事のアイキャッチ画像
+Enhanced Checks and Observability in GraphOS
Blog posts | RSS Feed
7ヶ月前
記事のアイキャッチ画像
GraphOS Summer 2024 Launch Recap +
Blog posts | RSS Feed
8ヶ月前
記事のアイキャッチ画像
Embracing The Future And Welcoming Our New CMO
Blog posts | RSS Feed
8ヶ月前
記事のアイキャッチ画像
What’s new in Apollo Client 3.10
Blog posts | RSS Feed
9ヶ月前
記事のアイキャッチ画像
Announcing GraphQL Summit 2024 in New York City
Blog posts | RSS Feed
10ヶ月前
記事のアイキャッチ画像
Platform Engineering for APIs
Blog posts | RSS Feed
1年前
記事のアイキャッチ画像
GraphQL is for Backend Engineers
Blog posts | RSS Feed
1年前
記事のアイキャッチ画像
What’s new in Apollo Client 3.9
Blog posts | RSS Feed
1年前
記事のアイキャッチ画像
GraphQL is the Future for APIs
+Blog posts | RSS Feed
1年前
記事のアイキャッチ画像
GraphQL in a Platform Engineering World
Blog posts | RSS Feed
1年前
記事のアイキャッチ画像
Deploying the Apollo Router at Apollo
Blog posts | RSS Feed
1年前
記事のアイキャッチ画像
Apollo’s Response to CVE-2023-38545
Blog posts | RSS Feed
1年前
記事のアイキャッチ画像
GraphQLNullable is not a trap!
Blog posts | RSS Feed
1年前
記事のアイキャッチ画像
Apollo Server 3 end-of-life extension
Blog posts | RSS Feed
1年前
記事のアイキャッチ画像
From Monolith to Federation
Blog posts | RSS Feed
1年前
記事のアイキャッチ画像
Secure your GraphQL Microservices
Blog posts | RSS Feed
2年前
記事のアイキャッチ画像
Office Hours: Apollo iOS – 16 June 2023
Blog posts | RSS Feed
2年前
記事のアイキャッチ画像
Render frontends faster
Blog posts | RSS Feed
2年前
記事のアイキャッチ画像
Enable omnichannel experiences
Blog posts | RSS Feed
2年前
記事のアイキャッチ画像
Provide real-time data for consumers
Blog posts | RSS Feed
2年前
+
記事のアイキャッチ画像
Ship products faster with SDUI
Blog posts | RSS Feed
2年前
記事のアイキャッチ画像
Office Hours: Apollo Client
Blog posts | RSS Feed
2年前
記事のアイキャッチ画像
Apollo Changelog: May 26, 2023
Blog posts | RSS Feed
2年前
記事のアイキャッチ画像
Apollo Changelog: May 19, 2023
Blog posts | RSS Feed
2年前
+
記事のアイキャッチ画像
Office Hours: Apollo Kotlin
Blog posts | RSS Feed
2年前
記事のアイキャッチ画像
Apollo Changelog: May 12, 2023
Blog posts | RSS Feed
2年前
記事のアイキャッチ画像
Apollo Changelog: May 5, 2023
Blog posts | RSS Feed
2年前
記事のアイキャッチ画像
Office Hours: Apollo iOS
Blog posts | RSS Feed
2年前
記事のアイキャッチ画像
Apollo Changelog: April 24, 2023
Blog posts | RSS Feed
+2年前
記事のアイキャッチ画像
Apollo Changelog: April 17, 2023
Blog posts | RSS Feed
2年前
記事のアイキャッチ画像
Apollo Changelog: Apr 10, 2023 +
Blog posts | RSS Feed
2年前
記事のアイキャッチ画像
Apollo Changelog: April 3, 2023
Blog posts | RSS Feed
2年前
記事のアイキャッチ画像
Why isn’t Apollo Explorer open source?
Blog posts | RSS Feed
2年前
記事のアイキャッチ画像
Apollo Changelog: March 27, 2023
Blog posts | RSS Feed
2年前
記事のアイキャッチ画像
Apollo Changelog: March 20, 2023
Blog posts | RSS Feed
2年前
記事のアイキャッチ画像
How to use Apollo Client with Next.js 13
Blog posts | RSS Feed
2年前
記事のアイキャッチ画像
Apollo Changelog: March 13, 2023
+Blog posts | RSS Feed
2年前
記事のアイキャッチ画像
Securing APIs declaratively with GraphQL
Blog posts | RSS Feed
2年前
記事のアイキャッチ画像
Apollo Changelog: March 6, 2023
Blog posts | RSS Feed
2年前
記事のアイキャッチ画像
Nullability in GraphQL and Apollo Kotlin
Blog posts | RSS Feed
2年前
記事のアイキャッチ画像
How we deploy the Apollo GraphOS monorepo
Blog posts | RSS Feed
2年前
記事のアイキャッチ画像
Apollo Changelog: Feb 20, 2023
+Blog posts | RSS Feed
2年前
記事のアイキャッチ画像
Apollo Changelog: February 13, 2023
Blog posts | RSS Feed
2年前
記事のアイキャッチ画像
Introducing the Apollo Trust Center
Blog posts | RSS Feed
2年前
+
記事のアイキャッチ画像
Apollo Changelog: Feb 6, 2023
Blog posts | RSS Feed
2年前
記事のアイキャッチ画像
Apollo Changelog: Jan 30, 2023
Blog posts | RSS Feed
2年前
記事のアイキャッチ画像
Apollo Changelog: Jan 23, 2023
Blog posts | RSS Feed
2年前
記事のアイキャッチ画像
Rethinking React components with @defer
Blog posts | RSS Feed
2年前
+
記事のアイキャッチ画像
How to use Apollo Client with Remix +
Blog posts | RSS Feed
2年前
記事のアイキャッチ画像
Introducing Apollo GraphOS
Blog posts | RSS Feed
2年前
記事のアイキャッチ画像
Announcing Apollo Router v1.0
Blog posts | RSS Feed
2年前
記事のアイキャッチ画像
Schema-First vs Code-Only GraphQL
Blog posts | RSS Feed
2年前
記事のアイキャッチ画像
8 Reasons to Attend GraphQL Summit 2022
Blog posts | RSS Feed
3年前
記事のアイキャッチ画像
Apollo earns SOC 2 Type II compliance
Blog posts | RSS Feed
3年前
記事のアイキャッチ画像
How to embed Explorer for a private graph
Blog posts | RSS Feed
3年前
記事のアイキャッチ画像
Improved embedding for Apollo Explorer!
Blog posts | RSS Feed
3年前
記事のアイキャッチ画像
Apollo Router is now generally available +
Blog posts | RSS Feed
3年前
記事のアイキャッチ画像
Contracts are now generally available
Blog posts | RSS Feed
3年前
記事のアイキャッチ画像
The story behind Apollo Kotlin 3 codegen
Blog posts | RSS Feed
3年前
記事のアイキャッチ画像
Federated Schema Design
Blog posts | RSS Feed
3年前
記事のアイキャッチ画像
Introduction to Apollo Federation
Blog posts | RSS Feed
3年前
記事のアイキャッチ画像
What Is Apollo Federation?
Blog posts | RSS Feed +
3年前
記事のアイキャッチ画像
My first 6 months at Apollo GraphQL
Blog posts | RSS Feed
3年前
記事のアイキャッチ画像
Getting Started with Vue Apollo
Blog posts | RSS Feed
3年前
記事のアイキャッチ画像
Introducing Apollo Kotlin
Blog posts | RSS Feed
3年前
Embed Apollo Explorer Anywhere
Blog posts | RSS Feed
3年前
記事のアイキャッチ画像
Designing Your First GraphQL Schema
Blog posts | RSS Feed
3年前
記事のアイキャッチ画像
Using GraphQL with Ruby on Rails
Blog posts | RSS Feed
3年前
記事のアイキャッチ画像
Announcing Apollo Internships for 2022
Blog posts | RSS Feed
3年前
記事のアイキャッチ画像
Announcing Apollo Federation 2
Blog posts | RSS Feed
3年前
記事のアイキャッチ画像
Using GraphQL with Golang
Blog posts | RSS Feed
3年前
+記事のアイキャッチ画像
GraphQL Summit Agenda Preview
Blog posts | RSS Feed
3年前
記事のアイキャッチ画像
Journey of a GraphQL query
Blog posts | RSS Feed
3年前
記事のアイキャッチ画像
Making GraphQL Requests using HTTP Methods
Blog posts | RSS Feed
3年前
記事のアイキャッチ画像
It’s here! Introducing Apollo Server 3
Blog posts | RSS Feed
4年前
記事のアイキャッチ画像
Federation in Odyssey
Blog posts | RSS Feed
4年前
記事のアイキャッチ画像
Testing Apollo Client Applications
Blog posts | RSS Feed
4年前
記事のアイキャッチ画像
GraphQL Summit Scale 2021 [Recap]
Blog posts | RSS Feed
4年前
記事のアイキャッチ画像
GraphQL Summit Worldwide 2021 [Recap]
Blog posts | RSS Feed
4年前
記事のアイキャッチ画像
GraphQL Summit is just around the corner
Blog posts | RSS Feed
4年前
記事のアイキャッチ画像
How we built Odyssey
Blog posts | RSS Feed
4年前
+記事のアイキャッチ画像
What is GraphQL? GraphQL introduction
Blog posts | RSS Feed
4年前
記事のアイキャッチ画像
Redux to Apollo: Data Access Patterns
Blog posts | RSS Feed
4年前 +
記事のアイキャッチ画像
Apollo Enterprise: Schema Change Webhooks
Blog posts | RSS Feed
4年前
記事のアイキャッチ画像
GraphQL Summit Worldwide is back!
Blog posts | RSS Feed
4年前
記事のアイキャッチ画像
SDL Support in Apollo Android
Blog posts | RSS Feed
4年前
記事のアイキャッチ画像
The Evolution of GraphQL at Scale
Blog posts | RSS Feed
4年前
記事のアイキャッチ画像
9 Lessons From a Year of Apollo Federation
Blog posts | RSS Feed
4年前
記事のアイキャッチ画像
Why use GraphQL?
Blog posts | RSS Feed
4年前
記事のアイキャッチ画像
4 Simple Ways to Call a GraphQL API
Blog posts | RSS Feed
4年前
記事のアイキャッチ画像
Using Apollo Federation with Local Schemas
Blog posts | RSS Feed
4年前
記事のアイキャッチ画像
Add GraphQL to Your Jetpack Compose Apps
Blog posts | RSS Feed
4年前
記事のアイキャッチ画像
Who’s Using My Graph?
Blog posts | RSS Feed
4年前
記事のアイキャッチ画像
Building a Portable Apollo Server Config
Blog posts | RSS Feed
4年前
記事のアイキャッチ画像
See You Next Year, GraphQL Summit [Recap]
Blog posts | RSS Feed
4年前
記事のアイキャッチ画像
Demystifying Cache Normalization
Blog posts | RSS Feed
5年前
記事のアイキャッチ画像
Introducing the Apollo Explorer
+Blog posts | RSS Feed
5年前
記事のアイキャッチ画像
Graph Manager is now Studio
Blog posts | RSS Feed
5年前
記事のアイキャッチ画像
Announcing GraphQL Summit Worldwide
Blog posts | RSS Feed
5年前
記事のアイキャッチ画像
A Deep Dive on Apollo Data Sources
Blog posts | RSS Feed
5年前
記事のアイキャッチ画像
Ready for takeoff: The new Apollo blog
Blog posts | RSS Feed
5年前
記事のアイキャッチ画像
First Impressions with Apollo Client 3
Blog posts | RSS Feed
5年前
記事のアイキャッチ画像
Apollo Server File Upload Best Practices
Blog posts | RSS Feed
5年前
記事のアイキャッチ画像
What I Learned At GraphQL Summit
+Blog posts | RSS Feed
5年前
記事のアイキャッチ画像
Previewing the Apollo Client 3 Cache
Blog posts | RSS Feed
5年前
記事のアイキャッチ画像
Meet our speakers for GraphQL Summit 2019!
Blog posts | RSS Feed
5年前
記事のアイキャッチ画像
Apollo Client, now with React Hooks
Blog posts | RSS Feed
6年前
記事のアイキャッチ画像
Announcing managed federation
Blog posts | RSS Feed
6年前
記事のアイキャッチ画像
+What’s new in Apollo Client 2.6
Blog posts | RSS Feed
6年前
記事のアイキャッチ画像
Apollo Federation
Blog posts | RSS Feed
6年前
記事のアイキャッチ画像
Move fast (without breaking things)
Blog posts | RSS Feed
6年前
記事のアイキャッチ画像
A new Apollo docs experience
Blog posts | RSS Feed
6年前
記事のアイキャッチ画像
GraphQL Summit 2019 Call for Proposals
Blog posts | RSS Feed
6年前
記事のアイキャッチ画像
Announcing Apollo Client 2.5
Blog posts | RSS Feed
6年前
記事のアイキャッチ画像
Highlights from GraphQL Summit 2018
Blog posts | RSS Feed
6年前
記事のアイキャッチ画像
Introducing the Apollo GraphQL Platform
Blog posts | RSS Feed
6年前
記事のアイキャッチ画像
Why I joined Apollo
Blog posts | RSS Feed
6年前
記事のアイキャッチ画像
Batching Client GraphQL Queries
Blog posts | RSS Feed
6年前
記事のアイキャッチ画像
Deploy a fullstack Apollo app with Netlify
Blog posts | RSS Feed
6年前
記事のアイキャッチ画像
Learning GraphQL
Blog posts | RSS Feed
6年前
記事のアイキャッチ画像
Layering GraphQL on top of REST
Blog posts | RSS Feed
6年前
記事のアイキャッチ画像
New! GraphQL Glossary & FAQ guide
+Blog posts | RSS Feed
6年前
記事のアイキャッチ画像
Announcing Apollo Server 2
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
File Uploads with Apollo Server 2.0
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
Schema Validation with Apollo Engine
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
Easy and performant GraphQL over REST
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
Testing Apollo’s Query Component
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
Evolving Apollo repository maintenance
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
GraphQL validation using directives
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
Using nullability in GraphQL
Blog posts | RSS Feed
7年前
Authorization in GraphQL
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
Apollo is hiring!
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
Try out the Apollo Server 2.0 beta!
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
+The next generation of schema stitching
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
Modularizing your GraphQL schema code
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
Proactive alerts for your GraphQL API
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
GraphQL schema delegation
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
Caching GraphQL results in your CDN
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
Introducing React Apollo 2.1
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
Reusable GraphQL schema directives
Blog posts | RSS Feed
7年前
Introducing Apollo Bot 🤖
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
Apollo is hiring!
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
A first look at Async React + Apollo
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
Real World GraphQL: Talk Videos
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
Zero-config GraphQL state management
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
Improved Apollo Client Devtools
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
What’s next for React Apollo
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
Exploring Reason and GraphQL
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
2017: The year in GraphQL
+Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
The future of state management
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
Query Components with Apollo
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
Cache persistence for Apollo Client 2.0
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
Key Takeaways from GraphQL Summit 2017
Blog posts | RSS Feed
7年前
+記事のアイキャッチ画像
Universal GraphQL
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
AWS AppSync, built with Apollo
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
GraphQL Summit talk videos are out!
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
Apollo Client 2.0: Beyond GraphQL APIs
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
Changing the architecture of Express.com
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
+The new Trace view in Apollo Engine
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
Apollo Client 2.0
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
Creating a data component with Apollo Link
Blog posts | RSS Feed
7年前
Apollo Engine and GraphQL error tracking
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
GraphQL-Tools 2.0 with Schema Stitching
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
GraphQL First in practice at Quri
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
Introducing Apollo Mission Briefing 🚀
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
Tutorial: Pagination
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
Server Side Rendering with GraphQL
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
What’s coming in Apollo Client 2.0
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
GraphQL schema stitching
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
Coursera’s journey to GraphQL
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
Give us feedback on new Optics features!
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
Apollo interns on GraphQL Radio
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
GraphQL Summit tickets are here!
Blog posts | RSS Feed
7年前
Using Scala.js with React and GraphQL
Blog posts | RSS Feed
7年前
記事のアイキャッチ画像
Getting started with TypeScript and Apollo
Blog posts | RSS Feed
8年前 +
記事のアイキャッチ画像
Launchpad is now open source
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
Introducing Explore GraphQL
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
GraphQL vs. REST
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
How we built Launchpad
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
A stronger (typed) React Apollo
+Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
Reducing our Redux code with React Apollo
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
Come speak at GraphQL Summit 2017!
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
The Apollo Team Goes to Europe!
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
Using GraphQL + Apollo at Expo
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
How to Use Subscriptions in GraphiQL
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
Why you might want a GraphQL client
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
Designing GraphQL Mutations
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
What’s Next.js for Apollo
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
Tutorial: GraphQL Mutations with React
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
Keeping up with Apollo and GraphQL
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
React + GraphQL Tutorial — The Server
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
Apollo Client’s new imperative store API
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
New in Optics: Trends over Time
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
Apollo Client 1.0 is coming
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
The Anatomy of a GraphQL Query
Blog posts | RSS Feed +
8年前
記事のアイキャッチ画像
Optimizing Your GraphQL Request Waterfalls
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
Full-stack React + GraphQL Tutorial
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
Apollo Angular 0.11
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
Explaining GraphQL Connections
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
The next step for realtime data in GraphQL
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
How to use GraphQL in your iOS app
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
Apollo Optics and your GraphQL Server
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
Apollo Contributor Week Starts Today!
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像 +
Apollo Client 0.8
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
Save the Date: Apollo Contributor Week
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
Get involved in open source today!
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
Webpack’ing your GraphQL Documents
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
Upgraded Query Interface in Optics
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
Apollo on React Native Radio
Blog posts | RSS Feed
8年前
+
記事のアイキャッチ画像
Apollo Client Developer Tools
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
Navigating your transition to GraphQL
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
+Mapping GraphQL types to Swift
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
Tracing Ruby’s GraphQL execution
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
Apollo Client 0.5
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
GraphQL Summit 2016 in Tweets
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
5 benefits of static GraphQL queries
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
A proposal for GraphQL subscriptions
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
Documenting Apollo
+Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
GraphQL subscriptions with Redis Pub Sub
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
Use Apollo in your VueJS app
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
Native code generation at Facebook
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
Bringing GraphQL to iOS
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
GraphQL.org just got a makeover
+Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
The GitHub GraphQL API
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
GraphQL Subscriptions in Apollo Client
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
GraphQL: The next generation of API design
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
All you need to know about GraphQL.js 0.7
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
Speak at GraphQL Summit!
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
GraphQL Concepts Visualized
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
Seamless integration for GraphQL and React
Blog posts | RSS Feed
8年前
記事のアイキャッチ画像
Snappier UIs with Apollo Client + GraphQL
Blog posts | RSS Feed
9年前
記事のアイキャッチ画像
Query batching in Apollo
Blog posts | RSS Feed
9年前
記事のアイキャッチ画像
How Facebook organizes their GraphQL code
Blog posts | RSS Feed
9年前
記事のアイキャッチ画像
How to structure GraphQL server code
Blog posts | RSS Feed
9年前
記事のアイキャッチ画像
Why GraphQL is the future
Blog posts | RSS Feed
9年前
記事のアイキャッチ画像
GraphQL in 2016: A Growing Ecosystem
Blog posts | RSS Feed
9年前
記事のアイキャッチ画像
GraphQL explained
Blog posts | RSS Feed
9年前
記事のアイキャッチ画像
The Business Case for GraphQL
Blog posts | RSS Feed
9年前
記事のアイキャッチ画像
How do I GraphQL?
Blog posts | RSS Feed
9年前
記事のアイキャッチ画像
Apollo, GraphQL, React Native, and Meteor
Blog posts | RSS Feed
9年前
記事のアイキャッチ画像
Power tools for your API
Blog posts | RSS Feed
9年前 +
記事のアイキャッチ画像
GraphQL schema decorators
Blog posts | RSS Feed
9年前
記事のアイキャッチ画像
+Tutorial: How to build a GraphQL server
Blog posts | RSS Feed
9年前
記事のアイキャッチ画像
Introducing the Apollo GraphQL data stack
Blog posts | RSS Feed
9年前
記事のアイキャッチ画像
GraphQL-JS: The hidden features
Blog posts | RSS Feed
9年前
記事のアイキャッチ画像
Apollo, the data stack for modern apps
Blog posts | RSS Feed
9年前
記事のアイキャッチ画像
The Apollo server
Blog posts | RSS Feed
9年前
記事のアイキャッチ画像
JavaScript code quality with free tools
Blog posts | RSS Feed
9年前
記事のアイキャッチ画像
GraphQL vs. Falcor
Blog posts | RSS Feed
9年前
記事のアイキャッチ画像
Access Control in GraphQL
Blog posts | RSS Feed
9年前
記事のアイキャッチ画像
The Discourse API in GraphQL: Part 1
Blog posts | RSS Feed
9年前
記事のアイキャッチ画像
A guide to authentication in GraphQL
Blog posts | RSS Feed
9年前
記事のアイキャッチ画像
Intro to GraphQL
Blog posts | RSS Feed
9年前
記事のアイキャッチ画像
Will GraphQL replace REST documentation?
Blog posts | RSS Feed
9年前
\ No newline at end of file diff --git a/blogs/0db0ad0cb2a1b0d3ceaa9411a6ce6070/index.html b/blogs/0db0ad0cb2a1b0d3ceaa9411a6ce6070/index.html new file mode 100644 index 000000000000..6269e937213d --- /dev/null +++ b/blogs/0db0ad0cb2a1b0d3ceaa9411a6ce6070/index.html @@ -0,0 +1,20 @@ +Zach Leathermanのフィード|JSer.info Watch List RSS

Zach Leatherman

フィード

記事のアイキャッチ画像
Blog Questions Challenge 2025
Zach Leatherman
+I was tagged to answer these questions by Anders Thoresson as part of the larger Blog Questions Challenge originally started by ava.I’ll pass the baton (and a very optional tag to) to Lynn Fisher, Ryan Mulligan, and Sara Joy!Here are some friends that have already participated:Ethan MarcotteBob MonsourMaybe you? (If you want me to link to your post, send me a DM)Why did you start blogging?I originally started blogging on WordPress during the original era of Blogs, circa 2007. Blogging was a thing often mentioned in popular media — everyone had a blog and was writing on their own space, Google was invested in driving traffic to blogs (via search and a quaint little product known as Google Reader). It was a really great time for independent folks to get started and invest in a platform that would pay off both in the short and long-term.I also am staunchly of the belief that people should share what they know — it doesn’t have to be something that is novel or exclusive or even new. Share +
7日前
記事のアイキャッチ画像
Eleventy, 2024 in Review
Zach Leatherman
A look back at the 2024 highlights for the 11ty org and the Eleventy project!
1ヶ月前
記事のアイキャッチ画像
Nerd Show and Tell on Podcast Awesome
Zach Leatherman
+Ready to geek out? In this episode of Podcast Awesome's Nerd Show and Tell, Matt sits down with none other than Zach Leatherman, the tech dynamo and creator behind Eleventy — the static site generator that’s got web devs buzzing. Zach’s tech-world experience is a wild ride of innovation, grit, and love for the open web. With a little help from our team here at Font Awesome, Zach’s pushing to make open-source sustainable and bring back the glory days of personal websites, free from algorithm overlords.Zach gets real about the rollercoaster ride of building Eleventy and why owning your corner of the internet is more important than ever. Expect some hot takes on the tech industry, social media, and how platforms like Eleventy could just be the ticket to a new wave of web independence. Plus, you’ll get a peek into the collaborative brainpower with our founders Dave and Travis backing Zach’s mission. Hold onto your icons — this one’s packed!Listen in: Nerd Show and Tell: Meet Zach Leatherma +
3ヶ月前
記事のアイキャッチ画像
The Best And Worst Parts Of Eleventy (Now In v3)—Web Unleashed 2024
Zach Leatherman
+Here are the slides from my talk at Web Unleashed: tag to during serve or build modes" width="1000" height="562" srcset="https://www.zachleat.com/img/built/jg2FpWoLnv-600.jpeg 600w, https://www.zachleat.com/img/built/jg2FpWoLnv-1000.jpeg 1000w" sizes="(min-width: 106.25em) 82.75em, (min-width: 61.25em) calc(91.43vw - 13.25em), 100vw"> versus ? Don’t worry about it" width="1000" height="562" srcset="https://www.zachleat.com/img/built/lJu89sPctW-600.jpeg 600w, https://www.zachleat.com/img/built/lJu89sPctW-1000.jpeg 1000w" sizes="(min-width: 106.25em) 82.75em, (min-width: 61.25em) calc(91.43vw - 13.25em), 100vw">< PreviousNext >Unfortunately the talk was not recorded (by the event or me) so you’ll have to ask questions about the slides if you want more context!Panel DiscussionI was also honored to participate in a panel alongside Chris Coyier, Rachel Andrew, and Bekah Hawrot-Weigel:Websites, are they still a good idea?RelatedMy event pageEvent page on fitc.caFull event photo album on Flic +
4ヶ月前
記事のアイキャッチ画像
Speaking at: Web Unleashed, 11 October 2024
Zach Leatherman
This is an event post. If you’d see the slides for this talk, you can do so at: The Best And Worst Parts Of Eleventy (Now In v3).
4ヶ月前
記事のアイキャッチ画像
Eleventy v3.0.0 is now available!
Zach Leatherman
After over a year of work, our very first stable release of ESM-friendly 3.0 is now available: Eleventy v3.0.0 🎈🐀We are very excited to see this ship and look forward to what y’all build with it 🏆Eleventy v3.0.0: Possums ❤️ ESM (includes full release notes, features, upgrade guide, and thank you notes!)
4ヶ月前
記事のアイキャッチ画像
Open Source Needs to be Financially Symbiotic
Zach Leatherman
+I’ve been laid off twice in the past year and a half trying to navigate my professional career through the moderate success that has followed 11ty. I don’t feel as though I’ve been particularly successful at it, to be frank. What I have felt is largely expendable.I don’t blame any companies or individuals for those feelings—for me it’s representative of a larger problem with the incentives of open source software. This is further complicated by the influence of temporary and unsustainable ideas of “free” shaped by venture capital, but I digress.In seven years, the 11ty project has undergone various levels of funding:After-hours side-projectFull time employment-sponsored by one companyPart time sponsored by one companyIndependently full-time community-fundedEach of this had their benefits and drawbacks; each a unique reflection of the companies that I was coupled to at the time (and most importantly: the economic environment of the funding of these companies).BoundariesIndependent of fu +
5ヶ月前
記事のアイキャッチ画像
11ty is Joining Font Awesome
Zach Leatherman
Today—I’m delighted to announce that 11ty is joining the excellent team at Font Awesome!Read more on:Eleventy Blog: 11ty is joining Font AwesomeBlog Awesome: Eleventy Joins Font Awesome
5ヶ月前
記事のアイキャッチ画像
heading-anchors Web Component
Zach Leatherman
+<heading-anchors> adds sibling anchor links for heading elements (h1–h6) when they have an id attribute and positions those anchor links visually as though they were nested inside of the heading.DemoSource code on GitHubInspired by David Darnes’ component of the same name.Currently in use on v9 of the eleventy-base-blog project (and on this very web site, too).FeaturesUseful when you want preserve heading text as is (selectable, able to nest other links, etc).Useful when you want to exclude anchor links from your RSS feed.Links are positioned alongside heading text, but not nested inside of heading markup (for improved screen-reader compatibility and accessibility)Establishes a placeholder element to establish space for the anchor link and so that heading text doesn’t reflow during interactionPrefers the CSS Anchoring API (where available) but works using JavaScript positioning when the API is not available.Automatically matches font styling of the heading (font-family, line-height, fo +
5ヶ月前
\ No newline at end of file diff --git a/blogs/0ee05098c67b6e41121edd5cd56772f5/index.html b/blogs/0ee05098c67b6e41121edd5cd56772f5/index.html new file mode 100644 index 000000000000..4837474c62ad --- /dev/null +++ b/blogs/0ee05098c67b6e41121edd5cd56772f5/index.html @@ -0,0 +1,34 @@ +GMO Flatt Security Blogのフィード|JSer.info Watch List RSS

GMO Flatt Security Blog

https://blog.flatt.tech/

株式会社GMO Flatt Securityの公式ブログです。プロダクト開発やプロダクトセキュリティに関する技術的な知見・トレンドを伝える記事を発信しています。

フィード

記事のアイキャッチ画像
OpenWrtへのサプライチェーン攻撃 - SHA-256の脆弱な取り扱いとコマンドインジェクションによるファームウェアアップデートの侵害
GMO Flatt Security Blog
※本記事は筆者RyotaKが英語で執筆した記事を、弊社セキュリティエンジニアryotaromosaoが日本語に翻訳したものになります。 はじめに こんにちは、Flatt SecurityでセキュリティエンジニアをしているRyotaK (@ryotkak)です。 数日前、自宅のネットワークをアップグレードする際に、ルーターのOpenWrtを更新することにしました1。OpenWrtのWebインターフェースであるLuCIにアクセスしたところ、Attended Sysupgradeというセクションがあることに気付き、これを使ってファームウェアをアップグレードしてみることにしました。 機能説明を読んでみ…
2ヶ月前
記事のアイキャッチ画像
重複したIAM、拒否と許可どっちが優先?アクセス制御の特性をAWS・Google Cloud・Azure・Firebaseそれぞれについて理解する
GMO Flatt Security Blog
はじめに こんにちは、セキュリティエンジニアの@okazu_dm です。 突然ですが、皆さんは以下のクイズに自信を持って回答できるでしょうか。これはSRE NEXT 2023で弊社が出題したクイズなのですが、それぞれのポリシーに存在するAllow, Denyのうちどれが優先されるかがポイントになります。 クイズの答えはここをクリック クイズの正解は......「④なし」でした。AWSのIAMポリシーは拒否(Deny)優先です。しかし、それは他のクラウドサービスでも果たして同じでしょうか? 今回の記事では、各種クラウドサービスにおけるアクセス制御について焦点を当てます。具体的には「それぞれのアク…
2ヶ月前
記事のアイキャッチ画像
10,000リクエストを166msで送信する、Race Conditionの新手法のリサーチについて
GMO Flatt Security Blog
※本記事は筆者RyotaKが英語で執筆した記事を、弊社セキュリティエンジニアShion1305が日本語に翻訳したものになります。 はじめに こんにちは、Flatt SecurityでセキュリティエンジニアをしているRyotaK(@ryotkak)です。 2023年にPortSwigger社のJames Kettle氏は、同社の記事でSingle-packet attackという新しい攻撃手法を提案しました。これはネットワークのジッター値に関係なくレースコンディションを悪用できるというものです。 Smashing the state machine: the true potential of …
3ヶ月前
記事のアイキャッチ画像
+BlackHat USA 2024 / BSides Las Vegas / DEF CON 32 に会社の海外研修制度を利用して参加しました!
GMO Flatt Security Blog
はじめに Flatt Security セキュリティエンジニアの Tsubasa、lambdasawa、Osaki です。本ブログでは、2024年8月に開催された Bsides Las Vegas、Black Hat USA 2024、DEF CON 32 に弊社メンバーが参加した際の記録、および、特に興味深かったセッションの詳細についてお伝えします! なお、本稿の作成にあたっては各セッションの発表内容について可能な限り誤りがないように注意を払って記述しましたが、誤りを含む可能性があります。また、各セッションの内容については、筆者独自の考えや解釈を含む場合があります。本稿を通して気になったセッ…
4ヶ月前
記事のアイキャッチ画像
CTFで出題される脆弱性 vs プロダクトセキュリティのリアルな課題
GMO Flatt Security Blog
週末をCTFに費やし、平日の余暇時間をその復習に費やしている @hamayanhamayan です。去年2023年はCTFtime1調べでは66本のCTFに出ていて、自身のブログでは解説記事を40本ほど書いています。 自分はCTFプレイヤーですが、一方で、Flatt Securityはお仕事でプロダクトセキュリティを扱っている会社です。CTFで出題される問題と、プロダクトセキュリティにおける課題の間にはどのような違いがあるのでしょうか? CTFのヘビープレイヤーの視点から、共通している部分、また、どちらか一方でよく見られる部分について紹介していきたいと思います。色々な形でセキュリティに関わる人…
5ヶ月前
記事のアイキャッチ画像
会社の支援制度を活用し、BSides Las Vegasで海外登壇に初挑戦しました!
GMO Flatt Security Blog
+はじめに Flatt SecurityでエンジニアをしているAzaraとei01241です。本ブログは、2024年の8月初旬に開催された、BSides Las Vegasに弊社2名のエンジニアが登壇した際の記録です。 🌏 海外登壇のお知らせ 🌏米国ラスベガスで8月6日(火)〜7日(水)に開催される BSides Las Vegas にセキュリティエンジニア @ei01241 @a_zara_n が登壇します!Content-Typeを利用した攻撃の独自研究について発表予定です。Black Hat/DEF CONとあわせてぜひご覧ください!https://t.co/rCTsBc4ezW— 株式会…
6ヶ月前
記事のアイキャッチ画像
この2年でFirebase Authentication はどう変わった?セキュリティ観点の仕様差分まとめ
GMO Flatt Security Blog
+はじめに こんにちは、@okazu_dm です。 今回自分がぴざきゃっとさんが2022年4月に書いた以下の記事を更新したため、本記事ではその差分について簡単にまとめました。 Firebase Authentication利用上の注意点に関して生じた差分とは、すなわち「この2年強の間にどのような仕様変更があったか」と同義だと言えます。IDaaSに限らず認証のセキュリティに興味のある方には参考になるコンテンツだと思います。 更新した記事につきましては、以下をご覧ください。 差分について Firebase Authenticationの落とし穴と、その対策を7種類紹介する、というのがオリジナルの記事…
6ヶ月前
記事のアイキャッチ画像
Go, Ruby, Rust等の言語に存在した、Windows環境でコマンドインジェクションを引き起こす脆弱性"BatBadBut"
GMO Flatt Security Blog
+※本記事は筆者RyotaKが英語で執筆した記事を、弊社セキュリティエンジニアkoyuriが日本語に翻訳したものになります。 はじめに こんにちは、Flatt SecurityでセキュリティエンジニアをしているRyotaK( @ryotkak )です。 先日、特定の条件を満たした場合に攻撃者がWindows上でコマンドインジェクションを実行できる、いくつかのプログラミング言語に対する複数の脆弱性を報告しました。 本日(2024/04/09(訳者注: これは英語版記事の公開日です))、影響を受けるベンダーがこれらの脆弱性に関するアドバイザリーを公表しました。 その影響は限定的なもののCVSSスコア…
7ヶ月前
記事のアイキャッチ画像
S3経由でXSS!?不可思議なContent-Typeの値を利用する攻撃手法の新観点
GMO Flatt Security Blog
+はじめに セキュリティエンジニアの齋藤ことazaraです。今回は、不可思議なContent-Typeの値と、クラウド時代でのセキュリティリスクについてお話しします。 本ブログは、2024 年 3 月 30 日に開催された BSides Tokyo で登壇した際の発表について、まとめたものです。 また、ブログ資料化にあたり、Content-Type の動作や仕様にフォーカスした形で再編を行い、登壇時に口頭で補足した内容の追記、必要に応じた補足を行なっています。 また、本ブログで解説をする BSides Tokyoでの発表のもう一つの題である、オブジェクトストレージについては、以下のブログから確認…
8ヶ月前
記事のアイキャッチ画像
「YAMLパース占い」in RubyKaigi 2024 で伝えたかったこと
GMO Flatt Security Blog
+今年もRubyKaigiに協賛させていただきました! Flatt Security 執行役員CCO / プロフェッショナルサービス事業部長の @toyojuni です。先日沖縄県那覇市で開催されたRubyKaigi 2024の振り返りと皆様への感謝の気持ちを込めて本記事を執筆します。 昨年に引き続いて、Flatt SecurityはRubyKaigiにPlatinum Sponsorとして協賛し、ブースを出展させていただきました。ありがたいことに、3日間でのブース訪問の延べ人数は500人を超え、様々なRubyistの方との接点を持てたと感じています。 そんな今回のブース出展の軸と言える企画が「…
9ヶ月前
記事のアイキャッチ画像
オブジェクトストレージにおけるファイルアップロードセキュリティ - クラウド時代に"悪意のあるデータの書き込み"を再考する
GMO Flatt Security Blog
+はじめに セキュリティエンジニアの齋藤ことazaraです。今回は、オブジェクトストレージに対する書き込みに関連するセキュリティリスクの理解と対策についてお話しします。 本ブログは、2024年3月30日に開催された BSides Tokyo で登壇した際の発表について、まとめたものです。 また、ブログ資料化にあたりオブジェクトストレージを主題とした内容の再編と、登壇時に口頭で補足した内容の追記、必要に応じた補足を行なっています。 なぜ今、この問題を取り上げるのか? 近年のクラウドリフト、クラウドシフトにより、クラウドを活用する場面が多くなってきていると思います。その中で、多くの場面で利用されるオ…
9ヶ月前
記事のアイキャッチ画像
Is Secure Cookie secure? - CookieのSecure属性・__Host-プレフィックス・HSTSを正しく理解しよう
GMO Flatt Security Blog
+こんにちは、 @okazu_dm です。 前回の記事 に引き続きCookie関連のセキュリティに関する記事となります。 今回は、Cookieの仕様を定めたRFC6265(https://datatracker.ietf.org/doc/html/rfc6265)自体に含まれるSecure属性の問題点と、その対策について紹介していきます。 CookieのSecure属性自体は前回紹介したSameSite属性と比較してわかりやすいのもあり、かなり知名度が高いと思われますが、Secure属性単体で守れる範囲というのは実は限定的である、という点を本記事では実験も交えて示していきます。 なお、本記事はセ…
9ヶ月前
記事のアイキャッチ画像
Webアプリケーションに対する脆弱性診断の外注/内製化とバグバウンティの役割の違い
GMO Flatt Security Blog
+初めまして、Flatt Security社のブログに寄稿させていただくことになりました、西川と申します。 普段は、SaaS企業でプロダクトセキュリティをメインの仕事としていますが、一般社団法人鹿児島県サイバーセキュリティ協議会の代表理事として活動しております。 さて、今回はプロダクトセキュリティを生業としている私が、脆弱性診断を外注することと内製化すること、それからバグバウンティについてそれぞれの役割を記していきたいと思います。 本記事の目的 脆弱性診断を外注した方が良い、あるいは、内製化した方が良い、という話ではなく、それぞれ役割が異なると考えています。つまりそれは、それぞれが補い合う形で存…
10ヶ月前
記事のアイキャッチ画像
SQL/コマンドインジェクション、XSS等を横串で理解する - 「インジェクション」脆弱性への向き合い方
GMO Flatt Security Blog
+こんにちは、@hamayanhamayan です。 本稿ではWebセキュリティに対する有用な文書として広く参照されているOWASP Top 10の1つ「インジェクション」について考えていきます。色々なインジェクションを例に挙げながら、どのようにインジェクションが起こるのかという発生原理から、どのようにインジェクションを捉え、より広くインジェクションの考え方を自身のプロダクト開発に適用していくかについて扱っていきます。 SQLインジェクションやコマンドインジェクション、XSSのようなインジェクションに関わる有名な手法について横断的に解説をしながら、インジェクションの概念を説明していきます。初めて…
10ヶ月前
記事のアイキャッチ画像
JAWS DAYSで150人に聞いた!AWSのセキュリティ課題ランキング
GMO Flatt Security Blog
+こんにちは。Flatt Securityの@toyojuniです。 "エンジニアの背中を預かる" をミッションに、日々プロダクト開発組織のセキュリティを意思決定から技術提供までサポートするべく奮闘しています。 さて、Flatt Securityはこの度3月2日(土)に池袋サンシャインシティにて開催されたJAWS DAYS 2024にPlatinum Supporterとして協賛し、ブースを出展させていただきました! このイベントは日本全国に60以上の支部をもつAWSのユーザーグループ「JAWS-UG」が主催するもので、参加は有料でありながら1000人以上が参加者として登録している非常に大規模な…
1年前
記事のアイキャッチ画像
Flatt Security Developers' Quiz #7 解説
GMO Flatt Security Blog
+こんにちは、今回作問したTerranovaです。今回はFlatt Security Developers' Quiz #7にご参加いただきありがとうございました。 🍫 Flatt Security Developers' Quiz #7 開催! 🍫解答は2/18(日) 19:59まで!チョコ獲得を目指して頑張ってください!デモ環境: https://t.co/7J8Ez1nct4ソースコード: https://t.co/14AHolfCRt解答提出フォーム: https://t.co/sdvK7UzDel pic.twitter.com/MlNcKswnai— 株式会社Flatt Securi…
1年前
記事のアイキャッチ画像
Flatt Securityの技術組織が目指すもの
GMO Flatt Security Blog
+はじめに こんにちは、執行役員兼プロフェッショナルサービスCTOの志賀です。 こちらの記事だけを読むと言う方も少ないだろうと思いつつ、まずはこの記事の前提として以下の記事を読んでいただくことを推奨します。 プレスリリース: https://prtimes.jp/main/html/rd/p/000000045.000027502.html 代表取締役 井手の記事: https://flatt.tech/magazine/entry/20240213_ceo_message CTO米内の記事: https://blog.flatt.tech/entry/2402_cto_message この度F…
1年前
記事のアイキャッチ画像
Flatt Securityの事業のこれから
GMO Flatt Security Blog
+はじめに Flatt Security 取締役CTOの米内です。今回、弊社 Flatt Security は GMO インターネットグループから 10 億円の増資を受けるとともに、既存株主からグループへの株式譲渡(合計 66.6% 分)が行われることにより、GMO インターネットグループに参画する運びになりました。これは日本中・世界中のエンジニアが、前を向いてエンジニアリングに集中できる社会を最速で作るための意思決定です。 本資金調達・グループ参画に際して公開した CEO 井手の記事では、Flatt Security の歩みを振り返りながら、グローバル 1 兆円企業を目指し続けるための「再・ス…
1年前
記事のアイキャッチ画像
SameSite属性とCSRFとHSTS - Cookieの基礎知識からブラウザごとのエッジケースまでおさらいする
GMO Flatt Security Blog
+こんにちは、 @okazu_dm です。 この記事は、CookieのSameSite属性についての解説と、その中でも例外的な挙動についての解説記事です。 サードパーティCookieやCSRF対策の文脈でCookieのSameSite属性に関してはご存知の方も多いと思います。本記事でCookieの基礎から最近のブラウザ上でのSameSite属性の扱いについて触れつつ、最終的にHSTS(HTTP Strict Transport Security)のような注意点を含めて振り返るのに役立てていただければと思います。 前提条件 Cookieについて Cookieの属性について SameSite属性につ…
1年前
記事のアイキャッチ画像
Flatt Security Developers' Quiz #6 解説
GMO Flatt Security Blog
+こんにちは、今回作問したTerranovaです。今回はFlatt Security Developers' Quiz #6にご参加いただきありがとうございました。 ⚡️ Flatt Security Developers' Quiz #6 開催! ⚡️解答は年明け1/5(金)11:59まで!Tシャツ獲得を目指して頑張ってください!デモ環境: https://t.co/hXaNP2Ciwvソースコード: https://t.co/ejTKzpAp9D解答提出フォーム: https://t.co/jnc5Wv2Hi7 pic.twitter.com/uf3ZqHEdTK— 株式会社Flatt Se…
1年前
記事のアイキャッチ画像
CODE BLUE 2023にセカンドスポンサーとして出展し、Open Talksに登壇。CTFも開催します!
GMO Flatt Security Blog
+こんにちは。株式会社Flatt Security広報の寺山です。 この度、Flatt Securityは11/8(水)・9(木)の2日間、赤坂インターシティコンファレンスで開催される日本最大級のサイバーセキュリティ国際会議CODE BLUE 2023にセカンドスポンサーとして協賛することとなりました。イベント当日はブースの出展とOpenTalksへの登壇を行うのに加え、2日目には初のタイムアタック形式のCTFを開催します! 本記事ではCODE BLUEのブースやセッション、会場内で開催予定のCTFについてご紹介します! CODE BLUE 2023とは イベント概要 Flatt Securit…
1年前
記事のアイキャッチ画像
PyCon APAC2023にゴールドスポンサーとして初出展します!
GMO Flatt Security Blog
+こんにちは。株式会社Flatt Security広報の寺山です。 Flatt Securityは今週末10/27(金)-28(土)開催のPyCon APAC2023にゴールドスポンサーとして協賛し、ブースの出展を行います。本記事では、ブースでのイベントや配布ノベルティについてご案内させていただきます。 PyConAPAC2023とは 2023-apac.pycon.jp プログラミング言語・Pythonに関する国際カンファレンスです。アジア太平洋地域における各国・各地域のボランティアメンバーにより運営されています。 開催地は持ち回り制で、日本での開催は2013年以来10年ぶりとのことです! カ…
1年前
記事のアイキャッチ画像
BlackHat USA 2023 / DEF CON 31 / BSides Las Vegasに会社の研修制度を使って参加してきました!
GMO Flatt Security Blog
+はじめに Flatt Security でエンジニアをしているAzaraとei01241です。 本ブログは、2023 年の 8 月初旬に開催された、BSides Las Vegas、BlackHat USA 2023、DEF CON 31 に弊社 2 名のエンジニアが参加した際の記録です。 はじめに 会社の研修制度を使って参加 前日談と滞在中の様子 事前準備 パスポートの準備 ホテル予約 航空券の予約 出発 → ラスベガス ラスベガスの前乗り 食と観光と困りごと 水が高い、物価も高い 美味しいものがいっぱい 体調を崩した 乾燥と鼻血 治安が悪い場所もある、ご注意を 観光 BSides Las …
1年前
記事のアイキャッチ画像
PHPカンファレンス2023にゴールドスポンサーとして初出展します!
GMO Flatt Security Blog
Flatt Securityは10/8(日)開催のPHPカンファレンス2023にゴールドスポンサーとして協賛し、ブースの出展を行います。本記事では、ブースでのイベントや配布ノベルティについてご案内させていただきます。
1年前
記事のアイキャッチ画像
SRE NEXT 2023にPLATINUM SPONSORとして初出展し、スポンサーセッションに登壇します!
GMO Flatt Security Blog
こんにちは。株式会社Flatt Security広報の寺山です。 この度、Flatt Securityは9/29(金)開催のSRE NEXT 2023にPLATINUM SPONSORとして協賛し、ブースの出展とスポンサーセッションへの登壇を行うこととなりました。弊社としては初の協賛になりますが、様々な業界のSREやインフラエンジニアの皆様、協賛各社の皆様と一緒にこのイベントを盛り上げていければと思っています! 本記事では、ブースでのイベントや配布ノベルティ、スポンサーセッションの内容についてご案内させていただきます。 SRE NEXT 2023とは イベント概要 Flatt Security…
1年前
記事のアイキャッチ画像
セキュリティ SaaS を「プログラマブル」に再設計した話 ― Shisho Cloud の正式リリースによせて
GMO Flatt Security Blog
はじめに CTO の米内です。Flatt Security は、本日 2023 年 8 月 23 日、テック組織がクラウドのセキュリティを考える際の一歩目を支える SaaS 「Shisho Cloud」(シショウ クラウド) をリリースしました。 Shisho Cloud は、大雑把に言えば 「AWS/Google Cloud 上のリソースの設定がセキュリティ的に良さそうか、改善できそうかというのを検査してくれる製品」 です。 小難しい言い方をすると Cloud Security Posture Management(CSPM)の実現のための製品です。 我々がどんな背景で、どのような強みのサー…
1年前
+記事のアイキャッチ画像
GitHubの内部ネットワークにアクセス可能な脆弱性(SSRF)を報告した話
GMO Flatt Security Blog
今回解説する脆弱性は、当時プライベートベータ中だったGitHub Enterprise Importerと呼ばれる機能に存在しました。この機能は以下の環境からGitHub Enterprise Cloudに対して、リポジトリデータだけでなくプルリクエストやそのコメントなど、様々なデータをインポートすることができるものであり、従来のデータ移行時には引き継ぐことができなかったデータをGitHub Enterprise Cloudに対して引き継ぐことができます。Azure DevOps (ADO) クラウドBitbucket Server と Bitbucket Data Center 5.14 以降GitHub.comGitHub Enterprise Server (GHES) 3.4.1 以降
2年前
記事のアイキャッチ画像
GitLabで1クリックアカウント乗っ取りが可能だった脆弱性から学ぶ、OpenID Connect実装の注意点
GMO Flatt Security Blog
はじめに こんにちは。株式会社Flatt Securityセキュリティエンジニアの森(@ei01241)です。 最近は認証や認可に際してOpenID Connectを使うWebサービスが増えていると思います。「Googleアカウント/Twitter/Facebookでログイン」などのUIはあらゆるサービスで見かけると思います。しかし、OpenID Connectの仕様をよく理解せずに不適切な実装を行うと脆弱性を埋め込むことがあります。 そこで、突然ですがクイズです。以下のTweetをご覧ください。 ⚡️突然ですがクイズです!⚡️以下の画面はOAuth 2.0 Best Practice上は推奨…
2年前
記事のアイキャッチ画像
Flatt Securityの脆弱性診断において「ソースコード診断を無料付帯する」方針の解説
GMO Flatt Security Blog
こんにちは。執行役員兼プロフェッショナルサービス事業 CTOの志賀です。この度、通常のWebアプリケーション診断の料金でホワイトボックス診断のメリットの多くを享受できるようにサービスを大幅に改良します!!具体的には、ソースコードをご提供いただける場合において、診断員が選択的に参照することで診断スピードや報告書の品質向上といったメリットを受けられるといったものです。結論としてはそれで終わりなのですが、結論に至るにあたっての自分の考えも書いてみることにします。
2年前
記事のアイキャッチ画像
Firebase利用時に発生しやすい脆弱性とその対策10選
GMO Flatt Security Blog
はじめに こんにちは。株式会社Flatt Securityセキュリティエンジニアの梅内(@Sz4rny)です。 本稿では、弊社がこれまでに実施してきたFirebase診断の事例や筆者独自の調査をもとに、Firebaseを活用して開発されたサービスにおいて発生しやすい脆弱性の概要やそれにより引き起こされるリスクおよびその対策を深刻度や発生頻度の評価を踏まえつつお伝えします。本稿を通じて、Firebaseを活用したサービスにおいて発生しやすい脆弱性にはどのようなものがあるのか、また、そのような脆弱性を埋め込むことなくセキュアなサービス実装を実現するためにはどのような観点に気をつければよいのかについ…
2年前
\ No newline at end of file diff --git a/blogs/0f4880ad844acb41bb9a5458c6b7eaf8/index.html b/blogs/0f4880ad844acb41bb9a5458c6b7eaf8/index.html new file mode 100644 index 000000000000..87554dd235b0 --- /dev/null +++ b/blogs/0f4880ad844acb41bb9a5458c6b7eaf8/index.html @@ -0,0 +1,11 @@ +StyleX Blogのフィード|JSer.info Watch List RSS

StyleX Blog

フィード

記事のアイキャッチ画像
Release 0.10.1
StyleX Blog
Release Notes
22日前
記事のアイキャッチ画像
Release 0.10.0
StyleX Blog
Happy new year! We are excited to announce the release of StyleX v0.10.0, which includes several new features and improvements.
1ヶ月前
記事のアイキャッチ画像
Release 0.9.3
StyleX Blog
StyleX v0.9.3 is now available with some big improvements and bug-fixes.
3ヶ月前
記事のアイキャッチ画像
Release 0.8.0
StyleX Blog
StyleX v0.8.0 is now available with a bunch of fixes and new ESlint rules.
4ヶ月前
記事のアイキャッチ画像
Release 0.7.3
StyleX Blog
StyleX v0.7.3 is now available with a fix to the Rollup plugin, which
7ヶ月前
記事のアイキャッチ画像
Release 0.7.0
StyleX Blog
We're excited to release StyleX v0.7.0 with a new CLI to make it easier to
7ヶ月前
記事のアイキャッチ画像
Release 0.6.1
StyleX Blog
We're excited to release StyleX v0.6.1 with some big improvements for working
10ヶ月前
記事のアイキャッチ画像
Release 0.5.0
StyleX Blog
We're excited to release Stylex v0.5.0 with some big improvements and fixes!
1年前
記事のアイキャッチ画像
Release 0.4.1
StyleX Blog
Three weeks ago, we open-sourced StyleX. Since then, we've been diligently
1年前
記事のアイキャッチ画像
Introducing StyleX
StyleX Blog
We are thrilled to introduce StyleX. StyleX is an expressive, deterministic,
1年前
\ No newline at end of file diff --git a/blogs/10cfc54577ecb4eb81fdcb51d293cc6d/index.html b/blogs/10cfc54577ecb4eb81fdcb51d293cc6d/index.html new file mode 100644 index 000000000000..7830aed65e17 --- /dev/null +++ b/blogs/10cfc54577ecb4eb81fdcb51d293cc6d/index.html @@ -0,0 +1,65 @@ +Tony Aliceaのフィード|JSer.info Watch List RSS

Tony Alicea

フィード

記事のアイキャッチ画像
Generative Rapid Prototyping (GRiP)
Tony Alicea
+.svg-holder { text-align: center; margin: 2rem 0 0 0; } .svg-holder > svg { max-width: 100px; }Generative Rapid Prototyping (GRiP)Prototypes save time and money. You can test and present ideas, iterate, and provide specifications to developers. Traditional tools like Figma are great at this. But AI has brought about a new approach that I'm finding to have unique advantages.I think it's useful to name things, so I'm calling it Generative Rapid Prototyping (GRiP) (as in "get a grip" on what you're going to build). The goal is to leverage AI to create multiple testable, interactive prototypes in hours instead of days.What Is GRiP?Traditional prototyping tools excel at visual design but fall short when it comes to testing real user interactions. Static mockups can't reveal how users actually interact with your application, and high-fidelity prototypes often require significant investment before gathering meaningful feedback.Generative Rapid Prototyping takes a different approach: use AI-po +
23日前
記事のアイキャッチ画像
Understanding React Server Components
Tony Alicea
+.dictionary-entry { background: #2a2a2a; padding: 1.5rem; border-radius: 8px; margin: 2rem 0; font-family: 'Noto Sans', sans-serif;}.dictionary-term { font-size: 1.5rem; font-weight: 700; color: var(--color-highlight); margin-bottom: 0.25rem;}.dictionary-pronunciation { font-family: monospace; color: #999; font-size: 0.9rem; margin: 0 0 0.25rem 0;}.dictionary-part-speech { color: #999; font-size: 0.9rem; margin: 0 0 1rem 0;}.dictionary-definition { margin: 0 0 0.75rem 1.5rem; position: relative; line-height: 1.4;}.dictionary-definition:last-child { margin-bottom: 0;}.definition-number { position: absolute; left: -1.5rem; color: var(--color-highlight);}.dictionary-definition em { color: #999; font-style: normal;}Understanding React Server ComponentsReact Server Components have lifted server-rendering to be a truly first-class citizen of the React ecosystem. They allow developers to render some components on the server, while attempting to abstract away the divide between the client and +
25日前
記事のアイキャッチ画像
Normal UI: A Usability Technique For Non-Designers
Tony Alicea
+.normalui-logo-cls-1{fill:#ffffff;}Normal UI: A Usability Technique For Non-DesignersI've been building web apps for 25 years. B2B, SaaS, eCommerce, intranet apps, and more. I've also been a UX designer for much of that time. I've run and watched hundreds, if not thousands, of usability tests.That means I've been watching average users (non-developers) try to use web apps (without helping them) for over two decades.You begin to see patterns in what makes a web app usable or unusuable under particular circumstances.In this post I will introduce you to a technique that I developed over those years. It provides a simple, concrete framework to improve web app usability, is friendly to non-designers, often results in cleaner code and improved accessibility, and facilitates good UX and developer communication.I call it "Normal UI".(If you'd like to watch a video version of this post, I'm embedding it below.)The Design DilemmaThere are two versions of a dilemma in web app design that I see de +
5ヶ月前
記事のアイキャッチ画像
How to Rewrite a Web Application
Tony Alicea
+.svg-holder { text-align: center; margin: 2rem 0 0 0; } div + h2 { margin-top: 0.5rem !important; } .svg-holder > svg { max-width: 100px; }How to Rewrite a Web ApplicationYou're about to start rewriting a web application. If your first step is to choose your technology stack and start estimating features: STOP, you're doing it wrong.A screen-for-screen, feature-for-feature rewrite is a massive waste of opportunity and a huge waste of time and money.Let's talk about how to do it properly..garden-cls-1{fill:none;stroke:#ffffff;stroke-linecap:round;stroke-linejoin:round;stroke-width:3.5px;}The Big LieThe big lie of software rewrites is: "the requirements are already there in the existing software". If you think that, you're lying to yourself.That's like saying "the previous process that resulted in this software was perfect". No, it wasn't. I've seen so many teams get themselves in trouble by starting with this mindset.Assume the existing software is full of requirements holes and unneede +
6ヶ月前
記事のアイキャッチ画像
Smart Jerks Aren't Worth It
Tony Alicea
+Smart Jerks Aren't Worth ItMyths proliferate in every culture. Some are harmless. Some are not. The myth of the "difficult genius" is perhaps one of the most harmful myths that still exist in software development today.Your software is hurt by toxic personalities on your team. Smart jerks aren't worth it. Let's dispel the myth.The Myth of the Difficult GeniusThe myth of the "difficult genius" is not unique to software development. The myth itself proliferates in part because of famously difficult-to-deal-with scientists, mathematicians, engineers, and more throughout history.A steady diet of books, movies, and pop culture have taught us that great things are accomplished by jerks and the people who tolerate them. This has been true.It is also true that great things have been accomplished by well-functioning cohesive teams of people who respected each other. That, however, isn't seen as fodder for great storytelling (who wants to watch or read about a team getting along).The important q +
6ヶ月前
記事のアイキャッチ画像
Understanding React Compiler
Tony Alicea
+Understanding React CompilerReact's core architecture calls the functions you give it (i.e. your components) over and over. This fact both contributed to its popularity by simplifying its mental model, and created a point of possible performance issues. In general, if your functions do expensive things, then your app will be slow.Performance tuning, therefore, became a pain point for devs, as they had to manually tell React which functions should be re-run and when. The React team has now provided a tool called the React Compiler to automate that manual work performance tuning for devs, by rewriting their code.What does React Compiler do to your code? How does it work under-the-hood? Should you use it? Let's dive in.To gain a complete, accurate mental model of React by deep diving into its internals, check out my new course Understanding React where we dig into React's source code. I've found a deep understanding of React's internals greatly helps even devs with years of React experien +
8ヶ月前
記事のアイキャッチ画像
On The Why Down
Tony Alicea
+On The Why DownHow To Do Better Than MVPHow do we build software that solves real problems? How do both software development teams and the organizations that surround and utilize them come together to make good decisions? How do we acknowledge and work with the human factors built into all aspects of software development? How do we know what to build?The Myth of the MVPThe "Minimum Viable Product" is a great idea on paper. Over the years, however, I find that, no matter the software development process, defining what needs to be built is a problem that it doesn't solve well.MVP has two major flaws:The fog of "viability": Who decides what is "viable"? This term is subjective, and highly susceptible to organizational politics and human bias.The undefined "minimum": Minimum is a moving target, and often incorrect. It's susceptible to siloed organizational structures and communication breakdowns.MVP isn't the only issue. Companies have adopted Scrum and Agile. These too are meant to approa +
2年前
記事のアイキャッチ画像
Good Interface, Bad Interface #24
Tony Alicea
+A wall of wine at a winery in Niagara-on-the-Lake. The undersides of the bottles are curved, which gives the wall of wine a lovely reflective appearance.However the bottoms are curved, not for appearance sake, but to prevent the pressure from bursting the bottles while they sit in the rack.The best UX is both beautiful and serves a functional purpose. Analyze your design and remove the beauty that exists only for beauty’s sake. Focus on making functional things beautiful.
10年前
記事のアイキャッチ画像
How To Write Email People Will Read
Tony Alicea
+How To Write Email People Will ReadEmail is a part of everyday life. We are inundated.So how do you write an email that clients and co-workers will read?Give them a good user experience.UX and EmailPeople don't just read your email, they experience your email; the flow, the structure, the tone, etc. An email also sits inside of the chrome of the person's email client, webmail, browser chrome, etc. All of these things fight for visual attention.Thus think of your reader as the user of your email, and concern yourself with their user experience. Scannability, readability, simplicity, gestalt principles and other UX concepts all apply.Below are some UX tips for writing emails that people will actually read, based on my own experiments and experience.Short Subject LinesUX Principle: ScannabilityDon't put too much information into the subject line. It's annoying. Huge subject lines suggest that the reader doesn't read email and needs to be beaten to open it. That just makes people want to s +
10年前
記事のアイキャッチ画像
Good Interface, Bad Interface #23
Tony Alicea
+The diesel fuel pump in one state is green, while in another is black. Quite confusing for the traveler.One may find oneself confused as to why the pump does not fit into your gas tank…however the prevention of error is extremely important in this case.Consistency and standards are good things. While making something obvious is the best approach to software design, respecting standards prevents confusion against learned behaviors.At the same time, preventing error is equally vital, especially if the error will cause serious, irreparable problems.
10年前
記事のアイキャッチ画像
Good Interface, Bad Interface #22
Tony Alicea
This gas station pump asks for your zip code when you enter your credit card. Then you have to search around for where to enter it. The keypad is set off to the right and inset.It doesn’t appear to have any relationship to the screen where the message displays, causing a brief moment of confusion as you scan for an interface to obey the screen commands.Pay attention to gestalt principles. Elements of an interface that are related should appear to be so visually via position, color, size, borders, whitespace, etc.Make related elements obviously, visually related, and you will cause less moments of confusion, less scanning, and less frustration.
10年前
記事のアイキャッチ画像
Good Interface, Bad Interface #21
Tony Alicea
+Boarding a Southwest Airlines plane is a study in frustration. There are always at least several people milling about in confusion, most trying to figure out their line-up process while handling bags and children.The competitive ‘get on the plane first and claim a seat before everyone else’ turns their confused state into potentials for agitation and aggression (getting ahead of others when you shouldn’t, realizing too late you’re further back than you should have been).Those who are frequent flyers on the airline have a decided advantage over the new ones, and the agitated state of passengers translate into more frazzled employees.UX isn’t just about ease of use. It’s about avoiding frustration. It’s about how software makes you feel.Frustrating software results in agitated users. Agitated users means you have failed UX. Agitated users also introduces a host of other problems, such as exaggerated complaints, lack of patience with other minor software issues, and loss of loyalty.Care a +
11年前
記事のアイキャッチ画像
Good Interface, Bad Interface #20
Tony Alicea
+Mall kiosk with a Windows error. Graceful handling of errors is everyone’s job. A poorly handled error can pull the user down into the lower layers of abstraction, destroying the user experience.Handle errors gracefully, either hiding them, or displaying them as an integrated part of the user experience.Special integrated error pages or messages go a long way to put the user at ease when an error occurs. It says: “we knew this could happen - don’t panic." This would include user error, coding error, and even OS and network errors where possible.Assume everything will break - then work up from there.
11年前
記事のアイキャッチ画像
Simple Is Not the Opposite of Complex
Tony Alicea
+Simple Is Not the Opposite of ComplexMy college life was all about education. Mathematics, arts, and sciences were thrown at high speed for high credits. Yet some of the longest lasting lessons didn't come from the classroom - at least not the ones I was paying for. One lesson in particular informed the way I would look at software development and user experience for the rest of my life. It came from pool.(Life) Lessons in BilliardsI was a commuter in college, and hung out in the 'commuter lounge'. It wasn't very fancy - there were some lockers, a TV, tables and sofas. But the centerpiece of the inner half of the room was the pool table, and it drew me to the place every day.I fell hard for the game, playing constantly (for better or worse in regards to my GPA). A graduate student saw my love of it, took pity on me, and offered to train me. He was good. Very good. I accepted, and learned a ton.One day we were watching two students battling in a game full of tough shots. A crowd had for +
11年前
記事のアイキャッチ画像
Good Interface, Bad Interface #19
Tony Alicea
+Simple garage door opener. It does one thing well. There is a single button, and an indicator providing feedback. However it is also extremely easy to click the extruded button.Time and again I find myself accidentally opening or closing the garage (sometimes with myself in it). So much so that I periodically check that the garage door is closed.Ease of use is incredibly important in software. However certain functions, especially dangerous ones, should not be made easy to accidentally invoke.For deletions, take a user to a completely separate screen or large modal with clear indications of what is about to happen.Wherever possible and applicable, provide ‘undo’, and make it immediately available after the action is taken.Easy-to-use is rewarding. Easy-to-do-accidentally is frustrating. Be sure your designs know the difference.
11年前
記事のアイキャッチ画像
Good Interface, Bad Interface #18
Tony Alicea
+Heating and Cooling controller in an older model Kia. There are 12 positions. Seven are labelled. Five are not.What in the world is the position between ‘defrost’ and 'feet and defrost’? I have no idea. In fact, I still have no idea. Perhaps the designer ran out of room for icons, but the middle states simply aren’t guessable unless you designed the system.One of the most common mistakes in UX is failing to realize that your design appears usable to you only because you already understand the system.What is obvious to you is not necessarily obvious to the user. Don’t let love of a design blind you to its failings. Don’t let yourself get away with 'they can read the manual’, 'they should be smart enough to get this’, or other such self-serving thoughts.Make it obvious. Make it guessable. Make it good.
11年前
記事のアイキャッチ画像
Key and Lock
Tony Alicea
+Key and LockIn his seminal work The Design of Everyday Things (revised in 2013), Don Norman notes that with every new technology designers repeat the same mistakes of the past.User experience designers should not fall into this trap, because a fundamental key to good UX design is humility. It takes humility to change a design based on user testing; and it takes humility to look back at technologies of the past that have endured, and show them their due respect.One of the oldest and best interfaces has endured for thousands of years. The two part interface: key and lock. Let's pull some software lessons from before there was software.GuessabilityThe key and lock is guessable. Most doors have only one keyhole. The key looks like it fits in the hole. If you handed someone a key, and pointed them at its corresponding door, they would likely guess what to do even if they'd never done it before.Both the key and lock follow DOTW (Do One Thing Well) and it is hard for a user to get it wrong.Ma +
11年前
記事のアイキャッチ画像
Good Interface, Bad Interface #17
Tony Alicea
+The key and lock is one of the oldest and best examples of a good interface. It’s guessable (there’s only one keyhole in the average door), secure (you have to know and have the right key, but it isn’t hard to use), consistent (know how to use one key, you know how to use almost all), and provides good feedback (key turns or it doesn’t).Above the all the key/lock interface is good abstraction. Few people truly know how the tumblers in a lock work, and fewer still could design them. Yet the key abstracts the user away from the inner workings of the lock, allowing them to focus on the task (opening or locking the door) rather than how the tool helps them accomplish it.Interfaces that have been around for centuries have done so for a reason, because they rely on UX truths that work no matter what the technology.Guessability, security, consistency, feedback, and good abstractions are something that every interface (physical, software, or otherwise) should share.
11年前
記事のアイキャッチ画像
Good Interface, Bad Interface #16
Tony Alicea
+Drink machine at a local Five Guys. I watched as every single person made some form of mistake during use.There is a touch screen selection UI, and a ‘Push’ button below it. However the button always says 'Push’, so most push it not realizing they’ve made a mistake in the selection process and something unexpected pours out.The beauty of old-school drink machines is that they’re hard to get wrong. Each lever corresponds to a specific drink, and the only action available per drink is 'make this drink come out’.Newer or prettier isn’t always better. Using a new interface technology simply for the sake of the new technology is a fail if you don’t follow the basics of good user experience.In this case the UX principle broken is feedback. Since one button does many things ('Push’ could mean one of any of the drinks), it fails to follow DOTW, thus good feedback is vital.For example the button could say 'Push for Coke’ when Coke is selected and 'Push for Sprite’ when Sprite is selected, etc. +
11年前
記事のアイキャッチ画像
Good Interface, Bad Interface #15
Tony Alicea
+A Behringer 802 Mixer. Mixer boards are powerful and useful, but they must be learned. A mixer board is the opposite of a lightswitch, there is nothing obvious or intuitive about it.There are so many options the user’s best guess is likely wrong (though labeling helps), and the designer must rely on memorization and education on the user’s part to use the device well.There is nothing wrong with dashboards, portals, hubs, etc - as long as you don’t expect them to be used by new users. Many options means many ways to get it wrong. If you build an interface this way, you must assume memorization and education, not guessability.So look at your user base and decide: Am I building a mixer board or a light switch?
11年前
記事のアイキャッチ画像
Good Interface, Bad Interface #14
Tony Alicea
+Walmart. Primary sections, sub sections, and sale areas are clearly marked – yet you still have to stumble around to figure out where you are in relation to everything else.If you were suddenly transported to a spot like this in the middle of a Walmart, would you know how to get to Electronics?If you watch people’s user experience at a Walmart, there’s a lot of neck craning, searching for signs of where to go.Better: Subtle markers pointing to other areas visible from any point in the store.Navigation in your app or site should meet the ‘dropped in the middle of the site from a search engine’ test.It may be clear where other related pages are, but can your users tell where they are in relation to your entire site?Don’t make your users crane their necks to find what they’re looking for. They might just give up and leave.
11年前
記事のアイキャッチ画像
DOTW: Do One Thing Well
Tony Alicea
+DOTW: Do One Thing WellThe Mantra of the Guessable InterfaceIn the land of coding there is a principle that defines the essence of modern multi-tier software architectures. DRY: Don't Repeat Yourself.DRY has become so widely accepted in software design because the benefits are obvious and immediate. Less code to write, less bugs to fix. It makes for less confusing software from the programmer's perspective, which leads to better software for everyone.The DRY principle is this: "Every piece of knowledge must have a single, unambiguous, authoritative representation within a system." DRY works for software architecture. It's about reduction.In my design experience I have found that there is a very similar UX principle that is equally effective in developing usable (that is, guessable) software.DOTW: Do One Thing WellThe principle is simple. As with all principles, its application varies depending on the circumstances. If I was to try defining DOTW more strictly, I would say:Any screen or +
11年前
記事のアイキャッチ画像
Good Interface, Bad Interface #13
Tony Alicea
+A mechanical pencil follows DOTW (Do One Thing Well). There is only one way to get lead out, and only one option to try. However it breaks down when the lead runs out. How many times have you shaken a pencil to see if lead is still in it?Better: If, once the lead ran out, a bright red warning piece of plastic came out of the tip clearly indicating the error state.A simple interface that ‘Does One Thing Well’ is highly desirable and guessable. Yet you must take into account all 3 states of an interface: Empty, Full, and Error.If you have a clear picture of all three states when you design then so will your users.
11年前
記事のアイキャッチ画像
Good Interface, Bad Interface #12
Tony Alicea
+Back of a Black & Decker Air Station. Can be powered from a standard plug (AC) or a car lighter (DC), and you choose which. The design doesn’t assume you know which is AC and which is DC.Actually, it gives various opportunities to figure out which is which, and when all else fails provides the icon of a car to make it absolutely clear. It’s ensuring understanding and educating at the same time.Labels are good. Labels that assume the user has a specialized vocabulary are not. For example a button that says ‘Check If This Username is Available’ is much better than a button that says 'Validate The Uniqueness of this ID’.Be sure your labels do not make unreasonable vocabulary assumptions. Better, teach the user new vocabulary through the interface design.
11年前
+記事のアイキャッチ画像
Good Interface, Bad Interface #11
Tony Alicea
A flashlight is designed to be used in the dark. The simple act of picking it up puts your fingers in the position needed to be able to turn it on. You can turn on a flashlight without having to see.Actions should be in the most natural positions for their usage. A large form with a save button icon somewhere off in a corner, or an important screen hidden under a four level navigation menu keep the user blind.The more the user has to hunt, the more likely their frustration, exhaustion, and potential failure.
11年前
記事のアイキャッチ画像
Good Interface, Bad Interface #10
Tony Alicea
The doorknob with lock. People on the outside cannot open the door, however turning the doorknob from the inside automatically unlocks it.Security is important, but that isn’t excuse for software to be laborious. Afford people the ability to both provide their credentials and their intentions.For example, if they go to a secure area of the software and are forced to log in, after they log in you should automatically take them to wherever they originally wanted to go.
11年前
記事のアイキャッチ画像
Good Interface, Bad Interface #9
Tony Alicea
+An on/off switch on a desk lamp. A single interface controls both on and off. Since it is the only option, it is obvious by process of elimination. There is also strong and immediate user feedback. “Light off! Light on!” is hard to miss.Elements of an interface should only perform one function. You can consider a toggle as only “one” function: ‘Off’ is only available when 'On’ and vice versa.Toggle is less obvious when many interface elements are present, so strong feedback from the action (like 'light on/light off’) becomes even more important.
11年前
記事のアイキャッチ画像
Good Interface, Bad Interface #8
Tony Alicea
Portable charger for a car battery. Cords are made to wrap around the charger and lock in place. This looks very nice, but the cords are far too short and makes it extremely cumbersome to connect. This only worsens the frustration you are almost always already experiencing whenever you use this device.Aesthetics are important, but they are not worth sacrificing ease of use. The best designs are both beautiful and clever. Ease of use is even more important when the functionality is explicitly used under stressful situations.
11年前
記事のアイキャッチ画像
Good Interface, Bad Interface #7
Tony Alicea
Panel on a Keurig coffee brewer. Turn it on, main screen says ‘Ready to Brew’, and you choose one of 3 cup sizes. There are no labels, but the clarity of icons and reduction of options makes it self-evident.Normally labels are needed on icons. However (if the icons are extremely clear, agree with the context, and the interface’s goal is self-evident and highly focused) labels aren’t always necessary.
11年前
記事のアイキャッチ画像
Good Interface, Bad Interface #6
Tony Alicea
Back of a vacuum cleaner. How do you turn it on? Once you turn it on, how do you tilt it back?Primary functions should be obvious. Secondary or related functions should be easily accessed alongside the primary action.
11年前
記事のアイキャッチ画像
Good Interface, Bad Interface #5
Tony Alicea
Struck by the brilliance of a tissue box. Not so much that you can get a tissue out, but that the next one is left waiting for you.Most software is a series of tasks. Make the next logical tasks readily available upon completing the current one.
11年前
記事のアイキャッチ画像
Good Interface, Bad Interface #4
Tony Alicea
My toaster oven. Top dial when in the ‘off’ position means oven is off, but toaster is on. The bottom two individually control toast versus oven.Many a time I have left the toaster thinking it was toasting, when it was in oven position, or vice versa. The toaster ticks, but I return to find no heat, no ready food.In software each interface should DOTW: “Do One Thing Well”. The more functions any element of an interface carries out, the less likely it is do any of them well.
11年前
記事のアイキャッチ画像
Good Interface, Bad Interface #3
Tony Alicea
Dyson bathroom hand dryer.Good: Where do you put your hands?Bad: Hand spaces are too small. You inevitably touch the sides which ruins the whole point.Make it easy. But software has to actually do what it says it will do, otherwise all the other good UX doesn’t matter.
11年前
記事のアイキャッチ画像
Good Interface, Bad Interface #2
Tony Alicea
Airplane tray table. How do you open it?Give your user’s best guess the highest probability of being right.
11年前
記事のアイキャッチ画像
Good Interface, Bad Interface #1
Tony Alicea
+Single light switch on blank wall.A self-evident interface doesn’t need documentation. Scannable, limited options teach without words.
11年前
記事のアイキャッチ画像
Good Interface, Bad Interface
Tony Alicea
+Good Interface, Bad InterfaceI have been doing a great deal of traveling as of late. Travel is frustrating. Airports, hotels, car rides and more are filled with other people's design choices. Some are good, some are bad, and they all carry lessons in user experience.Airport bathrooms, for example, turn out to be pretty diverse in their design choices - and their influence on the traveler's overall user experience is, understandably, intense. When it's bad, it's really bad.So, when faced with a bad user experience, I apply a simple mantra:If you see every moment as an opportunity to either teach or learn, life is a lot more enjoyable.Actually I try to apply this for good user experiences as well. Try to stop and recognize it when you've just effortlessly used some device or process, and ask yourself why it worked so well. Then take that lesson and ask how does it apply to software.Every user experience you have, whether bad or good, can inform the software you design.I'll give you an ex +
12年前
\ No newline at end of file diff --git a/blogs/151c78a1bec8cdfb3ca7e1842b9546f0/index.html b/blogs/151c78a1bec8cdfb3ca7e1842b9546f0/index.html new file mode 100644 index 000000000000..9acdf42720ad --- /dev/null +++ b/blogs/151c78a1bec8cdfb3ca7e1842b9546f0/index.html @@ -0,0 +1,331 @@ +Blog RSS feedのフィード|JSer.info Watch List RSS

Blog RSS feed

https://www.sonarsource.com

Sonar’s industry leading solution enables developers & development teams to write clean code and remediate existing code organically.

フィード

記事のアイキャッチ画像
9 More Reasons to Upgrade to SonarQube Server 2025.1 LTA
Blog RSS feed
+A new Long-Term Active (LTA) version of SonarQube Server represents a significant amount of work. Since the last LTA release (version 9.9 in February 2023), thousands of development tickets have been merged into SonarQube Server and its underlying components. This includes new features, improvements to existing functionalities, and bug fixes.
2日前
記事のアイキャッチ画像
Enhancing Team Code Reviews with AI-Generated Code
Blog RSS feed
Team Code reviews are essential to the development process. They ensure that the code meets the required standards before being merged into the main branch. Tools like SonarQube are key to making the reviews productive and valuable.
4日前
記事のアイキャッチ画像
The Tainted Voyage: Uncovering Voyager's Vulnerabilities
Blog RSS feed
+SonarQube Cloud detected an arbitrary file upload in Voyager, tracked as CVE-2024-55417. When combined with other vulnerabilities our research team found, attackers can execute arbitrary code on the server if an authenticated user clicks on a link.
11日前
記事のアイキャッチ画像
SonarQube Server 2025.1 LTA Release Announcement
Blog RSS feed
+The new SonarQube Server LTA release is as value-packed as ever. Look forward to high-impact AI capabilities, more secure code at every angle, supercharged developer productivity, and even better enterprise and operational capabilities. As always, there's something for everyone with the LTA!
16日前
記事のアイキャッチ画像
SonarQube for IDE: Our journey this year, and sneak peek into 2025
Blog RSS feed
+Reviewing the enhancements delivered by the SonarQube for IDE team for developers during 2024. Focusing on streamlining the UX for teams, harnessing the power of SonarQube Server and Cloud through connected mode into your IDE, and making it even easier to focus on new code.
1ヶ月前
記事のアイキャッチ画像
Vulnerability Research Highlights 2024
Blog RSS feed
Our Vulnerability Research team looks back at a great year and summarizes the highlights of 2024.
1ヶ月前
記事のアイキャッチ画像
Software and AI in 2025 — Sonar Perspectives on What’s to Come in the New Year
Blog RSS feed
Several Sonar leaders share their perspectives on what to expect in 2025 with AI and software development.
2ヶ月前
記事のアイキャッチ画像
Never Underestimate CSRF: Why Origin Reflection is a Bad Idea
Blog RSS feed
CORS misconfigurations are often overlooked, but they can have severe consequences. We demonstrate how reflecting the origin header leads to code execution in Whistle.
2ヶ月前
The new SonarQube free tier is here
Blog RSS feed
Announcing a new free tier of SonarQube, hosted in the cloud. This tier goes beyond our current community offering and gives individual developers and small teams many of the features of our commercial SonarQube offering.
2ヶ月前
記事のアイキャッチ画像
SonarQube Server 10.8 Release Announcement
Blog RSS feed
This release includes stronger AI Code Assurance and AI CodeFix capabilities. Choose from two new operating modes to run the server in a way that best suits your business needs. Exciting things continue to happen with our language support, like new architecture rules, support for Ansible IaC, and full support of our Dart/Flutter coverage. Find out what’s in store for you.
2ヶ月前
記事のアイキャッチ画像
A better (free) SonarQube experience
Blog RSS feed
Announcing a new free tier of SonarQube, hosted in the cloud. This tier goes beyond our current community offering and gives individual developers and small teams many of the features of our commercial SonarQube offering.
3ヶ月前
記事のアイキャッチ画像
How to Trust AI Contributions to Your Codebase
Blog RSS feed +
In a world where AI generates code, code ownership and trust become increasingly obscure. Many enterprises already find this situation untenable, and they are looking for ways to solve it. But where do you start?
3ヶ月前
記事のアイキャッチ画像
Our commitment to you – and an update on severity ratings for software quality
Blog RSS feed
+The speed of software development and product delivery is increasing for organizations everywhere – including here at Sonar. In this blog, we decided to put our guiding engineering principles in writing and share them with you.
3ヶ月前
記事のアイキャッチ画像
Sanitize Client-Side: Why Server-Side HTML Sanitization is Doomed to Fail
Blog RSS feed
+HTML sanitization has long been touted as a solution to prevent malicious content injection. However, this approach faces numerous challenges. In this blog post, we'll explore the limitations of server-side HTML sanitization and discuss why client-side sanitization is the better approach.
3ヶ月前
記事のアイキャッチ画像
The Power of Taint Analysis: Uncovering Critical Code Vulnerability in OpenAPI Generator
Blog RSS feed
This blog post explains how taint analysis tracks all data flows in an application’s source code to unveil deeply hidden vulnerabilities and showcases a critical vulnerability in the OpenAPI Generator discovered by SonarQube Cloud.
4ヶ月前
記事のアイキャッチ画像
Why Code Security Matters - Even in Hardened Environments
Blog RSS feed
+This blog post showcases why fundamental code security is essential for an application despite all hardening measures applied in the underlying infrastructure.
4ヶ月前
記事のアイキャッチ画像
Announcing Sonar Support for Dart: Elevate Your Code Quality
Blog RSS feed
Sonar now supports the Dart programming language
4ヶ月前
記事のアイキャッチ画像
SonarQube Server 10.7 Release Announcement
Blog RSS feed
Sonar introduces powerful AI-driven features, expanded support for new and existing languages and frameworks, and deeper security, all to elevate your code quality. These updates bring significant advancements for developers and teams.
4ヶ月前
記事のアイキャッチ画像
Instant Code Fixes at Your Fingertips: Announcing Sonar AI CodeFix
Blog RSS feed
Sonar AI CodeFix is a powerful capability that suggests code fixes for issues discovered by our code analysis solutions SonarQube Server and SonarQube Cloud.
4ヶ月前
記事のアイキャッチ画像
Building Confidence and Trust in AI-Generated Code
Blog RSS feed
Sonar AI Code Assurance is a robust and streamlined process for validating AI-generated code through a structured and comprehensive analysis.
4ヶ月前
記事のアイキャッチ画像
Top Security Flaws hiding in your code right now - and how to fix them
Blog RSS feed
Let's examine the three most common injection attack types—SQL injection, Deserialization Injection, and Logging Injection—and discuss ways to prevent them.
5ヶ月前
記事のアイキャッチ画像
ISO 27001 Importance
Blog RSS feed
Security standards such as ISO 27001 are crucial for businesses as they offer a structured framework for managing and safeguarding sensitive information.
5ヶ月前
記事のアイキャッチ画像
Basic HTTP Authentication Risk: Uncovering pyspider Vulnerabilities
Blog RSS feed
pyspider uses the convenient “basic HTTP authentication” method, but browsers don’t take the extra step to protect users from CSRF attacks. Learn more on how SonarQube Cloud detected 2 vulnerabilities in this open-source project.
5ヶ月前
+
記事のアイキャッチ画像
How to Choose an LLM in Software Development
Blog RSS feed
With so many Large Language Models (LLMs) out there, selecting the right LLM is crucial for any organization looking to integrate AI into its operations.
5ヶ月前
記事のアイキャッチ画像
SonarQube Cloud or SonarQube Server, What's Right for Your Team?
Blog RSS feed
Learn about the similarities and key differences between SonarQube Cloud and SonarQube Server and which one is best for your use case.
6ヶ月前
記事のアイキャッチ画像
Sonar Founder Olivier Gaudin at QCon London 2024
Blog RSS feed
Olivier Gaudin discusses the value of quality, secure code from the start at top industry software conference. Check out his talk!
6ヶ月前
記事のアイキャッチ画像
Front-End Frameworks: When Bypassing Built-in Sanitization Might Backfire
Blog RSS feed
+Modern JavaScript front-end frameworks protect your application from XSS vulnerabilities by automatically escaping untrusted content. This built-in feature can be bypassed intentionally, which should be taken with great care.
6ヶ月前
記事のアイキャッチ画像
How Sonar Helps Meeting NIST SSDF Code Security Requirements
Blog RSS feed
+Sonar’s solutions, including SonarQube for IDE, SonarQube Server, and SonarQube Cloud, help you meet NIST SSDF code security requirements and enhance overall code quality. Find out how.
6ヶ月前
記事のアイキャッチ画像
Government Emails at Risk: Critical Cross-Site Scripting Vulnerability in Roundcube Webmail
Blog RSS feed
+Sonar’s R&D team discovered a Cross-Site Scripting vulnerability in Roundcube. Similar vulnerabilities in Roundcube have been used by APTs to steal government emails.
6ヶ月前
記事のアイキャッチ画像
Now Introducing, SonarQube Cloud Enterprise and SonarQube Cloud Team
Blog RSS feed
+We are excited to expand our SonarQube Cloud offering with the availability of two new plans, SonarQube Cloud Enterprise and SonarQube Cloud Team.
6ヶ月前
記事のアイキャッチ画像
What Code Issues Caused the CrowdStrike Outage?
Blog RSS feed
This blog post takes a look at the potential code issues behind the recent global CrowdStrike outage.
6ヶ月前
記事のアイキャッチ画像
ASP.NET Core Web Apps
Blog RSS feed
Sonar recently added new rules for ASP.NET WebAPI and ASP.NET MVC. In this blog post, we discuss the details of these frameworks within ASP.NET Core and how Sonar’s solutions help keep your ASP.NET web apps clean and free of issues.
6ヶ月前
G2 Review Static Code Analysis | Sonar Named a Leader in Grid Report
Blog RSS feed
G2 has once again ranked Sonar #1 in Static Code Analysis in the Summer 2024 Grid Report. In addition to leading the pack in each of the Enterprise, Mid-Market, and Small Business segments for Static Code Analysis, Sonar was also named a leader in the Static Application Security Testing (SAST) category.
7ヶ月前
記事のアイキャッチ画像
AutoConfig: C++ Code Analysis Redefined
Blog RSS feed
Abbas Sabra covers a groundbreaking technology: AutoConfig for C and C++. It automates the normally complex setup process, making project setup a breeze. AutoConfig is designed to make code analysis free of complications bringing Clean Code to the fingertips of every C and C++ developer.
7ヶ月前
記事のアイキャッチ画像
Encoding Differentials: Why Charset Matters
Blog RSS feed
The absence of charset information seems to be a minor issue for a web application. This blog post explains why this is a false assumption and highlights the critical security implications.
7ヶ月前
記事のアイキャッチ画像
+Securing Developer Tools: Unpatched Code Vulnerabilities in Gogs (2/2)
Blog RSS feed
Learn about critical code vulnerabilities we discovered in Gogs, a source code hosting solution. This follow-up covers how less severe flaws can still have a critical impact.
7ヶ月前
記事のアイキャッチ画像
Using and Understanding SonarQube Server for Code Coverage
Blog RSS feed
+One critical metric to gauge the effectiveness of your code testing efforts is code coverage. SonarQube Server, a powerful static code analysis solution, integrates seamlessly with code coverage tools, empowering developers to write cleaner, more secure, and thoroughly tested code.
7ヶ月前
記事のアイキャッチ画像
Securing Developer Tools: Unpatched Code Vulnerabilities in Gogs (1/2)
Blog RSS feed
+We discovered 4 critical code vulnerabilities in Gogs, a source code hosting solution, which are still unpatched. Read about the details and how to protect yourself.
7ヶ月前
記事のアイキャッチ画像
The True Cost of Bad Code in Software Development
Blog RSS feed
+Despite advances in technology and methodologies, the costs associated with fixing bad code continue to escalate, impacting businesses financially and operationally. But what is bad code, what are the clear markers of its negative impact, and how can organizations overcome it?
7ヶ月前
記事のアイキャッチ画像
SonarQube Server 10.6 Release Announcement
Blog RSS feed
+The 10.6 release of SonarQube Server includes some significant changes, such as autoscaling in Kubernetes, AutoConfig for C and C++ projects, support for running in a FIPS-enforced environment, set rule priority to uphold your coding standards, easy setup of monorepos, monitoring the time it takes to upgrade, and expanded library coverage for AI/ML developers.
7ヶ月前
記事のアイキャッチ画像
Green Coding with Clean Code - A Recap of ecoCode Challenge Paris 2024
Blog RSS feed
ecoCode Challenge Paris represents an opportunity to unite innovation and sustainable coding. As a proud sponsor, we are excited to see how SonarQube Server is empowering developers to prioritize environmental sustainability in their projects.
8ヶ月前
記事のアイキャッチ画像
Re-moo-te Code Execution in Mailcow: Always Sanitize Error Messages
Blog RSS feed
Our research team discovered two vulnerabilities in mailcow, an email server solution. Attackers could compromise an instance, impersonate users, and steal emails.
8ヶ月前
記事のアイキャッチ画像
Integrating SonarQube Cloud with Amazon CodeCatalyst for Code Analysis
Blog RSS feed
+Sonar recently announced the integration of SonarQube Cloud with Amazon CodeCatalyst. This blog post guides you through integrating SonarQube Cloud, a cloud-based Clean Code solution, with Amazon CodeCatalyst.
8ヶ月前
記事のアイキャッチ画像
An Open Letter to Sonar[Qube] Users
Blog RSS feed
Sonar’s new President of Field Operations introduces herself and reiterates the company's continued commitment to enabling organizations to succeed.
8ヶ月前
記事のアイキャッチ画像
mXSS: The Vulnerability Hiding in Your Code
Blog RSS feed
XSS is a well-known bug class, but a lesser-known yet effective variant called mXSS has emerged over the last couple of years. In this blog, we will cover the fundamentals of this XSS variant and examine how you can protect against it.
8ヶ月前
記事のアイキャッチ画像
Sonar Named Leader in G2 Spring Report
Blog RSS feed
We are excited to share that the G2 Spring 2024 reports were recently released, and once again, Sonar has been named the LEADER in Static Code Analysis!
9ヶ月前
記事のアイキャッチ画像
Find Deeply Hidden Security Vulnerabilities with Deeper SAST by Sonar
Blog RSS feed
This post delves into an actual Jenkins vulnerability to understand the intricacies of deeper SAST for detecting deeply hidden code vulnerabilities. It illustrates how deeper SAST works and explains its impact on keeping your code clean and free of these serious issues.
9ヶ月前
記事のアイキャッチ画像
Parallel Code Security: The Challenge of Concurrency
Blog RSS feed
Parallelism has been around for decades, but it is still a source of critical vulnerabilities nowadays. This blog post details a severe vulnerability in the remote desktop gateway Apache Guacamole, highlighting the security risks of parallelism.
9ヶ月前
記事のアイキャッチ画像
Code Interoperability: The Hazards of Technological Variety
Blog RSS feed
The rapid development of different technologies doesn’t come without risks. This blog post details a critical vulnerability in the remote desktop gateway Apache Guacamole, which showcases the challenges of code interoperability.
9ヶ月前
記事のアイキャッチ画像
Leveraging SonarQube Server, SonarQube Cloud, and SonarQube for IDE for Effective Shift Left Practices
Blog RSS feed
Speed and quality are no longer trade-offs in the modern software landscape - they're a tightly interwoven dance. That's where the "Shift Left" philosophy comes in, urging us to move critical checks and balances like code quality analysis earlier in the development lifecycle.
9ヶ月前
記事のアイキャッチ画像
+Driving DevOps Transformation: Leveling Up CI/CD with Static Code Analysis
Blog RSS feed
Unit and end-to-end testing are effective in ensuring features and functionality work properly, but what about code quality? How can we ensure that our code is reliable, maintainable, and secure? Enter static code analysis.
9ヶ月前
記事のアイキャッチ画像
Legacy Codebases are a DevOps Issue
Blog RSS feed
Explore how DevOps principles and practices can transform the challenge of managing legacy code into an opportunity for improvement. This piece outlines actionable strategies for refactoring, the importance of automation, and adopting a 'Clean as You Code' approach to ensure sustainable code quality and efficiency.
10ヶ月前
記事のアイキャッチ画像
SonarQube Server 10.5 Release Announcement
Blog RSS feed
+The 10.5 release of SonarQube Server includes support for Java 21, C++23, and TypeScript 5.4. Secrets detection analysis is faster and deeper SAST coverage has increased. Project onboarding is more simplified for monorepos, Maven, and GitHub Actions. Read on to find out about these and much more.
10ヶ月前
記事のアイキャッチ画像
Dangerous Import: SourceForge Patches Critical Code Vulnerability
Blog RSS feed
+Our Vulnerability Research team discovered a critical code vulnerability in SourceForge, which attackers could have used to poison deployed files and spread malware to millions of users.
10ヶ月前
記事のアイキャッチ画像
AI-Generated Code Demands ‘Trust, But Verify’ Approach to Software Development
Blog RSS feed
+Pairing the "trust, but verify" approach with the power of Sonar’s Clean Code solutions enables organizations to be confident that their AI-generated code is high-quality, maintainable, reliable, and secure.
10ヶ月前
記事のアイキャッチ画像
C# Logging
Blog RSS feed
+Are you writing logging code in your app? Logging correctly can be tricky. It is an important part of tracking the progress of your app while running and determining the origin of problems when they arise. In this blog post Denis Troller walks you through common pitfalls and logging best practices when coding in C# with .NET.
10ヶ月前
記事のアイキャッチ画像
Ensuring the right usage of Java 21 new features
Blog RSS feed
+Last September 2023 Java 21 was released as the latest LTS (Long Time Support). But taking advantage of the changes and new features, which we are not used to including in our code, can be a tough task. Also, it can lead to improper use or poor uptake, bugs, or basically not taking full advantage of new improvements.
10ヶ月前
記事のアイキャッチ画像
Apache Dubbo Consumer Risks: The Road Not Taken
Blog RSS feed
+Explore the lesser-known Apache Dubbo risks that weren’t well documented until now, and delve into the importance of clean code ensuring clarity, maintainability, and comprehensibility.
10ヶ月前
記事のアイキャッチ画像
Technical debt’s impact on development speed and code quality
Blog RSS feed
+By acknowledging the impact of technical debt and embracing proactive solutions like Sonar, development teams can mitigate its effects and build software that is resilient, reliable, and scalable.
10ヶ月前
記事のアイキャッチ画像
DORA Compliance for Financial Entities
Blog RSS feed
Leveraging Sonar solutions to ensure code security by design
1年前
記事のアイキャッチ画像
Micro Services, Major Headaches: Detecting Vulnerabilities in Erxes' Microservices
Blog RSS feed
Our vulnerability researchers discovered critical vulnerabilities in Erxes with the help of SonarQube Cloud. Learn about the details and how to triage such issues in your own code!
1年前
記事のアイキャッチ画像
__dirname is back in Node.js with ES modules
Blog RSS feed
Node.js is reducing friction when using ES modules by making it easier to get the current module directory name
1年前
記事のアイキャッチ画像
#CleanCodeTips: Unlock Your Coding Potential
Blog RSS feed
As software development evolves, keeping up with best practices, the latest trends, and ensuring your code remains top-notch can feel like sailing uncharted waters. Sonar has the Clean Code tips for you!
1年前
記事のアイキャッチ画像
+Reply to calc: The Attack Chain to Compromise Mailspring
Blog RSS feed
Learn how an attacker can combine multiple security vulnerabilities to achieve arbitrary code execution on a victim that tries to reply or forward a malicious mail in Mailspring.
1年前
記事のアイキャッチ画像
Are You Ready For PCI DSS 4.0?
Blog RSS feed
+PCI DSS 3.2.1 is being retired on March 31, 2024. Are you ready for the new standard, PCI DSS 4.0?
1年前
記事のアイキャッチ画像
Increase readability with Java's Pattern Matching
Blog RSS feed
Increase readability, reduce cognitive complexity, and avoid bugs that are hard to spot with Java's Pattern Matching.
1年前
記事のアイキャッチ画像
OpenNMS Vulnerabilities: Securing Code against Attackers’ Unexpected Ways
Blog RSS feed
Learn which unexpected ways attackers may take to exploit code vulnerabilities and how to secure against them.
1年前
記事のアイキャッチ画像
White House emphasizes need for proactive coding practices to counter cyber attacks
Blog RSS feed
The ONCD recent report puts a spotlight on one of the most foundational issues that result in insecure software. Sonar applauds the administration’s call for addressing software vulnerabilities at the programming language and source code levels.
1年前
+記事のアイキャッチ画像
Sonar Reaffirms Strength of its Information Security Management Systems by Earning The Latest ISO Certification, ISO27001:2022
Blog RSS feed
As part of our continuously advancing and improving security practice, we are pleased to announce that Sonar and its products are now certified to the latest version of the ISO72001 standard.
1年前
+記事のアイキャッチ画像
How timely delivery comes from transparent outsourced software development communication
Blog RSS feed
Ineffective communication impacts everything in software development. To ensure your next project meets expectations, transparent communication is essential for driving timely delivery when working with internal and external development teams.
1年前
記事のアイキャッチ画像
Builders, Withers, and Records - Java’s path to immutability
Blog RSS feed
We know that immutable objects are easier to maintain, lead to fewer errors, and are multi-thread friendly. This article will show two different approaches to creating objects: Builders and Withers, along with a new type of immutable object in Java: Records
1年前
記事のアイキャッチ画像
Joomla: PHP Bug Introduces Multiple XSS Vulnerabilities
Blog RSS feed
Our Clean Code solution, SonarQube Cloud, led us to a severe security issue in the popular Content Management System Joomla.
1年前
記事のアイキャッチ画像
+Union, intersection, difference, and more are coming to JavaScript Sets
Blog RSS feed
The JavaScript Set was introduced to the language in the ES2015 spec, but it has always seemed incomplete. That's about to change with the addition of functions like intersection, union and difference.
1年前
記事のアイキャッチ画像
Write cleaner React code with SonarQube Server 10.4
Blog RSS feed
+SonarQube Server 10.4 was recently released and it includes 48 new rules and one updated rule to help you to write clean code in your React applications.
1年前
記事のアイキャッチ画像
New Web API V2
Blog RSS feed
We are modernizing our Web API. In this post, Aurélien Poscia explains how and why.
1年前
記事のアイキャッチ画像
Building the foundation for a strong AI future
Blog RSS feed
Sonar is honored to participate in the newly established U.S. Artificial Intelligence Safety Institute Consortium (AISIC) effort and is excited to join other leaders at the forefront of AI development.
1年前
記事のアイキャッチ画像
5 Risks of Outsourcing Software Development and How to Avoid Them
Blog RSS feed
Outsourcing software development requires a clear understanding of the potential risks. In this blog, we discuss five risks of this widely adopted strategy and provide tactics to minimize risk in delivered software.
1年前
記事のアイキャッチ画像
SonarQube Server 10.4 Release Announcement
Blog RSS feed
The SonarQube Server 10.4 release includes some exciting changes that show the benefit of Clean Code and the Clean as You Code methodology. Scan times are faster and connecting to SonarQube for IDE is easier. Sonar is introducing easy onboarding for GitLab, new support for Helm Charts, and much more.
1年前
記事のアイキャッチ画像
Pitfalls of Desanitization: Leaking Customer Data from osTicket
Blog RSS feed
The dangerous Desanitization pattern led to an XSS vulnerability in the open-source helpdesk software osTicket, which can be used to leak customer data.
1年前
記事のアイキャッチ画像
Juliet C# Benchmark and the SecureString case
+Blog RSS feed
Juliet C# is a project from the National Institute of Standards and Technology of the USA. As a security benchmark project, we used Juliet C# 1.3 to test and improve our C# analyzer. Here is a glimpse of the work we did around Juliet and some of its test cases related to the SecureString .NET type.
1年前
記事のアイキャッチ画像
Who are you? The Importance of Verifying Message Origins
Blog RSS feed
This blog post highlights the importance of verifying the origin of JavaScript message events and outlines the potential impact of omitting this by detailing two critical vulnerabilities in the Squidex application.
1年前
記事のアイキャッチ画像
Excessive Expansion: Uncovering Critical Security Vulnerabilities in Jenkins
Blog RSS feed
+This blog uncovers two vulnerabilities, a Critical and High severity, recently discovered by our research team. Exploiting these vulnerabilities, attackers have the potential to gain Remote Code Execution on a Jenkins instance.
1年前
記事のアイキャッチ画像
Blazor
Blog RSS feed
Sonar is helping make C# code clean as Microsoft ASP.NET Core Blazor application development grows
1年前
記事のアイキャッチ画像
Lessons learned upgrading to React 18 in SonarQube Server
Blog RSS feed
We share the biggest three issues we faced and the lessons we learned as we upgraded SonarQube Server to React 18.
1年前
記事のアイキャッチ画像
Vulnerability Research Highlights 2023
Blog RSS feed
Our Vulnerability Research team looks back at a great year and summarizes the highlights of 2023.
1年前
記事のアイキャッチ画像
Sonar's Scoring on the Top 3 Python SAST Benchmarks
Blog RSS feed
+We're excited to share not only how Sonar performs on Python benchmarks but also the ground truth corresponding to the list of expected and not-so-expected issues.
1年前
記事のアイキャッチ画像
2024 DevOps Predictions from the Sonar Developer Advocate Team
Blog RSS feed
The Developer Advocate team shares their predictions on what they foresee for DevOps trends and hot topics in 2024.
1年前
記事のアイキャッチ画像
2024 Security Predictions from the Sonar Research Team
Blog RSS feed
Reflecting on changes in the industry over the past year, as well as the research we’ve published, the Sonar Vulnerability Research team came together and compiled our thoughts on what we foresee for cybersecurity in 2024.
1年前
記事のアイキャッチ画像
Sonar @ Black Hat Europe!
Blog RSS feed
Last week, several SonarSourcers traveled to London to attend our third Black Hat event of the year. Here's what happened!
1年前
記事のアイキャッチ画像
pfSense Security: Sensing Code Vulnerabilities with SonarQube Cloud
Blog RSS feed
Our Clean Code solution SonarQube Cloud discovered multiple vulnerabilities leading to remote code execution on pfSense CE 2.7.0. Let's see how SonarQube Cloud found them and how it can keep your code clean.
1年前
記事のアイキャッチ画像
Spring framework pitfalls
Blog RSS feed
Spring framework offers a lot of help in the development, but we still have to pay attention and make the right use of it in order to avoid some issues.
1年前
記事のアイキャッチ画像
Stop nesting ternaries in JavaScript
Blog RSS feed
Nesting ternary operators makes code more complex and less clear. Let's investigate other ways to write conditional expressions.
1年前
+
記事のアイキャッチ画像
Unraveling the Costs of Bad Code in Software Development
Blog RSS feed
Not only does bad code cost companies millions of dollars, but countless hours of lost time, productivity, and brand reputation too. By acknowledging the existence of bad code and implementing proactive measures to mitigate its impact, developers and organizations can steer software toward success.
1年前
記事のアイキャッチ画像
Secrets Detection
Blog RSS feed
What are hard coded secrets? Why do you care if secrets are hidden in your code? How does Sonar help prevent secrets from getting into your code, entering your repository, and leaking out from your CI/CD pipeline? In this post, Product Manager, Alex Gigleux, answers all your questions.
1年前
記事のアイキャッチ画像
Sonar is “On the Radar”: New Omdia Report
Blog RSS feed
Omdia — an analyst firm that provides decades of industry experience, world-class research and consultancy, and actionable insights in over 200 markets — has published research about Sonar, our solutions, and recent innovations of deeper SAST and zero-configuration automatic analysis for C/C++. The research digs into why Sonar should be on your radar and also takes a look at the market view as well as from a current positioning.
1年前
記事のアイキャッチ画像
Visual Studio Code Security: Finding New Vulnerabilities in the NPM Integration (3/3)
Blog RSS feed
It's time to wrap up our series on the security of Visual Studio Code with new vulnerabilities in the NPM integration, bypassing the Workspace Trust security feature.
1年前
記事のアイキャッチ画像
Top issues in Java projects
Blog RSS feed
Let's dig into the projects using Java as language and see, according to what SonarQube for IDE telemetry shows, that there are still lots of issues that appear in the huge list of analyzed projects.
1年前
記事のアイキャッチ画像
SonarQube Server 10.3 Release Announcement
Blog RSS feed
The new SonarQube Server 10.3 release is out now, including Secrets Detection at the Source, Clean Code Taxonomy & Clean as You Code Updates, Automate Provisioning GitHub Projects and Teams, 2023 CWE Top 25 Report, the Blazor Framework, and Stronger Security.
1年前
記事のアイキャッチ画像
+Visual Studio Code Security: Markdown Vulnerabilities in Third-Party Extensions (2/3)
Blog RSS feed
We took a look at the security of the most popular code editor, Visual Studio Code! This blog post covers vulnerabilities our researchers discovered in third-party extensions.
1年前
記事のアイキャッチ画像
Sonar's Scoring on the Top 3 C# SAST Benchmarks
Blog RSS feed
Sonar's Scoring on the Top 3 C# SAST Benchmarks
1年前
記事のアイキャッチ画像
Visual Studio Code Security: Deep Dive into Your Favorite Editor (1/3)
Blog RSS feed
We took a look at the security of the most popular code editor, Visual Studio Code! This blog post covers common risks and attack surfaces so you know what to expect when using it.
1年前
記事のアイキャッチ画像
Linux Foundation Chat: Open Source & Clean Code
Blog RSS feed
Linux Foundation Executive Director Jim Zemlin joins Sonar Founder and co-CEO Olivier Gaudin to discuss Clean Code, open-source development, cybersecurity, and more!
1年前
記事のアイキャッチ画像
BlogPost | 9 Steps to get the most out of your SonarQube Cloud Trial
Blog RSS feed
To maximize the benefits of your SonarQube Cloud trial, it's essential to approach the trial with a clear plan. Start a 14-day trial for your private projects & repositories completely free to get all the features of the application that you can get as a paid subscription.
1年前
BlogPost | Shifting Right for Secure Platforms and DevOps
Blog RSS feed
Dev tooling is not only helping shift issues left, but the tools also help identify issues that happen later, or to the right, in the development lifecycle. Like detecting secrets before they go into production or platform configuration issues.
1年前
記事のアイキャッチ画像
BlogPost | Highlights from Hexacon 2023
Blog RSS feed
Last week, members of our AppSec and Vulnerability Research teams attended the Hexacon in Paris to learn, share, and network. Read more about our highlights.
1年前
記事のアイキャッチ画像
What is Clean Code?
Blog RSS feed
+If you’ve followed us for a while, you most likely noticed that we changed the way we describe what we do. It feels like in the last couple of years, we finally managed to settle on what we had been looking for from the beginning: Clean Code. But what is Clean Code, and what does it encompass?
1年前
記事のアイキャッチ画像
Security Vulnerabilities in CasaOS
Blog RSS feed
+We recently uncovered two critical code vulnerabilities in the personal cloud system CasaOS. Let's see what we can learn from them.
1年前
記事のアイキャッチ画像
Java SAST Benchmarks: why you shouldn't trust them blindly
Blog RSS feed
Java SAST Benchmarks: why you shouldn't trust them blindly
1年前
記事のアイキャッチ画像
Interview with Sonar Java Enthusiasts
Blog RSS feed
Interview with Sonar Java Enthusiasts
1年前
記事のアイキャッチ画像
ISMG Interview - Securing Applications, Accelerating DevOps with Clean Code
Blog RSS feed
Sonar founder and co-CEO, Olivier Gaudin, sits down with ISMG's Tom Field at Black Hat USA 2023 to discuss how development can be improved to avoid security issues.
1年前
記事のアイキャッチ画像
Why I’m passionate about Static Analysis and how I helped make it better
Blog RSS feed
Why I’m passionate about Static Analysis and how I helped make it better
1年前
記事のアイキャッチ画像
A comprehensive guide to the dangers of Regular Expressions in JavaScript
Blog RSS feed
A deep investigation into regular expression denial of service (ReDoS) vulnerabilities in JavaScript
1年前
記事のアイキャッチ画像
Unzipping Dangers: OpenRefine Zip Slip Vulnerability
Blog RSS feed
Extracting archives can be very dangerous. Read more about a critical Zip Slip vulnerability SonarQube Cloud detected in the open-source application OpenRefine.
1年前
記事のアイキャッチ画像
Open Source Summit 2023
Blog RSS feed
Open Source Summit 2023
1年前
記事のアイキャッチ画像
+Sonar's Scoring on the Top 3 Java SAST Benchmarks
Blog RSS feed
Enhancing SAST Detection: Sonar's Scoring on the Top 3 Java SAST Benchmarks
1年前
記事のアイキャッチ画像
Source Code at Risk: Critical Code Vulnerability in CI/CD Platform TeamCity
Blog RSS feed
+Our Vulnerability Research team discovered a critical vulnerability in the popular CI/CD server TeamCity, which attackers could use to steal source code and poison build artifacts.
1年前
記事のアイキャッチ画像
5 Clean Code Tips for Reducing Cognitive Complexity
Blog RSS feed
+Understanding how Cognitive Complexity works will help guide you on where to focus your time. This blog dives into how this Sonar-exclusive metric was formulated to accurately measure the relative understandability of methods.
1年前
記事のアイキャッチ画像
Remote Code Execution in Tutanota Desktop due to Code Flaw
Blog RSS feed
+Our Research team discovered critical code vulnerabilities in Proton Mail, Skiff, and Tutanota. This post covers an XSS vulnerability in Tutanota Desktop and how it can be prevented.
1年前
記事のアイキャッチ画像
The new JDK LTS is out! Long live JDK 21!
Blog RSS feed
Let's check what the new Java JDK21 LTS brings
1年前
記事のアイキャッチ画像
Enhancing Software Development Practices through SonarQube Server: A Path to Continuous Learning
Blog RSS feed
With SonarQube Server, organizations can readily deploy workflows integrated directly into their pipelines to build on their teams’ skill sets and create resiliency to new risks.
1年前
記事のアイキャッチ画像
Typing your JavaScript without writing TypeScript
Blog RSS feed
TypeScript already understands JavaScript, but you can get more out of it when you add types to your JavaScript with JSDoc or TypeScript declaration files
1年前
記事のアイキャッチ画像
Code Vulnerabilities Put Skiff Emails at Risk
Blog RSS feed
Our Research team discovered critical code vulnerabilities in Proton Mail, Skiff, and Tutanota. This post covers the technical details of the XSS vulnerability in Skiff.
1年前
記事のアイキャッチ画像
+Security Guy TV Interview - Going Deeper with SAST and Clean Code
Blog RSS feed
Sonar CEO, Olivier Gaudin, and Head of Research and Development, Johannes Dahse, meet with Security Guy TV’s Chuck Harold to discuss deeper SAST and the importance of Clean Code.
1年前
記事のアイキャッチ画像
Get the benefits of TypeScript in your JavaScript
Blog RSS feed
+Let's dive into what you can do to get more and more of TypeScript's benefits in your JavaScript projects.
1年前
記事のアイキャッチ画像
Introducing SonarQube Server 10.2: Setting New Standards in Code Quality and Security
Blog RSS feed
Discover the new features in SonarQube Server 10.2!
1年前
記事のアイキャッチ画像
Code Vulnerabilities Put Proton Mails at Risk
Blog RSS feed
The Sonar Research team discovered critical code vulnerabilities in Proton Mail, Skiff and Tutanota. This post covers the technical details of the XSS vulnerability in Proton Mail.
1年前
Playing Dominos with Moodle's Security (2/2)
Blog RSS feed
Our security researchers recently discovered two critical vulnerabilities in Moodle that leverage the use of not impactful bugs.
1年前
記事のアイキャッチ画像
Enhancing SAST Detection: Leveraging Benchmarks for Measuring Progress
Blog RSS feed
Enhancing Static Application Security Testing SAST, leverage benchmarks for tracking our progress.
1年前
記事のアイキャッチ画像
Playing Dominos with Moodle's Security (1/2)
Blog RSS feed
Our security researchers recently discovered two critical vulnerabilities in Moodle that leverage the use of not impactful bugs.
1年前
記事のアイキャッチ画像
BlackHat 2023: Hackers, Casinos, and an Exciting Announcement
Blog RSS feed
The Sonar team of developers are just returning from their trip to Las Vegas where they attended BlackHat USA 2023. If you were not able to make it, here is what you missed.
1年前
記事のアイキャッチ画像
What is deeper SAST in JavaScript?
Blog RSS feed
What is SAST, what does deeper SAST mean, and how does this apply to your JavaScript and TypeScript applications?
1年前
記事のアイキャッチ画像
Patches, Collisions, and Root Shells: A Pwn2Own Adventure
Blog RSS feed
We dive into the technical details of the vulnerabilities we identified as part of last year's Pwn2Own competition.
1年前
記事のアイキャッチ画像
+No, C++ static analysis does not have to be painful
Blog RSS feed
No C and C++ static analysis does not need to mean difficult configuration and pain. We explain how Sonar has made the impossible possible with one-click analysis for projects hosted in GitHub. A free automatic analysis of C and C++ projects.
1年前
記事のアイキャッチ画像
WeAreDevelopers 2023 - what did you miss?
Blog RSS feed
The Sonar team of developers are just returning from their trip to Berlin where they attended WeAreDevelopers 2023. If you were not able to make it, here is what you missed.
1年前
記事のアイキャッチ画像
Uncovering hidden security vulnerabilities with deeper SAST
Blog RSS feed
+Uncovering security vulnerabilities is particularly challenging because these issues can be complex and deeply hidden when your code uses and interacts with third-party dependency code. We are excited to share more about a major breakthrough in our detection of deeply hidden security vulnerabilities that traditional tools cannot detect.
1年前
記事のアイキャッチ画像
Working with Multiple Code Variants in C++
Blog RSS feed
+Multiple variants of C++ code-bases at build time are a necessary evil on most projects - even if that's just debug and release. This has always made analysis more complex. But now, with first class support in SonarQube Server, multiple code variants are easier to analyze and understand.
2年前
記事のアイキャッチ画像
A Twist in the Code: OpenMeetings Vulnerabilities through Unexpected Application State
+Blog RSS feed
Unexpected application states are often overlooked and can introduce severe security vulnerabilities. Read more about this real-world example.
2年前
記事のアイキャッチ画像
New Research from Sonar on Cost of Technical Debt
Blog RSS feed
+New original research from Sonar puts a spotlight on the millions of dollars that businesses lose when they fail to implement an optimal approach for software development.
2年前
記事のアイキャッチ画像
How Sonar Developer Advocates got started in their careers
Blog RSS feed
Interviews with Sonar’s Developer Advocates on their careers and what Clean Code means to them.
2年前
記事のアイキャッチ画像
Why SonarQube Server 9.9 LTS is a must-have for PHP Developers
Blog RSS feed
PHP analysis gets faster and better with new rules, fixed false-positives, and much more in SonarQube Server 9.9 LTS.
2年前
記事のアイキャッチ画像
TROOPERS 2023 Conference Takeaways
Blog RSS feed
Read about our key takeaways from the TROOPERS 2023 including our favorite talks and overall experience during the two days conference.
2年前
記事のアイキャッチ画像
TyphoonCon 2023 Wrap Up
Blog RSS feed
+Last week, our Vulnerability Researchers traveled to TyphoonCon 2023 in Seoul to present their talk "Patches, collisions and root shells: a Pwn2Own Adventure".
2年前
記事のアイキャッチ画像
Why ORMs and Prepared Statements Can't (Always) Win
Blog RSS feed
+We always assume prepared statements and ORMs are enough to protect us from SQL injection, but be careful not to misuse their APIs! Let's look into a real-world case and see what we can learn from it.
2年前
記事のアイキャッチ画像
Why SonarQube Server 9.9 LTS is a must-have for JavaScript and TypeScript Developers
Blog RSS feed
+Read about the new features of SonarQube Server 9.9 LTS which help JavaScript and TypeScript developers to write Clean Code.
2年前
記事のアイキャッチ画像
SonarQube Server 10.1 Release
Blog RSS feed
Smoother centralized access management with GitHub, multiple code variant analysis for C/C+, a big coverage boost in Java security, and more in the latest from SonarQube Server.
2年前
記事のアイキャッチ画像
Smarter Together: Fostering a culture of collaboration and growth at Sonar
Blog RSS feed
The Sonar culture is the shared vision, mission, values, and behaviors that make up our day-to-day experience at Sonar. Our goal as an organization is that our culture will unite and motivate SonarSourcers to work and grow together and achieve company goals while creating meaningful benevolent relationships. Discover more about our Smarter Together core value in this blog post.
2年前
記事のアイキャッチ画像
Sonar at JSNation 2023 in Amsterdam
Blog RSS feed
We take a look at our highlights from JSNation 2023 in Amsterdam, including our favourite talks, memorable conversations and key takeaways.
2年前
記事のアイキャッチ画像
What Mr. Miyagi can teach you about writing Clean Code
Blog RSS feed
Just like it's not enough to simply practice karate for Mr. Miyagi, it's not enough for Sonar to find and fix issues when guiding developers to practice Clean Code. Developers should be able to find, understand, and fix issues to write Clean Code optimally.
2年前
記事のアイキャッチ画像 +
Why SonarQube Server 9.9 LTS is a must-have for Java developers
Blog RSS feed
Explore the game-changing features of SonarQube Server 9.9 LTS, empowering Java developers to write Clean Code with enhanced speed and precision.
2年前
記事のアイキャッチ画像
Hands on with the Node.js test runner
Blog RSS feed
Node.js released an experimental test runner in version 18 and made that test runner stable in version 20. What does that mean for us as JavaScript developers?
2年前
記事のアイキャッチ画像
Reflections from OffensiveCon 2023
Blog RSS feed
Our Vulnerability Researchers are just returning from their trip to Berlin where they attended OffensiveCon 2023! Here's what they loved about the event.
2年前
記事のアイキャッチ画像
Sonar and HashiCorp Partner to Deliver Clean Terraform Code & Good Vibes
Blog RSS feed
Learn about the Sonar - HashiCorp partnership and the SonarQube Cloud Terraform Cloud integration.
2年前
+記事のアイキャッチ画像
SonarQube for IDE supports Go analysis!
Blog RSS feed
SonarQube for IDE supports Go analysis!
2年前
記事のアイキャッチ画像
Pimcore: One click, two security vulnerabilities
Blog RSS feed
We discovered two vulnerabilities in Pimcore that could be chained together in one GET request to achieve RCE.
2年前
記事のアイキャッチ画像
Is Clean Code the solution to Jupyter notebook code quality?
Blog RSS feed
Is Clean Code the solution to Jupyter notebook code quality?
2年前
記事のアイキャッチ画像
ES2023 introduces new array copying methods to JavaScript
Blog RSS feed
There are new array methods in JavaScript and they are here to make our programs more predictable and maintainable.
2年前
CNCF Silver membership
Blog RSS feed
Sonar becomes Silver member of the Cloud native computing foundation
2年前
記事のアイキャッチ画像
Why SonarQube Server 9.9 LTS is a must-have for Python developers
Blog RSS feed
+Learn about the changes in SonarQube Server 9.9 LTS that help Python developers write Clean Code.
2年前
記事のアイキャッチ画像
Weird Python: 5 Unexpected Behaviors in the Python Interpreter
Blog RSS feed
Five ways in which Python's interpreter behaves in ways that you wouldn't expect.
2年前
記事のアイキャッチ画像
Reflections from DevNexus, the largest Java conference in the U.S.A.
Blog RSS feed
Reflections from DevNexus, the largest Java conference in the U.S.A.
2年前
記事のアイキャッチ画像 +
Interview with Sonar Python Developers Part 2
Blog RSS feed
Latest Python developments. Interview with Python developers from Sonar.
2年前
記事のアイキャッチ画像
Odoo: Get your Content Type right, or else!
Blog RSS feed
+What do we need content types for anyway? Let's look into how an incorrect content type led to a real-world vulnerability in Odoo, CVE-2023-1434.
2年前
記事のアイキャッチ画像
Interview with Sonar Python Developers Part 1
Blog RSS feed
Why should I learn Python language? When should I use Python? Is tooling around Python development mature?
2年前
記事のアイキャッチ画像
Sonar Compiler Explorer: Write clean C++ code inside your browser
Blog RSS feed
Sonar ❤️ Compiler Explorer: Write clean C++ code inside your browser
2年前
Pretalx Vulnerabilities: How to get accepted at every conference
Blog RSS feed
We recently discovered two vulnerabilities in pretalx and found a generic technique to gain code execution from a file write.
2年前
記事のアイキャッチ画像
+Another 9 reasons to upgrade to SonarQube Server 9.9 LTS
Blog RSS feed
SonarQube Server 9.9 LTS is here! We're back with another 9 reasons you should prioritise upgrading as soon as possible.
2年前
記事のアイキャッチ画像
How bad code destroys developer velocity
Blog RSS feed
+When bad code gets overlooked, it can create lasting problems and ultimately impact developer productivity and velocity.
2年前
記事のアイキャッチ画像
Announcing SonarQube Server 10.0
Blog RSS feed
Learn what features - like faster first analysis and better user management with SCIM - are available to you and your teams in SonarQube Server 10.0!
2年前
記事のアイキャッチ画像
It’s a (SNMP) Trap: Gaining Code Execution on LibreNMS
Blog RSS feed
Our researchers discovered a vulnerability in LibreNMS, which could be exploited by attackers to gain RCE by sending a single SNMP trap.
2年前
記事のアイキャッチ画像
Sonar is the Clean Code solution for your DevOps workflow
Blog RSS feed
Clean Code from Sonar aims to streamline your DevOps workflow so that your organization can yield the best possible results from your software.
2年前
記事のアイキャッチ画像
+Your Guide to Clean Code in Cloud Native Apps
Blog RSS feed
Companies are adopting cloud native practices because it puts their core business first and affords them speed and efficiency advantages over the competition. However, reaping these rewards requires a solid, sustainable foundation - a Clean Code foundation.
2年前
記事のアイキャッチ画像
The top 5 common TypeScript issues found by SonarQube for IDE
Blog RSS feed
We crunched the data from SonarQube for IDE to discover the top 5 most common TypeScript issues. This is a summary of the top 5
2年前
記事のアイキャッチ画像
Cloud native features in SonarQube Server 9.9 LTS
Blog RSS feed
+The best LTS ever - SonarQube Server v9.9 - packed together a lot of new features and functionality. Read more to learn about the cloud native, IaC and serverless analysis capabilities included in the LTS.
2年前
記事のアイキャッチ画像
9 more reasons to upgrade to SonarQube Server 9.9 LTS
Blog RSS feed
+SonarQube Server 9.9 LTS is here! Not every improvement could be mentioned in the release announcement, so check out these LTS easter eggs that make this the Best LTS Ever.
2年前
記事のアイキャッチ画像
Common TypeScript Issues Nº 1: assignments within sub-expressions
Blog RSS feed
+We crunched the data from SonarQube for IDE to discover the top 5 most common TypeScript issues. In this 5 part series, we outline each issue and how to avoid it.
2年前
記事のアイキャッチ画像
Celebrating International Women's Day with the women of Sonar
Blog RSS feed
Sonar is celebrating International Women's Day (March 8) with interviews from women across our many teams about their careers in technology.
2年前
記事のアイキャッチ画像
SonarQube Server LTS Upgrade Checklist
Blog RSS feed
A checklist to help you upgrade to SonarQube Server LTS
2年前
記事のアイキャッチ画像
Common TypeScript Issues Nº 2: non-empty statements
Blog RSS feed
We crunched the data from SonarQube for IDE to discover the top 5 most common TypeScript issues. In this 5 part series, we outline each issue and how to avoid it.
2年前
記事のアイキャッチ画像
Empowering weak primitives: file truncation to code execution with Git
Blog RSS feed
Let's dive into how a seemingly minor code vulnerability can hide a critical impact!
2年前
記事のアイキャッチ画像
The Best Approach to Writing Secure Cloud Native Apps
Blog RSS feed
With Sonar and the Clean as You Code methodology, developers can directly impact the security of the cloud native apps they create.
2年前
記事のアイキャッチ画像
Common TypeScript Issues Nº 3: unused local variables and functions
Blog RSS feed
+We crunched the data from SonarQube for IDE to discover the top 5 most common TypeScript issues. In this 5 part series, we outline each issue and how to avoid it.
2年前
記事のアイキャッチ画像
Increase developer velocity today with Clean as You Code
Blog RSS feed
The Clean as You Code methodology allows developers to keep working on new and interesting projects without sacrificing quality or getting bogged down in refactoring legacy code.
2年前
記事のアイキャッチ画像
We are Sonar!
Blog RSS feed
Culture is a key aspect of working at Sonar. It is our binding agent; it is what we value, what we believe in, the way we work, and the way we interact. It is what makes us SonarSourcers!
2年前
記事のアイキャッチ画像
Common TypeScript Issues Nº 4: Don't create and drop objects immediately
Blog RSS feed
We crunched the data from SonarQube for IDE to discover the top 5 most common TypeScript issues. In this 5 part series, we outline each issue and how to avoid it.
2年前
記事のアイキャッチ画像
SonarQube Server 9.9 LTS
Blog RSS feed
Big year, big announcement – the most anticipated SonarQube Server 9.9 Long-Term-Support release is here! Check out this post for all details.
2年前
記事のアイキャッチ画像
Common TypeScript Issues Nº 5: Optional property declarations
Blog RSS feed
+
We crunched the data from SonarQube for IDE to discover the top 5 most common TypeScript issues. In this 5 part series, we outline each issue and how to avoid it.
2年前
記事のアイキャッチ画像
OpenEMR - Remote Code Execution in your Healthcare System
Blog RSS feed
+We recently discovered three vulnerabilities that allow arbitrary code execution on OpenEMR. Let’s see what we can learn from them and discuss their patches!
2年前
記事のアイキャッチ画像
Vulnerability Research Highlights 2022
Blog RSS feed
Our research team looks back at a great year and summarizes the highlights of their vulnerability research in 2022.
2年前
記事のアイキャッチ画像
Level up your team's skills as they code
Blog RSS feed
Clear context and specific education for why an issue occurs and how to fix it should be by the developers’ side without leaving the development workflow. Sonar has your answer.
2年前
Lesser spotted React mistakes: What are we even rendering?
Blog RSS feed
This series is dedicated to the small, but common pitfalls and errors you can encounter when writing React code.Whether an experienced JavaScript | TypeScript developer or just starting out, the results can be surprising.
2年前
記事のアイキャッチ画像
Cacti: Unauthenticated Remote Code Execution
Blog RSS feed
Learn how we discovered a critical vulnerability in Cacti with the help of SonarQube Cloud.
2年前
記事のアイキャッチ画像
SonarQube Server 9.8 is here!
Blog RSS feed
+The latest version of SonarQube Server from Sonar has arrived. Check out what’s new in SonarQube Server 9.8 in this quick video and download it now.
2年前
記事のアイキャッチ画像
Develop Your Cloud Native Apps the Sustainable Way
Blog RSS feed
+Application development using cloud native technologies is a game changer for developers. With a robust, maintainable codebase, they are positioned to do their best work. Learn how Sonar has the clean code game plan to perfectly complement your cloud native initiatives.
2年前
記事のアイキャッチ画像
Sonar @ Pwn2Own Toronto 2022
Blog RSS feed
+Members of the Sonar Vulnerability Research team remotely participated in Pwn2Own Toronto 2022. This competition is quite special for us: we usually focus on code vulnerabilities in open-source web application projects.
2年前
記事のアイキャッチ画像
How to enable your development team to deliver Clean Code?
Blog RSS feed
+Regardless of the company we work for, the project we contribute to, or our years of experience as individual developers or as a team, we inevitably make mistakes while coding. On average, a development team generates about 15 to 50 errors per 1,000 lines of delivered code.
2年前
記事のアイキャッチ画像
Scaling Clean Code Across the Enterprise
Blog RSS feed
+Code is at the core of your software and dictates its behavior and performance. Clean code makes it easier for your development teams to introduce changes and enhancements to software because it is free of issues.
2年前
記事のアイキャッチ画像
What I learned from using SonarQube Server for the first time
Blog RSS feed
+In this blog, I will share the story of how I got introduced to SonarQube Server and made use of it as a team lead. I will explain how it helped us improve our code, and also assisted me in growing a team of junior developers with a Clean Code companion by their side.
2年前
記事のアイキャッチ画像
Code Security Advent Calendar 2022
Blog RSS feed
+The year is slowly coming to an end and it’s time again to look back and reflect on the great fun and achievements of the year. This is where we would like to thank our community and share a little gift, as we do every December since 2016.
2年前
記事のアイキャッチ画像
Lesser spotted React mistakes: Zombie methods
Blog RSS feed
+This series is dedicated to the small, but common pitfalls and errors you can encounter when writing React code.Whether an experienced JavaScript | TypeScript developer or just starting out, the results can be surprising. Part 2.
2年前
記事のアイキャッチ画像
Doing More with Less in Uncertain Times
Blog RSS feed
+Even though efficiency of all work processes is a goal of any business striving for success, it is even more of a challenge given the current economic climate. This bar shifts higher every day.
2年前
記事のアイキャッチ画像
Checkmk: Remote Code Execution by Chaining Multiple Bugs (3/3)
Blog RSS feed
This last article of the series determines how an attacker can chain two further vulnerabilities to fully take over a Checkmk server.
2年前 +
記事のアイキャッチ画像
A Look Back at KubeCon 2022
Blog RSS feed
The Sonar Team had a great time sponsoring KubeCon 2022 in Detroit. Read about our takeaways from the event...
2年前
記事のアイキャッチ画像
Checkmk: Remote Code Execution by Chaining Multiple Bugs (2/3)
Blog RSS feed
The second article of this series outlines how an attacker can leverage the ability to forge arbitrary LQL queries to gain access to the NagVis component.
2年前
記事のアイキャッチ画像
Checkmk: Remote Code Execution by Chaining Multiple Bugs (1/3)
Blog RSS feed
We discovered multiple vulnerabilities in Checkmk, which can be chained together by an unauthenticated, remote attacker to fully take over a vulnerable server.
2年前
記事のアイキャッチ画像
Beyond the Rules of Three, Five and Zero
Blog RSS feed
After examining the Rules of Three, Five, and Zero, part 2 of this series looks at the exceptions that prove the rule(s). Some of them may surprise you (no, really)!
2年前
記事のアイキャッチ画像
Bits from Hexacon 2022
Blog RSS feed
Our AppSec and Vulnerability Research teams had a great time at Hexacon 2022, here's what we enjoyed!
2年前
記事のアイキャッチ画像
Lesser spotted React mistakes: Hooked on a feeling
Blog RSS feed
This series is dedicated to the small, but common pitfalls and errors you can encounter when writing React code.Whether an experienced JavaScript | TypeScript developer or just starting out, the results can be surprising.
2年前
記事のアイキャッチ画像
+SonarQube Server 9.7 is here!
Blog RSS feed
Check out what’s new in SonarQube Server 9.7 in this quick video.
2年前
記事のアイキャッチ画像
Remote Code Execution in Melis Platform
Blog RSS feed
+We come back on a critical deserialization vulnerability identified by our SAST engine in the software Melis Platform. Let’s look at how it works under the hood and how we confirmed its exploitability.
2年前
記事のアイキャッチ画像
Bad code costs more than just your money
Blog RSS feed
Bad code doesn’t just disappear and the consequences of overlooking it can be costly.
2年前
+
記事のアイキャッチ画像
The Rules of Three, Five and Zero
Blog RSS feed
The Rule of Three was coined back in 1991. That expanded to the Rule of Five with C++11's move semantics - and even that was then subsumed by The Rule of Zero. But what are all these rules? And do we have to follow them?
2年前
記事のアイキャッチ画像
Five SonarQube Cloud features for developers that want Clean Code
Blog RSS feed
Whether you’re working on a new project or an existing one, you might think of Clean Code as an ideal, somewhere far out of reach. Let’s go over 5 key features that make SonarQube Cloud the perfect tool for developers and development teams to deliver Clean Code consistently and efficiently, without disrupting the existing development workflow.
2年前
記事のアイキャッチ画像
Securing Developer Tools: A New Supply Chain Attack on PHP
Blog RSS feed
What is your worst supply chain nightmare and why is it somebody that could take over all the PHP packages at once? Let's deep dive into how we could demonstrate it!
2年前
Our journey toward accessibility
Blog RSS feed
When you think about your typical workday, how much time do you spend working on a computer? How hard would it be for you to perform your job if you did not have access to a computer?
2年前
記事のアイキャッチ画像
+Securing Developer Tools: OneDev Remote Code Execution
Blog RSS feed
We recently discovered several vulnerabilities in OneDev 7.2.9 that allowed attackers to fully compromise a server and even break out of a Docker environment.
2年前
記事のアイキャッチ画像
Interview with a SonarSource Developer
Blog RSS feed
+Curious about life as a Developer at SonarSource? Join us as we discuss changes in the world of programming, the importance of Security, and writing code with SonarQube Cloud Backend Developer Claire Villard.
2年前
記事のアイキャッチ画像
Why the Power of Clean Code is Important
Blog RSS feed
Clean Code—a term you may have casually used or heard before but may not have synthesized or internalized its true essence. In this post, learn what Clean Code is and why it matters.
2年前
記事のアイキャッチ画像
WordPress Core - Unauthenticated Blind SSRF
Blog RSS feed
Our security researchers were surprised to discover a low-hanging code vulnerability in WordPress Core that we will discuss in this blog post.
2年前
+記事のアイキャッチ画像
You’re 3 minutes away from clean Java pull requests!
Blog RSS feed
In this blog, we demonstrate how you can get started with SonarQube Cloud in less than 3 minutes and ensure all new Java pull requests are clean, every time.
2年前
記事のアイキャッチ画像
Sonar Streamlines the Race to Release
Blog RSS feed
Knowing if your latest release candidate is built with clean code doesn’t have to be a guessing game. With Sonar at your side, you’ll know that every new line, every PR and every build is clean.
2年前
記事のアイキャッチ画像
Securing Developer Tools: Argument Injection in Visual Studio Code
Blog RSS feed
In the third part of our Securing Developer Tools series, we look at a critical vulnerability that affects one of the most popular code editors: Visual Studio Code.
2年前
記事のアイキャッチ画像
Security Implications of URL Parsing Differentials
Blog RSS feed
+Our security research led to the discovery of a flaw in a popular Apache2 authentication module. We come back on this case of parsing differential and how various languages behave when working with URLs.
2年前
記事のアイキャッチ画像
Disclosing information with a side-channel in Django
Blog RSS feed
+We recently found a vulnerability in Django that allows us to disclose sensitive information. Let’s review the root cause, exploiting technique, and patch.
3年前
記事のアイキャッチ画像
Remote Code Execution via Prototype Pollution in Blitz.js
Blog RSS feed
We recently discovered a Prototype Pollution vulnerability in Blitz.js leading to Remote Code Execution. Learn about this bug class and how to avoid it in your code!
3年前
記事のアイキャッチ画像
Unrar Path Traversal Vulnerability affects Zimbra Mail
Blog RSS feed
We discovered a vulnerability in Zimbra Enterprise Email that allows an unauthenticated, remote attacker fully take over Zimbra instances via a flaw in unrar.
3年前
記事のアイキャッチ画像
Zimbra Email - Stealing Clear-Text Credentials via Memcache injection
Blog RSS feed
We discovered flaws in Zimbra, an enterprise email solution, that allow attackers to steal credentials of users and gain access to their email accounts.
3年前
Sonar’s analysis performance targets
Blog RSS feed
We've finally defined our own performance goals for analysis - so that we're no longer subjecting ourselves to apples-to-oranges comparisons with tools that may not have the same goals or outcomes. Now, we can clearly state what you can expect from analysis, and how long analysis of a project should take under standardized conditions.
3年前
記事のアイキャッチ画像
Horde Webmail - Remote Code Execution via Email
Blog RSS feed
We discovered vulnerabilities in Horde Webmail that allow an attacker to execute arbitrary code on Horde instances by having a victim open an email
3年前
記事のアイキャッチ画像
Path Traversal Vulnerabilities in Icinga Web
Blog RSS feed
We recently discovered two critical vulnerabilities in the IT monitoring dashboard Icinga Web. Let’s review their respective root cause and their patches!
3年前
記事のアイキャッチ画像
A C&C++ tour of SonarQube for IDE: Visual Studio Code
Blog RSS feed
+VS Code has been gaining popularity for C and C++ development. We are happy to announce that finally, we will be able to help you write clean C and C++ code in VS Code.
3年前
記事のアイキャッチ画像
RainLoop Webmail - Emails at Risk due to Code Flaw
Blog RSS feed
We recently discovered a critical code vulnerability in RainLoop Webmail that allows attackers to steal all emails by sending a malicious mail.
3年前
記事のアイキャッチ画像
PHP Supply Chain Attack on PEAR
Blog RSS feed
For the second time in a year, we identified critical code vulnerabilities in a central component of the PHP supply chain. Let's dive into it!
3年前
記事のアイキャッチ画像
Clean Your Infrastructure Code with Sonar
Blog RSS feed
The norm for setting up your cloud-native app infrastructure is quickly becoming Infrastructure as Code (IaC). In this blog, we’ll cover how Sonar is the solution for safeguarding your IaC invoked infrastructure.
3年前
記事のアイキャッチ画像
+Securing Developer Tools: Git Integrations
Blog RSS feed
With this series, we present the results of our research on the security of popular developer tools with the goal of making this ecosystem safer: today’s article revisits Git integrations.
3年前
記事のアイキャッチ画像
Securing Developer Tools: Package Managers
Blog RSS feed
+Yarn, Pip, Composer & friends: Learn about 3 types of vulnerabilities we found in popular package managers that can be used by attackers to target developers.
3年前
記事のアイキャッチ画像
5 things to consider in performance comparisons
Blog RSS feed
+When talking about static analysis and/or SAST performance comparisons - or really, comparisons of any kind of performance - what criteria do you consider? Maybe it was fast, but what did it accomplish? Here's what you ought to look at when you compare performance.
3年前
記事のアイキャッチ画像
Review your security vulnerabilities in GitHub with code scanning alerts
Blog RSS feed
+We’re happy to announce that SonarQube Cloud integrates with GitHub code scanning! It’s available to everyone with a GitHub repository - private or public - independently of your SonarQube Cloud plan. If you have access to the feature on GiHub and your organization admin already accepted the update for the SonarQube Cloud app permissions, you’re all set! You should be able to start using the feature during your next code review.
3年前
記事のアイキャッチ画像
Horde Webmail 5.2.22 - Account Takeover via Email
Blog RSS feed
We recently discovered a code vulnerability in Horde Webmail that can be used by attackers to take over email accounts by sending a malicious email.
3年前
記事のアイキャッチ画像
Zabbix - A Case Study of Unsafe Session Storage
Blog RSS feed
+In this article we discuss the security of client-side session storages and analyze a vulnerable implementation in the IT monitoring solution Zabbix.
3年前
記事のアイキャッチ画像
WordPress < 5.8.3 - Object Injection Vulnerability
Blog RSS feed
We discovered an interesting code vulnerability that could be used to bypass hardening mechanisms in the popular WordPress CMS.
3年前
+
記事のアイキャッチ画像
How to disable XXE processing?
Blog RSS feed
In this post, we will see how to completely disable external entities declaration and expansion, offering a quick and safe solution.
3年前
記事のアイキャッチ画像
Don't be afraid of XXE vulnerabilities: understand the beast and how to detect them
Blog RSS feed
Today XML External Entities (XXE) vulnerabilities are still ubiquitous, despite the fact that recommendations to protect against them have been an integral part of security standards for years. In this post, we will try to demystify XXE vulnerabilities and present the rule we put in place to help you detect and prevent them.
3年前
記事のアイキャッチ画像
WordPress 5.8.2 Stored XSS Vulnerability
Blog RSS feed
We reported a Stored XSS vulnerability in WordPress (CVE-2022-21662) which remained unpatched for more than 3 years and affected the wordpress.org website.
3年前
記事のアイキャッチ画像
Vulnerability Research Highlights 2021
Blog RSS feed
Our research team looks back at a great year and summarizes the highlights of their vulnerability research in 2021.
3年前
記事のアイキャッチ画像
Modernizing your code with C++20
Blog RSS feed
+C++20 is here! It's a big release with many features designed to make your code easier, faster and safer. Let's see how the latest C++ analysis rules in SonarQube for IDE, SonarQube Server and SonarQube Cloud can help us modernize our code to take advantage of some of the new features.
3年前
記事のアイキャッチ画像
NodeBB 1.18.4 - Remote Code Execution With One Shot
Blog RSS feed
+We recently discovered three interesting code vulnerabilities in NodeBB 1.18.4, allowing attackers to compromise servers. Find out about the details in this article!
3年前
記事のアイキャッチ画像
Code Security Advent Calendar 2021
Blog RSS feed
Our code security advent calendar is back for the sixth consecutive year. We will release daily challenges until December 24th, get ready to fill your bag of tricks!
3年前
記事のアイキャッチ画像
10 Unknown Security Pitfalls for Python
Blog RSS feed
In this blog post, we share 10 security pitfalls for Python developers that we encountered in real-world projects.
3年前
記事のアイキャッチ画像
Agent 008: Chaining Vulnerabilities to Compromise GoCD
Blog RSS feed
We discovered 3 more code vulnerabilities in the popular GoCD CI/CD system that can be chained by attackers to leak or modify internal code. Learn more in this blog post.
3年前
記事のアイキャッチ画像
SmartStoreNET - Malicious Message leading to E-Commerce Takeover
Blog RSS feed
Check out the details of a Cross-Site Scripting bug in the BBCode processing in SmartStoreNET and how it can be chained into arbitrary code execution!
3年前
記事のアイキャッチ画像
Agent 007: Pre-Auth Takeover of Build Pipelines in GoCD
Blog RSS feed
+
We recently discovered critical security issues in the popular CI/CD solution GoCD that can be exploited by unauthenticated attackers
3年前
記事のアイキャッチ画像
Meet the new project experience for SonarQube Cloud
Blog RSS feed
We are very pleased to announce that we have released a new project experience. It’s now available in SonarQube Cloud for all users. You’ll notice a few improvements the next time you open SonarQube Cloud.
3年前
記事のアイキャッチ画像
Squirrel Sandbox Escape allows Code Execution in Games and Cloud Services
Blog RSS feed
We discovered and reported a vulnerability in the Squirrel VM, written in C, that allows an attacker to escape the sandbox.
3年前
記事のアイキャッチ画像
Supercharge your C++ analysis with SonarQube for IDE for CLion
Blog RSS feed
This article talks about the powerful capabilities of the C++ analyzer with SonarQube for IDE and highlights some unique and interesting quality and security rules you might find useful. Through that lens, we demonstrate how you can leverage these rules to elevate your CLion built-in static analysis capabilities for your C++ projects.
3年前
記事のアイキャッチ画像
Modernize Code Quality with ‘Quick Fixes’
Blog RSS feed
Boost your productivity by automatically applying fixes to repair code quality issues in your IDE with SonarQube for IDE.
3年前
記事のアイキャッチ画像
Cachet 2.4: Code Execution via Laravel Configuration Injection
Blog RSS feed
We responsibly disclosed three vulnerabilities in the open-source status page Cachet, allowing attackers to take over instances. Here are all the details!
3年前
記事のアイキャッチ画像
Product portals open: we want your input
Blog RSS feed
+
We've recently opened up product portals on Productboard. You'll find them for SonarQube Server, SonarQube Cloud, and SonarQube for IDE. Each one shows the features we're currently working on, the ones we've released recently, and the ones we're planning.
3年前
記事のアイキャッチ画像
Ghost CMS 4.3.2 - Cross-Origin Admin Takeover
Blog RSS feed
+We recently discovered an XSS vulnerability in the admin frontend of Ghost CMS 4.3.2. Find out the details and learn how to avoid such issues in your code!
3年前
記事のアイキャッチ画像
Compilation database: An alternative way to configure your C or C++ analysis
Blog RSS feed
+Analyzing your C or C++ code requires, in addition to the source code, the configuration that is used to build the code. Historically we have provided a tool to automate the extraction of this information, called the build wrapper. Recently we introduced another way to configure your analysis, the compilation database. Learn more about the pros and cons of each option.
3年前
記事のアイキャッチ画像
elFinder - A Case Study of Web File Manager Vulnerabilities
+Blog RSS feed
Our case study of elFinder 2.1.57 describes several critical code vulnerabilities commonly found in web file managers and how to patch them.
3年前
記事のアイキャッチ画像
Use 3rd-party plugins at your own risk
Blog RSS feed
+If you're using 3rd-party plugins for SonarQube Server, you're obviously already aware of the benefits. With this blog post, we want to make sure you're also aware of the risks. Because there are risks.
3年前
記事のアイキャッチ画像
Launching ‘Secret Detection’ to keep your Cloud ‘Secrets’ safe
Blog RSS feed
Learn how developers can safeguard their cloud 'secrets' from publicly leaking and take charge of their Code Security with SonarQube for IDE.
+
4年前
記事のアイキャッチ画像
How Clean Code Practices Help You Retain Your Development Talent
Blog RSS feed
It can be challenging to maintain good coding vibes when your team or company often prioritizes feature delivery over code quality. If your developers are never allowed the time to work on new and exciting things they may eventually find somewhere else to bring their coding talents to.
4年前
記事のアイキャッチ画像
Zimbra 8.8.15 - Webmail Compromise via Email
Blog RSS feed
We discovered critical code issues in Zimbra, a popular enterprise webmail solution, that could lead to a compromise of all emails by an unauthenticated attacker.
4年前
記事のアイキャッチ画像
Clean As You Code essentials - What are Quality Profiles and Quality Gates?
Blog RSS feed
Learn how the functionality of Quality Profiles and Quality Gates come together to enable the SonarSource Clean As You Code methodology.
4年前
記事のアイキャッチ画像
Etherpad 1.8.13 - Code Execution Vulnerabilities
Blog RSS feed
We discovered two code execution vulnerabilities that affected Etherpad servers and data. Learn more about the technical details and how to avoid such coding issues.
4年前
記事のアイキャッチ画像
Enterprise-ready: Authentication & Authorization with SonarQube Server (LDAP, SSO & more)
Blog RSS feed
Discover how SonarQube Server can integrate with your existing enterprise setup (LDAP, SSO & co.) for user authentication and authorization.
4年前
記事のアイキャッチ画像
CiviCRM 5.22.0 - Code Execution Vulnerability Chain Explained
Blog RSS feed
+We discovered critical code vulnerabilities in CiviCRM, a popular CRM plugin for Wordpress, Joomla and Drupal. Learn more about how to find and patch these issues.
4年前
記事のアイキャッチ画像
7 more reasons to upgrade to SonarQube Server 8.9 LTS
Blog RSS feed
SonarQube Server 8.9 LTS is here! Not every improvement could be mentioned in the release announcement, so check out these LTS easter eggs that make this the Best LTS Ever.
4年前
記事のアイキャッチ画像
Broken pipelines for everyone!
Blog RSS feed
With SonarQube Server 8.9 LTS, SonarSource has made failing the pipeline available for everyone, using any CI you want. But with great power comes ... well, you know. In this post you'll learn what went into the decision to make this available and what you'll want to watch out for when you use it.
4年前
記事のアイキャッチ画像
Grav CMS 1.7.10 - Code Execution Vulnerabilities
Blog RSS feed
We responsibly disclosed two code execution vulnerabilities in Grav CMS, one of the most popular flat-file PHP CMS in the market. Let’s see what we can learn from them and discuss their patches!
4年前
NoSQL Injections in Rocket.Chat 3.12.1: How A Small Leak Grounds A Rocket
Blog RSS feed
We recently discovered vulnerabilities in Rocket.Chat, a popular team communications solution, that could be used to take over Rock.Chat instances.
4年前
記事のアイキャッチ画像
+What to expect from JavaScript/TypeScript analysis on OWASP JuiceShop
Blog RSS feed
In April 2021, we updated our JavaScript and TypeScript SAST engines to explore more execution flows, increase performance and improve overall accuracy. It now goes far beyond what we did in the past for these languages. With this post, we’re going to tell you what you can expect for these languages, and more specifically which vulnerabilities can be detected.
4年前
記事のアイキャッチ画像
+SonarQube Server 8.9 LTS: 3 steps to a smooth upgrade
Blog RSS feed
SonarQube Server 8.9 Long Term Support (LTS) is officially here! Check out this list of tips & tricks on how to upgrade your environment from start to finish.
4年前
記事のアイキャッチ画像
PHP Supply Chain Attack on Composer
Blog RSS feed
+We recently discovered a vulnerability in Composer, the main package manager for PHP, and were able to use it to take over the central repository, packagist.org.
4年前
記事のアイキャッチ画像
WordPress 5.7 XXE Vulnerability
Blog RSS feed
In this blog post we analyze a XXE vulnerability that our analyzers discovered in WordPress, the most popular CMS, and what PHP 8 developers can learn from it.
4年前 +
記事のアイキャッチ画像
Code Vulnerabilities in NSA Application Revealed
Blog RSS feed
Our security research team discovered multiple code vulnerabilities in the NSA's Java application Emissary. Find out more about these issues and related attacks.
4年前
記事のアイキャッチ画像
Mono-repository support for Bitbucket Cloud now available for SonarQube Cloud!
Blog RSS feed
Last September, we announced that mono-repository support was added for GitHub and Azure DevOps Services. The good news is: mono-repository support is now also available for Bitbucket Cloud! See what it brings and how you can configure it in SonarQube Cloud.
4年前
記事のアイキャッチ画像
My Support Engineer Journey at SonarSource
Blog RSS feed
What does a Support Engineer do and how could it ever be interesting? Here we share more about a unique and rewarding journey in this role at SonarSource that will help you understand more about the job and opportunity.
4年前
記事のアイキャッチ画像
MyBB Remote Code Execution Chain
Blog RSS feed
Today SonarSource is pleased to share a guest contribution to our Code Security blog series about learnings from a chain of serious vulnerabilities in MyBB.
4年前
記事のアイキャッチ画像
Hack the Stack with LocalStack: Code Vulnerabilities Explained
+Blog RSS feed
Our vulnerability researchers found critical code vulnerabilities in a popular Python application that can be exploited remotely, even when the application instance is hosted locally.
4年前
記事のアイキャッチ画像
Crafting regexes to avoid stack overflows
Blog RSS feed
+Due to the way regular expression matching is implemented in Java (and many other languages/libraries), matching a pattern may - depending on the regex - require stack space proportional to the length of the input. This means large inputs could cause the program to crash with a `StackOverflowException` when you try to use the regex.
4年前
記事のアイキャッチ画像
Setting the right (regex) boundaries is important
Blog RSS feed
+Regular expressions pack a lot of power into terse little packages and unfortunately that introduces a lot of room for error. This post talks about regex boundaries, another feature that can lead to bugs when used incorrectly, and a rule of ours that can help you avoid such issues. it also covers about complexity and maintainability in regular expressions and our rule to help you find regular expressions that are too complex.
4年前
記事のアイキャッチ画像
Regular expressions present challenges even for not-so-regular developers
Blog RSS feed
Regular expressions are a concise and powerful tool for processing text. However, they also come with a steep learning curve and plenty of opportunities to make mistakes. This is the first in a series of posts about some specific regex pitfalls.
4年前
記事のアイキャッチ画像
Code security: now there's a tool for developers
Blog RSS feed
+Hey SonarQube Server and SonarQube Cloud users! You now have a tool to own Code Security! SonarSource has been hard at work for the last year to give you the tooling to review and improve your code security. We're glad to say that today you have at your fingertips unmatched precision and performance in SAST (Static Application Security Testing) analysis for five languages and counting.
4年前
記事のアイキャッチ画像
Code Security Advent Calendar 2020
Blog RSS feed
+It's time to have some December fun! We have 24 little challenge gifts awaiting you that hide security vulnerabilities in real-world Java, C#, PHP and Python code. Can you spot the vulnerability?
4年前
記事のアイキャッチ画像
Make Code Quality & Security™ an integral part of your workflow
Blog RSS feed
+SonarQube Server Developer Edition overlays Code Quality and Security™ right onto your projects. Your pull requests are automatically analyzed and decorated with a clear Go/No Go Quality Gate so you only merge clean, quality code! 👏
4年前
記事のアイキャッチ画像
How SonarQube Cloud finds bugs in high-quality Python projects
Blog RSS feed
+As developers, there always comes a time when we find a bug in production and wonder how it passed all our quality checks. Let's go over a few Bugs we found with SonarQube Cloud and see why it is able to detect them when popular linters don't .
4年前
記事のアイキャッチ画像
Code vulnerabilities put health records at risk
Blog RSS feed
+Recently, we discovered several code vulnerabilities in OpenEMR 5.0.2.1. A combination of these vulnerabilities allowed remote attackers to execute arbitrary system commands on any OpenEMR server that uses the Patient Portal component. This can lead to the compromise of sensitive patient data, or worse, to a compromise of critical infrastructure.
4年前
記事のアイキャッチ画像
Winning the race against TOCTOU vulnerabilities in C & C++
Blog RSS feed
Security is an eternal race between the techniques and technologies of attackers and those of the defenders. Today, I'm proud to announce a step forward for defenders with a new rule to detect a literal race condition: TOCTOU (or TOCTTOU) vulnerabilities, known in long-form as Time Of Check (to) Time Of Use.
4年前
記事のアイキャッチ画像
Mono-repository support for GitHub and Azure DevOps Services available now!
Blog RSS feed
Take a tour of SonarQube Cloud's integration with mono-repositories in GitHub and Azure DevOps Services. This new feature allows you to define multiple Quality Gates per project and receive multiple results in your pull requests.
4年前
記事のアイキャッチ画像
Pandora FMS 742: Critical Code Vulnerabilities Explained
Blog RSS feed
+How code vulnerabilities in your web application can be the single point of failure for your IT infrastructure’s security.
4年前
記事のアイキャッチ画像
False positives are our enemies, but may still be your friends
Blog RSS feed
+When writing a rule for static analysis, it’s possible that in some cases, the rule does not give the results that were expected. Unfortunately, naming a false positive is often far easier than fixing it. Learn how the different types of rules give rise to different types of false positives, which ones are easier to fix than others, and how you can help.
4年前
記事のアイキャッチ画像
Codoforum 4.8.7: Critical Code Vulnerabilities Explained
Blog RSS feed
We analyze the root cause of three critical security vulnerabilities that enabled a complete board take over, and how to correctly prevent these in your code.
4年前
記事のアイキャッチ画像
About the recent code leaks from SonarQube Server instances
Blog RSS feed
On July 27th 2020 we learned through media coverage that Till Kottmann was able to access non open-source source code from various companies. This is our public response to the incident.
5年前
記事のアイキャッチ画像
Take Control of Code Quality with SonarQube Server Pull Request Decoration in Your Workflow
Blog RSS feed
How do you write super clean code without disrupting your workflow? Join me as I show you how SonarQube Server Pull Request Decoration gets you there!
5年前
記事のアイキャッチ画像
Apache Kylin 3.0.1 Command Injection Vulnerability
Blog RSS feed
We discovered a severe command injection vulnerability in Apache Kylin that allows malicious users to execute arbitrary OS commands.
5年前
記事のアイキャッチ画像
+SonarSource acquires RIPS Technologies
Blog RSS feed
Teams will be joining forces in building best-in-class Static Application Security Testing (SAST) products that help development teams and organizations deliver more secure software.
5年前
記事のアイキャッチ画像
Exploiting Hibernate Injections
Blog RSS feed
Hibernate is among one of the most commonly found database libraries used in Java web applications, shipping with its own query language. This technical post will teach you how to detect and exploit Hibernates very own vulnerability: The HQL Injection.
5年前
記事のアイキャッチ画像
What is 'taint analysis' and why do I care?
Blog RSS feed
+In large systems, finding the bad actors is easier said than done. First you have to find all the places you accept data from users, and then you have to sanitize the data before you use it. The hard part is making sure you've found all the sources of user data and intervened before any kind of use. That's where taint analysis comes in.
5年前
記事のアイキャッチ画像
WordPress <= 5.2.3: Hardening Bypass
Blog RSS feed
+This blog post details an authenticated Remote Code Execution (RCE) vulnerability in the WordPress core that bypasses hardening mechanisms. The vulnerability is present in the WordPress core in versions prior to 5.2.4
5年前
記事のアイキャッチ画像
Clean as You Code: How to win at Code Quality without even trying
Blog RSS feed
+Analyzing a legacy project can be overwhelming. Learn how to Clean as You Code to make sure that the code you release into production tomorrow is at least as good as - and probably better than! - the code that's in production today.
5年前
記事のアイキャッチ画像
Backend SQL Injection in BigTree CMS 4.4.6
Blog RSS feed
+BigTree is a small content management system which does not depend on many frameworks and advertises itself as user friendly and developer ready. In this blog post, we will take a look at a few vulnerabilities we have detected in the codebase of BigTree.
5年前
記事のアイキャッチ画像
Drive By RCE Exploit in Pimcore 6.2.0
Blog RSS feed
In this technical blog post we will examine how a drive by exploit in the Pimcore release 6.2.0 allows an attacker to execute OS commands.
5年前
記事のアイキャッチ画像
WooCommerce 3.6.4 - CSRF Bypass to Stored XSS
Blog RSS feed
WooCommerce is the most popular e-commerce plugin for WordPress with over 5 million installations. We detected a code vulnerability in the way WooCommerce handles imports of products.
5年前
記事のアイキャッチ画像
Bitbucket 6.1.1 Path Traversal to RCE
Blog RSS feed
In this blog post we analyse how the insecure extraction of a compressed TAR archive lead to a critical vulnerability in Bitbucket (CVE-2019-3397).
5年前
記事のアイキャッチ画像
SuiteCRM 7.11.4 - Breaking Into Your Internal Network
Blog RSS feed
In this blog post we will see how a vulnerable web application deployed in the internal network of your company can act as a charming entry gateway for any adversary.
5年前
記事のアイキャッチ画像
Pre-Auth Takeover of OXID eShops
Blog RSS feed
We detected a highly critical vulnerability in the OXID eShop software that allows unauthenticated attackers to takeover an eShop remotely in less than a few seconds - all on default configurations.
6年前
記事のアイキャッチ画像
TYPO3 9.5.7: Overriding the Database to Execute Code
Blog RSS feed
+In this technical blog post we examine a critical vulnerability in the core of the TYPO3 CMS (CVE-2019-12747). A reliable exploit allows the execution of arbitrary PHP code on the underlying system as authenticated user.
6年前
記事のアイキャッチ画像
Magento 2.3.1: Unauthenticated Stored XSS to RCE
Blog RSS feed
+This blog post shows how the combination of a HTML sanitizer bug and a Phar Deserialization in the popular eCommerce solution Magento <=2.3.1 lead to a high severe exploit chain. This chain can be abused by an unauthenticated attacker to fully takeover certain Magento stores and to redirect payments.
6年前
記事のアイキャッチ画像
dotCMS 5.1.5: Exploiting H2 SQL injection to RCE
Blog RSS feed
+In this blog post we will show how to exploit a SQL injection vulnerability (CVE-2019-12872) found by RIPS Code Analysis in the popular java-based content management system dotCMS and how we escalated it to execute code remotely.
6年前
記事のアイキャッチ画像
MyBB <= 1.8.20: From Stored XSS to RCE
Blog RSS feed
+This blog post shows how an attacker can take over any board hosted with MyBB prior to version 1.8.21 by sending a malicious private message to an administrator or by creating a malicious post. We use a chain of two security vulnerabilities detected in the code.
6年前
記事のアイキャッチ画像
The Hidden Flaws of Archives in Java
Blog RSS feed
+Archives such as Zip, Tar, Jar or 7z are useful formats to collect and compress multiple files or directories in a container-like structure. However, the extraction of archives can introduce security risks which resulted in multiple critical vulnerabilities in popular applications in the past. In this post we explain the risk behind archive extraction and show how to securely extract archives in Java.
6年前
記事のアイキャッチ画像
The NeverEnding Story of writing a rule for argument passing in C++
Blog RSS feed
Here is a story of a rule, from concept to production. While the selected rule is for C++, this story contains interesting insight on the craft of rule development, no matter the target language.
6年前
記事のアイキャッチ画像
WordPress 5.1 CSRF to Remote Code Execution
Blog RSS feed
+This blog post reveals another critical exploit chain for WordPress 5.1 that enables an unauthenticated attacker to gain remote code execution (CVE-2019-9787).
6年前
記事のアイキャッチ画像
Announcing the SonarQube Cloud Pipe for Bitbucket Cloud users!
Blog RSS feed
SonarSource is proud to be a launch partner of the Atlassian Bitbucket Pipes. Thanks to the SonarQube Cloud Scan Pipe, you can configure code analysis in your Bitbucket Pipeline in no time.
6年前
記事のアイキャッチ画像
WordPress 5.0.0 Remote Code Execution
Blog RSS feed
This blog post details how a combination of a Path Traversal and Local File Inclusion vulnerability lead to Remote Code Execution in the WordPress core (CVE-2019-8943). The vulnerability remained uncovered in the WordPress core for over 6 years.
6年前
記事のアイキャッチ画像
CTF Writeup: Complex Drupal POP Chain
Blog RSS feed
A recent Capture-The-Flag tournament hosted by Insomni’hack challenged participants to craft an attack payload for Drupal 7. This blog post will demonstrate our solution for a PHP Object Injection with a complex POP gadget chain.
6年前
記事のアイキャッチ画像
WordPress Privilege Escalation through Post Types
Blog RSS feed
A logic flaw in the way WordPress created blog posts allowed attackers to access features only administrators were supposed to have (CVE-2018-20152). This lead to a Stored XSS and Object Injection in the WordPress core and more severe vulnerabilities in WordPress’s most popular plugins Contact Form 7 and Jetpack.
6年前
記事のアイキャッチ画像
phpBB 3.2.3: Phar Deserialization to RCE
Blog RSS feed
A new PHP exploit technique affects the most famous forum software phpBB3. The vulnerability allows attackers who gain access to an administrator account to execute arbitrary PHP code and to take over the entire board (CVE-2018-19274).
6年前
記事のアイキャッチ画像
WordPress Design Flaw Leads to WooCommerce RCE
Blog RSS feed
WordPress Design Flaw Leads to WooCommerce RCEA flaw in the way WordPress handles privileges can lead to a privilege escalation in plugins. This affects for example the popular WooCommerce.
6年前
記事のアイキャッチ画像
PHP Object Injection
Blog RSS feed
+A very common and critical vulnerability in PHP applications is PHP Object Injection. This blog post explains how they work and how they can lead to a full site takeover by remote attackers.
6年前
記事のアイキャッチ画像
Fully Automated Promotion Pipelines with SonarQube Server and Artifactory
Blog RSS feed
+Catch builds constructed from poor quality code before they make it to production. Discover how to integrate Artifactory and SonarQube Server.
6年前
記事のアイキャッチ画像
My Journey Interviewing with SonarSource...
Blog RSS feed
What's it like to interview with SonarSource? Read on and find out!
6年前
記事のアイキャッチ画像
What is Phar Deserialization
Blog RSS feed
Last week a new exploitation technique for PHP applications was announced at the BlackHat USA conference. Find out everything you need to know in this blog post.
6年前
記事のアイキャッチ画像
Protect your code against injection vulnerabilities with SonarQube Cloud!
Blog RSS feed
Injection security vulnerabilities (OWASP-A1) can run scared, as latest SonarQube Cloud updates now provide advanced security checks to continuously detect them.
7年前
記事のアイキャッチ画像
WordPress File Delete to Code Execution
Blog RSS feed
In this blog post we introduce an authenticated arbitrary file deletion vulnerability (CVE-2018-20714) in the WordPress core that can lead to attackers executing arbitrary code.
7年前
記事のアイキャッチ画像
Evil Teacher: Code Injection in Moodle
Blog RSS feed
In this post we will examine the technical intrinsics of a critical vulnerability in the previous Moodle release (CVE-2018-1133).
+
7年前
記事のアイキャッチ画像
Import issues of your favorite linters in SonarQube Cloud!
Blog RSS feed
Over the past 2 weeks, the following new features were deployed on SonarQube Cloud: import of issues from external linters with built-in support for TypeScript projects, support for the Go language, graceful handling of username change, first version of the GitHub Application, new rules for Python, Java and Swift
7年前
記事のアイキャッチ画像
A Salesmans Code Execution: PrestaShop 1.7.2.4
Blog RSS feed
PrestaShop is one of the most popular e-commerce solutions. We detected a highly critical vulnerability that allows to execute arbitrary code on any installation with version <= 1.7.2.4. In this technical blog post we present the vulnerability and the exploitation technique that could have been misused by attackers (CVE-2018-20717).
7年前
記事のアイキャッチ画像
LimeSurvey 2.72.3 - Persistent XSS to Code Execution
Blog RSS feed
We detected two vulnerabilities in LimeSurvey < 2.72.3: An unauthenticated persistent cross-site scripting vulnerability (CVE-2017-18358) and an authenticated arbitrary file write vulnerability which can be chained.
7年前
記事のアイキャッチ画像
Joomla! 3.8.3: Privilege Escalation via SQL Injection
Blog RSS feed
Joomla! is one of the biggest players in the market of content management systems and the second most used CMS on the web. We discovered a second-order SQL injection (CVE-2018-6376) that could be used by attackers to leverage lower permissions and to escalate them into full admin permissions on Joomla! prior version 3.8.4.
7年前
記事のアイキャッチ画像
Why did my coverage just drop?!
Blog RSS feed
After an upgrade people are sometimes surprised to find that the next analysis of a project with no real changes shows a significant drop in coverage. Believe it or not, that really is a feature, not a bug, and it's called Executable Lines.
7年前
記事のアイキャッチ画像 +
CubeCart 6.1.12 - Admin Authentication Bypass
Blog RSS feed
CubeCart is an open source e-commerce solution. In one of our latest security analysis we found two flaws in this web application that allow an attacker to circumvent the authentication mechanism required to login as an administrator (CVE-2018-20716).
7年前
記事のアイキャッチ画像
Supporting analysis of .NET Core projects
Blog RSS feed
Support for SonarQube Server analysis of projects in the new MSBuild v15 format has been one of the features most requested by the Microsoft community, now it's done !
7年前
記事のアイキャッチ画像
Shopware 5.3.3: PHP Object Instantiation to Blind XXE
Blog RSS feed +
Shopware is a popular e-commerce software that bases on Symfony, Doctrine and the Zend Framework. In this blog post we investigate the exploitation of a rare PHP object instantiation vulnerability (CVE-2017-18357).
7年前
記事のアイキャッチ画像
Joomla! 3.7.5 - Takeover in 20 Seconds with LDAP Injection
Blog RSS feed
+Joomla! is one of the most popular content management systems. We detected a previously unknown LDAP injection vulnerability in the login controller that could allow remote attackers to leak the super user password and to fully take over any Joomla! installation.
7年前
記事のアイキャッチ画像
SugarCRM's Security Diet - Multiple Vulnerabilities
Blog RSS feed
+SugarCRM is one of the most popular customer relationship management solutions. We uncovered critical security issues that could allow attackers to steal customer data or sensitive files from the server.
7年前
記事のアイキャッチ画像
How security flaws in PHP's core can affect your application
Blog RSS feed
Learn how memory corruption bugs in the PHP core itself can affect your PHP application.
8年前
+
記事のアイキャッチ画像
SonarCFamily Now Supports ARM Compilers
Blog RSS feed
For those not familiar with ARM (Advanced RISC Machine), let's start by sharing some numbers: in 2011, the 32-bit ARM architecture was the most widely used architecture in mobile devices and the most popular 32-bit one in embedded systems (see). Moreover in 2013, 10 billion were produced (see) and "ARM-based chips are found in nearly 60 percent of the world’s mobile devices" (see).
8年前
記事のアイキャッチ画像
Why mail() is dangerous in PHP
Blog RSS feed
Recently, many critical security vulnerabilities were fixed in popular PHP applications such as Roundcube, Wikimedia and Zend Framework that based on insecure usage of the PHP mail() function. In this post, we have a look at the common ground of these vulnerabilities and how to use mail() securely.
8年前
記事のアイキャッチ画像
Breaking the SonarQube Server Analysis with Jenkins Pipelines
Blog RSS feed
+One of the most requested feature regarding SonarQube Server Scanners is the ability to fail the build when quality level is not at the expected level. We have this built-in concept of quality gate in SonarQube Server, and we used to have a BuildBreaker plugin for this exact use case. But starting from version 5.2, aggregation of metrics is done asynchronously on SonarQube Server side. It means build/scanner process would finish successfully just after publishing raw data to the SonarQube Server, without waiting for the aggregation to complete.
8年前
記事のアイキャッチ画像
osClass 3.6.1: Remote Code Execution via Image File
Blog RSS feed
In this blog post, we present a beautiful chain of vulnerabilities which, in the end, allows an attacker to remotely execute arbitrary PHP code in the open source marketplace software osClass 3.6.1 used for creating classifieds sites.
8年前
記事のアイキャッチ画像
+Cognitive Complexity, Because Testability != Understandability
Blog RSS feed
Cyclomatic Complexity works very well for measuring testability, but not for maintainability. That's why we're introducing Cognitive Complexity, which you'll begin seeing in upcoming versions of our language analyzers.
8年前
記事のアイキャッチ画像
Roundcube 1.2.2: Command Execution via Email
Blog RSS feed
In this post, we show how a malicious user can remotely execute arbitrary commands on the underlying operating system, simply by writing an email in Roundcube 1.2.2 (>= 1.0). This vulnerability is highly critical because all default installations are affected.
8年前
記事のアイキャッチ画像
We Are Adjusting Rules Severities
Blog RSS feed
+With the release of SonarQube Server 5.6, we introduced the SonarQube Server Quality Model, which pulls Bugs and Vulnerabilities out into separate categories to give them the prominence they deserve. Now we're tackling the other half of the job: "sane-itizing" rule severities, because not every bug is Critical.
8年前
記事のアイキャッチ画像
SonarAnalyzer for C#: The Rule Engine You Want to Use
Blog RSS feed
+If you’ve been following the releases of the Scanner for MsBuild and the C# plugin over the last two years, you must have noticed that we significantly improved our integration with the build tool and at the same time added a lot of new rules. Also, we introduced SonarQube for IDE: Visual Studio, a new tool to analyze code inside the IDE. With these steps completed we are deprecating the SonarQube Server ReSharper plugin to be able to provide a consistent, high-level experience among our tools.
8年前
記事のアイキャッチ画像
Bugs and Vulnerabilities are 1st Class Citizens in SonarQube Server Quality Model along with Code Smells
Blog RSS feed
In SonarQube Server 5.5 we adopted an evolved quality model, the SonarQube Server Quality Model, that takes the best from SQALE and adds what was missing. In doing so, we've highlighted project risks while retaining technical debt.
9年前
記事のアイキャッチ画像
Why You Shouldn't Use Build Breaker
Blog RSS feed
There have been some heated discussions recently about the Build Breaker plugin... SonarSource doesn't want to continue the feature. The community has come to see it as a must have... So I'd like to explain why at SonarSource we no longer think it should be used.
9年前
記事のアイキャッチ画像
Analysis of Visual Studio Solutions with the SonarQube Server Scanner for MSBuild
Blog RSS feed
At the end of April 2015 during the Build Conference, Microsoft and SonarSource Announced SonarQube Server integration with MSBuild and Team Build. Today, half a year later, we’re releasing the SonarQube Server Scanner for MSBuild 1.0.2. But what exactly is the SonarQube Server Scanner for MSBuild? Let’s find out!
9年前
記事のアイキャッチ画像
Water Leak Changes the Game for Technical Debt Management
Blog RSS feed
A few months ago, at the end of a customer presentation about “The Code Quality Paradigm Change”, I was approached by an attendee who said, “I have been following SonarQube Server & SonarSource for the last 4-5 years and I am wondering how I could have missed the stuff you just presented. Where do you publish this kind of information?”. I told him that it was all on our blog and wiki and that I would send him the links. Well...
10年前
記事のアイキャッチ画像
Unit Test Execution in SonarQube Server
Blog RSS feed
Starting with Java Ecosystem version 2.2 (compatible with SonarQube Server version 4.2+), we no longer drive the execution of unit tests during Maven analysis. Dropping this feature seemed like such a natural step to us that we were a little surprised when people asked us why we'd taken it.
11年前
記事のアイキャッチ画像
Three options for pre-commit analysis
Blog RSS feed
As a quality-first focus becomes increasingly important in modern software development, more and more developers are asking how to find new issues before they check their code in. For some of you, it's a point of pride. For others, it's a question of keeping management off your back, and for still others it's simply a matter of not embarrassing yourself publicly. Fortunately, the SonarQube Server developers (being developers themselves) understand the problem and have come up with three different ways of dealing with it: the Eclipse plugin, the IntelliJ plugin, and the Issues Report plugin.
11年前
記事のアイキャッチ画像
Already 158 Checkstyle and PMD rules deprecated by SonarQube Server Java rules
Blog RSS feed
Already 158 Checkstyle and PMD rules deprecated by SonarQube Server Java rules
11年前
Everything's a component
Blog RSS feed
Something occurred to me recently that I wanted to share. Sometimes I'm late to the party, so this may have been obvious to you all along, but it didn't jump out at me at first, so I thought it might be worth talking about. It's the fact that the Views plugin turns a project into just another component.
11年前
記事のアイキャッチ画像
Differentials: Four ways to see what's changed
Blog RSS feed
After a Sonar analysis, it's easy to see your project's current state - just browse to the project dashboard and it's laid out for you. Want details? Just start clicking. But it's not always enough to know where you are. Sometimes, you need to know where you are in comparison to where you've been.
12年前
記事のアイキャッチ画像
Customizing Sonar to Fit Your Needs
Blog RSS feed
Sonar is a super-radiator for code quality and as such, you can expect it brings value to all stakeholders in a development group. To achieve this, Sonar must be able to show only relevant information in a certain context and shut off the noise to facilitate investigation and decision making. In this post, I will show how to customize Sonar to fit your needs by:
12年前
記事のアイキャッチ画像
Manage Duplicated Code with Sonar
Blog RSS feed
If you use Sonar already, I am sure that you know already the worse of all 7 developer's deadly sins:And if you don't, I would assume you know about duplicated / cloned / similar code when you talk about quality of code and that you have heard of tools such PMD CPD or Simian.But why does copy paste matters from a code quality point of view? How can you benefit from Sonar to improve this? Let’s try to figure this out.
13年前
記事のアイキャッチ画像
+Effective Code Review with Sonar
Blog RSS feed
At SonarSource, we like eating our own dog food as much as possible. This is not always the case in software development, but in our case since we develop software for software companies, we can do it. We therefore have an instance of Sonar that analyses all our products daily.
13年前
記事のアイキャッチ画像
SQALE, the ultimate Quality Model to assess Technical Debt
Blog RSS feed
Six months ago, we would never have believed that one day we would be happy and excited to write about the implementation of a Quality Model in Sonar. Indeed the Quality Models that we knew at the time (most of them are based on ISO 9126 standard) are complex, expensive to implement, can be understood only by an elite of quality experts and are not fun at all.
14年前
記事のアイキャッチ画像
Detect Dead Code and Calls to Deprecated Methods with Sonar Squid
Blog RSS feed
Up to version 2.1, Sonar was relying only on external coding rules engines such as Checkstyle, PMD and Findbugs to report violations on Java applications. But since version 2.1, Sonar also provides its own rules engine to work on Java dependencies. This rules engine is based on Squid and three rules are currently available :
15年前
記事のアイキャッチ画像
Securing access to projects in Sonar
Blog RSS feed
When used out-of-the-box, Sonar is a code quality radiator accessible by everyone at anytime. Like for JIRA, Hudson, a post-it dashboard or any other piece of the development toolset transparency is a key success factor for adoption. So, by default in Sonar, anyone can access any project under continuous inspection and navigate through it.
15年前
記事のアイキャッチ画像
Sonar to identify security vulnerabilities
Blog RSS feed
During the last few months, Sonar has definitely become the leading Open Source Platform to manage Java code quality. The objective to democratize access to code quality is becoming concrete. However when analyzing source code, quality is only one aspect of things...
15年前
記事のアイキャッチ画像
Reuse in Sonar unit test reports generated by other systems
Blog RSS feed
Reuse in Sonar unit test reports generated by other systems
16年前
記事のアイキャッチ画像
Using quality profiles in Sonar
Blog RSS feed
+Last month, Sonar 1.6 was released. The main feature of the new version is the ability to manage quality profiles. The purpose of this post is to explain what gap the functionality fills, to define what is a quality profile and to explain how to use it.Prior to Sonar 1.6, it was only possible to run analysis with one set of defined coding rules per instance of Sonar. It means that within an instance of Sonar, it was not possible to process differently various types of projects (legacy application, technical libraries, new projects, ...). They were all analyzed with the same set of rules. Therefore there was sometimes unnecessary noise around the quality data that made it difficult to see quickly what real action was required. Sonar 1.6 turns off this noise by allowing to define and simultaneously use several quality profiles.
16年前
記事のアイキャッチ画像
What makes Checkstyle, PMD, Findbugs and Macker complementary ?
Blog RSS feed
There is often some misunderstanding when people talk about coding rules engines. Everyone tries to take position in favor of his preferred tool and does his best to explain what are the weaknesses of the other ones.
16年前
記事のアイキャッチ画像
Discussing Cyclomatic Complexity
Blog RSS feed
Googling on Cyclomatic Complexity (CC), gives some interesting results... Among those results, you'll find the two following definitions :
16年前
記事のアイキャッチ画像
+Is 80% of code coverage any good ?
Blog RSS feed
When talking about source code quality, there are always voices to tell you that metrics mean nothing and that plenty of projects have great metrics and poor quality! Let's look at one particular metric: the code coverage by unit tests.
16年前
\ No newline at end of file diff --git a/blogs/16796b445e8fb9894ea5b35fde1c4cf8/index.html b/blogs/16796b445e8fb9894ea5b35fde1c4cf8/index.html new file mode 100644 index 000000000000..b3532b0a7474 --- /dev/null +++ b/blogs/16796b445e8fb9894ea5b35fde1c4cf8/index.html @@ -0,0 +1,56 @@ +TkDodo&#39;s blogのフィード|JSer.info Watch List RSS

TkDodo's blog

https://tkdodo.eu/blog

A technical blog about frontend-development, TypeScript and React

フィード

記事のアイキャッチ画像
2024 in Review
TkDodo's blog
A retrospective on what has happened for me in 2024
1ヶ月前
記事のアイキャッチ画像
React Query - The Bad Parts
TkDodo's blog
+In this talk, maintainer Dominik will explore the other side—the less favorable aspects of React Query and situations where it may not be the best fit. No library is perfect; every choice involves trade-offs. By the end of this talk, you'll have a better understanding of React Query's limitations and why it remains a compelling choice despite them.
1ヶ月前
記事のアイキャッチ画像
Ref Callbacks, React 19 and the Compiler
TkDodo's blog
+Reflecting on useCallback, how the Compiler changed my thinking about it, and what React 19 has in store for Ref Callbacks...
2ヶ月前
記事のアイキャッチ画像
My Slow Retreat from Twitter
TkDodo's blog
A brief reflection on the platform and how I plan to continue with it...
2ヶ月前
記事のアイキャッチ画像
React Query API Design - Lessons Learned
TkDodo's blog
In this talk, React Query maintainer Dominik will walk us through some of the API design choices that were made in React Query to get to that DX. You'll hear stories about things that went well, but also about tradeoffs and mistakes that were made, and what lessons we can all learn from those.
3ヶ月前
記事のアイキャッチ画像 +
Component Composition is great btw
TkDodo's blog
Component composition is one of the best parts of React, and I think we should take more time to break our components into manageable parts before littering one component with conditional renderings.
5ヶ月前
記事のアイキャッチ画像
How Infinite Queries work
TkDodo's blog
A serious bug report about infinite queries led me to question it's architecture, but it all turned out fine in the end ...
5ヶ月前
記事のアイキャッチ画像
Introducing XState Store
TkDodo's blog
There's a new state manager in the game, and it ticks all my boxes ...
6ヶ月前
記事のアイキャッチ画像
Please Stop Using Barrel Files
TkDodo's blog
Why you probably shouldn't be adding index.ts files everywhere
6ヶ月前
記事のアイキャッチ画像
+React 19 and Suspense - A Drama in 3 Acts
TkDodo's blog
React 19 is a very promising release - but there's something not quite right yet with suspense...
8ヶ月前
記事のアイキャッチ画像
Automatic Query Invalidation after Mutations
TkDodo's blog
+Even though there is nothing built into React Query, it doesn't need a lot of code to implement automatic query invalidation in user-land thanks to the global cache callbacks.
8ヶ月前
記事のアイキャッチ画像
Zustand and React Context
TkDodo's blog
Zustand stores a global and don't need React Context - but sometimes, it makes sense to combine them regardless.
10ヶ月前
記事のアイキャッチ画像
Avoiding Hydration Mismatches with useSyncExternalStore
TkDodo's blog
Avoiding hydration mismatches can usually be done in two ways - suppressing the warning or spawning an effect. But is there a third option ... ?
1年前
記事のアイキャッチ画像
The Query Options API
TkDodo's blog
v5 brought a new, powerful API, especially if you're using React Query with TypeScript...
1年前
記事のアイキャッチ画像
2023 in Review
TkDodo's blog
A retrospective on what has happened for me in 2023
1年前
記事のアイキャッチ画像
Why You Want React Query
TkDodo's blog
Let's take a look at why you'd want a library like React Query, even if you don't need all the extra features it provides...
1年前
記事のアイキャッチ画像
The Uphill Battle of Memoization
TkDodo's blog
Exploring why React.memo shouldn't be your first choice for performance optimizations
1年前
記事のアイキャッチ画像
Array Types in TypeScript
TkDodo's blog
is string[] really better than Array? Of course not!
1年前
記事のアイキャッチ画像
React Query and React Context
TkDodo's blog
Can it make sense to combine React Query with React Context ? Yes, sometimes ...
2年前
記事のアイキャッチ画像
+Thinking in React Query
TkDodo's blog
In this talk, we will learn how a different mindset can help us understand React Query and work with it efficiently.
2年前
記事のアイキャッチ画像
You Might Not Need React Query
TkDodo's blog
React Query is a great library, but like any tool, you should choose it for the right problem
2年前
記事のアイキャッチ画像
Breaking React Query's API on purpose
TkDodo's blog
Why good API design matters, even if it means breaking existing APIs in the face of resistance.
2年前
記事のアイキャッチ画像
OSS Feature Decision Tree
TkDodo's blog
An outline of the questions I try to ask myself before adding new features
2年前
記事のアイキャッチ画像
Why React isn't dying
TkDodo's blog
Finishing my train of thought about why React is here to stay (for now).
2年前
記事のアイキャッチ画像
Type-safe React Query
TkDodo's blog
About the difference between "having types" and "being type-safe"...
2年前
記事のアイキャッチ画像
2022 in Review
+TkDodo's blog
A retrospective on what has happened for me in 2022
2年前
記事のアイキャッチ画像
Inside React Query
TkDodo's blog
Taking a look under the hood of React Query
2年前
記事のアイキャッチ画像 +
Working with Zustand
TkDodo's blog
Let's dive into some tips for working with Zustand - one of my favourite client state management libraries in React.
2年前
記事のアイキャッチ画像
Refactor impactfully
TkDodo's blog
Why not every refactoring is worth doing...
2年前
記事のアイキャッチ画像
Seeding the Query Cache
TkDodo's blog
With suspense for data fetching on the horizon, it is now more important than ever to make sure your cache is seeded properly to avoid fetch waterfalls.
2年前
記事のアイキャッチ画像
Refs, Events and Escape Hatches
TkDodo's blog
Refs can provide a way to sidestep dependency arrays without violating any rules, and the proposed useEvent hook might make working with functions and effects a lot easier...
2年前
記事のアイキャッチ画像
React Query meets React Router
TkDodo's blog
React Query and React Router are a match made in heaven.
2年前
記事のアイキャッチ画像
Avoiding useEffect with callback refs
TkDodo's blog
Interacting with DOM nodes doesn't necessarily need useEffect
2年前
記事のアイキャッチ画像
React Query FAQs
TkDodo's blog
Answering the most frequently asked React Query questions
3年前
記事のアイキャッチ画像
Hooks, Dependencies and Stale Closures
TkDodo's blog
+Let's demystify what stale closures are in combination with react hooks with the help of the analogy of taking a photo ...
3年前
記事のアイキャッチ画像
React Query and Forms
TkDodo's blog
Forms tend to blur the line between server and client state, so let's see how that plays together with React Query.
3年前
記事のアイキャッチ画像
Use Urgency
TkDodo's blog
Getting huge refactorings going is not an easy task, but urgency can help here.
3年前
記事のアイキャッチ画像
optional vs. undefined
TkDodo's blog
+There is a subtle difference between optional fields and required, but potentially undefined ones.
3年前
記事のアイキャッチ画像
Offline React Query
TkDodo's blog
A glimpse at what v4 will bring for offline queries
3年前
記事のアイキャッチ画像
Always provide customer value
TkDodo's blog
Finding the right spot for doing a refactoring can be tricky
3年前
記事のアイキャッチ画像
Road to Refactoring
TkDodo's blog
A blogpost series about patterns that have helped me succeed with refactorings
3年前
記事のアイキャッチ画像
2021 in Review
TkDodo's blog
A retrospective on what has happened for me in 2021
3年前
記事のアイキャッチ画像
Beware the leaking any +
TkDodo's blog
Any is not among my favourite TypeScript types, but it is the one you will inevitably encounter. Let's see what makes it so dangerous.
3年前
記事のアイキャッチ画像
Leveraging the Query Function Context
TkDodo's blog
Use what React Query provides for optimal type safety
3年前
記事のアイキャッチ画像
Mastering Mutations in React Query
TkDodo's blog
Learn all about the concept of performing side effects on the server with React Query.
3年前
記事のアイキャッチ画像
+useState vs useReducer
TkDodo's blog
To useState or useReducer, that is the question...
3年前
記事のアイキャッチ画像
React Query Error Handling
TkDodo's blog
After covering the sunshine cases of data fetching, it's time to look at situations where things don't go as planned and "Something went wrong..."
3年前
記事のアイキャッチ画像
React Query as a State Manager
TkDodo's blog
Everything you need to know to make React Query your single source of truth state manager for your async state
3年前
記事のアイキャッチ画像
Placeholder and Initial Data in React Query
TkDodo's blog
Learn about the different possibilities to avoid loading spinners in React Query.
3年前
記事のアイキャッチ画像
About async functions
TkDodo's blog
A deep dive into async functions and how they are different from promise chaining
4年前 +
記事のアイキャッチ画像
Effective React Query Keys
TkDodo's blog
Learn how to structure React Query Keys effectively as your App grows
4年前
記事のアイキャッチ画像
Using WebSockets with React Query
TkDodo's blog
A step-by-step guide on how to make real-time notifications work with react-query
4年前
記事のアイキャッチ画像
React Query and TypeScript
TkDodo's blog
Combine two of the most powerful tools for React Apps to produce great user experience, developer experience and type safety.
4年前
記事のアイキャッチ画像
How can I ... ?
TkDodo's blog
Asking the right questions is a form of art that needs to be mastered.
4年前
記事のアイキャッチ画像
Testing React Query
TkDodo's blog
Let's take a look at how to efficiently test custom useQuery hooks and components using them.
4年前
記事のアイキャッチ画像
Status Checks in React Query
TkDodo's blog
How the wrong status check order can negatively impact user experience
4年前
記事のアイキャッチ画像
React Query Render Optimizations
TkDodo's blog
An advanced guide to minimize component re-renderings when using React Query
4年前
記事のアイキャッチ画像
useState for one-time initializations
TkDodo's blog
Why you shouldn't rely on useMemo for guaranteed referential stability but prefer useState instead
4年前
記事のアイキャッチ画像
React Query Data Transformations
TkDodo's blog
+Learn the possibilities to perform the quite common and important task of transforming your data with react-query
4年前
記事のアイキャッチ画像
No love for boolean parameters
TkDodo's blog
Innocent looking boolean parameters, or flags, are often the reason for hard to maintain legacy code. Resist the urge of adding them!
4年前
記事のアイキャッチ画像
Things to know about useState
TkDodo's blog
5 things everyone needs to know about useState
4年前
記事のアイキャッチ画像
Simplifying useEffect
TkDodo's blog
useEffect hooks can be hard to reason about, but I have 5 principles that can help to manage them
4年前
記事のアイキャッチ画像
Flow to TypeScript migration journey
TkDodo's blog
How we migrated over 100k lines of code from Flow to TypeScript. A Journey.
4年前
記事のアイキャッチ画像
On naming things
TkDodo's blog
Naming is hard. Naming is subjective. Yet there are some things we can objectively do when it comes to finding proper names.
4年前
記事のアイキャッチ画像
Practical React Query
TkDodo's blog
Let me share with you the experiences I have made lately with React Query. Fetching data in React has never been this delightful...
4年前
記事のアイキャッチ画像
Avoiding legacy systems
TkDodo's blog
Every software will eventually become a nightmare to maintain, unless we actively do something about it.
4年前
記事のアイキャッチ画像
Putting props to useState
TkDodo's blog
Part deux of the useState pitfalls series is here, showing patterns to help solve the common use-case of initializing state with a prop.
4年前
記事のアイキャッチ画像
+The power of const assertions
TkDodo's blog
const assertions are a criminally underused TypeScript feature - learn all about them here, now
4年前
記事のアイキャッチ画像
Pedantic index signatures in TypeScript 4.1
TkDodo's blog
Accessing objects and arrays has never been safe in TypeScript, but this is about to change ...
4年前
記事のアイキャッチ画像
Why I don't like reduce
TkDodo's blog
If you know me, you know I'm no fan of Array.reduce. I'll explain why in detail in this post.
4年前
記事のアイキャッチ画像
Calling JavaScript from TypeScript
TkDodo's blog
Gradually migrating from JS to TS is not without difficulties - here are some tricks to smoothen the interoperability
4年前
記事のアイキャッチ画像
Solving conflicts in package-lock.json
TkDodo's blog
+Why you should never delete package-lock.json and how npm can solve the conflicts for you
4年前
記事のアイキャッチ画像
Don't over useState
TkDodo's blog
The first part of the useState pitfalls series is all about avoiding state altogether. Lots of things might not even be state after all...
4年前
\ No newline at end of file diff --git a/blogs/17653996f073bf2a6c228d5f545b2a7d/index.html b/blogs/17653996f073bf2a6c228d5f545b2a7d/index.html new file mode 100644 index 000000000000..9807e3cc1d38 --- /dev/null +++ b/blogs/17653996f073bf2a6c228d5f545b2a7d/index.html @@ -0,0 +1,56 @@ +MDN Blogのフィード|JSer.info Watch List RSS

MDN Blog

https://developer.mozilla.org/en-US/blog/

The MDN Web Docs site provides information about Open Web technologies including HTML, CSS, and APIs for both Web sites and progressive web apps.

フィード

記事のアイキャッチ画像
JavaScript Temporal is coming
MDN Blog
A new way to handle dates and times is being added to JavaScript. Let's take a look at Temporal, what problems it solves, the current state, and what you'll find in the new documentation about it on MDN.
15日前
記事のアイキャッチ画像
Fix your website's Largest Contentful Paint by optimizing image loading
MDN Blog
Learn techniques to improve the Largest Contentful Paint metric, a part of Core Web Vitals, for your website.
1ヶ月前
記事のアイキャッチ画像
MDN 2024 content projects
MDN Blog
+Let's have a look at MDN Web Docs content projects in 2024, with highlights of our top picks and recommended reading, and at what's next on MDN for 2025.
1ヶ月前
記事のアイキャッチ画像
A new learning experience on MDN
MDN Blog
There's a new Learn Web Development section on MDN that merges the MDN Curriculum with the Learn section. Here's the background to these changes, what's new, and what you can expect to see in the future.
2ヶ月前
記事のアイキャッチ画像
Countdown to the holidays with daily coding challenges
MDN Blog
Join JavaScriptmas this December for daily coding challenges designed to boost your skills and bring festive fun. Solve challenges on Scrimba, learn something new, and take part for a chance to win exciting prizes!
2ヶ月前
記事のアイキャッチ画像
Monitoring and optimizing website performance
MDN Blog
Learn about reading network request waterfalls, identifying common network performance issues, and optimizing page rendering.
3ヶ月前
記事のアイキャッチ画像
How to land your first developer job
MDN Blog
Here are six effective strategies for landing your first developer job. These are especially relevant if you're self-taught or breaking into the tech industry without a traditional CS degree.
3ヶ月前
記事のアイキャッチ画像
Introducing the new MDN Community page
MDN Blog
+We are thrilled to announce the new MDN community page that will be a hub to recognize our contributors and a place for contributors to get involved.
4ヶ月前
記事のアイキャッチ画像
Fixing your website's JavaScript performance
MDN Blog
Learn about lesser-known web performance bottlenecks connected to excessive JavaScript usage, like long tasks, large bundle sizes, and hydration issues.
4ヶ月前
+
記事のアイキャッチ画像
Get back to school! Supercharge your learning with MDN and Scrimba
MDN Blog
For many of us, the holidays are over, and the time has come to focus. Now is an ideal time to dive into learning web development, and you're in luck — MDN and Scrimba are offering a 30% discount on select courses for the next month!
5ヶ月前
記事のアイキャッチ画像
Efficient data handling with the Streams API
MDN Blog
This post demonstrates how to use the Streams API in a web application to fetch and transform text on the fly. By processing the data as it arrives, this approach enhances performance, responsiveness, and resource efficiency.
5ヶ月前
記事のアイキャッチ画像
Locale-sensitive text segmentation in JavaScript with Intl.Segmenter
MDN Blog
Learn how to use Intl.Segmenter for locale-sensitive text segmentation in JavaScript to simplify localization, count words or sentences in different languages, and more.
5ヶ月前
記事のアイキャッチ画像
Optimize your workflow with Git stash
MDN Blog
Learn how to use Git stash to break down large commits. Discover a better approach for saving work when switching branches.
5ヶ月前
記事のアイキャッチ画像
How to debug mobile apps across devices
MDN Blog
+This post explores what mobile app debugging is, commonly used techniques, and how you can debug mobile apps on multiple devices.
6ヶ月前
記事のアイキャッチ画像
Exclusive accordions using the HTML details element
MDN Blog
The 'name' attribute of the HTML details element is gaining more support across browsers. Learn how this feature allows creating exclusive accordions without scripting widgets from scratch.
6ヶ月前
記事のアイキャッチ画像
Exploring the Broadcast Channel API for cross-tab communication
MDN Blog
This article explains how to use the Broadcast Channel API to build synchronized and interconnected web applications.
7ヶ月前
記事のアイキャッチ画像
MDN partners with Scrimba to enhance web development learning
MDN Blog
We have chosen Scrimba as a course partner for the MDN Curriculum. This blog post explores what the partnership means practically, and how we will provide an even better web education experience together.
7ヶ月前
記事のアイキャッチ画像
Introducing the MDN HTTP Observatory
MDN Blog
First released in 2016, the HTTP Observatory became popular in the web community with a combination of helpful security audits and educational material. Fast forward to 2024, and we are delighted to announce that Observatory's new home is MDN. Read on to find out more about what this entails, and give the HTTP Observatory a warm welcome!
7ヶ月前
記事のアイキャッチ画像
Static Site Generation (SSG) with Next.js
MDN Blog
This guide explains how to use Static Site Generation in Next.js to build scalable and secure web applications with fast loading times and a focus on performance.
7ヶ月前
記事のアイキャッチ画像
New JavaScript Set methods
MDN Blog
New JavaScript Set methods are landing across browsers. Learn about sets, how you can use these methods to compare different sets, create new sets with specific properties, and more.
7ヶ月前
記事のアイキャッチ画像
Securing APIs: Express rate limit and slow down
MDN Blog
+This guide introduces you to rate limits and slow down mechanisms. Learn how to apply slow down and rate limit mechanisms in Express applications.
8ヶ月前
記事のアイキャッチ画像
Using the Page Visibility API
MDN Blog
This post takes a look at what page visibility is, how you can use the Page Visibility API in your applications, and describes pitfalls to avoid if you build features around this functionality.
9ヶ月前
記事のアイキャッチ画像
A year of publishing the MDN Blog
MDN Blog
We've been writing about web development and the web platform on the MDN Blog since May 2023. Here's our highlights and top posts along with our favorites.
9ヶ月前
記事のアイキャッチ画像
Setting up service workers on Vultr
MDN Blog
This guide introduces you to service workers and their lifecycle. Learn how to deploy a project using service workers with HTTPS on Vultr.
10ヶ月前
記事のアイキャッチ画像
Interop 2023: MDN updates
MDN Blog
Interop 2023 has successfully concluded, and the Interop 2024 project is now officially underway. Learn what Interop is, discover the updates from Interop 2023 now on MDN, and find out what's coming to the web next.
10ヶ月前
記事のアイキャッチ画像
Testing JavaScript with Jest on Vultr
MDN Blog
+This guide introduces you to the common types of tests and the testing conventions. Learn how to test JavaScript with Jest on Vultr.
1年前
記事のアイキャッチ画像
Creating color palettes with the CSS color-mix() function
MDN Blog
Working with colors on the web just got more interesting! In this article, we’ll explore how to use the CSS color-mix() function to create variations in color palettes.
1年前 +
記事のアイキャッチ画像
Modernizing conventional test automation with TestGrid
MDN Blog
This post reflects on the conventional test automation methods using Selenium and Appium. Learn how you can use TestGrid's unified testing platform to enhance the conventional methods and also leverage the modern codeless testing techniques.
1年前
記事のアイキャッチ画像
Lift-off: The MDN Curriculum launch
MDN Blog
The long-awaited MDN Curriculum is now live on MDN, providing a structured guide to the essential front-end development skills and best practices for industry newcomers. Learn all the key details in this article.
1年前
記事のアイキャッチ画像
Creating effective technical documentation
MDN Blog
This article provides an overview of the core components required for creating effective technical documentation. Learn the best practices to make your documentation clear, consistent, and well-structured.
1年前
記事のアイキャッチ画像
+Leveraging Bun on Vultr: A superior Node.js alternative
MDN Blog
This guide explains Bun functionalities as a runtime package manager and a bundler. It also explains the benefits of built-in Bun APIs and how to use Bun's Vultr marketplace application.
1年前
記事のアイキャッチ画像
Border images in CSS: A key focus area for Interop 2023
MDN Blog
+Aligning with Interop 2023's emphasis on cross-browser consistency, this post walks you through various `border-image` properties that you can control to create captivating web designs. Learn how to use custom graphics for enhancing the look of your websites that appear consistent across different browsers.
1年前
記事のアイキャッチ画像
Build AI-powered applications using OpenLLM and Vultr Cloud GPU
MDN Blog
+Learn how to build AI-powered apps using OpenLLM and Vultr Cloud GPU. This guide shows how to generate API responses using a Large Language Model. It also covers instructions for setting up an Nginx server and implementing SSL security.
1年前
記事のアイキャッチ画像
Saying goodbye to third-party cookies in 2024
MDN Blog
+The tail end of 2023 welcomes positive news for web privacy, as Chrome announces it is to join Firefox and Safari in deprecating third-party cookies in 2024. Find out more details about these changes, and what they mean for web developers.
1年前
記事のアイキャッチ画像
Baseline's evolution on MDN
MDN Blog
Today we're updating the Baseline widgets and introducing a new one, along with the updated definition of Baseline.
1年前
記事のアイキャッチ画像
Developer essentials: JavaScript console methods
MDN Blog
The JavaScript console is an essential tool for web development. Learn new and fun ways to use the console to display data and debug your code.
1年前
記事のアイキャッチ画像
Getting started with CSS container queries
MDN Blog
CSS container queries are a powerful new tool for our CSS layout toolbox. In this post we'll dive into the practicalities of building a layout with container queries.
1年前
記事のアイキャッチ画像
Deploying Node.js applications with PM2 on Vultr
MDN Blog
Learn how to deploy a Node.js application on Vultr using PM2 to create persistent services. This guide shows how to efficiently use resources via PM2 cluster mode. It also covers Nginx server setup and SSL security.
1年前
記事のアイキャッチ画像
VS Code: Tips and tricks for beginners
+MDN Blog
Discover essential tips and tricks for using Visual Studio Code (VS Code), a powerful IDE. Learn how to leverage its integrated editing features and Git support, and explore a few extensions.
1年前
記事のアイキャッチ画像
Coming Soon: MDN Observatory 2.0
MDN Blog
Observatory 2.0 is launching soon as part of the Mozilla Developer Network as the MDN Observatory with new security scoring standards and other exciting updates.
1年前
記事のアイキャッチ画像
Optimizing DevSecOps workflows with GitLab's conditional CI/CD pipelines
MDN Blog
This guide explores the various types of CI/CD pipelines and helps you understand their specific use cases. Learn how to leverage rules to create highly efficient DevSecOps workflows.
1年前
記事のアイキャッチ画像
Introduction to web sustainability
MDN Blog
What can web designers and developers do to build a more sustainable web? This post explores the environmental impacts of web technologies and looks at some of the ways we can build greener websites.
1年前
記事のアイキャッチ画像
Migrating from GitHub to GitLab seamlessly: A step-by-step guide
MDN Blog
Thinking about making the move from GitHub to GitLab? This guide demystifies the migration process, addressing common concerns for DevSecOps teams that are looking to seamlessly transition between the two platforms. This post provides a step-by-step guided tutorial on how to migrate your data from GitHub into GitLab.
1年前
+記事のアイキャッチ画像
Announcing the MDN front-end developer curriculum
MDN Blog
MDN has created a curriculum for aspiring front-end developers to build a rewarding and successful career. Take a look at the curriculum, who it's for, and the research it's based on.
1年前
記事のアイキャッチ画像
Creating custom easing effects in CSS animations using the linear() function
MDN Blog
The new CSS linear() timing function enables custom easing in animations. Explore how linear() works compared with other timing functions used for easing, with practical examples.
2年前
記事のアイキャッチ画像
Securing your CDN: Why and how should you use SRI
MDN Blog
Relying on external resources for your website is always fraught with risks. Learn how to protect your website and its visitors by using SRI to secure third-party content.
2年前
記事のアイキャッチ画像
Scroll progress animations in CSS
MDN Blog
+Scroll-driven animations are coming to CSS! In this post, we'll look at a few types of animations and learn how to link them to the scroll progress of a container.
2年前
記事のアイキャッチ画像
Reflections on AI Explain: A postmortem
MDN Blog
We recently launched a feature called AI Explain, but we have rolled this back for now. In this post, we look into the story behind AI Explain: its development, launch, and the reasons that led us to press the pause button.
2年前
記事のアイキャッチ画像
Developer essentials: How to search code using grep
MDN Blog
grep is a powerful tool for searching code from the terminal. This post will show you how to use grep and why it's an essential developer tool.
2年前
記事のアイキャッチ画像
Introducing AI Help (Beta): Your Companion for Web Development
MDN Blog
We're introducing an AI assistant powered by MDN and OpenAI GPT 3.5 to answer all your web development questions in real time.
2年前
記事のアイキャッチ画像
+Learn how to use hue in CSS colors with HSL
MDN Blog
Hues are a bright way to define colors in CSS. Learn about hues, color wheels, how to use color functions, and how you can create vibrant color palettes for your website using hue.
2年前
記事のアイキャッチ画像
Introducing the MDN Playground: Bring your code to life!
MDN Blog
+MDN is launching a code Playground. Users can prototype ideas and expand all live samples into an interactive experience.
2年前
記事のアイキャッチ画像
MDN doc updates: CSS selectors & media queries, WebGPU & WebTransport APIs, Progressive web apps
MDN Blog
Discover CSS :lang(), experimental media queries, manipulating graphics with WebGPU, client-server communication with WebTransport, ECMAScript module support, and more.
2年前
記事のアイキャッチ画像
How to draw any regular shape with just one JavaScript function
MDN Blog
Learn how to use JavaScript to draw any regular shape to a HTML canvas with a single function, and how to modify it to draw multiple shapes.
2年前
記事のアイキャッチ画像
New reference pages on MDN for JavaScript regular expressions
MDN Blog
See the latest updates to the MDN reference pages about JavaScript regular expressions, including new sections on sub-features and browser compatibility information.
2年前
記事のアイキャッチ画像
Celebrating Global Accessibility Awareness Day
MDN Blog
In celebration of Global Accessibility Awareness Day in 2023, we share some tools and guidelines to help you make the web more accessible.
2年前
記事のアイキャッチ画像
Using HTML landmark roles to improve accessibility
MDN Blog
Learn what HTML landmark roles are, how they improve accessibility, and how you can include them on your website effectively.
2年前
記事のアイキャッチ画像
Introducing Baseline: a unified view of stable web features
MDN Blog
MDN leads the way in implementing WebDX community group's efforts, delivering a clear and simple baseline for the web platform to developers.
2年前
記事のアイキャッチ画像
How :not() chains multiple selectors
MDN Blog
Learn how the CSS `:not()` pseudo-class behaves when multiple selectors are passed as argument.
2年前
記事のアイキャッチ画像
Welcome to the MDN blog
MDN Blog
The MDN blog publishes web development news, tutorials, and insights as an extension of MDN Web Docs, helping you discover, learn, and create for the web.
2年前
記事のアイキャッチ画像
New functions, gradients, and hues in CSS colors (Level 4)
+MDN Blog
Learn what's new in CSS Colors Module Level 4, including color spaces, color functions, fancy gradients, and support for wide-gamut displays.
2年前
\ No newline at end of file diff --git a/blogs/19d5d8028125ca7236e2eac49e7b645b/index.html b/blogs/19d5d8028125ca7236e2eac49e7b645b/index.html new file mode 100644 index 000000000000..e7eab789e327 --- /dev/null +++ b/blogs/19d5d8028125ca7236e2eac49e7b645b/index.html @@ -0,0 +1,30 @@ +別にしんどくないブログのフィード|JSer.info Watch List RSS

別にしんどくないブログ

https://shisama.hatenablog.com/

技術のことや読書メモを書いています

フィード

記事のアイキャッチ画像
Node.js v23の主な変更点
別にしんどくないブログ
引用元: https://nodejs.org/en/about/branding 2024年10月17日(日本時間)にリリースされたNode.js v23の主な変更点を紹介します。 nodejs.org require()でESMを読み込む機能が安定版に "module-sync"をexports conditionに追加 node --run が安定版へ Node.jsのテストランナー(node:test)のカバレッジ対象をglobで指定できるフラグの追加 Windows 32-bitはサポート対象外へ v23のEOL予定について まとめ 参考記事
4ヶ月前
記事のアイキャッチ画像
サイボウズに入社して5年が経ちました
別にしんどくないブログ
2024年9月でサイボウズに入社して5年が経ちました。 5年間のふりかえりと現在の気持ちを書き残しておきたいと思います。 取り組んできたこと 入社時の思い出 フロントエンドエンジニアとしての活動 プロダクトオーナーとしての活動 英語公用語の新規事業部への異動 新規プロダクト開発のフロントエンドアーキテクト マネジメント で、転職はしないの? キャリアを考えるための軸
5ヶ月前
記事のアイキャッチ画像
Node.js v22の主な変更点
別にしんどくないブログ
+引用元: https://nodejs.org/en/about/branding 2024年4月24日にリリースされたNode.js v22の主な変更点を紹介します。 Node.js v22はLTS(長期サポート)のバージョンになります。10月の後半にLTSとしてサポートが始まります。 nodejs.org require()がESMをサポート V8 12.4 アップデートによる JavaScript の機能 Array.fromAsync() Set methods union() intersection() difference() symmetricDifference() isSu…
9ヶ月前
記事のアイキャッチ画像
2023年買ってよかったもの
別にしんどくないブログ
2024年ももうすでに3月が終わろうとして桜が咲き出しそうな季節になってしまいましたが、2023年買ってよかったものの投稿を忘れていたので書き残しておきます。
10ヶ月前
記事のアイキャッチ画像
#BuriKaigi 2024 と富山と金沢
別にしんどくないブログ
富山県で行われたBuriKaigiという技術カンファレンスに初参加しました。また、人生で初めて富山と金沢に行きました。
1年前
記事のアイキャッチ画像
Node.js v21 の主な変更点
別にしんどくないブログ
2023年10月17日にリリースされたNode.js v21の主な変更点を紹介します。 この記事を書いている時点ではv21.4.0が最新版ですので、v21.0.0からv21.4.0までの変更点で注目の機能をまとめています。 nodejs.org fetchとWebStreamsが安定版へ WebSocketの実験的な実装 navigator.language/languages の追加 V8 11.8 による新しい JavaScript の機能 ESM をデフォルト化するフラグ 実行ファイルがESMなのか自動判定する実験的機能 import.meta.dirname/filename の追加 …
1年前
記事のアイキャッチ画像
サイボウズに入社して4年が経ちました
別にしんどくないブログ
+
今年の9月1日でサイボウズに入社して4年が経ちました。 本当に様々な経験をさせてくれたので、入社当時からこれまでを振り返りたいと思います。 COVID-19の襲来 フロントエンドエキスパートチーム プロダクトオーナーを経験した 英語が公用語の新規IAMプロダクトチームへ参加 フロントエンドアーキテクトとして働いた マネージャーになった 社内でのOSS活動 人事としてエンジニア採用に取り組んだ まとめ
1年前
記事のアイキャッチ画像
Firefoxにコミットしたので手順のメモ
別にしんどくないブログ
+Firefoxへのコミットをやってみました。 ドキュメントは整備されていてわかりやすいですが、日本語の良い記事がなかったので手順をメモしておきたいと思います。 コミットまでの手順 Step1. 必要なソフトウェアのインストール Step2. ソースコードの取得とビルド Step3. ソースコードの修正 Step4. テストの追加と実行 Step5. Lintを実行する Step6. コミットする Step7. コミットしたパッチの提出 Step8. パッチの修正 何をコミットしたのか 感想
2年前
記事のアイキャッチ画像
UoPeople CS2204 Communications and Networking ふりかえり
別にしんどくないブログ
+私はUniversity of the Peopleというアメリカのオンライン大学でコンピュータサイエンスを学んでいる社会人です。 shisama.hatenablog.com 今学期受講したCS2204 Communications and Networking について簡単にふりかえりを書き残しておきたいと思います。
2年前
記事のアイキャッチ画像
Node.js v20 の主な変更点
別にしんどくないブログ
+2023 年 4 月 18 日にリリースされた Node.js v20 の主な変更点を紹介します。 nodejs.org ファイルのアクセスやプロセスの起動を制限する新しいパーミッションモデル (experimental) --allow-fs-read でファイルの読み込みを許可する --allow-fs-write によるファイル書き込み許可 --allow-child-process による child_process の許可 --allow-worker による Worker Threads の許可 Permission Model の参考記事 V8 11.3 による新しい JavaS…
2年前
記事のアイキャッチ画像
英語力日本人平均の30代がPROGRITで毎日3時間英語学習してみた
別にしんどくないブログ
+私は30代中盤で既婚済み子持ち(一人)のソフトウェアエンジニアというバックグラウンドがあります。そして、業務では英語を使い会議やコミュニケーションをしています。 昨年から英語が公用語のチームに参加しました。 会議やSlack、ドキュメントの記述などすべてのコミュニケーションが英語になり、早急に英語力を伸ばす必要性がでてきました。 そこで、12月16日から3月16日までの3ヶ月間PROGRITを受講して毎日3時間英語学習をしました。 www.progrit.co.jp 結果は...VERSANTのスコアが11点アップし、日本人平均を抜け出すことができました! PROGRITの期間中、どういった学…
2年前
記事のアイキャッチ画像
2022年買ってよかったもの
別にしんどくないブログ
+もう2023年の3月ですが、例年通り買ってよかったものを紹介します。 Campfire Audio ANDROMEDA ifi Audio ZEN DAC intime 碧 Ti3 final ZE3000 Fiio BTR5 Aftershokz Aeropex iPad Pro 12.9インチ BOOX Nova Color 3 Bianchi Via Nirone 7 Orange Crush mini Amp Pixel6a Cote & Ciel Isar S シャドテン まとめ
2年前
記事のアイキャッチ画像
『フロントエンド開発のためのセキュリティ入門』という本を出版します!
別にしんどくないブログ
フロントエンド開発のためのセキュリティ入門 2月13日に『フロントエンド開発のためのセキュリティ入門』というタイトルの本を出版します。 www.shoeisha.co.jp 今回は本の内容の簡単な紹介をします。また、今回はじめて本を執筆させていただいたので、熱が冷めないうちに本を書くということについて書き残しておこうと思います。
+
2年前
記事のアイキャッチ画像
Node.js v19 の主な変更点
別にしんどくないブログ
Node.js v19がリリースされました 🎉 nodejs.org この記事では Node.js v19 の主な変更点を抜粋して紹介します! HTTP(S)/1.1 KeepAlive by default V8 10.7 ファイル変更時に自動的にプロセス再起動するwatchモード (experimental) --experimental-specifier-resolution フラグの削除 Web Crypto API が stable に昇格 ShadowRealm (experimental) Deprecations and Removals package.json の imp…
2年前
記事のアイキャッチ画像
『月刊I/O 7月号』にNode.js v18の記事を書かせていただきました
別にしんどくないブログ
月刊I/O 7月号表紙 宣伝になってしまうのですが、『月刊I/O』の今月号である『月刊I/O 7月号』にNode.js v18に関する記事を書かせていただきました。 すでに発売しています。筆不精なためブログに書くのは遅れてしまって、もしかするとすでに店頭には並んでいないかもしれません...。 書籍情報については↓のリンクからどうぞ。 http://www.kohgakusha.co.jp/books/detail/4725 もしご購入いただけるのであれば↓のリンクからお願いします。 https://www.kohgakusha.co.jp/io/ お話をいただいたときは『月刊I/O』はマイコン…
3年前
記事のアイキャッチ画像
Node.js v18 の主な変更点
別にしんどくないブログ
Node.js v18がリリースされました 🎉 nodejs.org この記事では Node.js v18 の主な変更点を抜粋して紹介します! fetch() がフラグ無しで実行可能に (experimental) HTTP requestTiemout()のデフォルト値の変更 node:test モジュール(テストランナー)の追加 (experimental) V8 アップデートによる新しい JavaScript の API の追加 Array#findLast(), Array#findLastIndex() Intl.supportedValuesOf() その他の改善 Web Stre…
3年前
記事のアイキャッチ画像
2021年買ってよかったもの
別にしんどくないブログ
もうすでに成人の日ということですが、毎年書いているので書きます。 今年はデスク周りを強化しました。また、キーボード沼やオーディオ沼に片足つっこみそうになりました。 また、新しい趣味を見つけられたのが良かったです。
3年前
記事のアイキャッチ画像
アメリカの授業料無料のオンライン大学 University of the People って実際どうなの!?1年間学んで感じたこと・学習内容・魅力などまとめ
別にしんどくないブログ
+この記事は社会人学生 Advent Calendar 2021 - Adventarの 16 日目の記事です。投稿が遅くなってしまい申し訳ありません。なんせこれから話す大学の課題に追われていてなかなか執筆の時間が取れませんでした(言い訳)。 私は、Web エンジニアとして働きながら昨年の 9 月からオンライン大学でコンピューターサイエンスを学んでいる 30 代男性です。また、未就学の子どもの育児もしています。 今回は、私が登録している University of the People というアメリカのオンライン大学について、入学してみて感じたこと・学習内容・魅力などを紹介します。同じようにコン…
3年前
記事のアイキャッチ画像
Rust + Node-APIでクロスプラットフォーム向けnpmパッケージを公開する
別にしんどくないブログ
+この記事は Node.jsのカレンダー | Advent Calendar 2021 - Qiita の2日目の記事です。 今回はnapi-rsというNode-APIを使ったNode.js add-onをRustで書けるツールを紹介します。 napi.rs
3年前
記事のアイキャッチ画像
Node.js v17 の主な変更点
別にしんどくないブログ
2021/10/19にリリースされたNode.js v17の主な変更点を紹介します。 nodejs.org QUICがサポートされたOpenSSLにアップデート V8 が 9.5 にアップデート Intl.DisplayNames Intl.DateTimeFormat Promiseベースのreadline APIの追加 WHATWG Stream との互換性の強化 ディープクローンが簡単になる structuredClone の追加 Node.js v16からの機能 まとめ 参考資料
+3年前
記事のアイキャッチ画像
Node.js v16 の主な変更点
別にしんどくないブログ
2021/04/20にリリースされたNode.js v16の主な変更点を紹介します。 nodejs.org M1 MacでもNode.jsが使えるようになります V8 v9.0 Atomics.waitAsync RegExp match indices Timers Promises APIが安定版になりました fs.rmdirのrecursiveオプションがDeprecatedになりました Node.js v15の機能がLTSとして使えるようになる 最後に 参考記事 変更履歴
4年前
記事のアイキャッチ画像
買ってよかったもの2020
別にしんどくないブログ
2020年もあと1時間を切りました。 紅白を見ながら今年買ってよかったもの( #買って良かった2020 )を振り返ります。
4年前
記事のアイキャッチ画像
package.json の imports / exports フィールド
別にしんどくないブログ
+この記事は Node.js その2 Advent Calendar 2020 の 2 日目の記事です。投稿が大幅に遅れて申し訳ございません。 Node.js v15.3.0 から ES Modules が experimental から stable になりました 🎉 nodejs.org 今年はモジュール周りも大きく飛躍しました。個人的に仕事で探求していたこともあってモジュール周りを追うことが多かったです。 ES Modules を使って import できる npm パッケージも増えてきています。 そこで今回はモジュール関連で追加された package.json のフィールドについてまとめ…
4年前
記事のアイキャッチ画像
Node.js v15 の主な変更点
別にしんどくないブログ
+10/20 にリリースされた Node.js v15 の主な変更点を紹介します。 nodejs.org 15,000 文字以上あるので、適宜気になったところをお読みください。 npm v7 が同梱 V8 v8.6 ES2021 の機能追加 Promise.any and AggregateError String.prototype.replaceAll Logical assignment operators Web Crypto API の追加 AbortController の追加 EventTarget の追加 Node.js EventTarget vs. DOM EventTarg…
4年前
記事のアイキャッチ画像
サイボウズに入社して1年が経ちました
別にしんどくないブログ
2019 年 9 月に入社したので、1 年が経ちました。 サイボウズでの業務や所属するチームのことを紹介します。 サイボウズのことやフロントエンドエキスパート・採用・OSS推進といったチームについて興味ある人の参考になれば幸いです。
4年前
記事のアイキャッチ画像
fetch() upload streaming は WebSocket の代替になるのか。Fetch を使ってカメラから取得した映像をストリーミングで送信する
別にしんどくないブログ
Fetch Upload Streaming が Chrome 85 から Origin Trial で使えるようになりました。 何ができるかというと ReadableStream を fetch() の body に渡すことができるようになります。 getUserMedia でカメラから取得した映像をブラウザからストリーミング送信したいときに使えそうと考えたので、今回試してみました。 blog.chromium.org
5年前
記事のアイキャッチ画像
Node.js v14の主な変更点
別にしんどくないブログ
4/21 にリリースされた Node.js v14 の主な変更点を紹介します。 この記事では Changelog の Notable Change から一部を簡単に紹介します。 github.com TL;DR V8 が 8.1 になりOptional chining や Nullish coalescing が使えるようになった fs.promises が 'fs/promises' でロード可能になった ES Modules の警告が表示されなくなった
5年前
記事のアイキャッチ画像
関西Node学園 9時限目を開催しました。 #kng9
別にしんどくないブログ
connpass サイボウズ大阪オフィスにて関西Node学園 9時限目を開催しました。
5年前
記事のアイキャッチ画像
『[イラスト解説]ティール組織』を読んだ
別にしんどくないブログ
+ティール組織はサイボウズが目指す組織の形なので以前から存在は知っていました。しかし、ティール組織の本は500ページを超える本でなかなかハードルが高いと感じていました。 私が所属するチームで「チーム間の情報の共有がうまくいっていないのではないか」という課題が出ました。「 情報が共有されるのを待っているのではなく、各メンバーが自分から情報を取りに行く意識を持つ必要があるのではないか。これは青野さん(社長)がティール組織の話をするときに自立したチームに必要だと言っていた気がする。」という意見が挙がりました。 そこでティール組織について学ぶことでヒントが得られるのではないか」という意見がでました。最初…
5年前
記事のアイキャッチ画像
2019年のふりかえり
別にしんどくないブログ
大晦日なので2019年のふりかえりをします。
5年前
\ No newline at end of file diff --git a/blogs/1ad7c1f71e0aa48ea310910290f40d4a/index.html b/blogs/1ad7c1f71e0aa48ea310910290f40d4a/index.html new file mode 100644 index 000000000000..57db815c48ab --- /dev/null +++ b/blogs/1ad7c1f71e0aa48ea310910290f40d4a/index.html @@ -0,0 +1,17 @@ +Socketのフィード|JSer.info Watch List RSS

Socket

フィード

記事のアイキャッチ画像
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Socket
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
16時間前
記事のアイキャッチ画像
Linux Foundation Warns Open Source Developers: Compliance with Sanctions Is Not Optional
Socket
+The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
2日前
記事のアイキャッチ画像
Maven Central Adds Sigstore Signature Validation
Socket
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.
2日前
記事のアイキャッチ画像
38% of CISOs Fear They’re Not Moving Fast Enough on AI
Socket
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
3日前
記事のアイキャッチ画像
Go Supply Chain Attack: Malicious Package Exploits Go Module Proxy Caching for Persistence
Socket
Socket researchers uncovered a backdoored typosquat of BoltDB in the Go ecosystem, exploiting Go Module Proxy caching to persist undetected for years.
4日前
記事のアイキャッチ画像
Socket Joins TC54 to Help Shape the Future of SBOMs, CycloneDX, and PURL
Socket
Socket is joining TC54 to help develop standards for software supply chain security, contributing to the evolution of SBOMs, CycloneDX, and Package URL specifications.
8日前
記事のアイキャッチ画像
PyPI’s New Archival Feature Closes a Major Security Gap
Socket
+PyPI now allows maintainers to archive projects, improving security and helping users make informed decisions about their dependencies.
9日前
記事のアイキャッチ画像
North Korean APT Lazarus Targets Developers with Malicious npm Package
Socket
Malicious npm package postcss-optimizer delivers BeaverTail malware, targeting developer systems; similarities to past campaigns suggest a North Korean connection.
9日前
記事のアイキャッチ画像
CISA Brings KEV Data to GitHub
Socket
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.
10日前
記事のアイキャッチ画像
Opengrep Emerges as Open Source Alternative Amid Semgrep Licensing Controversy
Socket
Opengrep forks Semgrep to preserve open source SAST in response to controversial licensing changes.
11日前
\ No newline at end of file diff --git a/blogs/1da4f78d8e03ef1f76fb2f2f28648037/index.html b/blogs/1da4f78d8e03ef1f76fb2f2f28648037/index.html new file mode 100644 index 000000000000..cb6b8c56e6ec --- /dev/null +++ b/blogs/1da4f78d8e03ef1f76fb2f2f28648037/index.html @@ -0,0 +1,25 @@ +pawelgrzybek.comのフィード|JSer.info Watch List RSS

pawelgrzybek.com

https://pawelgrzybek.com/

Hi, I’m Paweł, a software developer from Poland, now living in Northampton, UK. I do stuff on the web, write about it, and listen to funky and jazz records after hours.

フィード

+記事のアイキャッチ画像
Top picks — 2025 January
pawelgrzybek.com
+We are kicking 2025 off with a lengthy list of great resources that you shouldn’t miss. There is a bunch of CSS wisdom waiting for you here, a number of performance-related resources, and a few bits and bobs for lower-level programming enthusiasts. As always, we are kicking things off with a record recommendation that I have been listening to the most this month. Let’s go!Album of the monthI had a period of my life when I dug deeply into the Swedish rap scene. The Looptroop Rockers is still one of my favourite bands ever. Around the same time, I discovered Red Astaire, also known as Freddie Kruger or by his real name, Fredrik Lager. I can’t tell you how much I dig some of his mixes. I recently picked up cheaply in a local record store “Nuggets For The Needy Volume 3”, and it has been spinning on my record player for weeks. I recently found out that Fredrik died in June 2022 following a heart attack. Rest in peace 😔Top picksCollection of insane and fun facts about SQLitePretty cool lis... +
7日前
記事のアイキャッチ画像
The old CSS attr() with new features
pawelgrzybek.com
+The CSS attr() function retrieves a value from an HTML element’s attribute. Firefox added support for it two decades ago, so it’s rather not a new thing. I can’t tell you how many times I had an incredible use case for it, just to be reminded a second later that its use is limited to the content property. Here is an example.<article data-category="Technology">...</article>article::before { content: "In category: " attr(data-category);}Baseline: attr() (content only) is widely availableGoogle Chrome: 2, 2009.05.21 Microsoft Edge: 12, 2015.07.29 Firefox: 1, 2004.11.09 Safari: 3.1, 2008.03.18 The new attr() functionI’m not sure if you noticed, but in the last few years all the impossible-to-implement CSS features all of a sudden became possible. The CSS Values and Units Module Level 5 redefines the attr() function, opens its functionality to all properties, allows us to exchange a value between the markup and stylesheet that is not only limited to strings, and also accepts a fallback.<art +
11日前
記事のアイキャッチ画像
Book review: "Slow Productivity" by Cal Newport
pawelgrzybek.com
+It was Cal’s “Digital Minimalism” that inspired me to ditch conventional social media channels, and after two years without mindless scrolling I can only recommend you do the same. “Deep Work” by the same author helped me to refocus and understand the difference between deep and shallow work. I waited patiently for a moment of downtime to read/listen to “Slow Productivity” since I heard about it for the first time on Andrew Huberman’s podcast.After talking to friends and reading plenty of 2024 reviews, the overall busyness is the common denominator. Working on multiple things at once, busy schedules, and plenty of side gigs are just a few things I hear from folks. I ended up in the same trap. How often do all these things lead to actually meaningful achievements? The new book by Cal Newport is a suggestion of a new philosophy for knowledge workers to reduce pseudo productivity by following three simple rules.Author advocates for applying three principles: do fewer things, work at the n +
1ヶ月前
記事のアイキャッチ画像
Book review: "Practical Vim" by Drew Neil
pawelgrzybek.com
+I recently moved from Helix to Neovim. It wasn’t too hard at first, as all the basic motions are very similar, but something didn’t feel right. Because I came from the editor that follows a selection-first approach (motion → action), I blindly kept on replicating the same in the action-first Neovim (action → motion). I have seen crazy efficient Vim programmers before, and I just knew that I needed to level up.A Mastodon user called trójkąt ▼ recommended the “Practical Vim” by Drew Neil to me. This book helped me a lot to understand the editor’s philosophy. It is a pile of hundreds of bite-sized practical tips, and it is designed to cherry-pick the bits you like. The book assumes working with a Vim core, and apart from very few exceptions, does not require any particular plugin or configuration. It is a good one to have on a bookshelf regardless of proficiency in Vim.Favourite tipsLet me share with you a few tips that I learned from the book that made me a lot more efficient. I use them +
1ヶ月前
記事のアイキャッチ画像
Top picks — 2024 December
pawelgrzybek.com
+This is the last post of 2024. It was a really good year overall, but to keep an annual tradition I published “A look back at 2024” where I revealed more. It was also an interesting month. You would expect December to be a quiet month, but it was full of interesting releases, and a bunch of great resources came out. Other than that, I also have some great music recommendations for you folks.Before you jump into top picks and music recommendations, I would like to wholeheartedly wish you a happy and healthy 2025.Album of the monthSometimes spontaneous click-around on Bandcamp can lead to a good exploration. That was the case with my favourite album of December, Damu The Fudgemunk – Peace of Action. Mainly a jazz record, but heavily inspired by the hip hop nuggets here and there. You can tell that it was produced by a hip hop beats producer! Sourced from KPM (and associated music libraries), the selection makes it a truly unique compilation that just makes you want to listen from start t +
1ヶ月前
記事のアイキャッチ画像
A look back at 2024
pawelgrzybek.com
+This year I’m not next to the Christmas tree surrounded by reindeers and blinking lights, but I’m in sunny Carvoeiro on the south coast of Portugal with my family, relaxing and reflecting on the past year. To keep an annual tradition, I would like to share with you some of the highlights and set some goals for the upcoming year.A family picture from the Christmas trip to Carvoeiro.A quick goals check from the previous year. I embarrassingly failed my running goal, but I managed to accomplish the others. I’m not sure why I force myself to get into running so much, but I am keeping this resolution for the next year. I contributed to a number of open-sourced Rust-based projects, and after a decade of using the same profile picture, I have a new one (maybe it sounds trivial to you, but I just hate being on this side of a camera).❌ Run the distance of a half-marathon✅ Get involved in the Rust open-source community✅ Change a decade-old profile pictureTime for a decennial profile pic update. +
1ヶ月前
記事のアイキャッチ画像
From Helix to Neovim
pawelgrzybek.com
+A year ago, I decided to try Helix.“The joy of learning Helix (and probably other modal, terminal-based editors)”reveals more about the motivations and initial impressions. A few weeks afterplaying around with it, I adopted it as a daily driver. I love Helix, itssimplicity, the set of features it comes with, the documentation, and thecommunity behind it. Learning this tool made me a more efficient programmer, abetter typist, and, due to the underlying technologies, I learned a lot aboutLSPs, Tree-sitter, terminal emulators, and shells.On the way, I hit a few roadblocks, though. A few of these nuanced or lesspopular features can make or break your experience. So, after resisting for awhile, I made the switch to Neovim. It wasn’t love at first sight for sure. Letme share why I abandoned Helix and what my initial impressions of using Neovimare.Missing piece of HelixIt all comes down to a missing package manager. I don’t want to tell you aboutall the occasions I was looking for something a +
2ヶ月前
記事のアイキャッチ画像
Top picks — 2024 November
pawelgrzybek.com
+This is probably the shortest list that I have ever shared with you. I was justtoo busy with work-related stuff, some activities aroundNN1 Dev Club #4 meetup, and my exploration of newsubjects were a bit overshadowed by the fact that I changed a code editor(again). Neovim that is now, and I truly enjoy the ride. I did not forget aboutthe music recommendation, though.Album of the monthMarc Mac came back with his Visioneers project!“Def Radio”is a record that has kept on spinning on my Technics turntable nonstop for thepast month. It is full of incredible funky beats, b-boy breaks, and mellow jazzysounds. One of those records that can play from the very beginning to the end,and your head cannot stop nodding. I need to hunt for some previous releases byVisioneers!Top picks1 dataset. 100 visualizations.How creative that is! A simple dataset represented in 100 different ways, eachof them telling a different story. This is good inspiration for diagram designin your next project. I really lik +
2ヶ月前
記事のアイキャッチ画像
Baseline status of a web platform feature on a Hugo website
pawelgrzybek.com
+An article about a web platform feature feels incomplete without a browser support info. The CanIUse Embed built by Ire Aderinokun is widely used amongst web bloggers. Recently, Rachel Andrew from Google announced an official web component to display the Baseline status.Both of them fetch the results from external resources at runtime. To keep my website trully static, I would prefer to pre-build results at the build time. Stefan Judis uses a custom solution that takes results from the browser-compat-data and wraps it in a beautiful section at the build stage. Chris Swithinbank took an official Google’s <baseline-status> and converted it into an Astro component to avoid client-side JavaScript.I write a ton about the web on this blog, so I finally built a solution for my static website built using Hugo. Let me share a recipe with you.Hugo shortcode to display the Baseline statusFor the sake of simplicity, I chose the Web Platform Status API as the source of data. As Mathias Bynens notic +
3ヶ月前
記事のアイキャッチ画像
Top picks — 2024 October
pawelgrzybek.com
+What a month. When everyone lost hope for the new major release of the most popular Node.js framework of all time, Express v5 just dropped. Deno also released a major version bump, and Evan You founded a company that is going to build the cargo for the JavaScript ecosystem. To top it off, I have some great CSS articles for you all and, of course, as always, a music recommendation from my collection. Enjoy the read ☕Album of the monthI received this album on the 2nd of October, and that was the day I knew what to put in this paragraph at the end of the month. A collaboration between one of my favourite rappers and a producer who is also very high on my favourites list. “The Auditorium Vol. 1” by Common and Pete Rock sounds fresh, like a comeback that good rap deserves. Pete Rock is one of the most versatile producers ever, and he didn’t disappoint on this release. Almost a month after I heard the full album for the first time, I still enjoy it as much, or even more, than before. Solid r +
3ヶ月前
\ No newline at end of file diff --git a/blogs/20e52505fa1eb7b1c253e1ead7badaec/index.html b/blogs/20e52505fa1eb7b1c253e1ead7badaec/index.html new file mode 100644 index 000000000000..5e430b53d6f0 --- /dev/null +++ b/blogs/20e52505fa1eb7b1c253e1ead7badaec/index.html @@ -0,0 +1,52 @@ +leanrada.com notesのフィード|JSer.info Watch List RSS

leanrada.com notes

フィード

記事のアイキャッチ画像
CSS sprite sheet animations
leanrada.com notes
+For RSS readers: This article contains interactive content available on the original post on leanrada.com.Check out this demo first (Click it!):Yes, it’s the Twitter heart button. This heart animation was done using an old technique called sprite sheets🡵.Interactive content: Visit the website to play with interactive content!Alternative text: spinning cloverInteractive content: Visit the website to play with interactive content!Alternative text: spinning cloverInteractive content: Visit the website to play with interactive content!Alternative text: spinning cloverOn the web sprite sheets are used mainly to reduce the amount of HTTP requests by bundling multiple images together into a single image file. Displaying a sub-image involves clipping the sheet in the appropriate coordinates.Sprite sheet / texture atlas of Minecraft blocksThe bandwidth benefit has been largely mitigated by HTTP/2 now, but sprite sheets have another purpose: animations! Displaying animations is one of the prima... +
3ヶ月前
記事のアイキャッチ画像
Centering a div in a div in 2020
leanrada.com notes
tl;dr: use place-content: center on a grid container..container { display: grid; place-content: center;}Here’s how that looks like:That’s it. Two CSS rules.Yes, four years late according to caniuse. But this is apparently still not well-known today.Based on recent developments🡵, looks like we just need a few more years before we can finally get rid of the extra display rule so we can have the one CSS rule to center them all. +
4ヶ月前
記事のアイキャッチ画像
I made an app to fix my motion sickness
leanrada.com notes
+Last May, Apple announced a new feature called Vehicle Motion Cues for their iOS devices. It’s an overlay that can help reduce motion sickness while riding a vehicle.I have really bad motion sickness, and riding cars, buses, and trains makes me nauseous. This feature would have been a nice relief for me, but as it stands, I use Android.Instead of buying a Malus fruit device, I took the matter into my own programmer hands. I created an alternative app for Android.To be sure, I checked the patents. Apple does have one regarding a certain motion sickness solution, but it’s specifically for head-mounted displays, not handheld devices. I figured it’s because there is prior art for handheld devices, such as KineStop for Android by Urbandroid🡵.My app is called EasyQueasy. What it does is display onscreen vestibular signals that try to help prevent motion sickness. This functions as an overlay that is displayed on top of whatever you’re doing, browsing the web or watching videos.The app is op... +
5ヶ月前
記事のアイキャッチ画像
Stop using ease-out in your UIs!
leanrada.com notes
+For RSS readers: This article contains interactive content available on the original post on leanrada.com.Before anything, let me present you with a set of controls with no context.Press me Press me Stop using ease-out, or ease-in-out, or whatever-out, in every UI animation!There is a lot of propaganda on the internet against ease-in, saying that it's “unnatural”, “unusual”, or that it's “of the devil”. Some say that it's both “sluggish” and “abrupt”. Many pointing to ease-out as the safe, smooth, satisfying messiah of animation (including its safer kin, ease-in-out). There are even published ‘best practices’ which can be summed up to “just use ease-out”🡵. This post is here to set things straight — in a nonlinear fashion.So, why not ease-out? And what to use instead?Reason #1. It’s overusedLet’s get the weakest point out of the way. Ease out is boring because it’s everywhere. Because it’s part of the browser default ease function (which is a combination of a fast ease-in with a slow e... +
7ヶ月前
記事のアイキャッチ画像
Creating a halftone effect with CSS
leanrada.com notes
+For RSS readers: This article contains interactive content available on the original post on leanrada.com.Here’s a quick halftone effect (i.e. a retro printed look) using CSS with only one div at the minimum.First of all, here’s a live demo:Interactive content: Visit the website to play with interactive content!Alternative text: CSS halftone demoToggle the filter class using the checkbox above.To further illustrate the halftone effect, the following demo can vary the size of the dots and the degree to which they ‘bleed’:Interactive content: Visit the website to play with interactive content!Alternative text: CSS halftone demo Bleed There are several ways to do this in CSS. The above is a bit more advanced with 2-3 extra divs. I’ll try to show a simple method, first.Halftone basicsTo keep it simple, let’s start with a black-and-white image. It should be easy to layer in additional colors with the same principle.Interactive content: Visit the website to play with interactive content!Alte +
9ヶ月前
記事のアイキャッチ画像
AI art is not generative art
leanrada.com notes
+AI art is not generative art (clickbait title). While the technical definition says that one is a subset of the other, I think it’s useful to distinguish between these two categories.Why I’m writing this in the first place — Starting 2022, the term “generative art” had been progressively becoming synonymous with art produced by AI text-to-image systems. As a consumer and producer of (traditional) generative art, it was becoming a bit annoying to browse generative art content on the internet. Whether through tags like #generativeart or communities like r/generative, spaces are being flooded with AI-generated images which I and many others are not interested in. End rant.In 2024, things are a bit different. AI art is now commonly referred to as ‘AI art’. I shouldn’t have procrastinated writing this post for so long.There are also cases where generative artists are pressured to relabel their art, so as to not be mistaken for being AI (and avoid things associated with it). It’s an unfortun +
10ヶ月前
記事のアイキャッチ画像
htmz story
leanrada.com notes
+This post is not the usual programming post. It’s been an interesting week, I guess.I just finished my mini side-project htmz🡵, a snippet / library / microframework / whatever for HTML whose main feature was that it only weighed a total of 181 bytes. It almost fits inside a single ‘tweet’ (wait, the limit is now 280 not 140?).Here is the entire framework in its final form:<iframe hidden name=htmz onload="setTimeout(()=>document.querySelector(contentWindow.location.hash||null)?.replaceWith(...contentDocument.body.childNodes))"></iframe>See the project documentation🡵 for more info on what it does.I posted it on Hacker News🡵, went to sleep because it was 3am at that point. Then the next morning it was at the top of HN!I didn’t expect this at all. But naturally I rushed to the comments section which quickly grew too numerous for me to read. They were generally positive, and acknowledged the project’s hackyness and elegance (these adjectives usually mean opposite things). It was pretty c... +
1年前
記事のアイキャッチ画像
Pure CSS single-page app routing
leanrada.com notes
+You’re probably a busy person, so here’s the CSS:section:not(:target) { display: none;}Demo: Open in a new tab My AppOpen in a new tabExplanationThe :target🡵 CSS selector selects the element that is targeted by the URL fragment.Combined with :not, we can hide sections that are not referenced by the URL fragment.Just as JS routers use the fragment to hide/show sections in the DOM, this “CSS router” uses the same fragment to hide/show sections in the DOM.Experiment: Default sectionNotice that the example above doesn’t start with the Home section. The content is blank initially. This is because on initial page load we don’t have a URL fragment to begin with.We need to make an exception for the Home section.Let’s start by not hiding the #home section by default. Only hide #home if there’s a specific :target section.- section:not(:target) {+ section:not(#home, :target),+ :root:has(:target) #home { display: none; }Demo v2: Open in a new tab My AppOpen in a new tabExperiment: Nested routesOn... +
1年前
記事のアイキャッチ画像
getDuolingoStreak()
leanrada.com notes
+How to fetch your Duolingo streak using an unconfirmed API on duolingo.com:function getDuolingoStreak(username) { const res = await fetch( `https://www.duolingo.com/2017-06-30/users?username=${username}&fields=streak,streakData%7BcurrentStreak,previousStreak%7D%7D` ); const data = await res.json(); const userData = data.users[0]; // I didn't know which of these fields matter, so I just get the max of them. const streak = Math.max( userData?.streak ?? 0, userData?.streakData?.currentStreak?.length ?? 0, userData?.streakData?.previousStreak?.length ?? 0 ); return streak;}That’s my current max streak.I can then render this data into a card like that. I put one of these cards in the /misc/ section.Let’s look at the API itself. www.duolingo.com/2017-06-30 seems to be the API prefix, which is a bit weird. What is 2017-06-30? What happened on that date?🡵 Maybe the Duolingo team used a date-based versioning🡵 at the time?In any case, big thanks to the Duolingo team for keeping this apparently... +
1年前
記事のアイキャッチ画像
Writing a single-file website with Rust
leanrada.com notes
+At the company I work for, there is something called a “professional education leave”, which lets me take a day off to learn something new or attend conferences or whatever professional education means. I took the opportunity to learn the Rust🡵 programming language.I didn’t want to follow tutorials, so I thought of a project to learn with, which ended up being “make a single-file website web server”. It was inspired by the article my website is one binary by j3s🡵.Rust first impressionsfn main() { println!("Hello World!");}My first impression was that it is a mature programming language that is crazy about compile-time stuff. For example, the above println! call is a macro, which expands to something more verbose… Apparently, with macros you can also make full-blown DSL🡵s that are directly embedded in Rust code.The rustc compiler’s error messages were very good.I think I haven’t really dived deep enough to discover the standout features that I keep hearing about like memory managemen... +
1年前
記事のアイキャッチ画像
2023 in review
leanrada.com notes
+What happened in 2023? Stuff happened.2023 website redesign 🎨Feb 2023, I redesigned my site, with a goal of making it more personal instead of just being a mere portfolio.It came with a blog section, which made me start writing a blog.Started a blog 🖊“I’m starting a blog!I’ve done some blogging in the past (for gamedev), and I already do write-ups for my projects, so I think it’d be good to officially keep a blog!I have some ideas to populate the first few posts, then we’ll see how it goes from there.Watch this space!”First blog post on the new site (now unpublished), 24 Feb 2023Well, it went well! In 2023 I had:The hottest posts were:🔥 Sort, sweep, and prune: Collision detection algorithms🔥 Dynamic patrol behaviour in stealth games with Markov chainsIt is a nice new hobby and something I shall continue. 🙌Side projects 💻This year I launched two webapps, portabl.ink and GuhitKudlit!Portablink was just a fun experiment without much utility. I don’t have analytics on it so I don’t k... +
1年前
記事のアイキャッチ画像
My personalised 55% split keyboard
leanrada.com notes
+For RSS readers: This article contains interactive content available on the original post on leanrada.com.I’ve been using my Lily58 split keyboard🡵 for more than a year now. It’s a compact 58-key split keyboard with column-staggered keys, 55% the size of a standard 104-key keyboard.Thanks to the open-source firmware/framework QMK🡵, I customised it and programmed it to my satisfaction. I figured now’s a good time to post about my layout so far.The keyboard in questionQuick rundownHardware: Split keyboard with 58 keys in total. A 32×128 pixel OLED screen on each half. Both halves are connected by wire, and the whole thing is wired USB-C to the computer.Software: It runs the QMK firmware, which I used to implement 7-8 layers and several custom functions. I customised the heck out of my keyboard’s firmware.The basicsInteractive content: Visit the website to play with interactive content!Alternative text: Lily58 keyboard layout diagram Left hand: 〔Esc 〕〔 ⌃[ 〕〔 ⌃] 〕〔⌃⇧Tab〕〔⌃Tab〕〔 〕 〔 ? 〕〔 ... +
1年前
記事のアイキャッチ画像
Baybayin calligraphy generator
leanrada.com notes
+GuhitKudlitBaybayin calligraphy generatorGuhitKudlit🡵 is a webapp that generates baybayin calligraphy.Baybayin🡵 is an ancient writing system used in the Philippines, mostly for the Tagalog language. I’ve always been fascinated by Philippine languages, and this project was just another fruit of that curiosity.Project detailsreleased2023rolecreatorplatformWebtechJSOutput of GuhitKudlit for the word ‘guhit’The name comes from ‘guhit’ meaning line or drawing, and ‘kudlit’ meaning tick or small mark.You see, baybayin is an abugida🡵 and in baybayin, the kudlit is used to signify the vowel of a character.Chart of baybayin characters from WikimediaThe program is divided into two functions: transliteration and calligraphy. The transliteration process converts ASCII input to baybayin glyphs, and the calligraphy function draws those glyphs onto the canvas using the p5.js library🡵.TransliterationThe transliteration algorithm that converts ASCII text to baybayin glyphs is quite simple (or shoul... +
1年前
記事のアイキャッチ画像
Debug CSS boxes with this bookmarklet
leanrada.com notes
+Here’s a quick & simple way to show all element bounds on a page.javascript:(a=(d=document).createElement('style')).innerHTML='*{outline:solid 1px red}';d.head.append(a)The bookmarklet: ▤outlinifyExample result on threads.netNot sure how to use it? Save or drag the following link into your bookmarks:☝ Video: video of dragging the bookmarklet into the bookmarks bar | Source: /notes/debug-css-boxes-bookmarklet/drag.web.mp4 If you prefer different styles:Dashed: ▤outlinify Dotted: ▤outlinify
1年前
記事のアイキャッチ画像
Compressing a website into a URL +
leanrada.com notes
+For RSS readers: This article contains interactive content available on the original post on leanrada.com.This post explains how portabl.ink🡵 works. Portablink is a tool that creates self-contained compressed web pages in a single link. Check portablink project page for more info.tl;dr: It uses data URLs containing compressed data which is bundled with its own decompression instructions.Data URLsIn case you aren’t familiar with data URLs🡵, they are URLs whose contents are in the URL itself. They all start with data:. Here, let me show you with this interactive mock browser:Interactive content: Visit the website to play with interactive content!Alternative text: browser demo(Hint: edit the URL in the address bar!)When you load a data URL, the browser shows the content embedded in the URL directly.So, that’s it? Website in a URL? — Use data URLs! Easy!Wait, there’s more! The portablink tool does some more things than just putting your HTML in a data URL. The tool also compresses your c... +
1年前
記事のアイキャッチ画像
Introducing portabl.ink
leanrada.com notes
I just released a small weekend project called portabl.ink🡵. It’s a tool to compress whole web pages into a self-contained portable link.Try it out online at kalabasa.github.io/portabl.ink🡵!For some examples and more details, read the project page.Next, I will write another post on how it works under-the-hood. Stay tuned!
1年前
記事のアイキャッチ画像
Sort, sweep, and prune: Part&nbsp;2
leanrada.com notes
+For RSS readers: This article contains interactive content available on the original post on leanrada.com.In the first part, we figured that sorting lets us exploit the transitive property of inequality to optimise the number of pairwise tests.We ended up with - let’s call it a “simplified version”, of the full sweep-and-prune algorithm.This part explores the more sophisticated versions of sweep-and-prune.Sophisticated sip and prune.Proper sweep-and-prune 🧐Let’s see how the original version tackled the problem (Not sure which one’s original, tbh).First, sorting widthy objects.To account for the width of objects while keeping the benefits of unambiguous sort order, we track the left and the right edges of each object as two separate points.This is done by maintaining a separate array of edge points corresponding to the objects’ left & right edges.See how it works by playing with this draggable demo. The left and right edges of each ball are visualised. These edge points are stored in a... +
2年前
記事のアイキャッチ画像
Sort, sweep, and prune: Collision detection algorithms
leanrada.com notes
+For RSS readers: This article contains interactive content available on the original post on leanrada.com.Sweep-and-prune is my go-to algorithm when I want to quickly implement collision detection for a game. I think it’s an awesome and elegant algorithm, so I wrote a post about it.This post is lengthy with many examples and explanations, thus split into two parts. You can jump to specific bits using this special springboard:Part 1: Simplified version 🔍 Visual comparison📝 CodePart 2: Sophisticated versions 🔍 Visual comparison📝 Final codeAs for the rest of the post, I try to paint a picture of what I think are first principles and show it with interactive demos! Let’s go!Collision detectionAs you may know, the problem of collision detection is pretty common in video game programming. It’s a prerequisite to the implementation of certain game mechanics or simulations.Goombas collidingSome of these mechanics include: preventing characters from passing through each other, goombas🡵 turn... +
2年前
記事のアイキャッチ画像
Volley ball game in pure CSS
leanrada.com notes
I don’t know why I did this, but it was fun / funny.This is a volley ball / tennis game implemented purely using HTML and CSS. Features real-time action gameplay and score counting.👉 See the Pen Pure CSS Volley Game🡵 on CodePen! Video: video of CSS volley ball video game | Source: /notes/pure-css-volley-ball-game/video.web.mp4
2年前
記事のアイキャッチ画像
Dynamic patrol behaviour with Markov chains
leanrada.com notes
+For RSS readers: This article contains interactive content available on the original post on leanrada.com.Hi, this post is about a game AI algorithm for stealth games.But first, here’s a preview demo! Full demo at the end of this post. In between, I’ll explain the background, the process, and the results!Interactive content: Visit the website to play with interactive content!Alternative text: interactive demo of the dynamic patrol algorithmBackgroundI enjoy stealth games. However, I felt like the genre has become formulaic. Nowadays, we have standardised light, shadow, and noise mechanics. We almost always get discrete levels of alertness where on one end NPCs have wallhacks while on the other, NPCs have amnesia.Screenshot of Splinter Cell: Chaos Theory from mobygames.com. This game is good.The most immersion-breaking moment for me was when you get spotted, the subsequent investigation consists solely of staring at the ground where you were last seen. Like when you get spotted at an en +
2年前
記事のアイキャッチ画像
A review of all IDEs I’ve ever used
leanrada.com notes
+Notepad.exeinside the editor UI, like this one. Watch out for the insides! ._____________.Macromedia Flash 8What is Macromedia Flash? Macromedia Flash, or just Flash, was a Web browser plugin that everyone had back in the day before JS was powerful enough. It was used for animations, interactive experiences, Web games, Web ads, YouTube, you name it. It was the platform of all webapps before the term webapp became a thing. It was also the name of the authoring software, or IDE. This IDE, as you can see, was very much focused on the graphics and animation part of the authoring experience, not so much on the programming side of rich Web applications. Scripts existed merely as augmentation of objects in the scene. 6/10 for me. FlashDevelopwith a “real” programming IDE with refactoring, build configurations, logging, libraries, and more. in bitmap fonts. Very crisp in the old CRT monitors with 800x600 screen resolution. I customized it with some downloaded programming fonts too. ’s simple a +
2年前
記事のアイキャッチ画像
Pure CSS tic-tac-toe with game AI
leanrada.com notes
+For RSS readers: This article contains interactive content available on the original post on leanrada.com.As a software developer, I’m always looking for new and fun ways to challenge myself. Some time ago, I decided to implement tic-tac-toe with AI using only HTML and CSS. That is, no JavaScript! I already knew about the possibility of advanced CSS interactions (e.g. fancy checkboxes), but I wanted to see how far I could take it.Here’s a CodePen of it! Can you beat a style sheet in a game of tic-tac-toe?See the Pen Pure CSS Tic Tac Toe AI by Kalabasa (@kalabasa) on CodePen. In this post, I’ll write about the steps I took to make it, starting with the fundamentals.Building blocksBefore starting to build anything complex, it’s important to start small and think about the basic elements. Unlike JavaScript, HTML and CSS are declarative languages. We can’t have procedures or functions, control flow, if-statements, and the like. Instead what we have are markup and rules. We’ll build upon th +
2年前
記事のアイキャッチ画像
Bitwise keyboard input method
leanrada.com notes
+For RSS readers: This article contains interactive content available on the original post on leanrada.com.This post is about how I achieved the power of 15 keys using just 4 keys on the keyboard. I go over the motivation, the design, and the implementation. At the end, I wrap the solution into a small library. Maybe you’ll find it useful!RationaleI use a compact keyboard called the Lily58 as my main keyboard. It’s a column-staggered split keyboard.The Lily58 keyboard. Photo from github.com/kata0510/Lily58As the name implies, it has only 58 buttons instead of the normal 80+ buttons. Space was limited and it was hard to fit all the letters, numbers, symbols, and other unique keys that I need.The function keys (F1, F2, F3, etc) were particularly cumbersome. I don’t use them very often, yet they take a lot of space. You can see with my previous function key layout that they’re not very space-efficient:My previous layout with function keys on the right half of the keyboard. It’s on a layer +
2年前
記事のアイキャッチ画像
Simple image recognition with vanilla JavaScript
leanrada.com notes
+Hi there! I want to share my experience with an image recognition🡵 problem I faced in an art project (It was an augmented reality art project).Image recognition problems come in different forms.As part of the project, I needed a mobile app to be able to recognize a particular art piece. Then it can overlay virtual effects onto the real-world image. The goal was to have a unique and engaging experience!The app should recognize when the target art piece has been aligned.There are various solutions available for tackling this problem, ranging from basic histogram matching to advanced convolutional neural networks. There are even libraries that can provide a solution right out of the box! But I decided to take on the challenge of developing my own solution instead of relying on existing tools. Not only did this allow me to learn something new, but it also let me have some fun approaching the problem!TL;DR - It converts the camera image into a feature vector and then compares that against ... +
2年前
記事のアイキャッチ画像
Neural networks × genetic algorithms for Pong
leanrada.com notes
+Pong AINeural networks & genetic algorithmsNeural nets🡵 have been around since the 1950s/60s. This Pong AI experiment was done back in 2014, around the time when a revival in neural networks was accelerating, that later brought about the deep learning, modern artificial intelligence that we associate with the term "AI" nowadays.The Pong AI here, hovewer, has nothing to do with that deep stuff. I was largely unaware of those new developments in AI back then. This one is a very simple implementation of a 3-layer feedforward neural network🡵.The inputs of the network are ball position, heading, paddle position, etc. and the outputs directly control the paddle.Visualization of the network. Sorry about the pixelation (it was a product of that time).Instead of the usual backpropagation🡵, the learning method I used here was a genetic algorithm🡵. It’s an evolutionary algorithm that mimics natural selection, reproduction, and mutation to optimize the neural network’s weights. This was how th... +
2年前
\ No newline at end of file diff --git a/blogs/20e701fb10fc23b09860d610f4ac9614/index.html b/blogs/20e701fb10fc23b09860d610f4ac9614/index.html new file mode 100644 index 000000000000..3e9d351b4076 --- /dev/null +++ b/blogs/20e701fb10fc23b09860d610f4ac9614/index.html @@ -0,0 +1,8 @@ +Blog — nsaunders.devのフィード|JSer.info Watch List RSS

Blog — nsaunders.dev

https://nsaunders.dev/posts

My thoughts on React, TypeScript, frontend development, and software engineering in general

フィード

記事のアイキャッチ画像
The perils of the cascade
Blog — nsaunders.dev
The cascade in CSS adds extra layers of unpredictability and creates unnecessary cognitive overhead. Inline styles offer a simpler, more reliable styling approach.
10日前
記事のアイキャッチ画像
From CSS madness to CSS Hooks
Blog — nsaunders.dev
The limited capabilities of inline styles have frustrated web developers for decades, forcing us to choose between unmaintainable architecture and complex workarounds. CSS Variables offer a solution.
1年前
記事のアイキャッチ画像
Function asChild
Blog — nsaunders.dev
The pitfalls of polymorphic components, and how I use a time-tested React design pattern to overcome them
2年前
\ No newline at end of file diff --git a/blogs/20eabaedb6793c491d88126dd31015a9/index.html b/blogs/20eabaedb6793c491d88126dd31015a9/index.html new file mode 100644 index 000000000000..a3409dcf59ed --- /dev/null +++ b/blogs/20eabaedb6793c491d88126dd31015a9/index.html @@ -0,0 +1,25 @@ +サイボウズ フロントエンドのフィードのフィード|JSer.info Watch List RSS

サイボウズ フロントエンドのフィード

https://zenn.dev/p/cybozu_frontend

サイボウズのフロントエンドに関わる人が発信するPublicationです

フィード

記事のアイキャッチ画像
React の ViewTransition コンポーネントなど: Cybozu Frontend Weekly (2025-01-21号)
サイボウズ フロントエンドのフィード
こんにちは! サイボウズ株式会社 フロントエンドエンジニア(内定者バイト)の mehm8128 (@mehm8128) です。 はじめにサイボウズ社内では毎週火曜日に Frontend Weekly と題し「一週間の間にあったフロントエンドニュースを共有する会」を開催しています。今回は、2025/01/21 の Frontend Weekly で取り上げた記事や話題を紹介します。 取り上げた記事・話題 Oracle has informed us they won’t voluntarily withdraw their trademark on "JavaScript"...
17日前
記事のアイキャッチ画像
WinterCG の WinterTC への移行など : Cybozu Frontend Weekly (2025-1-14号)
サイボウズ フロントエンドのフィード
こんにちは!サイボウズ株式会社 フロントエンドエキスパートチームの @mugi_uno です。 はじめにサイボウズ社内では毎週火曜日に Frontend Weekly と題し「一週間の間にあったフロントエンドニュースを共有する会」を開催しています。今回は、2025 年 1 月 14 日 の Frontend Weekly で取り上げた記事や話題を紹介します。 取り上げた記事・話題 Blog: DoubleClickjacking: A New Era of UI Redressinghttps://www.paulosyibelo.com/2024/12/doublec...
24日前
記事のアイキャッチ画像
State of JavaScript 2024の公開など: Cybozu Frontend Weekly (2025-01-07号)
サイボウズ フロントエンドのフィード
こんにちは! サイボウズ株式会社フロントエンドエンジニアの Saji (@sajikix) です。 はじめにサイボウズでは毎週火曜日に Frontend Weekly という「一週間にあったフロントエンドニュースを共有する会」を社内で開催しています。今回は、2025/01/07 の Frontend Weekly で取り上げた記事や話題を紹介します。 取り上げた記事・話題 State of JavaScript 2024https://2024.stateofjs.com/en-US/JavaScript エコシステムの調査である State of JavaScrip...
1ヶ月前
記事のアイキャッチ画像
1人Intl Advent Calendar を完走しました
サイボウズ フロントエンドのフィード
こんにちは!サイボウズ株式会社フロントエンドエキスパートチームの@sajikixです。 1 人 Intl Advent Calendar を書きました今年(2024 年)の 12 月 1 日から 25 日まで、「1 人 Intl Advent Calendar」と題して Intl に関わる技術ブログを 25 日連続で執筆しました。https://adventar.org/calendars/10555この記事ではその振り返りと個人的なおすすめの記事・読み方などを紹介します。 なんで Intl で 1 人 Advent Calendar を書いたの?そもそも、Intl につ...
1ヶ月前
記事のアイキャッチ画像
Webの書式付き貼り付けチュートリアル!
サイボウズ フロントエンドのフィード
みなさんこんにちは、最近リッチエディターのことがとても気になっている@iricoです。突然ですが何かをコピーしてリッチエディターに貼り付ける際に、コピー元の書式がいい感じに反映されることってありませんか?今回はその機能(以降書式付き貼り付けと呼びます)について簡単に説明していこうと思います。※この記事はChorme,MacOSで検証しています。他の環境では違った結果になる可能性があります。 書式が維持されるのはなぜ?まずは、スタイルを維持している基本的な仕組みについて解説していきます。クリップボードは基本的に複数のデータ形式を同時に保存しています。前回の記事でOS側のク...
2ヶ月前
記事のアイキャッチ画像
Baseline2024のふりかえりなど: Cybozu Frontend Weekly (2024-12-17号)
サイボウズ フロントエンドのフィード
こんにちは!サイボウズ株式会社フロントエンドエキスパートチームの @nus3_ です。 はじめにサイボウズでは毎週火曜日に Frontend Weekly という「1 週間の間にあったフロントエンドニュースを共有する会」を社内で開催しています。今回は、2024 年 12 月 17 日 の Frontend Weekly で取り上げた記事や話題を紹介します。 コピペってなんだろう?Clipboard 編https://zenn.dev/irico/articles/d2782f5ad615f0弊社フロントエンドエンジニアのiricoの記事OS ごとのクリップボードの大ま...
2ヶ月前
記事のアイキャッチ画像
コピペってなんだろう?Clipboard編
サイボウズ フロントエンドのフィード
+最近は専らwebのリッチテキストエディタの開発をしている@iricoです。そんな折にあることに気づいてしまいました。「コピペって奥が深い…!」ということで、コピペ、つまりcopy and pasteについて詳しく知ろうというのが今記事の目的です。ブラウザへのcopy and pasteは大まかな流れは以下です。①Excelなどの各アプリケーションデータや画像データをCtrl+Cでコピーし、②Ctrl+Vでブラウザにペーストし、③そのデータをアプリケーション側で取り扱うこれら全てを扱うと膨大になってしまうため、今記事ではOSのClipboardを中心に①について解説してい...
2ヶ月前
記事のアイキャッチ画像
テストの sharding を効率化する Tenbin というツールを作った
サイボウズ フロントエンドのフィード
+!この記事は ソフトウェアテスト Advent Calendar 2024 の 15 日目の記事になります。過去のテストの実行時間を利用してテストの sharding を効率化する Tenbin というツールを作りました。https://github.com/nissy-dev/tenbinこの記事では Tenbin が解決する課題と内部実装の詳細について解説します。ツールの使い方などは、リポジトリの README をぜひ読んでもらえればと思います。 Tenbin が解決する課題テストの実行時間を削減するために、CI などではテストを sharding (分割) して実行...
2ヶ月前
記事のアイキャッチ画像
React v19リリースなど(2024-12-10号)
サイボウズ フロントエンドのフィード
+こんにちは!サイボウズ株式会社フロントエンドエンジニアのdaiki(@k1tikurisu)です。 はじめにサイボウズ社内では毎週火曜日にFrontend Weeklyと題し「一週間の間にあったフロントエンドニュースを共有する会」を開催しています。今回は、2024/12/10のFrontend Weeklyで取り上げた記事や話題を紹介します。 取り上げた記事・話題 がんばれ!くろーむhttps://x.com/takaswy1981/status/1862029920349966683Google Chromeロゴのアニメプロジェクトです。 WebDriver B...
2ヶ月前
記事のアイキャッチ画像
State of HTML 2024など: Cybozu Frontend Weekly (2024-12-03号)
サイボウズ フロントエンドのフィード
+こんにちは!サイボウズ株式会社フロントエンドエンジニアのおぐえもん(@oguemon_com)です。 はじめにサイボウズでは毎週火曜日にFrontend Weeklyという「一週間にあったフロントエンドニュースを共有する会」を社内で開催しています。今回は、2024年12月3日のFrontend Weeklyで取り上げた記事や話題を紹介します。 取り上げた記事・話題 Release Notes for Safari Technology Preview 208https://webkit.org/blog/16285/release-notes-for-safari-te...
2ヶ月前
記事のアイキャッチ画像
Tailwind CSS v4.0 Beta のリリースなど: Cybozu Frontend Weekly (2024-11-26号)
サイボウズ フロントエンドのフィード
+こんにちは! サイボウズ株式会社 フロントエンドエンジニア(内定者バイト)の mehm8128 (@mehm8128) です。 はじめにサイボウズ社内では毎週火曜日に Frontend Weekly と題し「一週間の間にあったフロントエンドニュースを共有する会」を開催しています。今回は、2024/11/26 の Frontend Weekly で取り上げた記事や話題を紹介します。 取り上げた記事・話題 Using React Server Components in Expo Router appshttps://docs.expo.dev/guides/server-...
2ヶ月前
記事のアイキャッチ画像
State of CSS 2024 公開など : Cybozu Frontend Weekly (2024-11-19号)
サイボウズ フロントエンドのフィード
+こんにちは!サイボウズ株式会社 フロントエンドエキスパートチームの @mugi_uno です。 はじめにサイボウズ社内では毎週火曜日に Frontend Weekly と題し「一週間の間にあったフロントエンドニュースを共有する会」を開催しています。今回は、2024 年 11 月 19 日 の Frontend Weekly で取り上げた記事や話題を紹介します。 取り上げた記事・話題 Deno Deploy で Next.js がデプロイできるようにhttps://x.com/deno_land/status/1849469080257900704?s=12&t=...
3ヶ月前
記事のアイキャッチ画像
Next.jsのdynamicIOなど: Cybozu Frontend Weekly (2024-11-05号)
サイボウズ フロントエンドのフィード
+こんにちは!サイボウズ株式会社フロントエンドエンジニアのdaiki(@k1tikurisu)です。 はじめにサイボウズ社内では毎週火曜日にFrontend Weeklyと題し「一週間の間にあったフロントエンドニュースを共有する会」を開催しています。今回は、2024/11/05のFrontend Weeklyで取り上げた記事や話題を紹介します。 取り上げた記事・話題 Add connection() as a new dynamic API by gnoff · Pull Request #69949 · vercel/next.jshttps://github.com/...
3ヶ月前
記事のアイキャッチ画像
Next.js 15 のリリースなど: Cybozu Frontend Weekly (2024-10-22号)
サイボウズ フロントエンドのフィード
+はじめまして! サイボウズ株式会社 フロントエンドエンジニア(内定者バイト)の mehm8128 (@mehm8128) です。 はじめにサイボウズ社内では毎週火曜日に Frontend Weekly と題し「一週間の間にあったフロントエンドニュースを共有する会」を開催しています。今回は、2024/10/22 の Frontend Weekly で取り上げた記事や話題を紹介します。 取り上げた記事・話題 Announcing Deno 2https://deno.com/blog/v2.0Deno v2.0 がリリースされました。v2.0 には次の内容が含まれます。...
3ヶ月前
記事のアイキャッチ画像
5つのECMAScript ProposalがStage4になど: Cybozu Frontend Weekly (2024-10-15号)
サイボウズ フロントエンドのフィード
+こんにちは! サイボウズ株式会社フロントエンドエンジニアの Saji (@sajikix) です。 はじめにサイボウズでは毎週火曜日に Frontend Weekly という「一週間にあったフロントエンドニュースを共有する会」を社内で開催しています。今回は、2024/10/15 の Frontend Weekly で取り上げた記事や話題を紹介します。 取り上げた記事・話題 PR TIMES フロントエンドの CI パイプラインを改善して、CI 処理時間と Billable Time を 50%を削減した話 | PR TIMES 開発者ブログhttps://develop...
4ヶ月前
記事のアイキャッチ画像
CSS新機能のWorking Draft公開など: Cybozu Frontend Weekly (2024-10-08号)
サイボウズ フロントエンドのフィード
+こんにちは!サイボウズ株式会社フロントエンドエンジニアのsaku (@sakupi01)です。 はじめにサイボウズ社内では毎週火曜日にFrontend Weeklyと題し「一週間の間にあったフロントエンドニュースを共有する会」を開催しています。今回は、2024/10/8のFrontend Weeklyで取り上げた記事や話題を紹介します。 取り上げた記事・話題 CSS Values and Units Module Level 5https://alvaromontoro.com/blog/68062/new-values-and-functions-in-CSShtt...
4ヶ月前
記事のアイキャッチ画像
Cloudflareの大幅アップデートなど: Cybozu Frontend Weekly (2024-10-01号)
サイボウズ フロントエンドのフィード
+こんにちは!サイボウズ株式会社フロントエンドエンジニアのdaiki(@k1tikurisu)です。 はじめにサイボウズ社内では毎週火曜日にFrontend Weeklyと題し「一週間の間にあったフロントエンドニュースを共有する会」を開催しています。今回は、2024/10/01のFrontend Weeklyで取り上げた記事や話題を紹介します。 取り上げた記事・話題 WebKit Features in Safari 18.0https://webkit.org/blog/15865/webkit-features-in-safari-18-0/Safari 18.0が...
4ヶ月前
記事のアイキャッチ画像
Rolldown + oxcによるビルド&型生成の高速化など: Cybozu Frontend Weekly (2024-09-17号)
サイボウズ フロントエンドのフィード
+こんにちは!サイボウズ株式会社フロントエンドエンジニアのsaku (@sakupi01)です。 はじめにサイボウズ社内では毎週火曜日にFrontend Weeklyと題し「一週間の間にあったフロントエンドニュースを共有する会」を開催しています。今回は、2024/09/17のFrontend Weeklyで取り上げた記事や話題を紹介します。 取り上げた記事・話題 2024 WebKit Contributors Meetinghttps://webkit.org/meeting/WebKit Contributors Meeting 2024 の情報が公開されていました...
5ヶ月前
記事のアイキャッチ画像
ESLint v8のEOLなど: Cybozu Frontend Weekly (2024-09-10号)
サイボウズ フロントエンドのフィード
+こんにちは! サイボウズ株式会社フロントエンドエンジニアの Saji (@sajikix) です。 はじめにサイボウズでは毎週火曜日に Frontend Weekly という「一週間にあったフロントエンドニュースを共有する会」を社内で開催しています。今回は、2024/9/10 の Frontend Weekly で取り上げた記事や話題を紹介します。 取り上げた記事・話題 Paragraphs | scottohara.mehttps://www.scottohara.me/blog/2024/08/29/paragraphs.htmlHTML における「段落(para...
5ヶ月前
記事のアイキャッチ画像
Chrome 129 Betaで追加されたCSSプロパティinterpolate-sizeとcalc-size()とは?
サイボウズ フロントエンドのフィード
+https://developer.chrome.com/blog/chrome-129-beta!本記事で取り上げているCodepenは2024-09-06現在、Chrome 129 Betaでのみ動作します。 Chrome 129 BetaChrome 129 Betaが2024-08-21にリリースされました。position-area の名称変更や Intl.DurationFormat の追加といったアップデートが盛り込まれています。本記事では、アップデートの中でも特に実験的な機能のひとつである interpolate-size と calc-size() につ...
5ヶ月前
\ No newline at end of file diff --git a/blogs/22d2381db7752c2cd2e8cb128fd39647/index.html b/blogs/22d2381db7752c2cd2e8cb128fd39647/index.html new file mode 100644 index 000000000000..6c68dead01f1 --- /dev/null +++ b/blogs/22d2381db7752c2cd2e8cb128fd39647/index.html @@ -0,0 +1,10 @@ +romgrkのフィード|JSer.info Watch List RSS

romgrk

フィード

記事のアイキャッチ画像
Efficient Typescript
romgrk
4ヶ月前
記事のアイキャッチ画像
Optimizing Javascript for fun and for profit
romgrk
Or how to write performant javascript
1年前
The problem with functional components
romgrk
romgrk ranting about the deprecation of class components
1年前
記事のアイキャッチ画像
Why styled components are bad
romgrk
romgrk ranting about styled components
1年前
記事のアイキャッチ画像
Why tailwind is bad
romgrk
romgrk ranting about tailwind
1年前
記事のアイキャッチ画像
Zen and the art of software engineering
romgrk
romgrk on readability
4ヶ月前
\ No newline at end of file diff --git a/blogs/24053fa2a39f79b6450c14dda3b4522e/index.html b/blogs/24053fa2a39f79b6450c14dda3b4522e/index.html new file mode 100644 index 000000000000..f92bfb8aca3a --- /dev/null +++ b/blogs/24053fa2a39f79b6450c14dda3b4522e/index.html @@ -0,0 +1,10 @@ +Rafael Gonzaga - Homeのフィード|JSer.info Watch List RSS

Rafael Gonzaga - Home

https://blog.rafaelgss.dev/

Tech insights on Performance, Security and Node.js from Rafael Gonzaga, Node.js TSC member

フィード

Announcing bench-node
Rafael Gonzaga - Home
Announcing bench-nodeI’m excited to announce the release of bench-node, a Node.js benchmarking librarydesigned to measure operations per second (ops/sec) for small, focused blocks ofJavaScript code. Originally, this project was intended for inclusion in Node.jscore, but microbenchmark accuracy ... read more (Feed generated with FetchRSS)
1ヶ月前
記事のアイキャッチ画像
State of Node.js Performance 2024
Rafael Gonzaga - Home
State of Node.js Performance 2024The year is 2024, and Node.js has reached version 23. With two semver-majorsreleased per year, it might be difficult to keep track of all aspects of Node.js.This article revisits the State of Node.js performance, with a focus on comparingversions 20 through 22. ... read more (Feed generated with FetchRSS)
1ヶ月前
記事のアイキャッチ画像
Node.js 2023 Year in An Article
Rafael Gonzaga - Home
Node.js 2023 Year in An ArticleTwo months into 2024, I’ve decided to summarize the achievements in the Node.js space from 2023. As always, this list is curated by me, so I may overlook some pull requests due to the vast amount of work completed by Node.js collaborators and areas where I need more ... read more (Feed generated with FetchRSS)
1年前
記事のアイキャッチ画像
Why you should pin your GitHub Actions by commit-hash
Rafael Gonzaga - Home
Why you should pin your GitHub Actions by commit-hashSupply chain attacks are not something new; we have heard about them extensively, and the maximum we can do is mitigatethem as best as we can. However, it is crucial to acknowledge that these types of attacks will always exist. With thatin min... read more (Feed generated with FetchRSS)
1年前
記事のアイキャッチ画像
State of Node.js Performance 2023
Rafael Gonzaga - Home
State of Node.js Performance 2023The year is 2023 and we’ve released Node.js v20. It’s a significantaccomplishment, and this article aims to use scientific numbers to assess the state of Node.js’ performance.All the benchmark results contain a reproducible example and hardware details. To reduc... read more (Feed generated with FetchRSS)
1年前
\ No newline at end of file diff --git a/blogs/26c0c5f8be484a92cbd5f3ada830aac9/index.html b/blogs/26c0c5f8be484a92cbd5f3ada830aac9/index.html new file mode 100644 index 000000000000..9fcd1ccb4ee6 --- /dev/null +++ b/blogs/26c0c5f8be484a92cbd5f3ada830aac9/index.html @@ -0,0 +1,16 @@ +AdonisJS Framework Blogのフィード|JSer.info Watch List RSS

AdonisJS Framework Blog

https://adonisjs.com/blog

Read the latest news, framework releases, tips, and sometimes tutorials from the AdonisJS team.

フィード

Tuyau - An E2E client for your AdonisJS APIs
AdonisJS Framework Blog
Announcing Tuyau, a new library in the AdonisJS ecosystem for having an E2E typesafe client-server communication.
3ヶ月前
記事のアイキャッチ画像
Upgrading ESLint and TypeScript setup
AdonisJS Framework Blog
In this post, we will upgrade the tooling config of an AdonisJS application to use the latest version of ESLint, move to the maintained fork of TSNode, and update the prettier config to format Edge templates.
5ヶ月前
記事のアイキャッチ画像
Send real-time updates with Transmit
AdonisJS Framework Blog
Transmit is a new package in the AdonisJS family. Its goal is to provide an opinionated way of using SSE.
8ヶ月前
記事のアイキャッチ画像
Updates from April 2024
AdonisJS Framework Blog
Discover the latest updates and enhancements in AdonisJS for April 2024
9ヶ月前
記事のアイキャッチ画像
Hot module replacement (HMR) in AdonisJS
AdonisJS Framework Blog
Announcing hot module replacement (HMR) in AdonisJS. HMR will lead to a faster feedback loop between changing the code and verifying the results.
10ヶ月前
記事のアイキャッチ画像
Updates from March 2024
AdonisJS Framework Blog
Recap of the improvements, bug fixes, and experimental packages released in March 2024
10ヶ月前
記事のアイキャッチ画像
Announcing Inertia adapter for AdonisJS
AdonisJS Framework Blog
Experimental release for the Inertia adapter for AdonisJS. Also, come with a new release of our Vite integration.
1年前
記事のアイキャッチ画像
Updates from February 2024
AdonisJS Framework Blog
Recap of the improvements, bug fixes, and documentation updates made during February 2024
1年前
記事のアイキャッチ画像
Integrating Kysely with the Auth session guard
AdonisJS Framework Blog
+In this post, we create a custom user provider for authenticating users using the AdonisJS Auth session guard and Kysely.
1年前
記事のアイキャッチ画像
Future plans for AdonisJS v6
AdonisJS Framework Blog
Our latest experimentation and future iterations for AdonisJS 6
1年前
記事のアイキャッチ画像
Setting up Kysely inside an AdonisJS project
AdonisJS Framework Blog
This post showcases how we can use the existing primitives of the framework and integrate Kysely inside an AdonisJS application seamlessly.
1年前
記事のアイキャッチ画像
+Use TSX for your template engine
AdonisJS Framework Blog
Edge is great, but maybe you want to use TSX instead. Here are some information about it.
1年前
記事のアイキャッチ画像
Announcing AdonisJS v6
AdonisJS Framework Blog
The long-awaited version of AdonisJS is finally here. In this post, we cover the highlights of the release.
1年前
記事のアイキャッチ画像
AdonisJS v6 - One Step Closer to the Release
AdonisJS Framework Blog
We have been working hard to refine the framework, engage with the alpha testers, and migrate more official packages to the v6 core. Today, we're thrilled to share our progress around what has been accomplished since the last update.
1年前
記事のアイキャッチ画像
What to Expect of AdonisJS 6?
AdonisJS Framework Blog
We’ve spent four years in the AdonisJS v5 era, and it’s time to move to the AdonisJS v6 era with some fresh ideas.
2年前
\ No newline at end of file diff --git a/blogs/2b17e9a0dfb2bc748af70732faf0abc7/index.html b/blogs/2b17e9a0dfb2bc748af70732faf0abc7/index.html new file mode 100644 index 000000000000..c6d852db4f7c --- /dev/null +++ b/blogs/2b17e9a0dfb2bc748af70732faf0abc7/index.html @@ -0,0 +1,74 @@ +Josh Comeau&#39;s blogのフィード|JSer.info Watch List RSS

Josh Comeau's blog

https://www.joshwcomeau.com/

Friendly tutorials for developers. Focus on React, CSS, Animation, and more!

フィード

記事のアイキャッチ画像
Container Queries Unleashed
はてなブックマークアイコン 2
Josh Comeau's blog
+Container queries expand the universe of designs that can be implemented, giving us whole new superpowers. Now that container queries are broadly available, I think it’s time we start exploring this potential! In this post, I’ll share the “killer pattern” I can’t stop using in my work, and explore what’s possible with this new capability.
12日前
記事のアイキャッチ画像
Next-level frosted glass with backdrop-filter
Josh Comeau's blog
+Glassy headers have become a core part of the “slick startup” UI toolkit, but they’re all missing that final 10% that really makes it shine. In this tutorial, you’ll learn how to create the most realistic lush frosted glass anywhere on the internet.
2ヶ月前
記事のアイキャッチ画像
A Framework for Evaluating Browser Support
Josh Comeau's blog
+Lots of exciting new features have been landing in CSS recently, and it can be tough trying to figure out if they’re safe to use or not. We might know that a feature is available for 92% of users, but is that sufficient? Where do we draw the line? In this blog post, I’ll share the framework I use for deciding whether or not to use a modern CSS feature
2ヶ月前
記事のアイキャッチ画像
A Friendly Introduction to Container Queries
Josh Comeau's blog
+It’s been a couple of years since container queries started landing in browsers… so why isn’t anyone using them? It turns out that container queries are kinda tricky; they’re not as straightforward as media queries. In this tutorial, we’ll break it all down and make sense of them, so that you can start using them in your work.
3ヶ月前
記事のアイキャッチ画像
How I Built My Blog
Josh Comeau's blog
+I recently launched a brand new version of this blog, and in this post, I share how it’s built! We’ll examine the tech stack and see how all of the pieces fit together, as well as dig into some of the details to see how they work.
4ヶ月前
記事のアイキャッチ画像
The Undeniable Utility Of CSS :has
Josh Comeau's blog
+Of all the latest and greatest CSS features, the “:has” pseudo-class wasn’t exactly at the top of my wishlist. Once I started using it, however, I kept discovering incredible things I could do with it. It’s now become a core part of my toolkit! In this blog post, I'll show you some practical real-world problems I solved using “:has”, as well as some wild experiments that blew my mind!
5ヶ月前
記事のアイキャッチ画像
Promises From The Ground Up
Josh Comeau's blog
+The “Promises” API is a surprisingly tricky part of modern JavaScript. Without the right context, it doesn’t make much sense at all! In this tutorial, you’ll build an intuition for how Promises work by getting a deeper understanding of JavaScript and its limitations.
8ヶ月前
記事のアイキャッチ画像
Snappy UI Optimization with useDeferredValue
Josh Comeau's blog
+useDeferredValue is one of the most underrated React hooks. It allows us to dramatically improve the performance of our applications in certain contexts. I recently used it to solve a gnarly performance problem on this blog, and in this tutorial, I'll show you how! ⚡
9ヶ月前
記事のアイキャッチ画像
CSS in React Server Components
Josh Comeau's blog
+You can’t make an omelette without cracking a few eggs, and when the core React team unveiled their vision for the future of React, some of my favourite libraries got scrambled 😅. In this blog post, we’re going to explore the compatibility issues between React Server Components and CSS-in-JS libraries like styled-components. You’ll understand what the issue is, what the options are, and what’s on the horizon.
10ヶ月前
記事のアイキャッチ画像
How To Center a Div
Josh Comeau's blog
+Back in the day, centering an element was one of the trickiest things in CSS. As the language has evolved, we’ve been given lots of new tools we can use… But how do we pick the best option? When do we use Flexbox, or CSS Grid, or something else? Let's dig into it.
1年前
記事のアイキャッチ画像
An Interactive Guide to CSS Grid
Josh Comeau's blog
+CSS Grid is an incredibly powerful tool for building layouts on the web, but like all powerful tools, there's a significant learning curve. In this tutorial, we'll build a mental model for how CSS Grid works and how we can use it effectively. I'll share the biggest 💡 lightbulb moments I've had in my own learning journey.
1年前
記事のアイキャッチ画像
Understanding the JavaScript Modulo Operator
Josh Comeau's blog
+One of the most commonly-misunderstood operators is Modulo (%). In this tutorial, we'll unpack exactly what this little bugger does, and learn how it can help us solve practical problems.
1年前
記事のアイキャッチ画像
Making Sense of React Server Components
Josh Comeau's blog
+This year, the React team unveiled something they've been quietly researching for years: an official way to run React components exclusively on the server. This is a significant paradigm shift, and it's caused a whole lot of confusion in the React community. In this tutorial, we'll explore this new world, and build an intuition for how it works, and how we can take advantage of it.
1年前
記事のアイキャッチ画像
Animated Pride Flags
Josh Comeau's blog
+Happy Pride month! In this tutorial, I'll share a handful of my favourite animation tricks. You'll learn how to build an animated wavy pride flag using CSS keyframes and linear gradients. We'll also see how to make it dynamic using React. 🏳️‍🌈
2年前
記事のアイキャッチ画像
The “const” Deception
Josh Comeau's blog
+The “const” keyword in JavaScript is used to create constants, variables that can't change. Curiously, though, we do seem to be able to edit objects and arrays that are created using “const”. In this tutorial, we're going to dig into the incredibly-important distinction between “assignment” and “mutation” in JavaScript.
2年前
記事のアイキャッチ画像
The End of Front-End Development
Josh Comeau's blog
+Large language models like GPT-4 are becoming increasingly capable, at an alarming rate. Within a couple of years, we won't need developers any more! …Or at least, that's the narrative going viral on social media. I'm much more optimistic about what these AI advancements mean for the future of software development.
2年前
記事のアイキャッチ画像
Common Beginner Mistakes with React
Josh Comeau's blog
+I used to teach React at a local coding bootcamp, and I noticed that students kept getting tripped up by the same handful of things. In this article, we're going to go through 9 of the most dastardly gotchas. I'll show you how to solve these common problems, so you can avoid a lot of potential frustration!
2年前
記事のアイキャッチ画像
Data Binding in React
Josh Comeau's blog
+As developers, we don't like working with forms, but they're a critical part of most web applications! In this tutorial, you'll learn exactly how to wire up all of the different form controls in React. Never forget how to data-bind a checkbox or radio button again!
2年前
記事のアイキャッチ画像
Color Formats in CSS
Josh Comeau's blog
+CSS gives us so many options when it comes to expressing color—we can use hex codes, rgb, hsl, and more. Which option should we choose? This turns out to be a surprisingly important decision! In this article, we'll take a tour of color formats in CSS, and see which option will serve us best.
2年前
記事のアイキャッチ画像
An Interactive Guide to Flexbox
Josh Comeau's blog
+When we truly learn the secrets of the Flexbox layout mode, we can build absolutely incredible things. Fluid layouts that stretch and shrink without arbitrary breakpoints. In this action-packed interactive tutorial, we'll pop the hood on the Flexbox algorithm and learn how to do remarkable things with it. ✨
2年前
記事のアイキャッチ画像
A World-Class Code Playground with Sandpack
Josh Comeau's blog
+No developer blog or technical documentation site is complete without an interactive code playground. The CodeSandbox team recently released a wonderful tool called Sandpack, to help us create these live-updating code editors. In this tutorial, I'll show you how I use it on this blog.
2年前
記事のアイキャッチ画像
Understanding useMemo and useCallback
Josh Comeau's blog
+What's the deal with these two hooks?! Lots of devs find them confusing, for a whole host of reasons. In this tutorial, we'll dig deep and understand what they do, why they're useful, and how to get the most out of them.
2年前
記事のアイキャッチ画像
Why React Re-Renders
Josh Comeau's blog
+In React, we don't update the DOM directly, we tell React what we want the DOM to look like, and React tackles the rest. But how exactly does it do this? In this tutorial, we'll unpack exactly when and why React re-renders, and how we can use this information to optimize the performance of our React apps.
2年前
記事のアイキャッチ画像
Statements Vs. Expressions
Josh Comeau's blog
+One of the most foundational things to understand about JavaScript is that programs are made up of statements, and statements have slots for expressions. In this blog post, we'll dig into how these two structures work, and see how building an intuition about this can help us solve practical problems.
3年前
記事のアイキャッチ画像
My Wonderful HTML Email Workflow
Josh Comeau's blog
+If you've ever had the misfortune of being tasked with building a template for HTML emails, you know it's tricky business! In this blog post, I share the approach I took to build responsive, client-friendly emails without a single tag.
3年前
記事のアイキャッチ画像
The Surprising Truth About Pixels and Accessibility
Josh Comeau's blog
+“Should I use pixels or rems?”. In this comprehensive blog post, we'll answer this question once and for all. You'll learn about the accessibility implications, and how to determine the best unit to use in any scenario.
3年前
記事のアイキャッチ画像
You Don’t Need a UI Framework
Josh Comeau's blog
+As developers, it can be tempting to grab a pre-styled UI framework like Material UI or Bootstrap. Seems like a great way to outsource design and save a bunch of time, right? In my experience, this is an unrealistic expectation, and things don’t quite work out that way.
3年前
記事のアイキャッチ画像
The Front-End Developer's Guide to the Terminal
Josh Comeau's blog
+If you want to learn a modern JavaScript framework like React or Angular, you better be familiar with the terminal! So many frameworks and tools assume that you're proficient with it, without ever explaining it. This blog post is your missing manual, covering all of the most important fundamentals.
3年前
記事のアイキャッチ画像
Understanding Layout Algorithms
Josh Comeau's blog
+As front-end developers, we often learn CSS by focusing on individual properties. Instead, we should focus on how the language uses those properties to calculate layouts. In this blog post, we'll pop the hood on CSS and see how the language is structured, and how to learn it effectively.
3年前
記事のアイキャッチ画像
Delightful React File/Directory Structure
Josh Comeau's blog
+How should we structure components and other files in our React apps? I've iterated my way to a solution I'm really happy with. In this blog post, I'll share how it works, what the tradeoffs are, and how I mitigate them.
3年前
記事のアイキャッチ画像
Make Beautiful Gradients
Josh Comeau's blog
+Have you ever noticed that gradients tend to look a little gray and washed-out in the middle? This happens because of a mathematical quirk with RGB colors. Fortunately, we can work around this quirk, and create beautiful, lush, saturated gradients.
3年前
記事のアイキャッチ画像
A Modern CSS Reset
Josh Comeau's blog
+I have a set of baseline CSS styles that come with me from project to project. In the past, I'd use a typical CSS reset, but times have changed, and I believe I have a better set of global styles!
3年前
記事のアイキャッチ画像
Introducing “Shadow Palette Generator”
Josh Comeau's blog
+In order to create lush, realistic shadows in CSS, we need to use multiple layers and colors. How do we come up with all of the parameters, though? I've built a tool that'll help.
3年前
記事のアイキャッチ画像
Designing Beautiful Shadows in CSS
Josh Comeau's blog
When I look around the web, most of the shadows I see are fuzzy grey boxes. It doesn't have to be this way, though! CSS gives us the tools to create rich, lush, lifelike shadows. In this tutorial, I'll show you how.
3年前
記事のアイキャッチ画像
An Interactive Guide to Keyframe Animations
Josh Comeau's blog
CSS keyframe animations are incredibly flexible and powerful, but they’re also a bit weird. In this deep-dive tutorial, we'll learn how CSS keyframes work from the ground up, and see how to use them to build high-quality animations.
3年前
記事のアイキャッチ画像
The World of CSS Transforms
Josh Comeau's blog
The “transform” property is such a powerful part of the CSS language! In this blog post, we'll take a deep look at this property and see some of the nifty things it can do.
3年前
記事のアイキャッチ画像
How To Learn Stuff Quickly
Josh Comeau's blog
As software developers, we're always learning new things; it's practically the whole gig! If we can learn to quickly pick up new languages/frameworks/tools, we'll become so much more effective at our job. It's sort of a superpower.
4年前
記事のアイキャッチ画像
Demystifying styled-components
+Josh Comeau's blog
For so many React devs, styled-components seems kinda magical. It isn't at all clear how it uses traditional CSS features under-the-hood, and that lack of clarity can cause real problems when things go awry. In this post, we'll learn exactly how styled-components works by building our own mini-version.
4年前
記事のアイキャッチ画像
How I Built My Blog
Josh Comeau's blog
+An in-depth look at the technical stack behind this very blog! We'll see how I use Next's API routes to implement my hit and like counters, how I use MDX to add interaction and customization, and how I organize my codebase, among others.
4年前
記事のアイキャッチ画像
Building a Magical 3D Button
Josh Comeau's blog
+Every action we take on the web starts with a button click, and yet most buttons are ho-hum and uninspired. In this tutorial, we'll build an animated 3D button with HTML and CSS that sparks joy.
4年前
記事のアイキャッチ画像
The Importance of Learning CSS
Josh Comeau's blog
+I know so many super-talented developers who share the same achilles heel: CSS. Instead of trying to “outrun” CSS, this article explores why leaning in and going deeper can be a tremendous boon for your development life and your career.
4年前
記事のアイキャッチ画像
What The Heck, z-index??
Josh Comeau's blog
+The z-index property can be a tricky little bugger. Sometimes, no matter how much you crank up the number, the element never rises to the top! In this article, we explore stacking contexts, and see how they can thwart our efforts to use z-index. We'll also learn how to use this mechanism to our advantage.
4年前
記事のアイキャッチ画像
An Interactive Guide to CSS Transitions
Josh Comeau's blog
+This comprehensive guide shows how to use CSS transitions! A back-to-basics look at the fundamental building blocks we need to create microinteractions and other animations.
4年前
記事のアイキャッチ画像
The styled-components Happy Path
Josh Comeau's blog
styled-components is a wonderfully powerful styling library for React, and over the years I've learned a lot about how to use it effectively. This article shares my personal “best practices”.
4年前
記事のアイキャッチ画像
Let's Bring Spacer GIFs Back!
Josh Comeau's blog
The 90s web gave us many delightful things: web rings, guestbooks, “under construction” animations, and spacer GIFs. In this article, we'll see how I use a Spacer component to solve common layout problems, and why it's often a great tool for the job in the modern web.
4年前
記事のアイキャッチ画像
Refreshing Server-Side Props
Josh Comeau's blog
Next allows you to do server-side data-fetching, but what happens when that data needs to change on the client? This brief tutorial shows how to re-fetch the props without doing a full server reload.
4年前
記事のアイキャッチ画像
The Rules of Margin Collapse
Josh Comeau's blog
“Margin collapse” has a dastardly reputation, one of the trickier parts of CSS. Fortunately, it gets a lot easier once you learn a few rules! In this tutorial, we take a deep dive into the governing principles, and learn how to use them to our advantage.
4年前
記事のアイキャッチ画像
Boop!
Josh Comeau's blog +
An in-depth tutorial that teaches how to create one of the most adorable interactions I've ever created. We'll learn how to use React components and hooks to abstract behaviours, and see how to design the perfect API. Even if you're not into animations, I think you'll find it interesting!
4年前
記事のアイキャッチ画像
Chasing the Pixel-Perfect Dream
Josh Comeau's blog
+Is it possible to create an implementation of a design that matches to-the-pixel? Well, not really, but that shouldn't discourage us! In this article, I'll show how I became designers' best friend by leveraging a series of tricks to get my implementation looking near-pixel-perfect.
4年前
記事のアイキャッチ画像
Hands-Free Coding
Josh Comeau's blog
+Earlier this year, I lost the ability to use a keyboard and mouse for extended periods. Fortunately, this wasn't as catastrophic as it sounds! This article chronicles my experience using adaptive tools like dictation and eye-tracking as my primary mechanisms for writing code.
4年前
記事のアイキャッチ画像
Full-Bleed Layout Using CSS Grid
Josh Comeau's blog
+Certain layouts are surprisingly dastardly. On the modern web, one of the most common layouts is also one of the trickiest. In this tutorial, I break down how to build the "full-bleed" layout using CSS Grid.
4年前
記事のアイキャッチ画像
A Friendly Introduction to Spring Physics
Josh Comeau's blog
+Of all the little tips and techniques I've picked up over the years about animation, spring physics remains one of the most powerful and flexible. In this tutorial, we'll learn how to harness their power to build fluid, organic transitions.
4年前
記事のアイキャッチ画像
Local Testing on an iPhone
Josh Comeau's blog
+Learn how to set up an ideal workflow for debugging your development server on your iPhone. This may not be the most exciting topic I've written about, but it's probably one of the most useful!
5年前
記事のアイキャッチ画像
Animated Sparkles in React
Josh Comeau's blog
In this dazzling tutorial, we'll see how to build an animated component. Wrap it around text or images and watch them twinkle! This neat trick is a perfect way to emphasize positive or exciting things. +
5年前
記事のアイキャッチ画像
Lessons Learned Speaking at Conferences
Josh Comeau's blog
Speaking at conferences is equal parts exciting and terrifying. This article is a behind-the-scenes look at what the experience is like, and shares tips for getting started as a conference speaker.
5年前
記事のアイキャッチ画像
Accessible Animations in React
Josh Comeau's blog
I really love animation, but not everybody does. In fact, it can make some people literally sick! In this tutorial, we'll see how to ensure that we respect user preferences, and create animations that can be disabled.
5年前
記事のアイキャッチ画像
Why My Blog is Closed-Source
Josh Comeau's blog
In our community, it's so common for developer projects to be open-source. I'm breaking with this trend for my blog, but I have good reasons! In this article, I'll share my reasoning, as well as a workaround in case you _really_ want to see the source. If you're considering whether a project should be open-source or not, I hope you'll find it valuable.
5年前
記事のアイキャッチ画像
The Quest for the Perfect Dark Mode
Josh Comeau's blog
Dark Mode has become common enough that it's a user expectation. And yet, creating the perfect dark mode with a statically-built site/app is deceptively tricky. In this in-depth tutorial, we'll see how to build the perfect, flicker-free, customizable theming solution for React/Next.js apps.
5年前
記事のアイキャッチ画像
+CSS Variables for React Devs
Josh Comeau's blog
CSS variables are *really* cool, and they're incredibly powerful when it comes to React! This tutorial shows how we can use them with React to create dynamic themes. We'll see how to get the most out of CSS-in-JS tools like styled-components, and how our mental frame around media queries has been wrong all along.
5年前
記事のアイキャッチ画像
Styling Ordered Lists with CSS Counters
Josh Comeau's blog
Styling an ordered list can be surprisingly tricky; there's no way to get at that bullet! In this tutorial, we'll see a handy trick using CSS counters that lets us style ordered lists without breaking proper semantics.
5年前
記事のアイキャッチ画像
Announcing “use-sound”, a React Hook for Sound Effects
Josh Comeau's blog
+By and large, using the web is a visual experience. This is in terrible contrast to mobile apps, which interact with three of our human senses (sight, sound, and touch, through haptic feedback). I just released a library to make it easy to add sound to your React app, and I make the case that you should consider using it!
5年前
記事のアイキャッチ画像
Becoming a Software Developer Without a CS Degree
Josh Comeau's blog
+A look at how hundreds of developers got their start in the industry despite not having a Computer Science or Software Engineering degree. We'll sort responses into 6 categories, and detail strategies that you can use to ensure you capture the attention of potential employers!
5年前
記事のアイキャッチ画像
The Perils of Hydration
Josh Comeau's blog
+A surprisingly-common misconception can lead to big rendering issues that are difficult to debug. This deep-dive tutorial examines how React and Gatsby can be used to pre-render content, and how we can work around the constraints to build dynamic, personalized web apps.
5年前
記事のアイキャッチ画像
Persisting React State in localStorage
Josh Comeau's blog
+A common thing in React development is that we want to store a bit of React state in localStorage, and re-initialize from that value on the next page-load. This quick tutorial shows you how we can build a custom hook that does exactly this!
5年前
記事のアイキャッチ画像
Effective Collaboration with Product and Design
Josh Comeau's blog
+How we work with design can have a tremendous impact on our overall output, and yet we don't always treat it as very important. A look at how collaborating with design can supercharge our own productivity.
5年前
記事のアイキャッチ画像
Magical Rainbow Gradients
Josh Comeau's blog
+If you've ever tried to animate a gradient, you've been met with a harsh reality—it isn't possible. At least, it wasn't! In this tutorial, we'll leverage bleeding-edge browser features to animate ANY CSS property, including background gradients, using CSS Houdini, CSS variables, and React.
5年前
記事のアイキャッチ画像
Finding your first remote job
Josh Comeau's blog
+As remote work becomes increasingly popular, I am frequently asked how to get started. This article shares everything I know about landing that first remote gig.
5年前
記事のアイキャッチ画像
My experience as a remote worker
Josh Comeau's blog
I've spent half of my career working remotely. This post chronicles those experiences, giving a real-world window into what it's like to work fully-remote as a software engineer.
5年前
+
記事のアイキャッチ画像
Clever Code Considered Harmful
Josh Comeau's blog
As engineers, it can be really satisfying for us to implement clever, terse solutions to problems, relying on advanced tricks and techniques. As a result, we often write code that is hostile and inaccessible to the junior folks on our team. This article makes the case that we should strive to write simple, accessible code, using the dumb old primitives that everyone knows.
5年前
記事のアイキャッチ画像
Folding the DOM
Josh Comeau's blog
In this post, we'll explore a technique we can use to "fold" a DOM node, like folding a letter in real-life. On that journey, we'll learn a lot about 3D transforms and CSS animation techniques!
6年前
記事のアイキャッチ画像
Dynamic Bézier Curves
Josh Comeau's blog
A deep dive into Bézier curves in React. We'll look at how to build dynamic effects such as scroll-to-flatten using SVG path instructions, and how to architect our components for maximum readability and reusability.
7年前
記事のアイキャッチ画像
Animating the Unanimatable
Josh Comeau's blog
An in-depth look at the surprisingly complicated problem of animating the transition when two items in a list swap positions.
9年前
\ No newline at end of file diff --git a/blogs/2bb89659621e2f9314324129711f5dbb/index.html b/blogs/2bb89659621e2f9314324129711f5dbb/index.html new file mode 100644 index 000000000000..1da627c61ac1 --- /dev/null +++ b/blogs/2bb89659621e2f9314324129711f5dbb/index.html @@ -0,0 +1,15 @@ +Netlify RSSのフィード|JSer.info Watch List RSS

Netlify RSS

https://www.netlify.com/

Realize the speed, agility and performance of a scalable, composable web architecture with Netlify. Explore the composable web platform now!

フィード

記事のアイキャッチ画像
Continuing the AX conversation: The Agent Web and Its Interface
Netlify RSS
Read the article to learn more.
2日前 +
記事のアイキャッチ画像
The Era of Agent Experience (AX)
Netlify RSS
Read the article to learn more.
11日前
+
記事のアイキャッチ画像
Frontend frameworks, a 2024 year in review
Netlify RSS
Highlights and emerging trends in 2024, plus what to expect in 2025.
21日前
記事のアイキャッチ画像
Netlify 2024 product recap: Ready, set, deploy
Netlify RSS
+Reflecting on a year of innovation and new features at Netlify, enhancing the developer experience.
2ヶ月前
記事のアイキャッチ画像
Meet our Netlifolks: Steph Clay
Netlify RSS
Read the article to learn more.
2ヶ月前
記事のアイキャッチ画像
Reflecting on a successful Black Friday
Netlify RSS
Read the article to learn more.
2ヶ月前
記事のアイキャッチ画像
How to deploy a no-code app to Netlify with bolt.new
Netlify RSS
Learn how to deploy a no-code application to Netlify using the AI-powered bolt.new platform.
2ヶ月前
記事のアイキャッチ画像
Contextual improvements to Netlify&#8217;s navigation
Netlify RSS
Netlify introduces a new approach to navigating between team-level and site-level functionality, improving wayfinding, discoverability, and accessibility.
3ヶ月前
+
記事のアイキャッチ画像
Using Netlify&#8217;s platform primitives is easier than ever with Nuxt 4
Netlify RSS
Nuxt 4 hasn&#8217;t yet been released, but we&#8217;re already excited to announce that Netlify will have full support for all upcoming new Nuxt features, improvements, and breaking changes on Day 1. Keep reading to find out what&#8217;s changed, how the Nuxt on Netlify experience has gotten a serious upgrade, and how you can opt in early.
3ヶ月前
記事のアイキャッチ画像
Introducing Netlify&#8217;s Free plan
Netlify RSS
Deploy without worry. Netlify&#8217;s new Free plan gives you generous bandwidth, build minutes, and powerful features to run your web projects.
3ヶ月前
記事のアイキャッチ画像
The power of headless CMS: A guide for developers and marketers
Netlify RSS
Explore how headless CMS is transforming content management for developers and marketers, offering flexibility, scalability, and omnichannel delivery.
3ヶ月前
\ No newline at end of file diff --git a/blogs/2c6a9279204f8b4b80f80b8265b9ac0c/index.html b/blogs/2c6a9279204f8b4b80f80b8265b9ac0c/index.html new file mode 100644 index 000000000000..f0c9d9174e73 --- /dev/null +++ b/blogs/2c6a9279204f8b4b80f80b8265b9ac0c/index.html @@ -0,0 +1,20 @@ +Write Software, Wellのフィード|JSer.info Watch List RSS

Write Software, Well

https://www.writesoftwarewell.com/

Spreading the joy of writing software using Ruby and Rails with the world.

フィード

記事のアイキャッチ画像
Working with the Rails Instrumentation API
Write Software, Well
+The Instrumentation API in ActiveSupport serves a dual purpose. You can use it to implement the observer (pub-sub) pattern, as well as benchmark how long it took to execute some action. In this post, we'll learn almost everything you need to know about the Rails Instrumentation API.
3時間前
記事のアイキャッチ画像
How a Ruby Method Becomes a Rails Action: Part One
Write Software, Well
+In this post, we will explore how a simple Ruby method, when added to a controller, becomes an action in Rails, ready to process incoming HTTP requests and send responses. We'll also trace the path of an incoming HTTP request to a Rails controller action.
1ヶ月前
記事のアイキャッチ画像
Using Hotwire for Inline Form Updates Without Form Submission
Write Software, Well
+Sometimes you need dynamic content on the form, where parts of the form update based on the user input. This post shows how to use Hotwire's Turbo and Stimulus libraries for in-place form updates by loading data from the server, without submitting the form, which happens only once, at the end.
3ヶ月前
記事のアイキャッチ画像
A Brief Introduction to Rails Initializers: Why, What, and How
Write Software, Well
+At first glance, Rails initializers seem complex, but they're solving a simple, but important problem: run some code after framework and gems are loaded, to initialize the application. This post covers the basics of initializers, including what they are, how they work, and how Rails implements them.
4ヶ月前
記事のアイキャッチ画像
Not-Null Shortcut in Rails 8 Migration Generator
Write Software, Well
+Rails 8 lets you mark a database column as not-null by appending an exclamation mark after the column while generating a migration. It's a nice quality of life improvement. This post also contains a few things I learned after reading the pull request.
4ヶ月前
記事のアイキャッチ画像
If You're a WordPress Developer, Learn Ruby and Rails
Write Software, Well
+With the recent WordPress drama, many developers might be concerned about its future. While WordPress isn't likely to go away, now might be the perfect time to invest in learning other tools and technologies. I suggest Ruby on Rails - you won't regret it!
4ヶ月前
記事のアイキャッチ画像
How to Count the Number of Commits After a Specific Commit in Git
Write Software, Well
+Counting the number of commits after a specific commit in Git is a common task when you make small but frequent commits and need to squash them before rebasing from the main branch. This post shows one simple way to do this in git. Let me know if you know a better solution.
5ヶ月前
記事のアイキャッチ画像
The Rails Router Handbook
Write Software, Well
+For the past few days, I've been trying to learn everything I could about the Rails router. I compiled all of my notes together with the past articles on this blog, and published a handbook on the router. I hope you find it useful and you learn a thing or two about the incredible Rails Router.
6ヶ月前
記事のアイキャッチ画像
Routing Concerns in Rails
Write Software, Well
+You must have used concerns in Rails. Did you know you can also use concerns for your routes? They allow you to declare common routes to be reused in other resources and routes. This post covers the basics of routing concerns, including what they are, how they work, and when you might need them.
6ヶ月前
記事のアイキャッチ画像
Understanding Shallow Nested Routes in Rails
Write Software, Well
+Shallow nesting lets you avoid deep nesting by generating the collection actions scoped under the parent, but by not nesting the member actions.
6ヶ月前
記事のアイキャッチ画像
Working with Resourceful Routes in Ruby on Rails
Write Software, Well
+The concept of resourceful routing took me a long time to understand, but once it clicked, it changed how I viewed web applications. This post covers the basics: what a resource is, the routes it generates and how resourceful routing provides a nice organizational structure your Rails applications.
6ヶ月前
記事のアイキャッチ画像
How to Route an Incoming URL to a Rack Application in Rails
Write Software, Well
+The Rails router can dispatch an HTTP request to a Rack endpoint, either in your application or within a gem. This is useful when you want to provide a well-isolated web UI or front-end to the users of your gem. In this post, we'll learn why you may want to do this, how it works, and how to do it.
6ヶ月前
記事のアイキャッチ画像
Map a Resourceful Route in Rails to Another Controller Class
Write Software, Well
+If you want to map a resourceful route to another controller class in Rails, you can do so by passing the controller option to the resources method.
6ヶ月前
記事のアイキャッチ画像
Working with Nested Resources in Ruby on Rails
Write Software, Well
Rails allows you to nest a resource within another resource to express the logical relationship between them. This post shows how nested resources work in Rails.
7ヶ月前
+
記事のアイキャッチ画像
How to List and Filter Routes in Ruby on Rails
Write Software, Well
You can list all the routes in your Rails application by running the `bin/rails routes` command in the terminal. or by visiting `/rails/info/routes` path on a running Rails application.
7ヶ月前
\ No newline at end of file diff --git a/blogs/30e8ffcc1375afeb7afc582db217701e/index.html b/blogs/30e8ffcc1375afeb7afc582db217701e/index.html new file mode 100644 index 000000000000..5bbfb14cec06 --- /dev/null +++ b/blogs/30e8ffcc1375afeb7afc582db217701e/index.html @@ -0,0 +1,18 @@ +DX Criteria (v202104)/企業のデジタル化とソフトウェア活用のためのガイドラインのフィード|JSer.info Watch List RSS

DX Criteria (v202104)/企業のデジタル化とソフトウェア活用のためのガイドライン

https://dxcriteria.cto-a.org

クライテリア一覧

フィード

記事のアイキャッチ画像
複数チーム/経年比較での使い方
DX Criteria (v202104)/企業のデジタル化とソフトウェア活用のためのガイドライン
はじめに DX Criteriaは、デジタル技術を企業が効果的に活用するために必要な要素を体系化した評価ツールです。ソフトウェアエンジニアリング組織の健全な成長、経営目標の可視化、パートナーとのコミュニケーションの促進など、多岐にわたる目的で利用されています。本稿では、このDX Criteriaを複数チームおよび経年比
7ヶ月前
記事のアイキャッチ画像
サンプルページ
DX Criteria (v202104)/企業のデジタル化とソフトウェア活用のためのガイドライン
テスト
10ヶ月前
記事のアイキャッチ画像
4-3-4
DX Criteria (v202104)/企業のデジタル化とソフトウェア活用のためのガイドライン
10ヶ月前
記事のアイキャッチ画像
5-5-4
DX Criteria (v202104)/企業のデジタル化とソフトウェア活用のためのガイドライン
備考 発信する際に特定の個人に依存することは個人が転職や休職などで状況が変わった際に脆弱な仕組みになってしまう。チーム全体で発信するという心持ちが必要。
10ヶ月前
記事のアイキャッチ画像
2-2-2
DX Criteria (v202104)/企業のデジタル化とソフトウェア活用のためのガイドライン
+備考 自分たちの事業において、どの程度の基準を満たすようにWebアクセシビリティを整備するか言語化しておくことが重要である。具体的にはJIS X 8341-3:2016 か WCAG (Web Content Accessibility Guidelines) の各レベル A/AA/AAAを目安にできる。方針策定お
10ヶ月前
記事のアイキャッチ画像
4-1-4
DX Criteria (v202104)/企業のデジタル化とソフトウェア活用のためのガイドライン
10ヶ月前
5-3-1
DX Criteria (v202104)/企業のデジタル化とソフトウェア活用のためのガイドライン
10ヶ月前
記事のアイキャッチ画像
4-1-1
DX Criteria (v202104)/企業のデジタル化とソフトウェア活用のためのガイドライン
備考 リソースのメトリクスには例として下記のものが挙げられる。- CPU利用率- メモリ利用率- ディスク使用量- ネットワーク帯域幅
10ヶ月前
記事のアイキャッチ画像
3-2-3
DX Criteria (v202104)/企業のデジタル化とソフトウェア活用のためのガイドライン
10ヶ月前
記事のアイキャッチ画像
3-5-2
DX Criteria (v202104)/企業のデジタル化とソフトウェア活用のためのガイドライン
10ヶ月前
記事のアイキャッチ画像
2-1-4
DX Criteria (v202104)/企業のデジタル化とソフトウェア活用のためのガイドライン
10ヶ月前
記事のアイキャッチ画像
2-3-1
DX Criteria (v202104)/企業のデジタル化とソフトウェア活用のためのガイドライン
備考 SAST(Static Application Security Testing)相当のソリューションは各所から提供されており、身近な例ではGitHub Code Scanningなどがある。
10ヶ月前
記事のアイキャッチ画像
2-1-3
DX Criteria (v202104)/企業のデジタル化とソフトウェア活用のためのガイドライン
10ヶ月前 +
記事のアイキャッチ画像
1-3-4
DX Criteria (v202104)/企業のデジタル化とソフトウェア活用のためのガイドライン
10ヶ月前
記事のアイキャッチ画像
2-4-1
+DX Criteria (v202104)/企業のデジタル化とソフトウェア活用のためのガイドライン
10ヶ月前
記事のアイキャッチ画像
5-2-1
DX Criteria (v202104)/企業のデジタル化とソフトウェア活用のためのガイドライン
10ヶ月前
記事のアイキャッチ画像
4-5-2
DX Criteria (v202104)/企業のデジタル化とソフトウェア活用のためのガイドライン
備考 障害発生後のポストモーテムにも学びの場を活かせるようにしていることも重要である。
10ヶ月前
記事のアイキャッチ画像
5-4-1
DX Criteria (v202104)/企業のデジタル化とソフトウェア活用のためのガイドライン
10ヶ月前
記事のアイキャッチ画像
3-4-1
DX Criteria (v202104)/企業のデジタル化とソフトウェア活用のためのガイドライン
備考 2-3-3 (セキュリティ) でも依存ライブラリに関する自動検知について触れているが、通常のアップデートサイクルとは異なる緊急性の高いアップデート対応でも有効な仕組みである。
10ヶ月前
記事のアイキャッチ画像
1-2-4
DX Criteria (v202104)/企業のデジタル化とソフトウェア活用のためのガイドライン
10ヶ月前
\ No newline at end of file diff --git a/blogs/31c15d9c3216db8cc8efc47df679885c/index.html b/blogs/31c15d9c3216db8cc8efc47df679885c/index.html new file mode 100644 index 000000000000..d00b5db83b80 --- /dev/null +++ b/blogs/31c15d9c3216db8cc8efc47df679885c/index.html @@ -0,0 +1,12 @@ +Deezer I/O - Mediumのフィード|JSer.info Watch List RSS
\ No newline at end of file diff --git a/blogs/31c5bdecfd2e156bd3357fb0f4aca24d/index.html b/blogs/31c5bdecfd2e156bd3357fb0f4aca24d/index.html new file mode 100644 index 000000000000..e8edc415c02c --- /dev/null +++ b/blogs/31c5bdecfd2e156bd3357fb0f4aca24d/index.html @@ -0,0 +1,9 @@ +Ladle Blogのフィード|JSer.info Watch List RSS

Ladle Blog

フィード

記事のアイキャッチ画像
Ladle v3
Ladle Blog
Ladle is a tool designed for building and testing React components through stories. It serves as a seamless alternative to Storybook and is built using Vite and SWC. Our main goal is to ensure it's as swift and user-friendly as conceivable.
1年前
記事のアイキャッチ画像
Visual Snapshots
Ladle Blog
+If you use stories to develop your React components, you might be also interested in some sort of test automation. Ladle and Playwright makes it easy to take screenshots of your stories and compare them against the previous version before you changed your code. We call this visual snapshot testing. Let's take a look at how you can automate it with Ladle. This solution is quick, free and self-hosted.
3年前
記事のアイキャッチ画像
Ladle v1
Ladle Blog
+Ladle has been out for 3 months and the community feedback was overwhelming and amazing. Thank you! Some numbers:
3年前
記事のアイキャッチ画像
Introducing Ladle
Ladle Blog
+Ladle is a tool for developing and testing your React components in an environment that's isolated and faster than most real-world applications. It supports Component Story Format – a concept widely popular thanks to Storybook. In fact, Ladle has been developed as a drop-in replacement of Storybook – it should already work with your existing stories.
3年前
\ No newline at end of file diff --git a/blogs/31fa3f733275aca3ce5eb0b9b6f6931e/index.html b/blogs/31fa3f733275aca3ce5eb0b9b6f6931e/index.html new file mode 100644 index 000000000000..08e431532b23 --- /dev/null +++ b/blogs/31fa3f733275aca3ce5eb0b9b6f6931e/index.html @@ -0,0 +1,490 @@ +Node.js Blogのフィード|JSer.info Watch List RSS

Node.js Blog

フィード

記事のアイキャッチ画像
Node v23.7.0 (Current)
はてなブックマークアイコン 2
Node.js Blog
9日前
記事のアイキャッチ画像
Node v23.6.1 (Current)
Node.js Blog
18日前
記事のアイキャッチ画像
Node v22.13.1 (LTS)
Node.js Blog
18日前
記事のアイキャッチ画像
Node v20.18.2 (LTS)
Node.js Blog
18日前
記事のアイキャッチ画像
Node v18.20.6 (LTS)
Node.js Blog
18日前
記事のアイキャッチ画像
Node v22.13.0 (LTS)
Node.js Blog
1ヶ月前
記事のアイキャッチ画像
Node v23.6.0 (Current)
Node.js Blog
1ヶ月前
記事のアイキャッチ画像
Node v23.5.0 (Current)
Node.js Blog
2ヶ月前
記事のアイキャッチ画像
Node v23.4.0 (Current)
Node.js Blog
2ヶ月前
記事のアイキャッチ画像
Node v22.12.0 (LTS)
Node.js Blog
2ヶ月前
記事のアイキャッチ画像
Node v23.3.0 (Current)
Node.js Blog
3ヶ月前
記事のアイキャッチ画像
Node v20.18.1 (LTS)
Node.js Blog
3ヶ月前
記事のアイキャッチ画像
Node v18.20.5 (LTS)
Node.js Blog
3ヶ月前
記事のアイキャッチ画像
Node v23.2.0 (Current)
Node.js Blog
3ヶ月前
記事のアイキャッチ画像
Node v22.11.0 (LTS)
Node.js Blog
3ヶ月前
記事のアイキャッチ画像
Node v23.1.0 (Current)
Node.js Blog
3ヶ月前
記事のアイキャッチ画像
Node v22.10.0 (Current)
Node.js Blog
4ヶ月前
記事のアイキャッチ画像
Node v23.0.0 (Current)
Node.js Blog
4ヶ月前
記事のアイキャッチ画像
Node v20.18.0 (LTS)
Node.js Blog
4ヶ月前
記事のアイキャッチ画像
Node v22.9.0 (Current)
Node.js Blog
5ヶ月前
記事のアイキャッチ画像
Node v22.8.0 (Current)
Node.js Blog
5ヶ月前
記事のアイキャッチ画像
+Node v22.7.0 (Current)
Node.js Blog
6ヶ月前
記事のアイキャッチ画像
Node v20.17.0 (LTS)
Node.js Blog
6ヶ月前
記事のアイキャッチ画像
Node v22.6.0 (Current)
Node.js Blog
6ヶ月前
記事のアイキャッチ画像
Node v20.16.0 (LTS)
Node.js Blog
6ヶ月前
記事のアイキャッチ画像
Node v22.5.1 (Current)
Node.js Blog
7ヶ月前
記事のアイキャッチ画像
Node v22.5.0 (Current)
Node.js Blog
7ヶ月前
記事のアイキャッチ画像 +
Node v22.4.1 (Current)
Node.js Blog
7ヶ月前
記事のアイキャッチ画像
Node v20.15.1 (LTS)
Node.js Blog
7ヶ月前
記事のアイキャッチ画像 +
Node v18.20.4 (LTS)
Node.js Blog
7ヶ月前
記事のアイキャッチ画像
Node v22.4.0 (Current)
Node.js Blog
7ヶ月前
記事のアイキャッチ画像
Node v20.15.0 (LTS)
Node.js Blog
8ヶ月前
記事のアイキャッチ画像
Node v22.3.0 (Current)
Node.js Blog
8ヶ月前
記事のアイキャッチ画像
Node v20.14.0 (LTS)
Node.js Blog
8ヶ月前
+記事のアイキャッチ画像
Node v18.20.3 (LTS)
Node.js Blog
9ヶ月前
記事のアイキャッチ画像
Node v22.2.0 (Current)
Node.js Blog
9ヶ月前
記事のアイキャッチ画像
Node v20.13.1 (LTS)
Node.js Blog
9ヶ月前
記事のアイキャッチ画像
Node v20.13.0 (LTS)
Node.js Blog
9ヶ月前
記事のアイキャッチ画像
Node v22.1.0 (Current)
Node.js Blog
9ヶ月前
記事のアイキャッチ画像
Node v22.0.0 (Current)
Node.js Blog
9ヶ月前
記事のアイキャッチ画像
Node.js 22 is now available!
Node.js Blog
9ヶ月前
記事のアイキャッチ画像
Node v21.7.3 (Current)
Node.js Blog
10ヶ月前
記事のアイキャッチ画像
Node v20.12.2 (LTS)
+Node.js Blog
10ヶ月前
記事のアイキャッチ画像
Node v18.20.2 (LTS)
Node.js Blog
10ヶ月前
記事のアイキャッチ画像
Node v18.20.1 (LTS)
Node.js Blog
10ヶ月前
記事のアイキャッチ画像
Node v21.7.2 (Current)
Node.js Blog
10ヶ月前
記事のアイキャッチ画像
Node v20.12.1 (LTS)
Node.js Blog
10ヶ月前
記事のアイキャッチ画像
Node v20.12.0 (LTS)
Node.js Blog
10ヶ月前
記事のアイキャッチ画像
Node v18.20.0 (LTS)
Node.js Blog
10ヶ月前
記事のアイキャッチ画像
Node v21.7.1 (Current)
Node.js Blog
1年前
記事のアイキャッチ画像
Node v21.7.0 (Current)
Node.js Blog
1年前
記事のアイキャッチ画像
Node v21.6.2 (Current)
Node.js Blog
1年前
記事のアイキャッチ画像
Node v20.11.1 (LTS)
Node.js Blog
1年前
記事のアイキャッチ画像
Node v18.19.1 (LTS)
Node.js Blog
1年前
記事のアイキャッチ画像
Node v21.6.1 (Current)
Node.js Blog
1年前
記事のアイキャッチ画像
Node v21.6.0 (Current)
Node.js Blog
+1年前
記事のアイキャッチ画像
Node v20.11.0 (LTS)
Node.js Blog
1年前
記事のアイキャッチ画像
Node v21.5.0 (Current)
Node.js Blog
+1年前
記事のアイキャッチ画像
Node v21.4.0 (Current)
Node.js Blog
1年前
記事のアイキャッチ画像
Node v21.3.0 (Current)
Node.js Blog
+1年前
記事のアイキャッチ画像
Node v18.19.0 (LTS)
Node.js Blog
1年前
記事のアイキャッチ画像
Node v20.10.0 (LTS)
Node.js Blog
+1年前
記事のアイキャッチ画像
Node v21.2.0 (Current)
Node.js Blog
1年前
記事のアイキャッチ画像
Node v20.9.0 (LTS)
Node.js Blog
1年前
記事のアイキャッチ画像
Node v21.1.0 (Current)
Node.js Blog
1年前
記事のアイキャッチ画像
Node v21.0.0 (Current)
Node.js Blog
1年前
記事のアイキャッチ画像
Node.js 21 is now available!
Node.js Blog
1年前
記事のアイキャッチ画像
Node v18.18.2 (LTS)
Node.js Blog
1年前
記事のアイキャッチ画像
Node v20.8.1 (Current)
Node.js Blog
1年前
Node v18.18.1 (LTS)
Node.js Blog
1年前
記事のアイキャッチ画像
Node v20.8.0 (Current)
Node.js Blog
1年前
Node v18.18.0 (LTS)
Node.js Blog
1年前
記事のアイキャッチ画像
Node v20.7.0 (Current)
Node.js Blog
1年前
Node v20.6.1 (Current)
Node.js Blog
1年前
記事のアイキャッチ画像
Node v20.6.0 (Current)
Node.js Blog
1年前
Node v20.5.1 (Current)
Node.js Blog
1年前
記事のアイキャッチ画像
Node v18.17.1 (LTS)
Node.js Blog
1年前
Node v16.20.2 (LTS)
Node.js Blog
1年前
記事のアイキャッチ画像
Node v20.5.0 (Current)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v18.17.0 (LTS)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v20.4.0 (Current)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v18.16.1 (LTS)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v20.3.1 (Current)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v16.20.1 (LTS)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v20.3.0 (Current)
Node.js Blog
2年前
+
記事のアイキャッチ画像
Node v20.2.0 (Current)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v20.1.0 (Current)
Node.js Blog
2年前
+
記事のアイキャッチ画像
Node v20.0.0 (Current)
Node.js Blog
2年前
記事のアイキャッチ画像
Node.js 20 is now available!
Node.js Blog
2年前
記事のアイキャッチ画像
Node v18.16.0 (LTS)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v19.9.0 (Current)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v16.20.0 (LTS)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v19.8.1 (Current)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v19.8.0 (Current)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v18.15.0 (LTS)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v18.14.2 (LTS)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v19.7.0 (Current)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v18.14.1 (LTS)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v19.6.1 (Current)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v16.19.1 (LTS)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v14.21.3 (LTS)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v18.14.0 (LTS)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v19.6.0 (Current)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v19.5.0 (Current)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v19.4.0 (Current)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v18.13.0 (LTS)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v19.3.0 (Current)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v16.19.0 (LTS)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v14.21.2 (LTS)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v19.2.0 (Current)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v19.1.0 (Current)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v18.12.1 (LTS)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v19.0.1 (Current)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v16.18.1 (LTS)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v14.21.1 (LTS)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v14.21.0 (LTS)
Node.js Blog
2年前
記事のアイキャッチ画像
Nov 3 2022 Security Releases
Node.js Blog
2年前
+
記事のアイキャッチ画像
Node v18.12.0 (LTS)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v19.0.0 (Current)
Node.js Blog
2年前
記事のアイキャッチ画像
Node.js 19 is now available!
Node.js Blog
2年前
記事のアイキャッチ画像
Node v18.11.0 (Current)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v16.18.0 (LTS)
Node.js Blog
2年前
記事のアイキャッチ画像 +
Node v18.10.0 (Current)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v16.17.1 (LTS)
Node.js Blog
2年前
記事のアイキャッチ画像 +
Node v18.9.1 (Current)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v14.20.1 (LTS)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v18.9.0 (Current)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v18.8.0 (Current)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v16.17.0 (LTS)
Node.js Blog
2年前
記事のアイキャッチ画像
Node v18.7.0 (Current)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v18.6.0 (Current)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v18.5.0 (Current)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v14.20.0 (LTS)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v16.16.0 (LTS)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v18.4.0 (Current)
Node.js Blog
+
3年前
記事のアイキャッチ画像
Node v18.3.0 (Current)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v17.9.1 (Current)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v16.15.1 (LTS)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v14.19.3 (LTS)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v18.2.0 (Current)
Node.js Blog
3年前
記事のアイキャッチ画像
+Node v14.19.2 (LTS)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v18.1.0 (Current)
Node.js Blog
3年前
記事のアイキャッチ画像
+Node v16.15.0 (LTS)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v18.0.0 (Current)
Node.js Blog
3年前
記事のアイキャッチ画像
Node.js 18 is now available!
Node.js Blog
3年前
記事のアイキャッチ画像
Node v17.9.0 (Current)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v12.22.12 (LTS)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v17.8.0 (Current)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v17.7.2 (Current)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v16.14.2 (LTS)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v14.19.1 (LTS)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v12.22.11 (LTS)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v16.14.1 (LTS)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v17.7.1 (Current)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v17.7.0 (Current)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v17.6.0 (Current)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v17.5.0 (Current)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v16.14.0 (LTS)
+Node.js Blog
3年前
記事のアイキャッチ画像
Node v12.22.10 (LTS)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v14.19.0 (LTS)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v17.4.0 (Current)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v16.13.2 (LTS)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v14.18.3 (LTS)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v17.3.1 (Current)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v12.22.9 (LTS)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v17.3.0 (Current)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v12.22.8 (LTS)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v16.13.1 (LTS)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v17.2.0 (Current)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v14.18.2 (LTS)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v17.1.0 (Current)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v16.13.0 (LTS)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v17.0.1 (Current)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v16.12.0 (Current)
Node.js Blog
3年前
記事のアイキャッチ画像 +
Node v17.0.0 (Current)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v12.22.7 (LTS)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v14.18.1 (LTS)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v16.11.1 (Current)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v16.11.0 (Current)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v14.18.0 (LTS)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v16.10.0 (Current)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v16.9.1 (Current)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v16.9.0 (Current)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v14.17.6 (LTS)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v12.22.6 (LTS) +
Node.js Blog
3年前
記事のアイキャッチ画像
Node v16.8.0 (Current)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v16.7.0 (Current) +
Node.js Blog
3年前
記事のアイキャッチ画像
Node v16.6.2 (Current)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v14.17.5 (LTS) +
Node.js Blog
3年前
記事のアイキャッチ画像
Node v12.22.5 (LTS)
Node.js Blog
3年前
記事のアイキャッチ画像
Node v16.6.1 (Current)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v16.6.0 (Current)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v14.17.4 (LTS)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v12.22.4 (LTS)
Node.js Blog
4年前
記事のアイキャッチ画像
July 2021 Security Releases
Node.js Blog
4年前
記事のアイキャッチ画像
Node v16.5.0 (Current)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v16.4.2 (Current)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v14.17.3 (LTS)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v12.22.3 (LTS)
Node.js Blog
4年前
記事のアイキャッチ画像
July 2021 Security Releases
Node.js Blog
4年前
記事のアイキャッチ画像
Node v14.17.2 (LTS)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v12.22.2 (LTS)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v16.4.1 (Current)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v16.4.0 (Current)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v14.17.1 (LTS)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v16.3.0 (Current)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v16.2.0 (Current)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v14.17.0 (LTS)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v16.1.0 (Current)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v16.0.0 (Current)
Node.js Blog
4年前
記事のアイキャッチ画像
April 2021 Security Releases
Node.js Blog
4年前
記事のアイキャッチ画像
Node v15.14.0 (Current)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v14.16.1 (LTS)
Node.js Blog
+
4年前
記事のアイキャッチ画像
Node v12.22.1 (LTS)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v10.24.1 (LTS)
Node.js Blog
+
4年前
記事のアイキャッチ画像
Node v15.13.0 (Current)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v12.22.0 (LTS)
Node.js Blog +
4年前
記事のアイキャッチ画像
Node v15.12.0 (Current)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v15.11.0 (Current)
+Node.js Blog
4年前
記事のアイキャッチ画像
Node v14.16.0 (LTS)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v12.21.0 (LTS)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v15.10.0 (Current)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v10.24.0 (LTS)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v15.9.0 (Current)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v12.20.2 (LTS)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v10.23.3 (LTS)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v14.15.5 (LTS)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v15.8.0 (Current)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v10.23.2 (LTS)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v15.7.0 (Current)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v15.6.0 (Current)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v12.20.1 (LTS)
Node.js Blog
4年前
Node v10.23.1 (LTS)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v14.15.4 (LTS)
Node.js Blog
4年前
Node v15.5.1 (Current)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v15.5.0 (Current)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v14.15.3 (LTS)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v14.15.2 (LTS)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v15.4.0 (Current)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v12.20.0 (LTS)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v15.3.0 (Current)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v12.19.1 (LTS)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v14.15.1 (LTS)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v15.2.1 (Current)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v15.2.0 (Current)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v15.1.0 (Current)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v14.15.0 (LTS)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v10.23.0 (LTS)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v15.0.1 (Current)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v15.0.0 (Current)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v14.14.0 (Current)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v14.13.1 (Current)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v12.19.0 (LTS)
Node.js Blog
4年前
+記事のアイキャッチ画像
Node v14.13.0 (Current)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v14.12.0 (Current)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v12.18.4 (LTS)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v14.11.0 (Current)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v10.22.1 (LTS)
Node.js Blog
+
4年前
記事のアイキャッチ画像
Node v14.10.1 (Current)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v14.10.0 (Current)
Node.js Blog +
4年前
記事のアイキャッチ画像
Node v14.9.0 (Current)
Node.js Blog
4年前
記事のアイキャッチ画像
Node v14.8.0 (Current)
Node.js Blog +
4年前
記事のアイキャッチ画像
Node v14.7.0 (Current)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v12.18.3 (LTS)
Node.js Blog +
5年前
記事のアイキャッチ画像
Node v14.6.0 (Current)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v10.22.0 (LTS)
Node.js Blog +
5年前
記事のアイキャッチ画像
Node v14.5.0 (Current)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v12.18.2 (LTS)
Node.js Blog +
5年前
記事のアイキャッチ画像
Node v12.18.1 (LTS)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v10.21.0 (LTS)
Node.js Blog +
5年前
記事のアイキャッチ画像
Node v12.18.0 (LTS)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v14.4.0 (Current)
Node.js Blog +
5年前
記事のアイキャッチ画像
June 2020 Security Releases
Node.js Blog
5年前
記事のアイキャッチ画像
+Node v12.17.0 (LTS)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v14.3.0 (Current)
Node.js Blog
5年前
記事のアイキャッチ画像
+Node v14.2.0 (Current)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v13.14.0 (Current)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v14.1.0 (Current)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v12.16.3 (LTS)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v14.0.0 (Current)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v13.13.0 (Current)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v10.20.1 (LTS)
Node.js Blog
5年前
Node v12.16.2 (LTS)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v10.20.0 (LTS)
Node.js Blog
5年前
記事のアイキャッチ画像
Changes to Release Schedule
Node.js Blog
5年前
記事のアイキャッチ画像
Node v13.12.0 (Current)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v13.11.0 (Current)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v13.10.1 (Current)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v13.10.0 (Current)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v13.9.0 (Current)
Node.js Blog
5年前
+記事のアイキャッチ画像
Node v12.16.1 (LTS)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v12.16.0 (LTS)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v13.8.0 (Current)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v12.15.0 (LTS)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v10.19.0 (LTS)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v13.7.0 (Current)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v10.18.1 (LTS)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v13.6.0 (Current)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v12.14.1 (LTS)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v13.5.0 (Current)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v13.4.0 (Current)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v12.14.0 (LTS)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v10.18.0 (LTS)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v8.17.0 (LTS)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v13.3.0 (Current)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v13.2.0 (Current)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v12.13.1 (LTS)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v13.1.0 (Current)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v13.0.1 (Current)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v10.17.0 (LTS)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v13.0.0 (Current)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v12.13.0 (LTS)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v12.12.0 (Current)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v8.16.2 (LTS)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v12.11.1 (Current)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v12.11.0 (Current)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v12.10.0 (Current)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v12.9.1 (Current)
Node.js Blog
5年前
+記事のアイキャッチ画像
Node v12.9.0 (Current)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v10.16.3 (LTS)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v8.16.1 (LTS)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v12.8.1 (Current)
Node.js Blog
5年前
記事のアイキャッチ画像
Node v10.16.2 (LTS)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v12.8.0 (Current)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v10.16.1 (LTS)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v12.7.0 (Current)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v12.6.0 (Current)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v12.5.0 (Current)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v12.4.0 (Current)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v10.16.0 (LTS)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v12.3.1 (Current)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v12.3.0 (Current)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v12.2.0 (Current)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v11.15.0 (Current)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v12.1.0 (Current)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v12.0.0 (Current)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v8.16.0 (LTS)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v11.14.0 (Current)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v6.17.1 (LTS)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v11.13.0 (Current)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v11.12.0 (Current)
Node.js Blog +
6年前
記事のアイキャッチ画像
Node v11.11.0 (Current)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v10.15.3 (LTS)
+Node.js Blog
6年前
記事のアイキャッチ画像
Node v11.10.1 (Current)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v10.15.2 (LTS)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v8.15.1 (LTS)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v6.17.0 (LTS)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v11.10.0 (Current)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v11.9.0 (Current)
Node.js Blog
6年前
記事のアイキャッチ画像
+Node v10.15.1 (LTS)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v11.8.0 (Current)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v11.7.0 (Current)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v11.6.0 (Current)
Node.js Blog
6年前
記事のアイキャッチ画像
+Node v10.15.0 (LTS)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v8.15.0 (LTS)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v6.16.0 (LTS)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v11.5.0 (Current)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v8.14.1 (LTS)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v10.14.2 (LTS)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v11.4.0 (Current)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v6.15.1 (LTS)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v10.14.1 (LTS)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v11.3.0 (Current)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v10.14.0 (LTS)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v8.14.0 (LTS)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v6.15.0 (LTS)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v8.13.0 (LTS)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v11.2.0 (Current)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v11.1.0 (Current)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v10.13.0 (LTS)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v11.0.0 (Current)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v10.12.0 (Current)
Node.js Blog
6年前
Node v10.11.0 (Current)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v8.12.0 (LTS)
Node.js Blog
6年前
Node v10.10.0 (Current)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v10.9.0 (Current)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v8.11.4 (LTS)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v6.14.4 (LTS)
Node.js Blog
6年前
記事のアイキャッチ画像
Node v10.8.0 (Current)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v10.7.0 (Current)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v10.6.0 (Current)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v10.5.0 (Current)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v8.11.3 (LTS)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v6.14.3 (LTS)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v9.11.2 (Current)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v10.4.1 (Current)
Node.js Blog
7年前
記事のアイキャッチ画像
June 2018 Security Releases
Node.js Blog
7年前
+
記事のアイキャッチ画像
Node v10.4.0 (Current)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v10.3.0 (Current)
Node.js Blog
7年前
+
記事のアイキャッチ画像
Node v10.2.1 (Current)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v10.2.0 (Current)
Node.js Blog
7年前
+
記事のアイキャッチ画像
Node v8.11.2 (LTS)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v10.1.0 (Current)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v6.14.2 (LTS)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v10.0.0 (Current)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v9.11.1 (Current)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v9.11.0 (Current)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v9.10.1 (Current)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v8.11.1 (LTS)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v6.14.1 (LTS)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v4.9.1 (Maintenance)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v9.10.0 (Current)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v8.11.0 (LTS)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v6.14.0 (LTS)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v4.9.0 (Maintenance)
Node.js Blog
7年前
記事のアイキャッチ画像
March 2018 Security Releases
Node.js Blog
7年前
記事のアイキャッチ画像
Node v9.9.0 (Current)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v9.8.0 (Current)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v8.10.0 (LTS)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v6.13.1 (LTS)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v9.7.1 (Current)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v9.7.0 (Current)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v9.6.1 (Current)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v9.6.0 (Current)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v6.13.0 (LTS)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v9.5.0 (Current)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v9.4.0 (Current)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v8.9.4 (LTS) +
Node.js Blog
7年前
記事のアイキャッチ画像
Node v6.12.3 (LTS)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v9.3.0 (Current)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v9.2.1 (Current)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v8.9.3 (LTS)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v6.12.2 (LTS)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v4.8.7 (Maintenance)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v8.9.2 (LTS)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v6.12.1 (LTS)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v9.2.0 (Current)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v8.9.1 (LTS)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v9.1.0 (Current)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v6.12.0 (LTS)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v4.8.6 (Maintenance)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v9.0.0 (Current)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v8.9.0 (LTS)
Node.js Blog
7年前
記事のアイキャッチ画像
OpenSSL update, 1.0.2m
Node.js Blog
7年前
記事のアイキャッチ画像
Node v8.8.1 (Current)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v8.8.0 (Current)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v6.11.5 (LTS)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v4.8.5 (Maintenance)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v8.7.0 (Current)
Node.js Blog
7年前
Node v6.11.4 (LTS)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v8.6.0 (Current)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v8.5.0 (Current)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v6.11.3 (LTS)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v8.4.0 (Current)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v8.3.0 (Current)
Node.js Blog
7年前
記事のアイキャッチ画像
Node v6.11.2 (LTS)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v8.2.1 (Current)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v8.2.0 (Current)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v8.1.4 (Current)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v7.10.1 (Current)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v6.11.1 (LTS)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v4.8.4 (Maintenance)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v8.1.3 (Current)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v8.1.2 (Current)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v8.1.1 (Current)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v8.1.0 (Current)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v6.11.0 (LTS)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v8.0.0 (Current)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v7.10.0 (Current)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v4.8.3 (Maintenance)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v6.10.3 (LTS)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v7.9.0 (Current)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v4.8.2 (Maintenance)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v6.10.2 (LTS)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v7.8.0 (Current)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v7.7.4 (Current)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v6.10.1 (LTS)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v4.8.1 (LTS)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v7.7.3 (Current)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v7.7.2 (Current)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v7.7.1 (Current)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v7.7.0 (Current)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v7.6.0 (Current)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v6.10.0 (LTS)
Node.js Blog
8年前
記事のアイキャッチ画像
+Node v4.8.0 (LTS)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v7.5.0 (Current)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v4.7.3 (LTS)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v6.9.5 (LTS)
Node.js Blog
8年前
記事のアイキャッチ画像
OpenSSL update, 1.0.2k
Node.js Blog
8年前
記事のアイキャッチ画像
Node v6.9.4 (LTS)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v4.7.2 (LTS)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v7.4.0 (Current)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v4.7.1 (LTS)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v6.9.3 (LTS)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v0.12.18 (Maintenance)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v7.3.0 (Current)
Node.js Blog
8年前 +
記事のアイキャッチ画像
Node v7.2.1 (Current)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v4.7.0 (LTS)
Node.js Blog
8年前
+
記事のアイキャッチ画像
Node v6.9.2 (LTS)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v7.2.0 (Current)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v7.1.0 (Current)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v4.6.2 (LTS)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v7.0.0 (Current)
+Node.js Blog
8年前
記事のアイキャッチ画像
Node v6.9.1 (LTS)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v6.9.0 (LTS)
Node.js Blog +
8年前
記事のアイキャッチ画像
Node v4.6.1 (LTS)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v0.10.48 (Maintenance)
Node.js Blog +
8年前
記事のアイキャッチ画像
Node v0.12.17 (Maintenance)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v6.8.1 (Current)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v6.8.0 (Current)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v6.7.0 (Current)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v4.6.0 (LTS)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v0.12.16 (Maintenance)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v0.10.47 (Maintenance)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v6.6.0 (Current)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v6.5.0 (Current)
Node.js Blog
+
8年前
記事のアイキャッチ画像
Node v4.5.0 (LTS)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v6.4.0 (Current)
Node.js Blog
8年前
記事のアイキャッチ画像
Node v6.3.1 (Current)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v6.3.0 (Current)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v4.4.7 (LTS)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v5.12.0 (Stable)
+Node.js Blog
9年前
記事のアイキャッチ画像
Node v4.4.6 (LTS)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v0.12.15 (Maintenance)
+Node.js Blog
9年前
記事のアイキャッチ画像
Node v0.10.46 (Maintenance)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v6.2.2 (Current)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v6.2.1 (Current)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v4.4.5 (LTS)
Node.js Blog
9年前
Node v6.2.0 (Current)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v4.4.4 (LTS)
Node.js Blog
9年前
Node v0.12.14 (Maintenance)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v0.10.45 (Maintenance)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v6.1.0 (Current)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v5.11.1 (Stable)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v6.0.0 (Current)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v5.11.0 (Stable)
+Node.js Blog
9年前
記事のアイキャッチ画像
Node v4.4.3 (LTS)
Node.js Blog
9年前
記事のアイキャッチ画像
Domain Module Postmortem
Node.js Blog
9年前
記事のアイキャッチ画像
Node v5.10.1 (Current)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v0.10.44 (Maintenance)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v5.10.0 (Current)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v4.4.2 (LTS)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v0.12.13 (LTS)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v5.9.1 (Current)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v4.4.1 (LTS)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v5.9.0 (Current)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v4.4.0 (LTS)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v5.8.0 (Current)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v0.12.12 (LTS)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v0.10.43 (Maintenance)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v0.12.11 (LTS)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v5.7.1 (Current)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v4.3.2 (LTS)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v5.7.0 (Current)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v4.3.1 (LTS)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v0.10.42 (LTS)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v0.12.10 (LTS)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v4.3.0 (LTS)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v5.6.0 (Current)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v4.2.6 (LTS)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v5.5.0 (Current)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v4.2.5 (LTS)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v5.4.1 (Current)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v5.4.0 (Current)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v4.2.4 (LTS)
Node.js Blog
+
9年前
記事のアイキャッチ画像
Node v5.3.0 (Current)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v5.2.0 (Current)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v5.1.1 (Current)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v4.2.3 "Argon" (LTS)
Node.js Blog
9年前
+
記事のアイキャッチ画像
Node v0.12.9 (LTS)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v0.10.41 (Maintenance)
Node.js Blog
9年前
+
記事のアイキャッチ画像
Node v0.12.8 (LTS)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v5.1.0 (Current)
Node.js Blog
9年前
記事のアイキャッチ画像
Weekly Update - Nov 6th, 2015
Node.js Blog
+9年前
記事のアイキャッチ画像
Node v4.2.2 (LTS)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v5.0.0 (Current)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v4.2.1 (LTS)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v4.2.0 (LTS)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v4.1.2 (Current)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v4.1.1 (Current)
Node.js Blog
9年前
記事のアイキャッチ画像
Node v4.1.0 (Current)
Node.js Blog
9年前
記事のアイキャッチ画像
Node.js Interactive
Node.js Blog
9年前
記事のアイキャッチ画像
Node v4.0.0 (Current)
Node.js Blog
9年前
記事のアイキャッチ画像
Weekly Update - Aug 7th, 2015
Node.js Blog
10年前
記事のアイキャッチ画像
Weekly Update - Jul 31st, 2015
Node.js Blog
10年前
記事のアイキャッチ画像
Weekly Update - Jul 24th, 2015
Node.js Blog
10年前
記事のアイキャッチ画像
Weekly Update - Jul 17th, 2015
Node.js Blog
10年前
記事のアイキャッチ画像
Weekly Update - Jul 10th, 2015
Node.js Blog
10年前
記事のアイキャッチ画像
Node v0.12.7 (Stable)
Node.js Blog
10年前
記事のアイキャッチ画像
Node v0.10.40 (Maintenance)
Node.js Blog
10年前
記事のアイキャッチ画像
Node v0.12.6 (Stable)
Node.js Blog
10年前
記事のアイキャッチ画像
Weekly Update - Jul 3rd, 2015
Node.js Blog
10年前
記事のアイキャッチ画像
Weekly Update - Jun 26th, 2015
Node.js Blog
10年前
記事のアイキャッチ画像
Node v0.12.5 (Stable)
Node.js Blog
10年前
記事のアイキャッチ画像
Node v0.10.39 (Maintenance)
Node.js Blog +
10年前
記事のアイキャッチ画像
Weekly Update - Jun 19th, 2015
Node.js Blog
10年前
記事のアイキャッチ画像
Weekly Update - Jun 5th, 2015
Node.js Blog
10年前
記事のアイキャッチ画像
Weekly Update - May 29th, 2015
Node.js Blog
10年前
記事のアイキャッチ画像
Node v0.12.4 (Stable)
Node.js Blog
10年前
記事のアイキャッチ画像
Weekly Update - May 15th, 2015
Node.js Blog +
10年前
記事のアイキャッチ画像
Node v0.12.3 (Stable)
Node.js Blog
10年前
記事のアイキャッチ画像
Next Chapter
+Node.js Blog
10年前
記事のアイキャッチ画像
Transitions
Node.js Blog
10年前
記事のアイキャッチ画像
Weekly Update - May 1st, 2015
Node.js Blog
10年前
記事のアイキャッチ画像
Weekly Update - Apr 24th, 2015
Node.js Blog
10年前
記事のアイキャッチ画像
Weekly Update - Apr 17th, 2015
Node.js Blog
10年前
記事のアイキャッチ画像
Weekly Update - Apr 10th, 2015
Node.js Blog
10年前
記事のアイキャッチ画像
Weekly Update - Apr 3rd, 2015
Node.js Blog
10年前
記事のアイキャッチ画像
Node v0.12.2 (Stable)
Node.js Blog
10年前
記事のアイキャッチ画像
Weekly Update - Mar 27th, 2015
Node.js Blog
10年前
記事のアイキャッチ画像
Node v0.12.1 (Stable)
Node.js Blog
10年前
記事のアイキャッチ画像
Node v0.10.38 (Maintenance)
Node.js Blog
10年前
記事のアイキャッチ画像
Weekly Update - Mar 20th, 2015
Node.js Blog
10年前
記事のアイキャッチ画像
Node v0.10.37 (Maintenance)
Node.js Blog
+10年前
記事のアイキャッチ画像
Weekly Update - Mar 13th, 2015
Node.js Blog
10年前
記事のアイキャッチ画像
Weekly Update - Mar 6th, 2015
Node.js Blog
10年前
記事のアイキャッチ画像
Weekly Update - Feb 27th, 2015
Node.js Blog
10年前
記事のアイキャッチ画像
Weekly Update - Feb 20th, 2015
Node.js Blog
10年前
記事のアイキャッチ画像
Weekly Update - Feb 13th, 2015
Node.js Blog
10年前
記事のアイキャッチ画像 +
Node v0.12.0 (Stable)
Node.js Blog
10年前
記事のアイキャッチ画像
Weekly Update - Feb 6th, 2015
Node.js Blog
10年前
Node v0.11.16 (Unstable)
Node.js Blog
10年前
記事のアイキャッチ画像
Node v0.10.36 (Stable)
Node.js Blog
10年前
記事のアイキャッチ画像
Node v0.11.15 (Unstable)
Node.js Blog
10年前
記事のアイキャッチ画像
Node v0.10.35 (Stable)
Node.js Blog
10年前
記事のアイキャッチ画像
Node v0.10.34 (Stable)
Node.js Blog
10年前
記事のアイキャッチ画像
Node v0.10.33 (Stable)
Node.js Blog
10年前
記事のアイキャッチ画像
Node v0.11.14 (Unstable)
Node.js Blog
10年前
記事のアイキャッチ画像
Node v0.10.32 (Stable)
Node.js Blog
10年前
記事のアイキャッチ画像
Node v0.10.31 (Stable)
Node.js Blog
10年前
記事のアイキャッチ画像
Node v0.8.28 (Maintenance)
Node.js Blog
11年前
記事のアイキャッチ画像
Node v0.10.30 (Stable)
Node.js Blog
11年前
記事のアイキャッチ画像
Building Node.js Together
Node.js Blog
11年前
記事のアイキャッチ画像
Node v0.8.27 (Maintenance)
Node.js Blog
11年前
記事のアイキャッチ画像 +
Node v0.10.29 (Stable)
Node.js Blog
11年前
記事のアイキャッチ画像
Notes from the Road
Node.js Blog
11年前
Node v0.10.28 (Stable)
Node.js Blog
11年前
記事のアイキャッチ画像
Node v0.10.27 (Stable)
Node.js Blog
11年前
記事のアイキャッチ画像
Node v0.11.12 (Unstable)
Node.js Blog
11年前
記事のアイキャッチ画像
Node v0.10.26 (Stable)
Node.js Blog
11年前
記事のアイキャッチ画像
Node v0.11.11 (Unstable)
Node.js Blog
11年前
記事のアイキャッチ画像
Node v0.10.25 (Stable)
Node.js Blog
11年前
記事のアイキャッチ画像
The Next Phase of Node.js
Node.js Blog
11年前
記事のアイキャッチ画像
Node v0.11.10 (Unstable)
Node.js Blog
11年前
+
記事のアイキャッチ画像
Node v0.10.24 (Stable)
Node.js Blog
11年前
記事のアイキャッチ画像
Node v0.10.23 (Stable)
Node.js Blog
11年前
+
記事のアイキャッチ画像
Ben Noordhuis's Departure
Node.js Blog
11年前
記事のアイキャッチ画像
Keeping The npm Registry Awesome
Node.js Blog +
11年前
記事のアイキャッチ画像
Node v0.11.9 (Unstable)
Node.js Blog
11年前
記事のアイキャッチ画像
Node v0.10.22 (Stable)
+Node.js Blog
11年前
記事のアイキャッチ画像
Node v0.11.8 (Unstable)
Node.js Blog
11年前
記事のアイキャッチ画像
Node v0.10.21 (Stable)
Node.js Blog
11年前
記事のアイキャッチ画像
Node v0.8.26 (Maintenance)
Node.js Blog
11年前
記事のアイキャッチ画像
Node v0.10.20 (Stable)
Node.js Blog
11年前
記事のアイキャッチ画像
Node v0.10.19 (Stable)
Node.js Blog
11年前
記事のアイキャッチ画像
Node v0.11.7 (Unstable)
Node.js Blog
11年前
記事のアイキャッチ画像
Node v0.10.18 (Stable)
Node.js Blog
11年前
記事のアイキャッチ画像
Node v0.10.17 (Stable)
Node.js Blog
11年前
記事のアイキャッチ画像 +
Node v0.11.6 (Unstable)
Node.js Blog
11年前
記事のアイキャッチ画像
Node v0.10.16 (Stable)
Node.js Blog
11年前
記事のアイキャッチ画像
Node v0.11.5 (Unstable)
Node.js Blog
12年前
記事のアイキャッチ画像
Node v0.10.15 (Stable)
Node.js Blog
12年前
記事のアイキャッチ画像
Node v0.10.14 (Stable)
Node.js Blog
12年前
記事のアイキャッチ画像
Node v0.11.4 (Unstable)
Node.js Blog
12年前
Node v0.10.13 (Stable)
Node.js Blog
12年前
記事のアイキャッチ画像
Node v0.11.3 (Unstable)
Node.js Blog
12年前
記事のアイキャッチ画像
Node v0.10.12 (Stable)
Node.js Blog
12年前
記事のアイキャッチ画像
Node v0.8.25 (Maintenance)
Node.js Blog
12年前
記事のアイキャッチ画像
Node v0.10.11 (Stable)
Node.js Blog
12年前
記事のアイキャッチ画像
Node v0.10.10 (Stable)
Node.js Blog
12年前
+記事のアイキャッチ画像
Node v0.8.24 (Maintenance)
Node.js Blog
12年前
記事のアイキャッチ画像
Node v0.10.9 (Stable)
Node.js Blog
12年前
記事のアイキャッチ画像
Node v0.10.8 (Stable)
Node.js Blog
12年前
記事のアイキャッチ画像
Node v0.10.7 (Stable)
Node.js Blog
12年前
記事のアイキャッチ画像
Node v0.10.6 (Stable)
Node.js Blog
12年前
記事のアイキャッチ画像
Node v0.11.2 (Unstable)
Node.js Blog
12年前
記事のアイキャッチ画像
Node v0.10.5 (Stable)
Node.js Blog
12年前
記事のアイキャッチ画像
Node v0.11.1 (Unstable)
Node.js Blog
12年前
+記事のアイキャッチ画像
Node v0.10.4 (Stable)
Node.js Blog
12年前
記事のアイキャッチ画像
Node v0.8.23 (Legacy)
Node.js Blog
12年前
+記事のアイキャッチ画像
Node v0.10.3 (Stable)
Node.js Blog
12年前
記事のアイキャッチ画像
Node v0.11.0 (Unstable)
Node.js Blog
12年前
記事のアイキャッチ画像
Node v0.10.2 (Stable)
Node.js Blog
12年前
記事のアイキャッチ画像
Node v0.10.1 (Stable)
Node.js Blog
12年前
記事のアイキャッチ画像
Node v0.10.0 (Stable)
Node.js Blog
12年前
記事のアイキャッチ画像
Node v0.8.22 (Stable)
Node.js Blog
12年前
記事のアイキャッチ画像
Node v0.9.12 (Unstable)
Node.js Blog
12年前
記事のアイキャッチ画像
Node v0.9.11 (Unstable)
Node.js Blog
12年前
+
記事のアイキャッチ画像
Node v0.8.21 (Stable)
Node.js Blog
12年前
記事のアイキャッチ画像
Node v0.9.10 (Unstable)
Node.js Blog
12年前
+
記事のアイキャッチ画像
Node v0.8.20 (Stable)
Node.js Blog
12年前
記事のアイキャッチ画像
Peer Dependencies
Node.js Blog
12年前 +
記事のアイキャッチ画像
Node v0.8.19 (Stable)
Node.js Blog
12年前
記事のアイキャッチ画像
Node v0.9.8 (Unstable)
Node.js Blog
12年前 +
記事のアイキャッチ画像
Node v0.8.18 (Stable)
Node.js Blog
12年前
記事のアイキャッチ画像
Node v0.9.7 (Unstable)
Node.js Blog
12年前 +
記事のアイキャッチ画像
Node v0.9.6 (Unstable)
Node.js Blog
12年前
記事のアイキャッチ画像
Node v0.8.17 (Stable)
Node.js Blog
12年前 +
記事のアイキャッチ画像
Node v0.9.5 (Unstable)
Node.js Blog
12年前
記事のアイキャッチ画像
Node v0.9.4 (Unstable)
Node.js Blog
12年前 +
記事のアイキャッチ画像
Node v0.8.16 (Stable)
Node.js Blog
12年前
記事のアイキャッチ画像
Node v0.8.15 (Stable)
Node.js Blog
12年前
記事のアイキャッチ画像
Node v0.8.14 (Stable)
Node.js Blog
12年前
記事のアイキャッチ画像
Node v0.8.13 (Stable)
Node.js Blog
12年前
記事のアイキャッチ画像
Node v0.9.3 (Unstable)
Node.js Blog
12年前
記事のアイキャッチ画像
Node v0.8.12 (Stable)
Node.js Blog
12年前
記事のアイキャッチ画像
Bert Belder - libuv at LXJS 2012
+Node.js Blog
12年前
記事のアイキャッチ画像
Node v0.8.11 (Stable)
Node.js Blog
12年前
記事のアイキャッチ画像
Node v0.8.10 (Stable)
+Node.js Blog
12年前
記事のアイキャッチ画像
Version 0.9.2 (Unstable)
Node.js Blog
12年前
記事のアイキャッチ画像
Version 0.8.9 (Stable)
+Node.js Blog
12年前
記事のアイキャッチ画像
Version 0.9.1 (Unstable)
Node.js Blog
12年前
記事のアイキャッチ画像
Version 0.8.8 (stable)
+Node.js Blog
12年前
記事のアイキャッチ画像
Version 0.8.7 (stable)
Node.js Blog
12年前
記事のアイキャッチ画像
Version 0.8.6 (stable)
+Node.js Blog
13年前
記事のアイキャッチ画像
Version 0.6.21 (maintenance)
Node.js Blog
13年前
記事のアイキャッチ画像
Version 0.8.5 (stable)
Node.js Blog
13年前
記事のアイキャッチ画像
Version 0.8.4 (Stable)
Node.js Blog
13年前
記事のアイキャッチ画像
Version 0.9.0 (Unstable)
Node.js Blog
13年前
記事のアイキャッチ画像
Version 0.8.3 (Stable)
Node.js Blog
13年前
記事のアイキャッチ画像
Version 0.6.20 (maintenance) +
Node.js Blog
13年前
記事のアイキャッチ画像
Version 0.8.2 (stable)
Node.js Blog
13年前
記事のアイキャッチ画像
Version 0.8.1 (stable) +
Node.js Blog
13年前
記事のアイキャッチ画像
Node v0.8.0
Node.js Blog
13年前
記事のアイキャッチ画像
Version 0.7.12
Node.js Blog
13年前
記事のアイキャッチ画像
Version 0.7.11 (unstable)
Node.js Blog
13年前
記事のアイキャッチ画像
Version 0.7.10 (unstable) +
Node.js Blog
13年前
記事のアイキャッチ画像
Node Version 0.6.19 (stable)
Node.js Blog
13年前
記事のアイキャッチ画像
Version 0.6.18 (stable)
Node.js Blog
13年前
記事のアイキャッチ画像
Version 0.6.17 (stable)
Node.js Blog
13年前
記事のアイキャッチ画像
Version 0.6.16 (stable)
Node.js Blog
13年前
記事のアイキャッチ画像
Profiling Node.js
Node.js Blog
+
13年前
記事のアイキャッチ画像
Version 0.7.8 (unstable)
Node.js Blog
13年前
記事のアイキャッチ画像
Version 0.6.15 (stable)
Node.js Blog +
13年前
記事のアイキャッチ画像
Version 0.7.7 (unstable)
Node.js Blog
13年前
記事のアイキャッチ画像
Version 0.6.14 (stable)
Node.js Blog
13年前
記事のアイキャッチ画像
Version 0.6.13 (stable)
Node.js Blog
13年前
記事のアイキャッチ画像
Version 0.7.6 (unstable)
Node.js Blog
13年前
記事のアイキャッチ画像
Version 0.6.12 (stable)
Node.js Blog
13年前
記事のアイキャッチ画像
Version 0.7.5 (unstable)
Node.js Blog
13年前
記事のアイキャッチ画像
Version 0.6.11 (stable)
Node.js Blog
13年前
記事のアイキャッチ画像
Node v0.7.4 (unstable)
Node.js Blog
13年前
記事のアイキャッチ画像
Node v0.7.3 (unstable)
Node.js Blog
13年前
記事のアイキャッチ画像
Node v0.6.10
Node.js Blog
13年前
記事のアイキャッチ画像
Node v0.7.2 (unstable)
Node.js Blog
13年前
記事のアイキャッチ画像
Node v0.6.9
Node.js Blog
13年前
記事のアイキャッチ画像
Node v0.7.1
Node.js Blog
13年前
記事のアイキャッチ画像
Node v0.6.8
Node.js Blog
13年前
記事のアイキャッチ画像
Node v0.7.0 (Unstable)
Node.js Blog
13年前
記事のアイキャッチ画像
Node v0.6.7
Node.js Blog
13年前
記事のアイキャッチ画像
Growing up
Node.js Blog
13年前
記事のアイキャッチ画像
Node v0.6.6
Node.js Blog
13年前
記事のアイキャッチ画像
Node v0.6.5
Node.js Blog
13年前
記事のアイキャッチ画像
Node v0.6.4
Node.js Blog
13年前
記事のアイキャッチ画像
Node v0.6.3
Node.js Blog
13年前
記事のアイキャッチ画像
Node v0.6.2
Node.js Blog
13年前
記事のアイキャッチ画像
Node v0.6.1
Node.js Blog
13年前
記事のアイキャッチ画像
Node v0.6.0
Node.js Blog
13年前
記事のアイキャッチ画像
Version 0.6 Coming Soon
Node.js Blog
13年前
記事のアイキャッチ画像
Node v0.5.10
Node.js Blog
13年前
記事のアイキャッチ画像
Node v0.5.9
Node.js Blog
13年前
記事のアイキャッチ画像
Node v0.5.8
Node.js Blog
13年前
記事のアイキャッチ画像
libuv status report
Node.js Blog
13年前
記事のアイキャッチ画像
Node v0.5.7 (unstable)
Node.js Blog +
13年前
記事のアイキャッチ画像
Node v0.4.12
Node.js Blog
13年前
記事のアイキャッチ画像
Node v0.5.6 (unstable)
Node.js Blog
13年前
記事のアイキャッチ画像
ldapjs: A reprise of LDAP
Node.js Blog
13年前
記事のアイキャッチ画像
Some New Node Projects
Node.js Blog
13年前
記事のアイキャッチ画像
Node v0.5.5
Node.js Blog
13年前
記事のアイキャッチ画像
Node v0.4.11
Node.js Blog
13年前
記事のアイキャッチ画像
Node v0.5.4
Node.js Blog
13年前
記事のアイキャッチ画像
The Videos from the Meetup
Node.js Blog
13年前
記事のアイキャッチ画像
Node Meetup this Thursday
Node.js Blog
14年前
記事のアイキャッチ画像
Node v0.5.3
Node.js Blog
14年前
記事のアイキャッチ画像
Node v0.5.2
Node.js Blog
14年前
記事のアイキャッチ画像
Node v0.4.10
Node.js Blog
14年前
記事のアイキャッチ画像
Node v0.5.1
Node.js Blog
14年前
+記事のアイキャッチ画像
Evolving the Node.js Brand
Node.js Blog
14年前
記事のアイキャッチ画像
Node v0.5.0 (Unstable)
Node.js Blog
14年前
記事のアイキャッチ画像
Node v0.4.9
Node.js Blog
14年前
記事のアイキャッチ画像
Node v0.4.8
Node.js Blog
14年前
記事のアイキャッチ画像
npm 1.0: Released
Node.js Blog
14年前
記事のアイキャッチ画像
Trademark
Node.js Blog
14年前
記事のアイキャッチ画像
Node Office Hours Cut Short
Node.js Blog
14年前
記事のアイキャッチ画像
Node v0.4.7
Node.js Blog
14年前
記事のアイキャッチ画像
Node v0.4.6
Node.js Blog
14年前
記事のアイキャッチ画像
npm 1.0: link
Node.js Blog
14年前
記事のアイキャッチ画像
Development Environment
Node.js Blog
14年前
記事のアイキャッチ画像
node v0.4.5
Node.js Blog
14年前
記事のアイキャッチ画像
Node v0.4.4
Node.js Blog
14年前
記事のアイキャッチ画像
jobs.nodejs.org
Node.js Blog
14年前
記事のアイキャッチ画像
Office Hours
Node.js Blog
14年前
記事のアイキャッチ画像
Node v0.4.3
Node.js Blog
14年前
記事のアイキャッチ画像
npm 1.0: The New 'ls'
Node.js Blog
14年前
記事のアイキャッチ画像
Welcome to the Node blog
Node.js Blog
14年前
\ No newline at end of file diff --git a/blogs/33b0586740e05b8f28482a20ecf74fc8/index.html b/blogs/33b0586740e05b8f28482a20ecf74fc8/index.html new file mode 100644 index 000000000000..4da7d2293d79 --- /dev/null +++ b/blogs/33b0586740e05b8f28482a20ecf74fc8/index.html @@ -0,0 +1,16 @@ +Web Performance Calendarのフィード|JSer.info Watch List RSS

Web Performance Calendar

https://calendar.perfplanet.com

The speed geek's favorite time of year

フィード

記事のアイキャッチ画像
Breaking Up with Long Tasks or: how I learned to group loops and wield the yield
Web Performance Calendar
Everything, On the Main Thread, All at Once Arrays are in every web developer’s toolbox, and there are a dozen ways to iterate over them. Choose wrong, though, and all of that processing time will happen synchronously in one long, blocking task. The thing is, the most natural ways are the wrong ways. A simple […]
1ヶ月前
記事のアイキャッチ画像
Fabulous Font-Face Fallbacks
Web Performance Calendar
Let’s talk about font fallbacks and how we can craft these to to perfection in order to reduce layout shifts and our users’ headaches. Who among us has not experienced the horrors of clicking the wrong thing because stuff moves? Arghhhh! I’ll start with a brief intro and then focus on lessons learned (the hard […]
1ヶ月前
記事のアイキャッチ画像
Designing websites for bad performance
Web Performance Calendar
There was once a farmer who wanted his chickens to lay more eggs. His friend, a physicist, said – “I can give you a solution for your problem if you have a spherical chicken kept in vacuum” Looking at performance problems in the real world often reminds me of this scenario. Here’s a map from […]
1ヶ月前
記事のアイキャッチ画像
Using DevTools to Validate Web Performance Improvements
Web Performance Calendar
I’m passionate about Web Performance—from identifying performance issues, monitoring (synthetic and RUM), metrics, implementing product culture, training development teams and other stakeholders, speaking at meetups and conferences, tools, and snippets. When it comes to tools, my favorite is Chrome DevTools. They are integrated into the browser (desktop, that is), making it quick and easy to […]
1ヶ月前
記事のアイキャッチ画像
Getting Real (small) With Compression Dictionaries
Web Performance Calendar
+Compression dictionary transport is a relatively new feature in HTTP that allows for using custom compression dictionaries to improve the compression of HTTP responses. The results can be pretty dramatic, with responses anywhere from 60-90+% smaller than using the best non-dictionary compression currently available. The feature has been under experimentation in Chrome over the last […]
1ヶ月前
記事のアイキャッチ画像
+Wait? What? Web Performance Optimization is being studied in universities?
Web Performance Calendar
TL;DR: In this article I am sharing the good news that Web Performance Optimization is being studied in universities and I am laying out the plan of teaching Real User Monitoring which I will do for the first time in front of students. My hope is to share ideas in case other fellows would be […]
1ヶ月前
記事のアイキャッチ画像
+My Favorite Web Performance Graphs of the Year
Web Performance Calendar
As a web performance consultant, I frequently rely on visual data to prioritize optimizations and troubleshoot regressions. Over the past year, two types of graphs have stood out for their effectiveness in simplifying complex data and speeding up decision-making. The Prioritization Graph: Where to Start? When optimizing web performance, the first step is identifying the […]
1ヶ月前
記事のアイキャッチ画像
Don’t Let Your Redesign Ruin Performance: A Case Study
Web Performance Calendar
It’s a shame that so many redesigns end up slowing down the site or dropping conversions. How to prevent this? In this text, based on one of our successful projects, you will get a framework for web redesign management. We are a small team of web performance consultants with years of experience and a good […]
1ヶ月前
記事のアイキャッチ画像
Correlation or Causation: How web performance proves its value
Web Performance Calendar
As web performance experts, we’re all familiar with the oft-cited examples: Amazon, Walmart, and their gains or losses directly tied to page loading speeds. But while these examples are inspiring, they prompt an essential question: what about your company? Your users, buying cycles, and challenges are unique. The real question is not whether web performance […]
1ヶ月前
記事のアイキャッチ画像
The curious (performance) case of CSS @import
Web Performance Calendar
Nearly one in five websites is secretly sabotaging its own performance through a single CSS feature that’s been known to be problematic for over a decade. Based on our analysis of over 16 million mobile websites, there’s a good chance you might recognize this in your own codebase 😉 The culprit? CSS @import. While its […]
1ヶ月前
\ No newline at end of file diff --git a/blogs/348dd0b53ca3c90288544172d0dc6ca9/index.html b/blogs/348dd0b53ca3c90288544172d0dc6ca9/index.html new file mode 100644 index 000000000000..680f1704c899 --- /dev/null +++ b/blogs/348dd0b53ca3c90288544172d0dc6ca9/index.html @@ -0,0 +1,12 @@ +Stories by Abdu Taviq on Mediumのフィード|JSer.info Watch List RSS

Stories by Abdu Taviq on Medium

https://medium.com/@abduvik?source=rss-2d72e94cd0fc------2

Read writing from Abdu Taviq on Medium. Web Application Developer. Knowledge hungry always learning. Aspiring to become a Web Unicorn. Find me @abduvik on social platforms.

フィード

記事のアイキャッチ画像
How to Actually Stay Consistent
Stories by Abdu Taviq on Medium
2年前
記事のアイキャッチ画像
+How to Find Infinite Loops in Javascript using DevTools
Stories by Abdu Taviq on Medium
3年前
記事のアイキャッチ画像
How I Survived Burnout
Stories by Abdu Taviq on Medium
3年前
The Four Stages of Every New Software Job
Stories by Abdu Taviq on Medium
3年前
記事のアイキャッチ画像
How to Maintain Focus at Work for Software Developers
Stories by Abdu Taviq on Medium
3年前
記事のアイキャッチ画像
Overcome Imposter Syndrome as a New Software Developer
Stories by Abdu Taviq on Medium
3年前
記事のアイキャッチ画像
Go Deep Into Javascript With These Advanced Tech Talks
+Stories by Abdu Taviq on Medium
3年前
記事のアイキャッチ画像
How to “Getting Things Done” for Software Developers
Stories by Abdu Taviq on Medium
3年前
How Software is Developed in Big Tech Corporations
Stories by Abdu Taviq on Medium
4年前
\ No newline at end of file diff --git a/blogs/388e281bbd60ad04e93997944ece7413/index.html b/blogs/388e281bbd60ad04e93997944ece7413/index.html new file mode 100644 index 000000000000..57ff3ffce295 --- /dev/null +++ b/blogs/388e281bbd60ad04e93997944ece7413/index.html @@ -0,0 +1,19 @@ +Semaphoreのフィード|JSer.info Watch List RSS

Semaphore

https://semaphoreci.com/

Semaphore CI/CD enables shipping software faster, with quality and security.

フィード

記事のアイキャッチ画像
Semaphore is Going Open Source in 30 days
Semaphore
Semaphore is open-sourcing its core CI/CD platform under Apache 2.0, empowering developers with flexibility, transparency, and innovation.The post Semaphore is Going Open Source in 30 days appeared first on Semaphore.
10日前
+
記事のアイキャッチ画像
What to Expect: Tech Trends For 2025
Semaphore
+Explore top tech trends for 2025—from AI's legal battles and quantum breakthroughs to sustainability challenges—and see how they'll shape business, security, and daily life.The post What to Expect: Tech Trends For 2025 appeared first on Semaphore.
11日前
記事のアイキャッチ画像
Smoke Testing vs. Sanity Testing
Semaphore
Learn the key differences between smoke testing vs sanity testing, their purposes, processes, and when to use them.The post Smoke Testing vs. Sanity Testing appeared first on Semaphore.
11日前
記事のアイキャッチ画像
Semaphore is Now SOC 2 Type 2 Compliant!
Semaphore
+Semaphore is Now SOC 2 Type 2 Compliant.The post Semaphore is Now SOC 2 Type 2 Compliant! appeared first on Semaphore.
15日前
記事のアイキャッチ画像
Cory O’Daniel on Infrastructure as Code
Semaphore
MassDriver co-founder Cory O’Daniel’s explains cloud management through infrastructure as code.The post Cory O’Daniel on Infrastructure as Code appeared first on Semaphore.
16日前
記事のアイキャッチ画像
The 10-Step Checklist for Continuous Delivery
Semaphore
Learn how to implement Continuous Delivery with this 10-step guide featuring actionable insights, examples, and best practices.The post The 10-Step Checklist for Continuous Delivery appeared first on Semaphore.
25日前
記事のアイキャッチ画像
2024 Tech Roundup: The News You Might Have Missed
Semaphore
A comprehensive look back at 2024 tech news landscape—from the AI boom to landmark updates in frameworks, DevOps, and quantum computing.The post 2024 Tech Roundup: The News You Might Have Missed appeared first on Semaphore.
2ヶ月前
記事のアイキャッチ画像
Floor Drees on Building Sustainable Open-Source Ecosystems
+Semaphore
Tembo.io Head of Education Floor Drees discusses the challenges and future of sustainable open-source ecosystems.The post Floor Drees on Building Sustainable Open-Source Ecosystems appeared first on Semaphore.
2ヶ月前
記事のアイキャッチ画像
Unit Testing vs. Integration Testing: Test Automation Basics 
Semaphore
+Discover the key differences between unit testing vs integration testing and learn how to automate both with Python.The post Unit Testing vs. Integration Testing: Test Automation Basics appeared first on Semaphore.
2ヶ月前
記事のアイキャッチ画像
TDD vs. BDD: What’s the Difference? (Complete Comparison)
Semaphore
Discover the key differences between TDD vs BDD, their workflows, tools, and best practices for developers.The post TDD vs. BDD: What’s the Difference? (Complete Comparison) appeared first on Semaphore.
2ヶ月前
記事のアイキャッチ画像
Top 10 Rules of Continuous Integration
Semaphore
This article provides ten essential rules to optimize your CI pipeline for efficiency, reliability, and code quality.The post Top 10 Rules of Continuous Integration appeared first on Semaphore.
2ヶ月前
記事のアイキャッチ画像
Rich Harris on the Future —and Past— of Web Development
Semaphore
Web applications are increasingly transforming browsers into the primary interface for our digital lives. As we rely more on web applications for everything from work to entertainment, the responsiveness of these applications becomes paramount. Rich Harris, a former journalist and the mind behind Svelte, shares his insights into web development technologies and trends. Edited transcription […]The post Rich Harris on the Future —and Past— of Web Development appeared first on Semaphore.
3ヶ月前
記事のアイキャッチ画像
Securing Your CI/CD Pipeline with Snyk Open Source and Semaphore
Semaphore
This article covers using Snyk with Semaphore CI/CD pipeline for automated vulnerability scanning and related security practices.The post Securing Your CI/CD Pipeline with Snyk Open Source and Semaphore appeared first on Semaphore.
3ヶ月前
記事のアイキャッチ画像 +
How to Build a RAG Chatbot to Chat with Documents Using Sparse Data
Semaphore
This article teaches how to build a RAG chatbot to navigate documentation efficiently, using sparse data techniques.The post How to Build a RAG Chatbot to Chat with Documents Using Sparse Data appeared first on Semaphore.
3ヶ月前
記事のアイキャッチ画像
How Attackers Use HTTP Status Codes for Malicious Purposes
Semaphore
Learn how attackers exploit HTTP status codes to identify vulnerabilities and secure your web applications from malicious threats.The post How Attackers Use HTTP Status Codes for Malicious Purposes appeared first on Semaphore.
3ヶ月前
\ No newline at end of file diff --git a/blogs/39a43a7bfbfbc050b159dc5e9bcb0777/index.html b/blogs/39a43a7bfbfbc050b159dc5e9bcb0777/index.html new file mode 100644 index 000000000000..f97370984f32 --- /dev/null +++ b/blogs/39a43a7bfbfbc050b159dc5e9bcb0777/index.html @@ -0,0 +1,19 @@ +Mako Blogのフィード|JSer.info Watch List RSS

Mako Blog

フィード

記事のアイキャッチ画像
Mako - 循环依赖检测
Mako Blog
+Mako - 循环依赖检测 # 2024-09-04 by stormslowly循环依赖是代码中隐藏的风险,一些无意的改动就可能触发,并只能在运行时发现。Mako 内置循环依赖检测,让代码中的循环依赖尽快发现,排除风险。文中用到的 demo 的示例代码大家多多少少碰到过循环依赖的问题,比如变量明明导出了,但是为什么拿到的是 undefined,或者 ReferenceError: Cannot access 'foo' before initialization。最后一查,查半天,严重影响上班摸鱼时间,最后发现是循环依赖,所以对循环依赖深恶痛绝,欲除之而后快。但时候有时候发现,有些项目也有循环依赖,但是也没有任何问题,仿佛它又是人畜无害的。这些问题背后到底是为什么呢?循环依赖到底是怎么回事 # 从一个不报错的循环依赖开始 # function foo(){ bar()}function bar(){}function x(){ y()}function y(){}假设这4个函数的实现日益复杂,需要拆成两个模块,每个模块 2 个函数。那么有 3 个拆法。{foo, bar}, {x, y}{foo, x}, { bar, y }最后一种青年可能会这么拆分{ foo, y }, {bar, x}那么依赖关系就变成下图,循环依赖就形成了。但是这个循环依赖是可以正常工作的完全没有问题//index.jsimport { foo } from './m1';foo();// m1.jsimport {bar} from "./m2"export function y() { console.log("y called")}export function foo(){ bar()}// m2.jsimport {y} from "./m1"export function bar(){ console.log("bar called")}export function x(){ y()}Building with mako for development...Warning Circular Dependencies: "case1/m1.js" -> "case1/m2.js" -> "case1/m1.js"dist/index.js 9.09 kB │ map: 10.5 +
5ヶ月前
記事のアイキャッチ画像
Mako - Mako 开源了
Mako Blog
+Mako 开源了 # 2024-06-28 by sorryccEnglish Version: Mako is Now Open Source.Hi,我是 sorrycc,Mako 的主要负责人之一,也是 Umi、Dva、Father 等库的作者。很开心,Mako 终于开源了,Github 地址是 https://github.com/umijs/mako/ ,今天和大家正式介绍下他。Mako 是什么? # Mako 是「极快」和「生产级」的前端构建工具,基于 Rust。「极快」是我们立项做 Mako 的初衷,没有构建速度问题也就没有 Mako,参考下方的 Benchmark 区域部分数据,同时我们也一直在探索更快的构建速度方案;而「生产级」是因为 Mako 自 2023.11.24 起已在蚂蚁内部正式发布,通过工程化的方式验证了数千个项目和所有用到的 npm 包及其不同版本,已落地数百个项目,并对内服务了中后台、小程序、H5 移动端、低代码、营销、组件库、组件打包、Serverless Function 等多个不同平台和业务场景,已具备了生产级的能力。大家可以访问 https://makojs.dev/docs/features 了解 Mako 的更多特性。Mako 怎么来的? # 去年(2023.3)我们团队立了 3 个项,Rust、SSR 和 AIGC,我们领了 Rust 方向,解构建性能的问题。我们团队一直在探索更快的构建速度方案,包括之前发布的 MFSU,都是在 Webpack 里对构建速度进行优化,这有一定的局限性。我们希望通过 Rust 来寻求这个问题的彻底解。大家可能会好奇,为啥我们不用现有 Rust 工具而是自己做一个?原因是复杂的,比如以下几点。1)当时社区库的成熟度和和蚂蚁的需求匹配度,我们在动手前调研了所有社区的 Rust 构建方案,但最终选择自研,2)主动权,业务原因,构建工具在蚂蚁会有大量定制需求,事实也是如此,我们在内部发布后,发现拿着构建这个锤子找到了很多与之匹配的钉子,3)现代的元框架是编译时框架,除了构建之外,还有大量编译需求,尤其是 SSR & RSC 的场景,比如在我们内部,RSC 场景需要 4 次构建,4)学 Rust 的需求和团队成长需求等,现代前端工具都是 Rust 编写,我们不进则退。上图是 Mako 的时间线。Ma +
7ヶ月前
記事のアイキャッチ画像
Mako - Mako is Now Open Source
Mako Blog
+Mako is Now Open Source # 2024-06-28 by sorrycc中文版: 《Mako 开源了》。Hi, I am sorrycc, one of the main maintainers of Mako, and also the creator of Umi, Dva, Father, and other libraries. I am thrilled to announce that Mako is finally open source, the Github url is https://github.com/umijs/mako/ , and I’m excited to formally introduce it to you today.What is Mako? # Mako is an “extremely fast” and “production-grade” front-end build tool, based on Rust.The “extremely fast” aspect was our initial motivation for starting the Mako project. Without build speed issues, Mako would not have been necessary. Refer to the Benchmark section below for some data, and we are constantly exploring even faster build speed solutions. The “production-grade” label comes from the fact that since 2023.11.24, Mako has been officially released internally at Ant Group. It has been validated with engineering practices on thousands of projects and all used npm packages and their versions. It has been implemented in hund +
7ヶ月前
記事のアイキャッチ画像
Mako - Mako Tree Shaking 简介
Mako Blog
+Mako Tree Shaking 简介 # 2024-06-26 by stormslowly在本文开始之前需要郑重的感谢下开源前辈 Farm ,Mako 的 tree shaking 算法大量的参考(抄)了 Farm 的实现。在 Mako 实现 tree shaking 之初,我们一头雾水毫无头绪,有前辈的无私的领路才让 Mako 成为可能。感恩,感谢!什么是 tree shaking # 先看下 Wiki 上的定义。In computing, tree shaking is a dead code elimination technique that is applied when optimizing code. Often contrasted with traditional single-library dead code elimination techniques common to minifiers, tree shaking eliminates unused functions from** across** the bundle by starting at the entry point and only including functions that may be executed. It is succinctly described as “live code inclusion”.简单总结下。tree shaking 是一种死代码删除 (dead code elimination) 技术tree shaking 根据模块间(across)的信息来完成死代码的删除的Tree shaking 利用的是模块间的信息,进行的 dead code 删除。dead code 删除有很多的方式,比如代码minify 时候的 compress,但它不是 tree shaking。Tree shaking 需要利用 ESM 之间的引用信息;在某些场景下,CommonJS 之间也能分析出模块间的引用关系,也能实现 tree shaking。Bundler 的老大哥 Webpack 支持 JSON 资源的 tree shaking(你的 JSON 文件中某个字段没用到,直接帮你删了,比如 package.json 打包之后就留个 name 和 ve +
7ヶ月前
記事のアイキャッチ画像
Mako - Node 多线程的魔力 - Mako 中的 Less 并行编译
Mako Blog
+Node 多线程的魔力 - Mako 中的 Less 并行编译 # 2024-06-18 by xusd320less 文件编译是每个前端通用打包工具必备的能力。在 Mako 中,对于 less 文件的编译并没有基于 rust 实现,而是通过 napi 将 less 文件交给 nodejs 的 less loader ,编译好后,再返回给 rust。Mako 的 rust 部分会根据机器配置启动线程池,将所有 cpu 都利用上,而在遇到 less 文件时,这些线程都会阻塞式等待 less loader 返回,使得在打包大量使用 less 的项目时,可能存在一定性能瓶颈。我们在使用 Mako 构建一个蚂蚁内部的大型项目时,整个构建耗时约为 21s,而 less 文件的处理约占了 5s。我们开始研究怎么给 less 编译提速。我们考虑过两种方案:用 rust 重新实现 less 编译。这就需要从 0 开始构建一个 less 编译器,成本巨大;基于 nodejs 的 worker_threads 并行编译 less。对于早期接触 nodejs 的开发者来说,可能对它的印象是:单线程,不适合做并行计算。但如今的 nodejs 已经进化了,在 10 版本就开始试验性地支持 worker 线程,12 版本提供了稳定 api。出于成本原因,我们优先尝试方案 2。在此方案下,我们需要考虑:充分利用 cpu 多核;nodejs 主线程不能阻塞住,因为 rust 通过 napi 调用 nodejs 必须经过 nodejs 主线程,如果主线程被阻塞,性能会更差;需要封装成异步 RPC 方法以保证易用性,减少对现有代码的破坏。社区对于 nodejs 线程池的封装,比较成熟的有 workerpool 、piscina 。二者的比较如下:都具备 RPC 封装,隐藏了和 worker 通信的细节(nodejs 中主线程、 worker 线程间通信是基于 MessageChannel , 和浏览器上环境中的 MessageChannel 十分接近,其底层是一个非阻塞的通信队列);默认都实现了 FIFO 任务调度,piscina 还支持自定义调度策略;workerpool 启动时创建 worker 线程是常驻的,用完后需要手动销毁线程池,而 piscina 支持根据任务负载动态创建和销毁 worke +
8ヶ月前
記事のアイキャッチ画像
Mako - 聊下 Mako 的 Benchmark
Mako Blog
+聊下 Mako 的 Benchmark # 2024-06-03 by sorrycc朋友们,大家好!有些同学对 Mako 的 Benchmark 感兴趣,今天就先把 Benchmark 仓库公开了。近期 Mako 正式内测,内测前我们整理了 Benchmark 仓库,基于 https://github.com/farm-fe/performance-compare 重新写了下,加了一些维度,比如 js 尺寸用于比较产物的 Tree Shaking 效果。仓库地址是 https://github.com/umijs/benchmark 。1、先看 Benchmark 结果。跑的项目是大家都在跑的 Turbopack 测试项目,跑在 M2 Pro Max 电脑上。包含维度有 dev 冷启动时间、根节点和叶子节点的 HMR 时间、生产 Build 构建时间和 JS 产物尺寸。如果大家感兴趣,可以手动 clone 仓库跑跑看。git clone git@github.com:umijs/benchmark.gitcd benchmarkpnpm ipnpm run setuppnpm benchmark注:Farm 使用 API 的方式没有尝试成功,所以没有生成 HMR 数据;RsBuild 升级 0.7 遇到点问题,所以目前还是 0.6。欢迎 PR!2、Benchmark 的实现。1)Build 速度和 JS 尺寸。没啥好说的,多跑几遍,然后算平均值就好。2)Dev 启动速度。由于 Vite 等工具按需编译功能的存在,除了要启动各个工具的 dev 命令,还需要用 puppteer 打开浏览器等 load 完成才算完,比如 Vite 这种 Bundless 的编译方式,是需要等请求过去之后才会做编译的。3)热更速度区分了 Root 和 Leaf。这应该和部分构建工具的实现有关,而在 Mako 里,Root 和 Leaf 的变更时间基本是一致的。热更的测量是往文件里 appendFileSync 一句 console.log,比如 console.log('root hmr'),然后用 page.waitForEvent 等 console 内容包含 root hmr 的事件,这样就能算出代码从改动开始到在浏览器里执行的时间差了。4)需要注意的是,有些构建工具会有缓存机制, +
8ヶ月前
記事のアイキャッチ画像
Mako - Mako 内测了
Mako Blog
+Mako 内测了 # 2024-05-15 by sorrycc朋友们,大家好!Mako 终于内测了。Mako 是极快和生产级的前端构建工具,基于 Rust。Mako 去年上半年立项,下半年 2023.11.24 在蚂蚁集团内部正式发布,通过工程化的方式验证了数千个项目和 npm 包,已落地数百个项目,服务了中后台、小程序、低代码、营销等多个不同平台和业务场景。经过大量项目的实践和长时间的迭代,Mako 已经成熟,在速度和产物尺寸方面都已和社区的 Rust 构建方案齐平或实现超越,现在我们决定在开源之前先做一轮内测来收集更多的反馈。Benchmark 基于 performance-compare 里的项目,相关仓库会随 Mako 一起开源。如果大家对 Mako 是如何从 0 到 1 到开源搭建出来的,我在今年 GIAC 上的分享 《Rust 构建工具在蚂蚁的研发和落地》 会详细介绍,同时会议结束后也会以文字形式分享到社区。如何参与内测 # 如果你是 Umi 用户,并且对现有项目的构建速度不满意,体验 Mako 非常简单!先确认 Umi 版本有升级到 4.2.0 或以上,然后执行 npx umi config set mako {} 命令在配置里加上 mako: {},然后执行 umi build 或 umi dev 即可使用 Mako 进行构建。$ npx umi -v4.2.0$ npx umi config set mako {}$ npx umi build如果不是 Umi 用户,也可以一键创建 Mako + React 的项目。$ npm create mako如果你有任何问题或建议,可以在扫码加我们的微信群。或者点击以下链接加入 Telegram 群。https://t.me/+EN3fycCw3TI1NDA1同时,也欢迎大家通过 RSS 的方式订阅 Mako 的动态,我们会在这里发布 Mako 的最新消息以及和构建相关的高质量技术文章。https://makojs.dev/rss.xml致谢 # Mako 的发布离不开感谢每一位贡献者。大部分同学还是虚线业余时间参与的,感谢你们的付出!曾经给 Mako 提交过代码的同学,禾登、杰司、灏辰、伊北、棋怪、常夜、桂阳、卫初、桃树当下仍在参与 Mako 开发的同学,辟起、辟殊、无玄、油油、谦男、枭晓、云谦社区前期 +
9ヶ月前
\ No newline at end of file diff --git a/blogs/3a1366070e665a8eb77ea7018f22d991/index.html b/blogs/3a1366070e665a8eb77ea7018f22d991/index.html new file mode 100644 index 000000000000..103f764096b0 --- /dev/null +++ b/blogs/3a1366070e665a8eb77ea7018f22d991/index.html @@ -0,0 +1,201 @@ +Fermyon • Experience the next wave of cloud computing.のフィード|JSer.info Watch List RSS

Fermyon • Experience the next wave of cloud computing.

https://www.fermyon.com/

Go from blinking cursor to deployed serverless app in 66 seconds. Experience the next wave of cloud computing with Fermyon.

フィード

記事のアイキャッチ画像
Chrome for Developers: Thorsten Hans talks with Thomas Steiner
Fermyon • Experience the next wave of cloud computing.
+Our Senior Cloud Advocate, Thorsten Hans, joined Thomas Steiner on episode at Chrome for Developers - exploring the world of WebAssembly serverless functions and microservices.
3日前
記事のアイキャッチ画像
Spin Joins CNCF Sandbox: Strengthening Adoption and Benefits for Organizations and Developers
Fermyon • Experience the next wave of cloud computing.
Spin has been accepted in the CNCF Sandbox. This milestone brings many benefits to the Spin ecosystem.
18日前
記事のアイキャッチ画像
Software Bill of Materials (SBOM) for your Spin Apps
Fermyon • Experience the next wave of cloud computing.
Learn how to create SBOMs for Spin apps, meet regulatory requirements, and secure your software supply chain with open-source tools like Trivy
23日前
記事のアイキャッチ画像
Advent of Spin 2024 Wrap-up
Fermyon • Experience the next wave of cloud computing.
Wrapping up Advent of Spin 2024 - Looking back at the fun coding challenges to help you learn Spin and Serverless WebAssembly
1ヶ月前
記事のアイキャッチ画像
What Isn't A PaaS
+Fermyon • Experience the next wave of cloud computing.
The promise of PaaS is that developers can build an app, and then deploy it without having to do any additional infrastructure configuration. But a few recent tools claim to be PaaS, yet force developers to do infrastructure engineering. These tools are not actually PaaSes.
1ヶ月前
記事のアイキャッチ画像
The 2024 Highlights
Fermyon • Experience the next wave of cloud computing.
+One year closes, and another one opens. Here are some of our highlights from 2024 -- and a hint about what's coming in 2025.
1ヶ月前
記事のアイキャッチ画像
Scaling Spin Apps With KEDA
Fermyon • Experience the next wave of cloud computing.
Learn how to scale Spin apps on Kubernetes with SpinKube and KEDA. Explore event-driven autoscaling using AWS SQS queues to optimize resource usage and enhance application efficiency.
2ヶ月前 +
記事のアイキャッチ画像
Using SpinKube on Kairos
Fermyon • Experience the next wave of cloud computing.
A guide showing how to install the SpinKube bundle on Kairos
2ヶ月前
記事のアイキャッチ画像
You Are Already Using Wasm In Production
Fermyon • Experience the next wave of cloud computing.
I am often surprised when I hear folks ask, “When will WebAssembly be ready for production?” There seems to be some lurking suspicion that something is holding WebAssembly back.
2ヶ月前
記事のアイキャッチ画像
Announcing Advent of Spin 2024
Fermyon • Experience the next wave of cloud computing.
Announcing Advent of Spin 2024 - A fun coding challenge to learn Spin and Serverless WebAssembly
2ヶ月前
記事のアイキャッチ画像
Observing Spin Apps with OpenTelemetry and the .NET Aspire Dashboard
Fermyon • Experience the next wave of cloud computing.
Learn how to observe your Spin apps using the otel plugin for Spin and the .NET Aspire Dashboard.
2ヶ月前
記事のアイキャッチ画像
Spin gh - Generate GitHub Actions for your Spin Apps in seconds
Fermyon • Experience the next wave of cloud computing.
Get started using the Spin CLI gh plugin to easily generate GitHub Actions for your Spin Apps
3ヶ月前
記事のアイキャッチ画像
Spin Selective Deployments: A Leap Forward for Distributed Applications
Fermyon • Experience the next wave of cloud computing.
Compose a single codebase (even in multiple languages). Edit it in one project. Compile it with one build command.
3ヶ月前
記事のアイキャッチ画像
Introducing Spin 3.0
Fermyon • Experience the next wave of cloud computing. +
The latest major release of Spin is here - with new features like Component Dependencies, Selective Deployments, Otel Integration, and Spin Factors.
3ヶ月前
記事のアイキャッチ画像
WebAssembly Jobs and CronJobs in Kubernetes with SpinKube & the Spin Command Trigger
Fermyon • Experience the next wave of cloud computing.
Learn how to run WebAssembly apps as Kubernetes Jobs and CronJobs using Spin Command Trigger and SpinKube
3ヶ月前
記事のアイキャッチ画像
Lightweight Kubernetes and Wasm is a Perfect Combo
Fermyon • Experience the next wave of cloud computing.
Squeeze more out of your lower-powered hardware with lightweight Kubernetes distros and SpinKube
3ヶ月前
記事のアイキャッチ画像
Measuring Crowd Engagement with an MQTT-based IoT App
Fermyon • Experience the next wave of cloud computing.
Learn how to build a Spin application that is triggered by an MQTT-based sound sensor and deploy that application to a Kubernetes cluster with SpinKube
4ヶ月前
記事のアイキャッチ画像
Automating API endpoint testing with Spin +
Fermyon • Experience the next wave of cloud computing.
How to use Spin's in-built SQLite, Hurl and GitHub Actions to automate API endpoint testing.
4ヶ月前
記事のアイキャッチ画像
How I Wrote A Kinesis Trigger Plugin For Spin
Fermyon • Experience the next wave of cloud computing.
Learn why and how I built an AWS Kinesis trigger for Spin.
4ヶ月前
記事のアイキャッチ画像
Spin Verman - The Version Manager Plugin
Fermyon • Experience the next wave of cloud computing.
Get started using the Spin CLI Version Manager plugin to easily switch between versions of Spin
4ヶ月前
記事のアイキャッチ画像
Integrating Spin with Azure services
Fermyon • Experience the next wave of cloud computing.
Get started using Azure's blob storage and storage queue services with a Spin application.
4ヶ月前
記事のアイキャッチ画像
Telemetry for Spin Apps with the OTel Plugin
Fermyon • Experience the next wave of cloud computing.
+Get started using the Spin CLI OTel plugin for viewing your Spin applications logs, traces and metrics.
5ヶ月前
記事のアイキャッチ画像
More Ways to Deploy via the Spin Hub
Fermyon • Experience the next wave of cloud computing.
Check out some changes we’ve made to the Spin Hub (formerly known as Spin Up Hub) and some new templates & samples that have been added by our community members.
5ヶ月前
記事のアイキャッチ画像
Move Over SEO, It's Time For AIO
Fermyon • Experience the next wave of cloud computing.
As AI displaces search, AI-optimized content will displace SEO. Here's how.
6ヶ月前
記事のアイキャッチ画像
Introducing our Next-Generation JavaScript SDK
Fermyon • Experience the next wave of cloud computing.
We Created a Completely New, Much Improved JavaScript SDK Without Breaking Existing Code
6ヶ月前
記事のアイキャッチ画像
Summer of Spin 2024
Fermyon • Experience the next wave of cloud computing.
+Fermyon's Summer of Spin is a Spin-off on the Advent of Spin, consisting of fun coding challenges!
7ヶ月前
記事のアイキャッチ画像
The Spin Project - A Community Snapshot
Fermyon • Experience the next wave of cloud computing.
As Spin adoption and contribution grows, we express gratitude and take a look at community metrics.
7ヶ月前
記事のアイキャッチ画像
Exploring the MQTT Trigger for Spin: Simplifying Real-time Communication
Fermyon • Experience the next wave of cloud computing.
Message Queuing Telemetry Transport (MQTT) Trigger for Spin.
7ヶ月前
記事のアイキャッチ画像
Running SpinKube on Rancher Desktop: An Update.
Fermyon • Experience the next wave of cloud computing.
Running SpinKube on Rancher Desktop has never been easier!
7ヶ月前
記事のアイキャッチ画像
Announcing Spin 2.6
Fermyon • Experience the next wave of cloud computing.
Experimenting with WebAssembly Components, WASI 0.2.0 and Registries in Spin 2.6
7ヶ月前
記事のアイキャッチ画像
Moving to a Fully Open Planning Process for the Spin Project
Fermyon • Experience the next wave of cloud computing.
The Spin Project's Planning Process Is Now Fully Open.
8ヶ月前
記事のアイキャッチ画像
SpinKube and Flux automated, on Kubernetes 1.30
Fermyon • Experience the next wave of cloud computing.
A recap of our livestream with Kingdon Barett, maintainer of the Flux project
8ヶ月前
記事のアイキャッチ画像
Why Serverless Is Trending Again
Fermyon • Experience the next wave of cloud computing.
The resurgence of serverless is due to a clearer definition, increased productivity, success stories, and WebAssembly improvements.
8ヶ月前
記事のアイキャッチ画像
Turbocharging Broken Link Checking
Fermyon • Experience the next wave of cloud computing.
Automated broken link checking using WebAssembly-powered distributed computing.
8ヶ月前
記事のアイキャッチ画像
It Took Me 20+ Years To Learn This Lesson About Dev
Fermyon • Experience the next wave of cloud computing.
I’m not one to dispense advice often, but having made the same mistake over and over again in my career, I feel like I have one good piece of advice to share.
8ヶ月前
記事のアイキャッチ画像
Spin Cron Trigger
Fermyon • Experience the next wave of cloud computing.
Automate web apps with time-based events using Spin and WebAssembly, featuring cron-triggered tasks.
9ヶ月前
記事のアイキャッチ画像
+Azure Cache for Redis as Key-Value Store with SpinKube
Fermyon • Experience the next wave of cloud computing.
See how to run Spin Apps on Azure Kubernetes Service (AKS) and use Azure Cache for Redis as Key-Value Store
9ヶ月前
記事のアイキャッチ画像
The History and Evolution of WebAssembly in Kubernetes
Fermyon • Experience the next wave of cloud computing.
+Discover how WebAssembly and Kubernetes evolved together to create ultra-efficient, high-performing modern cloud environments.
9ヶ月前
記事のアイキャッチ画像
Visit Fermyon at Microsoft Build
Fermyon • Experience the next wave of cloud computing.
We're at Microsoft Build next week in Seattle, with demos and sessions on running WebAssembly-powered apps on Azure Kubernetes Service.
9ヶ月前
記事のアイキャッチ画像
Announcing Spin 2.5
Fermyon • Experience the next wave of cloud computing.
Spin 2.5 introduces private endpoints in Spin apps, additional support for OpenTelemetry, and several other enhancements!
9ヶ月前
記事のアイキャッチ画像
Announcing Spin Test
Fermyon • Experience the next wave of cloud computing.
Today we’re happy to announce the very first alpha release of spin-test, a plugin for that runs tests written in WebAssembly against a Spin application where all Spin and WASI APIs are configurable mocks.
9ヶ月前
記事のアイキャッチ画像
Building Serverless Apps with Spin and HTMX
+Fermyon • Experience the next wave of cloud computing.
Walkthrough of the process to build an app with HTMX and WebAssembly - with Fermyon Spin
9ヶ月前
記事のアイキャッチ画像
Scaling Sidecars to Zero in Kubernetes
Fermyon • Experience the next wave of cloud computing.
Revolutionizing Kubernetes: Discover Zero-Cost Sidecars with SpinKube.
9ヶ月前
記事のアイキャッチ画像
WebAssembly in Azure with Azure Kubernetes Service and SpinKube
Fermyon • Experience the next wave of cloud computing.
Let's run a simple Spin App on Azure Kubernetes Service with SpinKube.
9ヶ月前
記事のアイキャッチ画像
Startup Lessons from 25 Years and 5 Startups
Fermyon • Experience the next wave of cloud computing.
Lessons learned from my 25-year journey, essential topics for anyone contemplating launching a startup as a founder.
10ヶ月前
記事のアイキャッチ画像
Python, Wasm, and Componentize-Py
+Fermyon • Experience the next wave of cloud computing.
Interested in using Python to write Wasm apps? You are in the right place!
10ヶ月前
記事のアイキャッチ画像
Fermyon Platform For Kubernetes Part 2: Enterprise Architectures and Patterns
Fermyon • Experience the next wave of cloud computing.
+In this post, we'll review what makes workloads a great fit for Spin and look at a few enterprise architecture and patterns used by those workloads on Fermyon Platform For Kubernetes for increased efficiency and developer productivity.
10ヶ月前
記事のアイキャッチ画像
Announcing Spin 2.4
Fermyon • Experience the next wave of cloud computing.
Spin 2.4 introduces service chaining in Spin applications, experimental support for OpenTelemetry, and several other enhancements!
10ヶ月前
記事のアイキャッチ画像
Intro To Fermyon Platform for Kubernetes
Fermyon • Experience the next wave of cloud computing.
Introducing Fermyon Platform for Kubernetes - the hyper-efficient platform for running enterprise-grade WebAssembly applications on Kubernetes
10ヶ月前
記事のアイキャッチ画像
Can We Achieve Secure and Measurable Software Using Wasm?
Fermyon • Experience the next wave of cloud computing.
Can software creators use WebAssembly to better secure the building blocks of cyberspace?
10ヶ月前
KubeCon Paris: Launching SpinKube and Shaping the Future of Kubernetes with WebAssembly Integration
Fermyon • Experience the next wave of cloud computing.
Discover how SpinKube and Fermyon Platform for Kubernetes are redefining cloud computing, boosting application density, and streamlining the developer experience from concept to deployment.
10ヶ月前
記事のアイキャッチ画像 +
From Theory to Action: Unleashing the Power of WebAssembly Components at Wasm I/O
Fermyon • Experience the next wave of cloud computing.
Explore the transformative potential of the WebAssembly component model unveiled at Wasm I/O 2024, highlighting polyglot programming, asynchronous computing innovations and how we will be curating reusable components.
10ヶ月前
記事のアイキャッチ画像
Announcing the Submission of SpinKube to the CNCF Sandbox
Fermyon • Experience the next wave of cloud computing.
The SpinKube open source project has been submitted to become a CNCF sandbox project - helping WebAssembly become a first-class workload in Kubernetes.
1年前
記事のアイキャッチ画像
Run SpinKube on Rancher Desktop
Fermyon • Experience the next wave of cloud computing.
Let's build a simple JavaScript app and deploy it into our Rancher Desktop cluster via SpinKube.
1年前
記事のアイキャッチ画像
Introducing SpinKube and Fermyon Platform for Kubernetes
Fermyon • Experience the next wave of cloud computing.
+Enabling Kubernetes to get first-class support for running Spin WebAssembly applications so that you can run your apps far more efficiently and with higher density across any processing architecture in your Kubernetes cluster.
1年前
記事のアイキャッチ画像
High Performing Startups — Hiring for Values (Segment 3)
Fermyon • Experience the next wave of cloud computing.
Bringing new team members into the organization who share values.
1年前
記事のアイキャッチ画像
Announcing Spin 2.3.1
Fermyon • Experience the next wave of cloud computing.
Spin 2.3.1 brings improved support for multiple trigger types in Spin applications, working with OCI registries, and upgraded PHP templates to support PHP 8.2!
1年前
Fermyon @ Wasm I/O & KubeCon + CloudNativeCon EU 24
Fermyon • Experience the next wave of cloud computing.
Fermyon is headed to Wasm IO and KubeCon + CloudNativeCon EU 24. Read on for our full activities at each conference!
1年前
記事のアイキャッチ画像
Wasm, Kubernetes, and Sustainable AI at Civo Navigate NA 24
Fermyon • Experience the next wave of cloud computing.
Fermyon attended Civo Navigate NA ‘24 as Platinum sponsors. Read on for a summary of our experiences at the conference and what’s coming up next.
1年前
記事のアイキャッチ画像
Visit Fermyon at Civo Navigate NA ‘24 in Austin, TX
+Fermyon • Experience the next wave of cloud computing.
Fermyon will be Platinum sponsors at Civo Navigate NA ‘24. Be sure to catch our talk, workshop, and sponsor booth to learn about WebAssembly, Spin, and serverless.
1年前
記事のアイキャッチ画像
Announcing Spin 2.2
Fermyon • Experience the next wave of cloud computing.
Spin 2.2 introduces support for the new stable WASI 0.2.0 via Wasmtime 17 and support for multiple trigger types in a Spin application.
1年前
記事のアイキャッチ画像
Linking Fermyon Cloud Spin Apps to Custom Key Value Stores
Fermyon • Experience the next wave of cloud computing.
You can now link Fermyon Cloud Spin applications dynamically to custom Fermyon Cloud key value stores at runtime.
1年前
記事のアイキャッチ画像
High Performing Startups — Founding Values (Segment 2)
Fermyon • Experience the next wave of cloud computing.
The most essential effort before you coalesce your founding team or hire your first person.
1年前
記事のアイキャッチ画像
Building Comprehensive Compute Platforms
Fermyon • Experience the next wave of cloud computing.
In this blog post, I’ll dive into what the component model can do for platform builders and platform engineers to take on more responsibility, not by arguing for a shift right movement, but by showing how the interfaces provided by platforms to developers, can be at much higher abstractions than what we are used to today.
1年前
記事のアイキャッチ画像
The Spin and Kubernetes Story
Fermyon • Experience the next wave of cloud computing.
Learn how to package Spin applications with OCI and run them on Kubernetes.
1年前
記事のアイキャッチ画像
Introducing Fermyon Spin with Openshift
Fermyon • Experience the next wave of cloud computing.
Announcing support for Spin on Red Hat Openshift
1年前
記事のアイキャッチ画像
Advent of Spin 2023 Wrap-up
Fermyon • Experience the next wave of cloud computing.
Announcing Advent of Spin 2023 - A fun coding challenge to learn Spin and Serverless WebAssembly
1年前
記事のアイキャッチ画像
High Performing Startups — The Fermyon System (Segment 1)
Fermyon • Experience the next wave of cloud computing.
One of our goals is to be the best place our employees have worked. In 2023, we ranked #9 on the Will Reed Top 100 List for startups.
1年前
記事のアイキャッチ画像
+Leveraging Python Standard Library via WebAssembly
Fermyon • Experience the next wave of cloud computing.
Explore how Python's extensive libraries, when compiled to WebAssembly, simplify solving complex mathematical problems over the web
1年前
記事のアイキャッチ画像
A Look Back at 2023, and a Look Forward to 2024
Fermyon • Experience the next wave of cloud computing.
+I predicted that 2023 would be the year of WebAssembly. It was certainly a productive year at Fermyon. But some of the things I am most excited about will come around in 2024.
1年前
記事のアイキャッチ画像
The Doctor Is In: Converting Spin 1 Apps to Spin 2
Fermyon • Experience the next wave of cloud computing.
+Spin has a command called 'doctor' that can fix up problems with your code. One of the things it can do is automate the conversion of v1 apps to v2. Let's take a look.
1年前
記事のアイキャッチ画像
Announcing Spin 2.1
Fermyon • Experience the next wave of cloud computing.
Spin 2.1 brings a new WASI snapshot, support for registering multiple components for the same Redis channel, improvements to plugin configuration and upgrading, and several bugfixes and other improvements!
1年前
記事のアイキャッチ画像
Wasm All the Way - From Client to Server With Leptos, Rust and Spin
Fermyon • Experience the next wave of cloud computing.
Leptos is a fast, fun, expressive way to build Web sites in Rust - and now it runs on Spin
1年前
記事のアイキャッチ画像
How to Streamline Your Web Hosting
Fermyon • Experience the next wave of cloud computing.
Discover How Fermyon Cloud Transforms Your Web App Experience
1年前
記事のアイキャッチ画像
Find Fermyon at AI.dev for Our Last Conference of 2023
Fermyon • Experience the next wave of cloud computing.
Fermyon’s last conference of 2023 will be AI.dev, co-located with Cassandra Summit in San Jose, California. Come by our sponsor booth or watch our session to learn about our Serverless AI offering.
1年前
記事のアイキャッチ画像
Building a social photo app using Spin, KV & Nuxt.js
Fermyon • Experience the next wave of cloud computing.
+In this post we will show you some pictures from Behind The Scenes @Fermyon and also walk you through how we built this using Spin.
1年前
記事のアイキャッチ画像
Persisting Data in WebAssembly Applications Using Redis
Fermyon • Experience the next wave of cloud computing.
Unleash the power of WebAssembly with Spin 2.0 as we guide you through using Redis for state-of-the-art data persistence in cloud-based applications.
1年前
記事のアイキャッチ画像
Announcing Advent of Spin 2023
Fermyon • Experience the next wave of cloud computing.
Announcing Advent of Spin 2023 - A fun coding challenge to learn Spin and Serverless WebAssembly
1年前
記事のアイキャッチ画像 +
5 Fermyon Releases: What We Did at KubeCon
Fermyon • Experience the next wave of cloud computing.
KubeCon Chicago felt like a celebration. We released Spin 2.0. We got to reconnect with friends we made during our India trip this summer.
1年前
記事のアイキャッチ画像
It’s Time to Reboot Software Development
+Fermyon • Experience the next wave of cloud computing.
How the WebAssembly Component Model is Transforming Software Development.
1年前
記事のアイキャッチ画像
Fermyon Presents: Phippy’s Field Guide to Wasm
Fermyon • Experience the next wave of cloud computing.
Fermyon releases a new book in The Illustrated Children's Guide to Kubernetes book series focused on WebAssembly.
1年前
+
記事のアイキャッチ画像
Composing Components with Spin 2.0
Fermyon • Experience the next wave of cloud computing.
1年前
記事のアイキャッチ画像
Introducing Spin 2.0
Fermyon • Experience the next wave of cloud computing.
Spin 2.0 — the open source developer tool for building, distributing, and running WebAssembly (Wasm) applications in the cloud.
1年前
記事のアイキャッチ画像
Fermyon @ KubeCon + CloudNativeCon NA '23
Fermyon • Experience the next wave of cloud computing.
+Learn about all of Fermyon’s activities during the week of KubeCon + CloudNativeCon NA '23
1年前
記事のアイキャッチ画像
Local AI Development with Cloud GPUs
Fermyon • Experience the next wave of cloud computing.
This blog describes
1年前
記事のアイキャッチ画像
Fermyon Cloud's First Birthday - Year in Review 🎂
Fermyon • Experience the next wave of cloud computing.
It's been one year since we've announced Fermyon Cloud. Let's review the journey together and unwrap a few new features in the process.
1年前
記事のアイキャッチ画像
Serverless Sources: Our Team’s Favorite Places to Read & Learn in 2023
Fermyon • Experience the next wave of cloud computing.
Exploring tech resources, emphasizing WebAssembly, open-source development, and related communities and events.
1年前
記事のアイキャッチ画像
Savvy Silicon: How I Made a Crossword Puzzle Helper With AI
Fermyon • Experience the next wave of cloud computing.
Master Crossword Puzzles with AI: Your Ultimate Clue-Solving Companion!
1年前
記事のアイキャッチ画像
Fermyon Serverless: Solving Key Market Problems According to Leading Analyst Firm
Fermyon • Experience the next wave of cloud computing.
IDC Research looks at Fermyon's WebAssembly PaaS and Serverless AI announcement
1年前
記事のアイキャッチ画像
Serverless AI Inferencing Using Python
Fermyon • Experience the next wave of cloud computing.
Serverless AI Inferencing Using Python: Deploy Python-based serverless AI with Spin effortlessly. Dive into our step-by-step guide to unlock seamless AI inferencing on Fermyon Cloud.
1年前
記事のアイキャッチ画像
DockerCon 2023: Embracing Wasm And AI
Fermyon • Experience the next wave of cloud computing.
DockerCon 2023 embraced Wasm and AI in an engaging way through groundbreaking sessions, experts' insights, and is well and truly in sync with the pulse of tomorrow's tech.
1年前
記事のアイキャッチ画像
WebAssembly, WASI, and the Component Model
Fermyon • Experience the next wave of cloud computing.
WebAssembly has evolved to support many languages and environments beyond browsers, enhanced by WASI for system interactions, and is utilized in Fermyon's Spin platform for serverless functions.
1年前
記事のアイキャッチ画像
Using Generative AI to Stand on the Shoulders of Giants
Fermyon • Experience the next wave of cloud computing.
This article explores using generative AI to translate publicly funded academic research into layman's terms, assessing the initiative's value and resources.
1年前
記事のアイキャッチ画像
What Is It Like to Be an LLM?
+Fermyon • Experience the next wave of cloud computing.
Discussing common misconceptions about AI-based software through a philosophical thought experiment (or two).
1年前
記事のアイキャッチ画像
Empowering Developers With AI Inferencing: A New Coding Essential
Fermyon • Experience the next wave of cloud computing.
+Developers harnessing AI to boost their coding capabilities; an AI Coference 2023 wrap up.
1年前
記事のアイキャッチ画像
OSS EU and Rethinking Open Source Licenses
Fermyon • Experience the next wave of cloud computing.
Striving for Open Source Purity and Commercial Viability
1年前
記事のアイキャッチ画像
Can we put the AI in hAIku?
Fermyon • Experience the next wave of cloud computing.
In a time where Large Language Models (LLMs) are continuing to blossom, do you think that we still hold a discernible edge over Artificial Intelligence (AI) when it comes to writing hauki poetry?
1年前
記事のアイキャッチ画像
How I Built an AI Inferencing API With Llama2 on Spin
Fermyon • Experience the next wave of cloud computing.
We build a simple sentiment analysis API using Fermyon Serverless AI and Spin.
1年前
記事のアイキャッチ画像
Fermyon @ The AI Conference 2023
Fermyon • Experience the next wave of cloud computing.
Check out Fermyon Serverless AI at The AI Conference in San Francisco
1年前
記事のアイキャッチ画像
A “Silly Walk” through Fermyon Serverless AI
Fermyon • Experience the next wave of cloud computing.
If you’re new to AI and want a quick and entertaining way to get started, this post is for you.
1年前
記事のアイキャッチ画像
Announcing Spin v1.5
Fermyon • Experience the next wave of cloud computing.
Spin adds support for AI inferencing, concurrency performance improvements, and more!
1年前
記事のアイキャッチ画像
WasmCon 2023: The Rise and Realization of the WebAssembly Component Model
Fermyon • Experience the next wave of cloud computing.
The inaugural WasmCon happened last week. Here are the highlights.
1年前
記事のアイキャッチ画像
Fermyon @ Open Source Summit EU '23
Fermyon • Experience the next wave of cloud computing.
+Learn about Fermyon’s activities at Open Source Summit EU '23!
1年前
記事のアイキャッチ画像
How to Use NFC and Spin to Create an App
Fermyon • Experience the next wave of cloud computing.
Using Near Field Communication (NFC) and Spin to create a web UI and JSON REST API to work with iPhone Shortcuts.
1年前
記事のアイキャッチ画像
Carbon Neutral AI Inferencing
Fermyon • Experience the next wave of cloud computing.
Turning waste heat from computing into usable energy, making Fermyon's new Serverless AI a cleaner cloud solution.
1年前
記事のアイキャッチ画像
How We (Accidentally) Wrote the Ideal AI Platform
Fermyon • Experience the next wave of cloud computing.
A short story on creating a developer platform for writing and deploying serverless AI applications.
1年前
記事のアイキャッチ画像
Introducing Fermyon Serverless AI
Fermyon • Experience the next wave of cloud computing.
+Fermyon Serverless AI gives you the building blocks for integrating Artificial Intelligence into your serverless applications, with AI inferencing for Large Language Models (LLMs) for Llama2 and CodeLlama, support for generating sentence embeddings and storing them in a vector-ready database, built-in key-value storage, and a seamless developer experience.
1年前
記事のアイキャッチ画像
Fermyon @ WasmCon '23
Fermyon • Experience the next wave of cloud computing.
+Check out all of Fermyon’s activities at WasmCon '23!
1年前
記事のアイキャッチ画像
Introducing Componentize-Py
Fermyon • Experience the next wave of cloud computing.
Componentize-Py is a new tool for packaging Python apps and their dependencies as WebAssembly components.
1年前
記事のアイキャッチ画像
Join Us at Civo Navigate EU in London
Fermyon • Experience the next wave of cloud computing.
Fermyon is sponsoring Civo Navigate, and there are many great talks about WebAssembly, Spin, and serverless.
1年前
記事のアイキャッチ画像
TypeScript and Fermyon Cloud Key Value Storage
Fermyon • Experience the next wave of cloud computing.
1年前
記事のアイキャッチ画像
Fermyon @ Copenhagen Developers Festival 2023
Fermyon • Experience the next wave of cloud computing.
Learn about Fermyon's activities around Copenhagen Developers Festival '23!
1年前
記事のアイキャッチ画像
NoOps and Serverless Are the Perfect Pair
Fermyon • Experience the next wave of cloud computing.
This article teases apart the operational aspects of serverless application development and shows how Fermyon provides application developers with the right infrastructure to focus on their code. Simply put, NoOps and Serverless are the perfect pair.
1年前
記事のアイキャッチ画像
WeAreDevelopers Wrap Up
Fermyon • Experience the next wave of cloud computing.
Summary of the Berlin event from the 27th & 28th of July, showcasing a couple of our new feature releases and announcements.
1年前
記事のアイキャッチ画像
From Bare Metal to Kubernetes: 6 Ways to Spin
Fermyon • Experience the next wave of cloud computing.
Learn about the many ways you can execute Spin serverless WebAssembly apps - locally, with Kubernetes, Nomad, Fermyon Cloud and more
1年前
記事のアイキャッチ画像
Spin Application Structure
Fermyon • Experience the next wave of cloud computing.
+This how-to guide discusses the 'spin new' command app structure and tips on how to organize larger apps.
2年前
記事のアイキャッチ画像
One Small Step For Slats, One Giant Leap For Cloud Computing
Fermyon • Experience the next wave of cloud computing.
We’ve released a major update to Finicky Whiskers, showcasing Fermyon Cloud's features in action.
2年前
記事のアイキャッチ画像
Announcing Fermyon Cloud’s SQLite Database
Fermyon • Experience the next wave of cloud computing.
Serverless workloads often need to store state in between application invocations, and Spin applications are no exception to this rule.
2年前
記事のアイキャッチ画像
Announcing Custom Domains on Fermyon Cloud
Fermyon • Experience the next wave of cloud computing.
Today, we are excited to announce support for custom domains on Fermyon Cloud - bring your domain, and we’ll handle the rest.
2年前
記事のアイキャッチ画像
Announcing the Spin Up Hub
Fermyon • Experience the next wave of cloud computing.
+Announcing the launch of the Spin Up Hub - a single location to find and use Spin resources such as templates, libraries, and plugins
2年前
記事のアイキャッチ画像
5 Things We Learned in India
Fermyon • Experience the next wave of cloud computing.
Reflections on the 'Disruptive Tech: Wasm Edition' tour of India.
2年前
記事のアイキャッチ画像
Fermyon @ WeAreDevelopers World Congress '23
Fermyon • Experience the next wave of cloud computing.
Learn about Fermyon's activities around WeAreDevelopers World Congress '23!
2年前
記事のアイキャッチ画像
Docker Desktop and Spin for Serverless WebAssembly Apps
Fermyon • Experience the next wave of cloud computing.
With the release of Docker Desktop 4.21, Fermyon Spin is built-in. See how to build and run a serverless WebAssembly app using Spin with Docker Desktop.
2年前
記事のアイキャッチ画像
Meet a Fermyon Friend: Sohan
Fermyon • Experience the next wave of cloud computing.
A new series of meet and greets with our team - starting with Sohan Maheshwar who many of you will know from the AWS community.
2年前
記事のアイキャッチ画像
Announcing Spin v1.4
Fermyon • Experience the next wave of cloud computing.
Spin 1.4 introduces automatic SQLite storage, application troubleshooting with the Spin Doctor, and more!
2年前
記事のアイキャッチ画像
Managing Spin Templates and Plugins
Fermyon • Experience the next wave of cloud computing.
2年前
記事のアイキャッチ画像
Exploring Spin Application Variables
+Fermyon • Experience the next wave of cloud computing.
Discuss use cases of application variables and build an example
2年前
記事のアイキャッチ画像
Building a Host for the Spin Runtime - and Creating the World's Laziest Control Plane
Fermyon • Experience the next wave of cloud computing.
Learn how to build hosting environments for Spin applications
2年前
記事のアイキャッチ画像
Available Now: Growth Plan Subscription Tier for Fermyon Cloud
Fermyon • Experience the next wave of cloud computing.
Introducing Starter, Growth, and Enterprise subscription tiers for those of you who would like to expand your usage of Fermyon Cloud
2年前
記事のアイキャッチ画像
The Fermyon Cloud Plugin
Fermyon • Experience the next wave of cloud computing.
The Spin Cloud Plugin: What It Is and Will Be
2年前
記事のアイキャッチ画像
Announcing Spin v1.3
Fermyon • Experience the next wave of cloud computing.
+Spin 1.3 introduces a separate Cloud plugin experience, setting application variables in the Cloud and more!
2年前
記事のアイキャッチ画像
Elegant Web UIs with Dioxus in Spin
Fermyon • Experience the next wave of cloud computing.
Learn how to use Dioxus to build user interfaces with Rust in Spin
2年前
記事のアイキャッチ画像
Spin watch - live reload for Wasm app development
Fermyon • Experience the next wave of cloud computing.
This article shows how Spin applications can be configured to rebuild and/or restart whenever changes to applicable files occur.
2年前
記事のアイキャッチ画像
Spinning around India with WebAssembly
Fermyon • Experience the next wave of cloud computing.
Join us at meetups in Bengaluru, Hyderabad, Mumbai, Pune, Thane, as well as KCD Mumbai this June 2023
2年前
記事のアイキャッチ画像
Integrating Spin with Static Site Generators
Fermyon • Experience the next wave of cloud computing.
+Providing a Frontend for Your WebAssembly Backend
2年前
記事のアイキャッチ画像
The Next Generation of Serverless is Happening
Fermyon • Experience the next wave of cloud computing.
The roots of serverless can be traced back to CGI in the early nineties. But at this moment, a new generation is emerging. And it is exciting.
2年前
記事のアイキャッチ画像
Generative AI & Future Technologies @ GlueCon 2023
Fermyon • Experience the next wave of cloud computing.
GlueCon 2023 had an exceptional lineup of speakers exploring the latest advancements in technology.
2年前
記事のアイキャッチ画像
Raising the Limits of Fermyon Cloud
Fermyon • Experience the next wave of cloud computing.
Introducing a new subscription plan to raise your Fermyon Cloud resource limits.
2年前
記事のアイキャッチ画像
Fermyon at the Innovation Showcase of the MIT Sloan CIO Symposium
Fermyon • Experience the next wave of cloud computing.
+On May 15-16, 2023, Fermyon was featured as one of the ten Innovation Showcase finalists at the MIT Sloan CIO Symposium
2年前
記事のアイキャッチ画像
Know Before You Go: GlueCon 2023
Fermyon • Experience the next wave of cloud computing.
2年前
Open Source Summit NA 2023 Roundup
Fermyon • Experience the next wave of cloud computing.
This year's OSS NA happened in Vancouver. It was a fantastic event with plenty of WebAssembly and Finicky Whiskers.
2年前
記事のアイキャッチ画像
Announcing Spin v1.2
+Fermyon • Experience the next wave of cloud computing.
Spin 1.2 introduces an expanded Rust key-value SDK, an Azure CosmoDB key-value store, updates to `spin watch`, and more!
2年前
記事のアイキャッチ画像
A Guide to Getting Involved With the Spin Community
Fermyon • Experience the next wave of cloud computing.
+Do you wish you knew more about Spin and Fermyon Cloud? Join us for a series of informative events and be sure to bring your questions along.
2年前
記事のアイキャッチ画像
Know Before You Go: Open Source Summit North America 2023
Fermyon • Experience the next wave of cloud computing.
2年前
記事のアイキャッチ画像
KubeCon Amsterdam 2023 Roundup
Fermyon • Experience the next wave of cloud computing.
2年前
記事のアイキャッチ画像
Debugging With the Key/Value Store Explorer
Fermyon • Experience the next wave of cloud computing.
A guide to using the Spin key/value explorer
2年前
記事のアイキャッチ画像
How I Built a Like Button for My Blog with Spin
Fermyon • Experience the next wave of cloud computing.
In this post I'm going to walk you through how I built a simple and persistent like button for my blog with Spin
2年前
記事のアイキャッチ画像
Building a social app with Spin (4/4): Key-Value storage and Fermyon Cloud
Fermyon • Experience the next wave of cloud computing.
I’m Justin Pflueger - In this iteration, we'll be exploring a couple of ways to use the new key-value feature in Spin and automating the deployment our application to Fermyon Cloud.
2年前
記事のアイキャッチ画像
Introducing the Fermyon Cloud Key Value Store
Fermyon • Experience the next wave of cloud computing.
With the introduction of the Fermyon Cloud Key Value Store, you can now persist non-relational data in a key/value store that is always available for your serverless application within milliseconds, with no cold starts.
2年前
記事のアイキャッチ画像
Introducing Spin 1.1
Fermyon • Experience the next wave of cloud computing.
Spin 1.1 brings improvements to the developer experience through a new `spin watch` command, the ability to configure the Spin key/value store, new HTTP routers for Rust and Go, and more!
2年前
記事のアイキャッチ画像
Fermyon @ KubeCon + CloudNativeCon EU '23
+Fermyon • Experience the next wave of cloud computing.
Check out where Fermyon will be during KubeCon + CloudNativeCon EU '23
2年前
記事のアイキャッチ画像
Component Templates with Spin
Fermyon • Experience the next wave of cloud computing.
MacKenzie Olson here - looking forward to chatting about authoring and sharing Spin components templates
2年前
記事のアイキャッチ画像
Highlights from Wasm I/O 2023
Fermyon • Experience the next wave of cloud computing.
The Wasm I/O conference in Barcelona, Spain brought together a veritable who's who of Wasm developers.
2年前
記事のアイキャッチ画像
Building Your Own WebAssembly Cloud
Fermyon • Experience the next wave of cloud computing.
You can build your own WebAssembly Cloud using our Open Source Components. Let us show you how.
2年前
記事のアイキャッチ画像
New Fermyon Cloud Features: GitHub Actions and App Metrics
Fermyon • Experience the next wave of cloud computing.
MacKenzie Olson here - excited to walk through a few of the new features we've built on Fermyon Cloud recently: GitHub Actions and app metrics for your Spin apps
2年前
記事のアイキャッチ画像
Why Do We Need Another Kind of Cloud Compute?
Fermyon • Experience the next wave of cloud computing.
+We talk about WebAssembly as the next wave of cloud computing. But why do we need another wave of cloud computing. The answer is serverless functions.
2年前
記事のアイキャッチ画像
Spin 1.0 — The Developer Tool for Serverless WebAssembly
Fermyon • Experience the next wave of cloud computing.
Introducing the first stable release for Spin, the open source developer tool for building, distributing, and running serverless applications built with WebAssembly.
2年前
記事のアイキャッチ画像
Building a social app with Spin (3.5/4): Go Postgres Usage
Fermyon • Experience the next wave of cloud computing.
I’m Justin Pflueger - In this add-on blog post, I'll build on the work from last week where I generated Spin SDK bindings for Go as we implement persistence with Postgres.
2年前
記事のアイキャッチ画像
Fermyon @ Wasm I/O '23
Fermyon • Experience the next wave of cloud computing.
Check out where Fermyon will be during the week of Wasm I/O '23
2年前
記事のアイキャッチ画像
The Four Domains of Wasm
Fermyon • Experience the next wave of cloud computing.
What is WebAssembly good for? We all know about its value to the browser. But there are other intriguing cases.
2年前
記事のアイキャッチ画像
Spin 1.0 Release Candidate - Community Bug Bash
Fermyon • Experience the next wave of cloud computing.
Spin 1.0 Release Candidate is ready for testing.
2年前
記事のアイキャッチ画像
Building a social app with Spin (3/4): Post API and Spin SDK Bindings
Fermyon • Experience the next wave of cloud computing.
I’m Justin Pflueger - In this iteration, I'll be taking you through the process of adding a Go component to our app. We'll also take a look at generating Spin SDK bindings for a feature that your language may be missing.
2年前
記事のアイキャッチ画像
Announcing Spin v0.10.0
Fermyon • Experience the next wave of cloud computing.
Spin user experience updates, key/value store improvements, deprecations and more
2年前
記事のアイキャッチ画像
Introducing the Spin Python SDK +
Fermyon • Experience the next wave of cloud computing.
The Spin Python SDK enables developers to build rich serverless applications using one of the world's most popular programming languages.
2年前
記事のアイキャッチ画像
Announcing Spin v0.9.0
Fermyon • Experience the next wave of cloud computing.
Preview support for a built-in key/value store, running applications from registries, new Redis APIs, and more!
2年前
記事のアイキャッチ画像
Building a social app with Spin (2/4): Vue.js app and Token Verification
Fermyon • Experience the next wave of cloud computing.
I’m Justin Pflueger - In this iteration, I'll be taking you through the process of adding a static website with authentication to our app. We'll explore the static fileserver, routing and token authentication.
2年前
記事のアイキャッチ画像
Fermyon @ DeveloperWeek '23
Fermyon • Experience the next wave of cloud computing.
Check out where Fermyon will be during the week of DeverloperWeek '23
2年前
記事のアイキャッチ画像
Announcing Spin v0.8.0
Fermyon • Experience the next wave of cloud computing.
Learn all about the new Spin v0.8.0 release!
2年前
記事のアイキャッチ画像
The Complex World of Wasm Language Support
Fermyon • Experience the next wave of cloud computing.
+Developers will not fall in love with WebAssembly unless we can utilize one of its core promises: run all kinds of code regardless of the source language. It's been a year since Fermyon launched our Wasm language guide. What have we learned?
2年前
記事のアイキャッチ画像
Serving Static Content via WebAssembly
Fermyon • Experience the next wave of cloud computing.
Learn how the Spin Fileserver helps serve static content for your server-side WebAssembly applications. +
2年前
記事のアイキャッチ画像
Building a social app with Spin (1/4): Project Setup and first API
Fermyon • Experience the next wave of cloud computing.
I’m Justin Pflueger - I'll be taking you through the process of creating and shipping an app using WebAssembly, step-by-step. I'll start with Project Setup and creating the first API.
2年前
記事のアイキャッチ画像
Rounding off the Advent of Spin 2022
Fermyon • Experience the next wave of cloud computing.
Thank you for participating in our Advent of Spin and learning some WebAssembly
2年前
記事のアイキャッチ画像
Watch: WebAssembly Development is Easy - Cloud Native WASM Day 2022
Fermyon • Experience the next wave of cloud computing.
2年前
記事のアイキャッチ画像
Software Engineering Daily Podcast with Fermyon's Matt Butcher
Fermyon • Experience the next wave of cloud computing.
Matt chats with Mike Bifulco about cloud native WebAssembly
2年前
記事のアイキャッチ画像
PHP, Spin, and Fermyon Cloud
Fermyon • Experience the next wave of cloud computing.
In this post, we’ll create a new PHP application with Spin and then run it in Fermyon Cloud.
2年前
記事のアイキャッチ画像
Announcing Spin v0.7.0
Fermyon • Experience the next wave of cloud computing.
Learn all about the new Spin v0.7.0 release!
2年前
記事のアイキャッチ画像
Introducing the Spin JavaScript and TypeScript SDK
Fermyon • Experience the next wave of cloud computing.
+The Spin JavaScript and TypeScript SDK enables developers to build rich serverless applications using familiar tools like NPM, Webpack, React, and more.
2年前
記事のアイキャッチ画像
Advent of Spin
Fermyon • Experience the next wave of cloud computing.
Fermyon's Advent of Spin is a series of fun challenges (with awards and prizes!) that are running during the month of December
2年前
記事のアイキャッチ画像
Bots With Spin and Fermyon Cloud
Fermyon • Experience the next wave of cloud computing.
We’ve been seeing hundreds of users trying out the Fermyon Cloud, and we’ve been busy playing around with a variety of use cases ourselves. This blog post showcases using Spin and Fermyon Cloud to host a Slack bot.
2年前
記事のアイキャッチ画像
Kubecon Recap: Official Videos & Announcing the Open Beta of the Fermyon Cloud
Fermyon • Experience the next wave of cloud computing.
Thank you for visiting us at KubeCon + CloudNativeCon North America 2022. If you could not attend in person, this article will provide you with official footage and links to resources about Fermyon Cloud, Spin and more.
2年前
記事のアイキャッチ画像
Happy 1st Birthday Fermyon
Fermyon • Experience the next wave of cloud computing.
On November 1st, 2022, Fermyon turned one year old. And it has been an exciting year as we launched several projects in pursuit of our goal to pioneer the next wave of cloud computing.
2年前
記事のアイキャッチ画像
Video: Fermyon Behind the Curtains
+Fermyon • Experience the next wave of cloud computing.
David Flanagan (rawkode) interviews Matt Butcher and Radu Matei about Fermyon, WebAssembly, and the return of the 1990s
2年前
記事のアイキャッチ画像
Introducing Fermyon Cloud
Fermyon • Experience the next wave of cloud computing.
Fermyon Cloud is the place to host Spin applications. We are proud to introduce the open beta of Fermyon Cloud, free to use and ready for development!
2年前
記事のアイキャッチ画像
Persistent Storage in Webassembly Applications
Fermyon • Experience the next wave of cloud computing.
This article outlines the importance of persistent storage and shows how persistent storage in WebAssembly applications is entirely possible with a little help from Fermyon's Spin framework.
2年前
記事のアイキャッチ画像
PaaS Is Not Dead
Fermyon • Experience the next wave of cloud computing.
We’ll look at a few ideas of what failure is, apply them to PaaS, and then evaluate whether PaaS has failed. The conclusion is resoundingly clear: PaaS is a highly successful endeavor, alive and well, and likely to be so for quite some time.
2年前
Building With Spin at Open Source Summit Europe 2022
Fermyon • Experience the next wave of cloud computing.
This blog post shows how to build Spin and then create an application through the use of Spin templates.
2年前
記事のアイキャッチ画像
+WebAssembly for .NET Developers: Introducing the Spin .NET SDK
Fermyon • Experience the next wave of cloud computing.
Fermyon announces an experimental SDK for using C# and .NET to build Spin applications.
2年前
記事のアイキャッチ画像
The Risks of WebAssembly
Fermyon • Experience the next wave of cloud computing.
+WebAssembly is a new enough technology that there are still several risks to consider when adopting. In this post, we cover four such risks.
2年前
記事のアイキャッチ画像
Chinchilla Squeaks Podcast Ft. Matt Butcher
Fermyon • Experience the next wave of cloud computing.
2年前
記事のアイキャッチ画像
Announcing Fermyon Community Meeting: September 2022
Fermyon • Experience the next wave of cloud computing.
The Fermyon community meetings are an excellent opportunity for you to ask questions and have a great conversation with our team. Please join us on the 8th of September 11 AM PST, there will be a live demo of a new exciting SDK, so don't miss out!
2年前
記事のアイキャッチ画像
Build Your Own Content Management System (CMS) From a Template
Fermyon • Experience the next wave of cloud computing.
Repository templates allow you and others to generate new repositories with the same directory structure, branches, and files. This blog post shows you how to build your own CMS from a template. The process is very quick and once up and running you can go ahead and customize your CMS to meet your needs.
2年前
記事のアイキャッチ画像
Implementing Rich Results in a Content Management System (CMS): A Guide for Bartholomew CMS Users
Fermyon • Experience the next wave of cloud computing.
Rich results go beyond the standard blue link, helping to represent videos, images, events and more. This blog post shows how to implement rich results inside Fermyon's Content Management System (CMS) called Bartholomew.
2年前
記事のアイキャッチ画像
The WebAssembly (Wasm) Content Management System (CMS) and Search Engine Optimization (SEO): A Short Story
Fermyon • Experience the next wave of cloud computing.
This blog post shows you how to make a noticeable impact on the Web when using Fermyon's WebAssembly(Wasm) based Content Management System (CMS) called Bartholomew. The short story in this blog is about how a user made their Bartholomew CMS implementation better for search engines, through a process known as Search Engine Optimization (SEO).
2年前
記事のアイキャッチ画像
Listen: Open-Source WebAssembly Tools
Fermyon • Experience the next wave of cloud computing.
Matt Butcher joins Robby and Tim to chat about Fermyon, WebAssembly, and startup life
2年前
記事のアイキャッチ画像
See Fermyon in Dublin, Ireland: Open Source Summit Europe 2022
+Fermyon • Experience the next wave of cloud computing.
Fermyon Technologies Inc are thrilled to be a silver sponsor of the Open Source Summit Europe 2022. See Fermyon in Dublin, Ireland to experience the next wave of cloud computing.
2年前
記事のアイキャッチ画像
The Future of WebAssembly in the Cloud: Our Glimpse
Fermyon • Experience the next wave of cloud computing.
+WebAssembly and Containers are complimentary (this is a blog, about a presentation, that shows how Fermyon uses both as part of the future of WebAssembly)
2年前
記事のアイキャッチ画像
Open Source Summit 2022: Keynote, Finicky Whiskers, and a Pizza Party
Fermyon • Experience the next wave of cloud computing.
At Open Source Summit NA 2022 in Austin, Fermyon brought Finicky Whiskers to our first booth, Matt Butcher gave a keynote, and we hosted an evening of games, pizza, and community +
2年前
記事のアイキャッチ画像
Better Than Overprovisioning: Underprovision Your Cloud Services
Fermyon • Experience the next wave of cloud computing.
As a matter of routine business, we have gotten comfortable with overprovisioning our cloud services. We might think that the best solution is to come up with a better way of right-sizing our provisioning. But the best solution might just be underprovisioning.
3年前
+
記事のアイキャッチ画像
Watch: Matt Butcher Shares How WebAssembly and Containers Work Together
Fermyon • Experience the next wave of cloud computing.
In this video, part of DockerCon 2022, Fermyon's Matt Butcher shares Finicky Whiskers and explains how it uses containers and WebAssembly together, playing to the strengths of each.
3年前
記事のアイキャッチ画像
Join Fermyon at KubeCon + CloudNativeCon North America
Fermyon • Experience the next wave of cloud computing.
The event is held from the 24th to the 28th of October 2022, in Detroit Michigan. Fermyon is a Silver Sponsor of this event. We welcome you to connect with the incredible [Fermyon team](https://www.fermyon.com/about/#about-team) to discuss our frictionless WebAssembly (Wasm) microservices platform and how we may accelerate your productivity and potentially assist in streamlining your cloud computing and microservice efforts.
3年前
記事のアイキャッチ画像
Watch: Building Microservices with Wasm, Rust, and Spin
Fermyon • Experience the next wave of cloud computing.
Radu Matei hung out with the Rust Linz folks, discussing WebAssembly, the component model, and building spin applications
3年前
記事のアイキャッチ画像
Join Fermyon at NGINX Sprint in August
Fermyon • Experience the next wave of cloud computing.
Fermyon's Matt Butcher will be on the ecosystem panel at NGINX Sprint. Registration is free.
3年前
記事のアイキャッチ画像
Why WebAssembly Belongs Outside the Browser
Fermyon • Experience the next wave of cloud computing.
Members of Suborbital, Cosmonic, and Fermyon jointly discuss why WebAssembly belongs outside the browser.
3年前
記事のアイキャッチ画像
Spinning with Swift
Fermyon • Experience the next wave of cloud computing.
Get started using Apple's Swift language to write Spin WebAssembly applications for the cloud. This step-by-step tutorial covers installing SwiftWasm, writing a simple Wasm app, and runing it as a Wagi HTTP handler on Spin.
3年前
記事のアイキャッチ画像
HashiConf EU 2022: Finicky Whiskers, Nomad, Spin, and Minecraft
Fermyon • Experience the next wave of cloud computing.
Fermyon participated in HashiConf EU 2022. Matt Butcher presented on how we use Nomad to power Finicky Whiskers, and HashiCorp built a Minecraft frontend to the world's most adorable manual load generator.
3年前
記事のアイキャッチ画像
The WebAssembly Component Model
Fermyon • Experience the next wave of cloud computing.
The WebAssembly Component Model proposal aims to make module composition easy and efficient. In this post, we'll build an intuition for how it works by analogy with how native code is linked, loaded, and run on popular operating systems.
3年前
記事のアイキャッチ画像
Announcing Spin v0.3
Fermyon • Experience the next wave of cloud computing.
Learn all about the new Spin v0.3 release!
3年前
記事のアイキャッチ画像
Introducing Fermyon, the Frictionless WebAssembly Platform
Fermyon • Experience the next wave of cloud computing.
+Today we are excited to introduce the preview of Fermyon, the frictionless WebAssembly platform for writing microservices and web apps. We've released the Fermyon installer, a quick and easy way to install Fermyon on your own host or in AWS.
3年前
記事のアイキャッチ画像
Fermyon's Values: The How and Why
Fermyon • Experience the next wave of cloud computing.
+One of the first efforts we undertook when starting Fermyon was setting for ourselves a core set of values. Values function for us as a critical component of company culture. We want our values to be meaningful virtues that we genuinely aspire to enact.
3年前
記事のアイキャッチ画像
Finicky Whiskers (pt. 4): Spin, Containers, Nomad, and Infrastructure
Fermyon • Experience the next wave of cloud computing.
+In this final post of the Finicky Whiskers series, we discuss the platform on which we run the word's most adorable manual load generator.
3年前
記事のアイキャッチ画像
Writing Webhooks with Spin
Fermyon • Experience the next wave of cloud computing.
Bookhook is a simple Spin application that uses an inbound webhook from Trello to trigger an outbound webhook to Slack. We'll see how to create webhook applications in Spin and WebAssembly.
3年前
+
記事のアイキャッチ画像
Finicky Whiskers (pt. 3): The Microservices
Fermyon • Experience the next wave of cloud computing.
In this third part of the Finicky Whiskers series, we look at four microservices that drive game play. Rust, Ruby, HTTP, and Redis are covered in this post.
3年前
記事のアイキャッチ画像
Finicky Whiskers (pt. 2): Serving the HTML, CSS, and static assets
Fermyon • Experience the next wave of cloud computing.
Learn how Finicky Whiskers uses the Spin Fileserver to achieve an impressive 99 out of 100 on the Google Page Speed test.
3年前
記事のアイキャッチ画像
+Why (and How) We Built a WebAssembly CMS
Fermyon • Experience the next wave of cloud computing.
Bartholomew, the CMS that powers Fermyon.com, is the first content management system for WebAssembly. Fermyon's Matt Butcher and Radu Matei recently spoke about it at WasmDay during KubeCon EU 2022.
3年前
記事のアイキャッチ画像
Finicky Whiskers (pt. 1): The World's Most Adorable Manual Load Generator
+Fermyon • Experience the next wave of cloud computing.
Finicky Whiskers isn't just a game. It's the world's most adorable manual load generator.
3年前
記事のアイキャッチ画像
Spin up WebAssembly on DigitalOcean in Minutes
Fermyon • Experience the next wave of cloud computing.
+Sometimes you want to get your WebAssembly Spin app out in public right away. Here we use DigitalOcean to create a Droplet running Spin. Then we use VS Code to live-edit on the Droplet.
3年前
記事のアイキャッチ画像
We're talking about Nomad, WebAssembly, and Next Wave Microservices @ HashiConf EU
Fermyon • Experience the next wave of cloud computing.
+Learn how we use service discovery, secret storage, and Nomad task drivers to run a huge number of next-wave microservices on a surprisingly small Nomad cluster.
3年前
記事のアイキャッチ画像
Why You Shouldn't Repatriate Your Servers - Addressing Cloud Overconsumption
Fermyon • Experience the next wave of cloud computing.
+A year ago, a16z published an article illuminating the true cost of cloud. We are skeptical of their assertion that repatriating to the datacenter is the correct approach. Instead, rethinking microservices will get us farther.
3年前
記事のアイキャッチ画像
Meet the Fermyon Team @ Open Source Summit 2022
Fermyon • Experience the next wave of cloud computing.
Join us in Austin, TX this June 21-24 at Open Source Summit where we will be hanging out, talking about WebAssembly, and giving away some awesome schwag +
3年前
記事のアイキャッチ画像
Announcing a new Spin release
Fermyon • Experience the next wave of cloud computing.
Learn all about the new Spin v0.2.0 release, with improved developer experience and support for external services such as Redis.
3年前
Shrink Your TinyGo WebAssembly Modules by 60%
Fermyon • Experience the next wave of cloud computing.
Cutting down on the size of a Wasm binary has advantages for performance and transfer speed. This post covers some tricks for reducing the size of Go code projects when compiled to WebAssembly with TinyGo
3年前
記事のアイキャッチ画像
+Accessing external APIs from Spin applications
Fermyon • Experience the next wave of cloud computing.
Come learn how you can leverage experimental Spin features to enable outbound HTTP support
3年前
記事のアイキャッチ画像
Scheduling WebAssembly-backed services with Spin and Nomad
Fermyon • Experience the next wave of cloud computing.
Come learn how to run WebAssembly-backed services with Nomad and Spin
3年前
記事のアイキャッチ画像
Come learn how we use Bartholomew @ WasmDay EU 2022
Fermyon • Experience the next wave of cloud computing.
This May 16th, our founders will be presenting speaking a WasmDay EU in Valencia, Spain about how we implmented a WebAssembly CMS
3年前
記事のアイキャッチ画像 +
Matt Butcher @ DockerCon May 10, 2022
Fermyon • Experience the next wave of cloud computing.
This May 10th, Matt Butcher will be virtually presenting Containers and WebAssembly at DockerCon 2022.
3年前
記事のアイキャッチ画像
Running .NET in WebAssembly
Fermyon • Experience the next wave of cloud computing.
+C# and other .NET languages can now be compiled to Wasm. In this post, we show how to run cloud-side .NET in a WebAssembly runtime.
3年前
記事のアイキャッチ画像
Wasm, WASI, Wagi: What are they?
Fermyon • Experience the next wave of cloud computing.
3年前
記事のアイキャッチ画像 +
WebAssembly Languages
Fermyon • Experience the next wave of cloud computing.
With WebAssembly gaining momentum, a new breed of WebAssembly-specific languages have arrived on the scene. In this post we cover a few of these, including Grain and AssemblyScript
3年前
記事のアイキャッチ画像
Writing a WebAssembly Service in TinyGo for Wagi and Spin
Fermyon • Experience the next wave of cloud computing.
Of the growing list of WebAssembly capable programming languages, Go is one of our favorites. In this post, we build a real (but tiny) service with TinyGo.
3年前
記事のアイキャッチ画像
What is Bindle
Fermyon • Experience the next wave of cloud computing.
+Bindle is the silverware drawer for Wasm objects. It provides an efficient and flexible packaging system for component-based applications that have variable dependencies.
3年前
記事のアイキャッチ画像
5 Fun Wasm Projects (that you might not have known about)
Fermyon • Experience the next wave of cloud computing.
In this post, we're going to explore some of our favorite WebAssembly projects that you may not have heard of before
3年前
+
記事のアイキャッチ画像
Come join the Fermyon Discord community!
Fermyon • Experience the next wave of cloud computing.
Come join a thriving community of passionate WebAssembly engineers and thought leaders where you can learn about current and upcoming Fermyon projects
3年前
記事のアイキャッチ画像
The Scale to Zero Problem
Fermyon • Experience the next wave of cloud computing.
Rather than run an application all the time, what if we could only start it when it was needed, and thus avoid the cloud cost of running unused services? This was the idea behind scale-to-zero. WebAssembly has an answer.
3年前
記事のアイキャッチ画像
+Why the Bytecode Alliance is important to the Wasm ecosystem
Fermyon • Experience the next wave of cloud computing.
For any ecosystem to grow, it's important for standards to be implemented that establish trust with users within the community. This is the motivation behind the Bytecode Alliance, a non-profit standards setting organization devoted to building secure-by-default software.
3年前
記事のアイキャッチ画像
Introducing Spin
+Fermyon • Experience the next wave of cloud computing.
Spin is our new, open source WebAssembly framework - for building, distributing, and running WebAssembly apps.
3年前
記事のアイキャッチ画像
A Reckoning for Serverless
Fermyon • Experience the next wave of cloud computing.
+Serverless did not quite live up to its promise. But why? Partly, it was never well-defined. Also, the vision overreached the technology available at the time. But things are different now. Has serverless failed or is it about to hit a renaissance?
3年前
記事のアイキャッチ画像
Running Python in WebAssembly
Fermyon • Experience the next wave of cloud computing.
Python can now be compiled to Wasm. In this post, we show how to run cloud-side Python in a WebAssembly runtime.
3年前
記事のアイキャッチ画像
Introduction to WebAssembly on the Cloud
Fermyon • Experience the next wave of cloud computing.
WebAssembly may have started as a browser technology, but it has moved outward. One hugely promising space for WebAssembly is in the cloud. Its security, speed, size, and flexibility make it a great basis for building cloud services.
3年前
記事のアイキャッチ画像
Wasm.Builders: The Site for Learning WebAssembly
Fermyon • Experience the next wave of cloud computing.
Introducing a new community for sharing WebAssembly news and information
3年前
記事のアイキャッチ画像
Is WebAssembly Susceptible to Log4Shell-style Attacks?
Fermyon • Experience the next wave of cloud computing.
The recent Log4j attack provides an opportunity to talk about that characteristic and see why WebAssembly is resistant to this kind of attack.
3年前
記事のアイキャッチ画像
Scripting Languages and Compiled Languages in WebAssembly
Fermyon • Experience the next wave of cloud computing.
+
The promise of WebAssembly is that it can be a common runtime for all sorts of languages. But there are differences between how we traditionally write in scripting languages (JavaScript, Python, Ruby) versus compiled languages (C/C++, Go, Rust). In this post, we survey the WebAssembly landscape to see what is happening along these fronts.
3年前
記事のアイキャッチ画像
Containers vs. WebAssembly: What's the Difference?
Fermyon • Experience the next wave of cloud computing.
It is common to hear WebAssembly compared to Docker Containers (or OCI Containers). What's the difference? We look at the key differences between Wasm and Docker Containers.
3年前
記事のアイキャッチ画像
Rethinking Microservices
Fermyon • Experience the next wave of cloud computing.
Microservices are serving us well in many ways. But in some ways, we can do better. Will microservices v2 be powered by WebAssembly?
3年前
記事のアイキャッチ画像
How to Think About WebAssembly (Amid the Hype)
Fermyon • Experience the next wave of cloud computing.
What is WebAssembly? Is it the JavaScript killer or a performance tool for the browser? Is it a replacement for Docker? Or a clone of Java? Or is it a better eBPF? Lots of ideas are swirling. So let's get to the heart of the matter.
3年前
記事のアイキャッチ画像
Why LibreOffice in WebAssembly is a Big Deal
Fermyon • Experience the next wave of cloud computing.
LibreOffice in WebAssembly (LOWA) is a promising project. But more exciting is what this new project demonstrates about the WebAssembly ecosystem.
3年前
記事のアイキャッチ画像
Introducing Bartholomew
Fermyon • Experience the next wave of cloud computing.
Fermyon is proud to introduce our new lightweight WebAssembly (Wasm) content management system (CMS) that we call Bartholomew. With support for handlebars templates, custom scripted functions, and markdown, it's a svelte way to run a CMS.
3年前
記事のアイキャッチ画像
Hello World
+Fermyon • Experience the next wave of cloud computing.
We're Fermyon, and we are building the third wave of compute with WebAssembly.
3年前
\ No newline at end of file diff --git a/blogs/3c58bf0cc6122b0828540a5d75695678/index.html b/blogs/3c58bf0cc6122b0828540a5d75695678/index.html new file mode 100644 index 000000000000..7b16823c434c --- /dev/null +++ b/blogs/3c58bf0cc6122b0828540a5d75695678/index.html @@ -0,0 +1,29 @@ +Better world by better softwareのフィード|JSer.info Watch List RSS

Better world by better software

フィード

記事のアイキャッチ画像
Cypress Journey To Page Objects And Back
Better world by better software
<blockquote class="pullquote"><p>🎁 I wrote this blog post following recording 4 short videos showing how I prefer to write tests that need
5日前
記事のアイキャッチ画像
Mock But Verify
Better world by better software
<p>Network API calls made by your frontend code are a contract. The frontend code A sends a request following a certain protocol (REST &#x2F
11日前
記事のアイキャッチ画像
Watch Mock And Reload
Better world by better software
<p>How can you develop your frontend website faster? By removing the slow parts during the &quot;code - test&quot; development cycle where t
13日前
記事のアイキャッチ画像
Type cy.task Command
Better world by better software
<p>Imagine your Cypress spec calling a <a href="https://on.cypress.io/task">cy.task</a> command to run some code in Node.js. For this exampl
24日前
記事のアイキャッチ画像
Magic Backed Inspection Mode
Better world by better software
<p>In my previous blog post <a href="/blog/magic-backend/" title="Magic Backed For E2E Testing">Magic Backed For E2E Testing</a> I have show
1ヶ月前
記事のアイキャッチ画像
Magic Backed For E2E Testing
Better world by better software +
<p>I want to show you something cool I have been working on: <a href="https://github.com/bahmutov/cypress-magic-backend">cypress-magic-backe
1ヶ月前
記事のアイキャッチ画像
Deal With Flaky APIs From Cypress Tests
Better world by better software
<p>Imagine you are testing an item&#39;s HTML page. You need an item, and to remove any dependencies, you create the item from the test itse
1ヶ月前
記事のアイキャッチ画像
Type Check Your Test Tags
Better world by better software
<p>Cypress test runner does not have built-in test title grep or test tags. Thus you need to use my <a href="https://github.com/bahmutov/cy-
2ヶ月前
記事のアイキャッチ画像
How To Check Broken Image Urls In The New Blog Posts
Better world by better software
<p>Imagine you write and publish a blog post only to check it later and see a broken image link:</p><p><img src="../images/check-images/bro
2ヶ月前
記事のアイキャッチ画像
+Custom Cypress Should Read Assertion
Better world by better software
<p>Checking a single item text in Cypress is easy:</p><ul><li><code>cy.contains(selector, text)</code> if you know the precise text or par
2ヶ月前
記事のアイキャッチ画像
Code Coverage On The Fly
Better world by better software
+<p>If you want to see which parts of your source code are covered by E2E tests, you can use code coverage. The problem is often instrumentin
3ヶ月前
記事のアイキャッチ画像
Cypress Namespaces For Custom Commands
Better world by better software
<p>Cypress has a lot of built-in <a href="https://on.cypress.io/api">commands</a>. You can <a href="https://on.cypress.io/custom-commands">a
4ヶ月前
+
記事のアイキャッチ画像
I Endorse Kamala Harris For US President
Better world by better software
<p><strong>TL;DR</strong> if you are an American citizen, please <a href="https://vote.gov/">register</a> and vote on November 5th for Democ
4ヶ月前
記事のアイキャッチ画像
Cypress Local Storage Example
Better world by better software
<p>Let&#39;s take a small application that stores its data in the <code>window.localStorage</code> object. The value starts with 0 and the u
4ヶ月前
記事のアイキャッチ画像
Cypress Env Types
Better world by better software
<p>Let&#39;s say you store the user login information used during tests in your <a href="https://on.cypress.io/configuration">Cypress config
4ヶ月前
記事のアイキャッチ画像
Testing CSS Print Media Styles
Better world by better software
<p>Sometimes the users might need to print the website pages either in paper or to a PDF file. The site should look good and make sense. Whe
4ヶ月前
+
記事のアイキャッチ画像
Retry Network Requests
Better world by better software
<p>Imagine you are testing a page. The backend might take a little bit of time to respond. How do you ping the backend to know when it is re
5ヶ月前
記事のアイキャッチ画像
Parse Email Url
Better world by better software
<p>Imagine the application opens your email client and sends a message. This is possible by opening a browser window with an email url, some
5ヶ月前
記事のアイキャッチ画像
Return A Fake Window Object
Better world by better software
+<p>When dealing with <a href="/blog/cypress-second-tab/" title="Deal with Second Tab in Cypress">Deal with Second Tab in Cypress</a> there m
5ヶ月前
記事のアイキャッチ画像
Skip Dependent Cypress Tests On Failure
Better world by better software
<p>Sometimes you want your tests to be dependent on each other. For example, instead of a single long E2E test, I have created small focused
5ヶ月前
記事のアイキャッチ画像
Refactor Cypress Network Tests
Better world by better software
<p>Recently I have seen an example screenshot showing two Cypress tests using the great <a href="https://on.cypress.io/intercept">cy.interce
5ヶ月前
記事のアイキャッチ画像
Check URL Search Params Using Cypress
Better world by better software
<p>This blog post shows how to validate the URL search parameters (the part of the URL after the question mark, like <code>?id=123&amp;name=
6ヶ月前
記事のアイキャッチ画像
Get All Intercepted Network Calls In Cypress
+Better world by better software
<p>This blog post describes a topic really hidden in Cypress documentation: using <code>alias.all</code> to get all intercepted network call
6ヶ月前
記事のアイキャッチ画像
Highlight Elements During Testing
Better world by better software
<p>Recently I saw a <a href="https://www.linkedin.com/feed/update/urn:li:activity:7219318735461867521/">Linkedin post</a> showing how to hig
7ヶ月前
記事のアイキャッチ画像
Testing Pseudo-elements Using Cypress
Better world by better software
<p>Imagine you have a product store like the one I am using in the course <a href="https://cypress.tips/courses/swag-store">Swag Store</a>.
7ヶ月前
記事のアイキャッチ画像
I Stopped Using Twitter
Better world by better software
<p>Twitter is dead. The platform went noticeably downhill after musk has purchased it. Every time I check it, the responses to any climate o
7ヶ月前
記事のアイキャッチ画像
+How To Pick Cypress Plugins You Can Trust
Better world by better software
<p>Recently a Cypress user asked a good question:</p><blockquote><p>One of Cypress&#39;s powerful features is its support of plugins and t
7ヶ月前
記事のアイキャッチ画像
Pass Cypress Test Info Via Request Headers
Better world by better software
+<p>Imagine the application under test is making web calls to the backend. Sometimes things go wrong, and you have set up server-side logging
8ヶ月前
記事のアイキャッチ画像
Cypress Alias Documentation Trick
Better world by better software
<p>Recently a Cypress asked in my <a href="https://glebbahmutov.com/">Discord channel</a> the following question:</p><blockquote><p>I have
+10ヶ月前
記事のアイキャッチ画像
Flaky IFrame Online Store Test
Better world by better software
<p>Recently, I was asked to write a solid test for an online demo e-commerce shop <a href="https://demo.prestashop.com/">https://demo.presta
10ヶ月前
\ No newline at end of file diff --git a/blogs/3c5b67e2bc33fd62a8022acd5e657a9f/index.html b/blogs/3c5b67e2bc33fd62a8022acd5e657a9f/index.html new file mode 100644 index 000000000000..584f1c15e226 --- /dev/null +++ b/blogs/3c5b67e2bc33fd62a8022acd5e657a9f/index.html @@ -0,0 +1,51 @@ +Tailwind CSS Blogのフィード|JSer.info Watch List RSS

Tailwind CSS Blog

https://tailwindcss.com/blog

All the latest Tailwind CSS news, straight from the team.

フィード

記事のアイキャッチ画像 +
Tailwind CSS v4.0
Tailwind CSS Blog
We just released Tailwind CSS v4.0 — an all-new version of the framework optimized for performance and flexibility, with a reimagined configuration and customization experience, and taking full advantage of the latest advancements the web platform has to offer.
16日前
記事のアイキャッチ画像
Tailwind CSS v4.0 Beta 1
+Tailwind CSS Blog
After a long alpha period, we're excited to release the first public beta of Tailwind CSS v4.0.
3ヶ月前
記事のアイキャッチ画像
Radiant: A beautiful new marketing site template
Tailwind CSS Blog
Over the past couple of months we’ve been working away at a new SaaS template called Radiant and it’s out now as part of Tailwind UI.
5ヶ月前
記事のアイキャッチ画像
Automatically clean up whitespace and duplicate class names
Tailwind CSS Blog
We just released a new version of prettier-plugin-tailwindcss which adds support for removing unnecessary whitespace and duplicate classes when sorting.
8ヶ月前
記事のアイキャッチ画像
Catalyst: Application layouts, navigation menus, description lists, and more
+Tailwind CSS Blog
We just published the first major update to Catalyst since releasing the development preview, with two new application layouts, navbar and sidebar components, description lists, and more.
8ヶ月前
記事のアイキャッチ画像
Headless UI v2.0 for React
Tailwind CSS Blog
We just released Headless UI v2.0 for React which includes a ton of new stuff including built-in anchor positioning, a new headless checkbox component, HTML form components and more!
9ヶ月前
記事のアイキャッチ画像
We're hiring a Design Engineer + Staff Engineer
Tailwind CSS Blog
We just tagged the first public v4.0.0-alpha so you can start experimenting with it and help us get to a stable release later this year.
1年前
記事のアイキャッチ画像
Open-sourcing our progress on Tailwind CSS v4.0
Tailwind CSS Blog
We just tagged the first public v4.0.0-alpha so you can start experimenting with it and help us get to a stable release later this year.
1年前
記事のアイキャッチ画像
Introducing Catalyst: A modern UI kit for React +
Tailwind CSS Blog
We just released the first development preview of Catalyst, our new fully-componentized, batteries-included application UI kit for React.
1年前
記事のアイキャッチ画像
Tailwind CSS v3.4: Dynamic viewport units, :has() support, balanced headlines, subgrid, and more
Tailwind CSS Blog
+There’s nothing like building a major new product for finding all the features you wish you had in your own tools, so we capitalized on that inspiration and turned it into this — Tailwind CSS v3.4.
1年前
記事のアイキャッチ画像
Heroicons Micro: What are these, icons for ants?
Tailwind CSS Blog
We just released Heroicons v2.1 which includes a brand new micro style — a full set of almost three hundred 16×16 icons designed for tighter, higher density UIs.
+1年前
記事のアイキャッチ画像
Meet Studio: Our beautiful new agency site template
Tailwind CSS Blog
We just released Studio — a beautiful new agency website template we've been working on for the last couple of months for Tailwind UI.
2年前
Tailwind Connect 2023: Recap of our first in-person event
Tailwind CSS Blog
Last month, over 200 people got together in my hometown of Cambridge, Ontario to hang out, talk shop, and get a peek behind the curtain at some of the new stuff we've been working on.
2年前
記事のアイキャッチ画像
New changelog template + the biggest Tailwind UI update ever
Tailwind CSS Blog
Over the last four months we've probably done more work on Tailwind UI than we ever have, and having finally wrapped up what we set out to achieve I'm excited to lay it all out for you.
2年前
記事のアイキャッチ画像
Tailwind CSS v3.3: Extended color palette, ESM/TS support, logical properties, and more
Tailwind CSS Blog
Tailwind CSS v3.3 is here — bringing a bunch of new features people have been asking for forever, and a bunch of new stuff you didn't even know you wanted.
2年前
記事のアイキャッチ画像
Protocol: A beautiful starting point for your next API documentation site
Tailwind CSS Blog
+It's been months in the making but I'm excited to finally release our next website template — Protocol, a beautiful starter kit for building amazing API reference websites.
2年前
記事のアイキャッチ画像
Tailwind CSS v3.2: Dynamic breakpoints, multi-config, and container queries, oh my!
Tailwind CSS Blog
...and nested group support, `aria-*` variants, `data-*` variants, `@supports` support, and more.
2年前
記事のアイキャッチ画像
We built you a new personal website + Heroicons v2.0, Headless UI v1.7, and more
Tailwind CSS Blog
We just released a stunning new personal website template for Tailwind UI, redesigned Heroicons from scratch, tagged a new version of Headless UI with some exciting new features, and more.
2年前
記事のアイキャッチ画像
New Tailwind CSS + Framer Motion template and Tailwind Jobs
Tailwind CSS Blog
All about the brand new Tailwind UI template we just shipped, the official Tailwind CSS job board, and a bunch of new projects coming out in the next few weeks.
2年前
記事のアイキャッチ画像
Tailwind UI: Site templates and all-access
Tailwind CSS Blog
Today we're releasing our first batch of official Tailwind CSS website templates — beautiful designs engineered into production-quality codebases, powered by Tailwind CSS and Next.js.
3年前
記事のアイキャッチ画像
+Tailwind CSS v3.1: You wanna get nuts? Come on, let's get nuts!
Tailwind CSS Blog
Now with first-party TypeScript types, arbitrary variants, improved CSS variable DX, and tons more.
3年前
記事のアイキャッチ画像
Headless UI v1.6, Tailwind UI team management, Tailwind Play improvements, and more
Tailwind CSS Blog
+It's been a while since I've written about what we've been working on so I have a lot to share! Too much honestly — so put your swim suit on, sit back in your lounge chair, and prepare to soak up some vitamin CSS.
3年前
記事のアイキャッチ画像
Headless UI v1.5: The One With Comboboxes
Tailwind CSS Blog
We just released Headless UI v1.5, which includes a brand new `Combobox` component.
3年前
記事のアイキャッチ画像
Automatic Class Sorting with Prettier
Tailwind CSS Blog
People have been talking about the best way to sort your utility classes in Tailwind projects for at least four years. Today we’re excited to announce that you can finally stop worrying about it with the release of our official Prettier plugin for Tailwind CSS.
3年前
記事のアイキャッチ画像
Effortless Typography, Even in Dark Mode
Tailwind CSS Blog
Today we're announcing the next version of the Tailwind CSS Typography plugin, which brings easy dark mode support and a brand new customization API.
3年前
記事のアイキャッチ画像
+Standalone CLI: Use Tailwind CSS without Node.js
Tailwind CSS Blog
Today we're announcing a new standalone CLI build that gives you the full power of Tailwind CLI in a self-contained executable — no Node.js or npm required.
3年前
記事のアイキャッチ画像
Tailwind CSS v3.0
Tailwind CSS Blog
Tailwind CSS v3.0 is here — bringing incredible performance gains, huge workflow improvements, and a seriously ridiculous number of new features. +
3年前
記事のアイキャッチ画像
Introducing Tailwind UI Ecommerce
Tailwind CSS Blog
Almost 6 months in the making, we finally released Tailwind UI Ecommerce — the first all-new component kit for Tailwind UI since the initial launch back in February 2020.
3年前
記事のアイキャッチ画像
Headless UI v1.4: The One With Tabs
Tailwind CSS Blog
We just released Headless UI v1.4, which includes a brand new `Tab` component, and new APIs for manually closing `Popover` and `Disclosure` components more easily.
4年前
記事のアイキャッチ画像
Tailwind CSS v2.2
Tailwind CSS Blog
An all-new high-performance CLI tool, ::before and ::after support, sibling selectors, selected text variants, and tons more.
4年前
記事のアイキャッチ画像
Tailwind UI: Now with React + Vue support
Tailwind CSS Blog
+Last year we released Tailwind UI — a huge directory of professionally designed UI examples built with Tailwind CSS. Today we’re excited to add first class support for React and Vue 3 to all of the examples in Tailwind UI, which makes it even easier to adapt them for your projects.
4年前
記事のアイキャッチ画像
Headless UI v1.0
Tailwind CSS Blog
+Last fall we announced Headless UI, a library of completely unstyled, fully accessible UI components, designed to pair perfectly with Tailwind CSS. Today we’re super excited to release Headless UI v1.0, which more than doubles the amount of included components for both React and Vue.
4年前
記事のアイキャッチ画像
Tailwind CSS v2.1
Tailwind CSS Blog
We just released Tailwind CSS v2.1 which brings the new JIT engine to core, adds first-class CSS filter support, and more!
4年前
記事のアイキャッチ画像
Heroicons v1.0
Tailwind CSS Blog
Today we're releasing Heroicons v1.0, which includes over 450+ free icons in two styles, official React and Vue libraries, and Figma assets.
4年前
記事のアイキャッチ画像
Just-In-Time: The Next Generation of Tailwind CSS
Tailwind CSS Blog
One of the hardest constraints we've had to deal with as we've improved Tailwind CSS over the years is the generated file size in development. Today I'm super excited to share a new project that makes this constraint a thing of the past: a just-in-time compiler for Tailwind CSS.
4年前
記事のアイキャッチ画像
Welcoming James McDonald to Tailwind Labs
Tailwind CSS Blog
Many years ago I got a message from Steve that said something like: "Have I ever shared this guy's Dribbble profile with you before? Been following him forever, some of my absolute favorite work I've ever found." That person was James McDonald, and today we're totally over the moon to share that James is joining our team full-time.
4年前
記事のアイキャッチ画像
"Tailwind CSS: From Zero to Production" on YouTube
Tailwind CSS Blog
Today we're excited to release Tailwind CSS: From Zero to Production, a new screencast series that teaches you everything you need to know to go from zero to production with Tailwind CSS v2.0.
4年前
記事のアイキャッチ画像
Welcoming David Luhr to Tailwind Labs
Tailwind CSS Blog +
We started working with David Luhr last summer to help us develop a Figma version of Tailwind UI, as well as to leverage his accessibility expertise, ensuring we were following best practices and delivering markup that would work for everyone. Today we're excited to share that David has joined the team full-time!
4年前
記事のアイキャッチ画像
Multi-line truncation with @tailwindcss/line-clamp
Tailwind CSS Blog
A few weeks back we released @tailwindcss/line-clamp, an official Tailwind CSS plugin for truncating text to a specific number of lines.
4年前
記事のアイキャッチ画像
Tailwind CSS v2.0
Tailwind CSS Blog
Today we're finally releasing Tailwind CSS v2.0, including an all-new color palette, dark mode support, and tons more!
4年前
記事のアイキャッチ画像
Tailwind CSS v1.9.0
Tailwind CSS Blog
We just released Tailwind CSS v1.9 which adds support for configuration presets, useful new CSS grid utilities, extended border radius, rotate, and skew scales, helpful accessibility improvements, and more!
4年前
記事のアイキャッチ画像
Introducing Tailwind Play
Tailwind CSS Blog
Tailwind Play is an advanced online playground for Tailwind CSS that lets you use all of Tailwind's build-time features directly in the browser.
4年前
記事のアイキャッチ画像
Headless UI: Unstyled, Accessible UI Components
Tailwind CSS Blog
+Headless UI is a set of completely unstyled, fully accessible UI components for React, Vue, and Alpine.js that make it easy to build fully accessible custom UI components, without sacrificing the ability to style them from scratch with simple utility classes.
4年前
記事のアイキャッチ画像
"What's new in Tailwind CSS?" on YouTube
Tailwind CSS Blog
+A lot of cool stuff has been added to Tailwind since the last time we published any screencasts, so we thought it would be a great idea to record a little series that covers all of the new additions.
4年前
記事のアイキャッチ画像
Tailwind CSS v1.8.0
Tailwind CSS Blog
Tailwind CSS v1.8.0 is now available, with font-variant-numeric support, experimental dark mode, and more!
4年前
記事のアイキャッチ画像
Utility-Friendly Transitions with @tailwindui/react
Tailwind CSS Blog
Announcing the first release of @tailwindui/react, which introduces a component for utility-first enter/leave transitions.
4年前
記事のアイキャッチ画像
Introducing Heroicons.com
Tailwind CSS Blog
Today we're launching the official Heroicons web experience, which makes it easier than ever to search for icons and quickly copy them to your clipboard as Tailwind-ready HTML or JSX.
4年前
記事のアイキャッチ画像
Tailwind CSS v1.7.0
Tailwind CSS Blog
+Tailwind CSS v1.7.0 is now available, with gradients and more!
4年前
記事のアイキャッチ画像
From Nine Hundred to One: How We Hired Robin Malfait
Tailwind CSS Blog
Back in May we published our first job posting for a full-stack developer to join our team. This is the story of how we worked through almost 900 applications, and eventually hired Robin Malfait, a talented developer from Belgium who is starting with us today.
4年前
記事のアイキャッチ画像
Tailwind CSS v1.6.0
Tailwind CSS Blog
Tailwind CSS v1.6.0 is now available, with animations and more!
5年前
記事のアイキャッチ画像
Simon Vrachliotis Joins Tailwind Labs
Tailwind CSS Blog
Today we are super excited to share that Simon Vrachliotis has joined the development team at Tailwind Labs.
5年前
記事のアイキャッチ画像
Welcoming Brad Cornes to the Team
Tailwind CSS Blog
+Back in June, Brad Cornes joined our company as our very first team member. We didn't have a blog to announce it back then, but better late than never right?
5年前
記事のアイキャッチ画像
Tailwind CSS v1.5.0
Tailwind CSS Blog
Tailwind CSS v1.5.0 is here, now with component variants, responsive container variants, focus-visible support, and more.
5年前
記事のアイキャッチ画像
Introducing Tailwind CSS Typography
Tailwind CSS Blog
Until now, trying to style an article, document, or blog post with Tailwind has been a tedious task that required a keen eye for typography and a lot of complex custom CSS. That's why today we're excited to release @tailwindcss/typography — a plugin that lets you easily style vanilla HTML content with beautiful typographic defaults.
5年前
記事のアイキャッチ画像
Building the Tailwind Blog with Next.js
Tailwind CSS Blog
One of the things we believe as a team is that everything we make should be sealed with a blog post. Forcing ourselves to write up a short announcement post for every project we work on acts as a built-in quality check, making sure that we never call a project "done" until we feel comfortable telling the world it's out there. The problem was that up until today, we didn't actually have anywhere to publish those posts!
5年前
記事のアイキャッチ画像
Introducing linting for Tailwind CSS IntelliSense
Tailwind CSS Blog
Today we’re releasing a new version of the Tailwind CSS IntelliSense extension for Visual Studio Code that adds Tailwind-specific linting to both your CSS and your markup.
5年前
\ No newline at end of file diff --git a/blogs/3c694e3af711d7057a42a87454051e52/index.html b/blogs/3c694e3af711d7057a42a87454051e52/index.html new file mode 100644 index 000000000000..1f0ce7f0cd93 --- /dev/null +++ b/blogs/3c694e3af711d7057a42a87454051e52/index.html @@ -0,0 +1,15 @@ +Piccalilli - Everythingのフィード|JSer.info Watch List RSS

Piccalilli - Everything

https://piccalil.li/

We are Piccalilli. A publication dedicated to providing high quality educational content to level up your front-end skills.

フィード

+記事のアイキャッチ画像
What I learned from migrating a Vue project from Vuex to Pinia
Piccalilli - Everything
+Recently I had the experience of migrating a Vue web app to a new state management library, Pinia, which was interesting from both a technical and non-technical point of view. In this article I’ll share my thoughts and findings on when, why and how you might consider carrying out such a major technical migration, applicable to any large web project, and some tips and advice on migrating from Vuex to Pinia specifically.For the purpose of this article I’ll assume you understand something of reactive web applications and state management. It won’t be a step-by-step “how to” tutorial — the official Pinia docs are the best source for that. But some of the things I’ll document here might help you if you’re considering a similar migration.About the projectI work on a large, B2B web application for wind farm operators to visualise energy production, monitor the health of their fleet of turbines, and plan maintenance. The app is a client-side SPA (single-page application) built with Vue, using +
2日前
記事のアイキャッチ画像
CSS nesting: use with caution
Piccalilli - Everything
+I’ve been doing this CSS thing for over 15 years and I’ve seen a lot of change in that time. A lot of the time, I see a new CSS feature and immediately get excited about how helpful it’s going to be for me and the team in the long term. A good example of that is text-box-trim.There are features that fill me with dread though and right at the top of that list is native CSS nesting. I know that opinion will be rather unpopular, but the whole deal of the site is front-end education for the real world, so I’m here to provide that for you today.It stems from pre-processorsI was a big Sass fan — especially when my primary role was writing lots of complex, difficult CSS. One of the reasons I really loved Sass was the ability to nest my CSS because it paired beautifully with BEM like so:.my-block { padding: 2rem; &__element { background: red; &--modifier { background: blue; } }}Sass converts that into the following CSS:.my-block { padding: 2rem;}.my-block__element { background: red;}.my-block_ +
9日前
記事のアイキャッチ画像
The Index
Piccalilli - Everything
+Did you know we send out a newsletter twice a week?I know, I know, there’s a lot of newsletters out there, but let me tell you what The Index does:It goes out on a Wednesday and FridayThe focus is around 5 links per issue and that’s itWe try to get a nice blend of front-end, design and interesting stuff from around the web like nice websites, interesting tech articles and cultureThe aim is that you can get through an issue in a couple of minutes, topsI’ve heard recently from a few people that they had no idea The Index even existed so we’re gonna work on that. What would help in the meantime is if you are a subscriber, to forward it on to a friend or share it on Bluesky, LinkedIn or whatever other social stuff you like to post on.We’re also experimenting with a very simple sponsored link at the end of each issue to help sustain Piccalilli. Our subscriber-base isn’t huge (about 1,500) but we’re growing and have a decent open rate (about 60%), so if your org is looking for places to adve +
12日前
記事のアイキャッチ画像
My website has been gaslighting you
Piccalilli - Everything
+This is really cool. It’s also a really important demonstration of your website is your home so you can do whatever the heck you want with it, and you should.Dave has opted to roll out a subtle daily colour change based on a hue rotation and what day of the year we’re on. Sure, it’s not perfect, as Dave rightly mentions, but it’s theirs. With all of the changes to Big Social™ recently, your content is even less safe in these walled-gardens than it already was.One thing Big Social™ can’t touch is your website. Heck, you might even get to learn some cool stuff, just like Dave did, in the process. I also need to heed this advise myself, so this little post is a message to myself too.Check it out!
18日前
記事のアイキャッチ画像
Technologies and frameworks we use in our design studio
Piccalilli - Everything
+Before we get started, I can’t stress the following enough: the choices we make at Set Studio don’t challenge your choices. You might also not agree with our choices and that’s fine, but we don’t need alternatives evangelising to us. To paraphrase Rachel Andrew:If it works, it’s rightI do, however, get asked a lot about what technologies and frameworks we use at the studio, so I thought I’d note them down. This information is accurate as of January 2025.HTML, CSS and JavaScriptSounds obvious, but even though we’re a design studio, our output — more often than not — is web-based, so we deliver HTML, CSS and JavaScript that is progressively enhanced, performant, and as user-optimised as possible, limited by the challenges of a project.Regardless of what tools, frameworks and technologies we choose to use — or have to use — we always prioritise the end-user getting semantic HTML, flexible CSS and progressively enhanced JavaScript.JSX-orientated libraries and frameworks“JSX?!” I hear you s +
1ヶ月前
\ No newline at end of file diff --git a/blogs/407b1481687d5fd34f33ca710e469c59/index.html b/blogs/407b1481687d5fd34f33ca710e469c59/index.html new file mode 100644 index 000000000000..a992bd758964 --- /dev/null +++ b/blogs/407b1481687d5fd34f33ca710e469c59/index.html @@ -0,0 +1,9 @@ +e18eのフィード|JSer.info Watch List RSS
\ No newline at end of file diff --git a/blogs/41b9055a8673b4c16e6a9cba7443bb06/index.html b/blogs/41b9055a8673b4c16e6a9cba7443bb06/index.html new file mode 100644 index 000000000000..c6b30ddd8121 --- /dev/null +++ b/blogs/41b9055a8673b4c16e6a9cba7443bb06/index.html @@ -0,0 +1,13 @@ +PLAID Engineer Blog - 株式会社プレイドのフィード|JSer.info Watch List RSS

PLAID Engineer Blog - 株式会社プレイド

https://tech.plaid.co.jp/

株式会社プレイドのエンジニアブログです。プレイドエンジニアのユニークなパーソナリティを知ってもらうために執筆しています。

フィード

記事のアイキャッチ画像
Datadog CI Visibility で Cloud Build のパフォーマンスを可視化する
PLAID Engineer Blog - 株式会社プレイド
この記事は Datadog Advent Calendar 2024 の 18 日目の記事です。 こんにちは、プレイドの Developer Experience & Performance チームでエンジニアをしている大矢です。Datadog の好きな機能は CI Visibility と Split Graphです。
2ヶ月前
記事のアイキャッチ画像
MongoDB to BigQuery: フルマネージドなリアルタイムレプリケーションの実現
PLAID Engineer Blog - 株式会社プレイド
プレイドでエンジニアをしている塩澤です。今回は MongoDB から BigQuery へのリアルタイムレプリケーションシステムをマネージドサービスのみを用いて開発したので紹介します。
2ヶ月前
記事のアイキャッチ画像
+Mongoose の callback を Promise に移行する手法
PLAID Engineer Blog - 株式会社プレイド
Developer Experience & Performance チームでエンジニアをしている大矢です。今回は JavaScript の非同期処理で使われている callback を Promise に移行する手法について、具体的な事例をもとに紹介します。
2ヶ月前
記事のアイキャッチ画像
npmパッケージの代わりに独自の仕組みを構築して定数ファイルを配布する運用に切り替えた経緯と移行プロセス
PLAID Engineer Blog - 株式会社プレイド
KARTEの複数のシステム間で共有する定数ファイルを、これまで社内向けのnpmパッケージとして配布していたところから、代わりとなる独自の仕組みを構築して管理する方式に切り替えたことと、その移行プロセスについて。
3ヶ月前
記事のアイキャッチ画像
プレイドインターン体験記:プロダクトの改善活動から得た学び
PLAID Engineer Blog - 株式会社プレイド
こんにちは、桂田一輝と申します。2024年8月から10月の3ヶ月間、プレイドのEcosystemチームでソフトウェアエンジニアとしてインターンシップを行いました。インターンを通じて、Ecosystemチームが開発しているKARTE Craftというプロダクトの改善業務に携わってきました。そこで得られた学びについてお伝えします。
3ヶ月前
記事のアイキャッチ画像
KARTE MessageにおけるFCMのSendAll API廃止対応について
PLAID Engineer Blog - 株式会社プレイド
KARTE Messageで使用しているFCMのsendAll APIが廃止となるため、APIの置き換えを行った後負荷試験を行なった。
4ヶ月前
記事のアイキャッチ画像
OLAP-DBでのreal-time ingestionをカラムナに最適化する技術
PLAID Engineer Blog - 株式会社プレイド
カラムナフォーマットの利点を最大限活かすために書き込み処理、特にリアルタイムの書き込み処理における技術的な課題とOSS DBの具体的なアプローチを紹介しています
4ヶ月前
\ No newline at end of file diff --git a/blogs/42b5de93e9293c9f3e2a4d0977121413/index.html b/blogs/42b5de93e9293c9f3e2a4d0977121413/index.html new file mode 100644 index 000000000000..e8274471568c --- /dev/null +++ b/blogs/42b5de93e9293c9f3e2a4d0977121413/index.html @@ -0,0 +1,384 @@ +Memory ice cubesのフィード|JSer.info Watch List RSS

Memory ice cubes

フィード

記事のアイキャッチ画像
OXCのJS AST(Rust版)を眺める
Memory ice cubes
23日前
記事のアイキャッチ画像
2024年後半の振り返り
Memory ice cubes
1ヶ月前
記事のアイキャッチ画像
AstroのServer islandsについて
Memory ice cubes
2ヶ月前
記事のアイキャッチ画像
My Neovim plugins 2024
Memory ice cubes
2ヶ月前
記事のアイキャッチ画像
Prettier のコードを読む Part 10
Memory ice cubes
4ヶ月前
+
記事のアイキャッチ画像
Prettier のコードを読む Part 9
Memory ice cubes
4ヶ月前
記事のアイキャッチ画像
Prettier のコードを読む Part 8
Memory ice cubes
4ヶ月前
記事のアイキャッチ画像
Prettier のコードを読む Part 7
Memory ice cubes
4ヶ月前
記事のアイキャッチ画像
Prettier のコードを読む Part 6
Memory ice cubes
5ヶ月前
記事のアイキャッチ画像
Prettier のコードを読む Part 5
Memory ice cubes
5ヶ月前
記事のアイキャッチ画像
Prettier のコードを読む Part 4
Memory ice cubes
5ヶ月前
OSSとOXCと私
Memory ice cubes
5ヶ月前
記事のアイキャッチ画像
Prettier のコードを読む Part 3
Memory ice cubes
5ヶ月前
記事のアイキャッチ画像
Prettier のコードを読む Part 2
Memory ice cubes
5ヶ月前
記事のアイキャッチ画像
Prettier のコードを読む Part 1
Memory ice cubes
5ヶ月前
記事のアイキャッチ画像
2024年前半の振り返り
Memory ice cubes
7ヶ月前
記事のアイキャッチ画像
RustでUTF-16単位の文字を扱う
Memory ice cubes
7ヶ月前
記事のアイキャッチ画像
2023年の振り返り
Memory ice cubes
1年前
記事のアイキャッチ画像
Solid.jsを試してみた感想
Memory ice cubes
2年前
記事のアイキャッチ画像
OpenAIのEmbeddingsで全文検索
Memory ice cubes
2年前
記事のアイキャッチ画像
Qwik(City)を試してみた感想
Memory ice cubes
2年前
記事のアイキャッチ画像
VimからNeovimに移行した
Memory ice cubes
2年前
記事のアイキャッチ画像
2022年の振り返り
Memory ice cubes
2年前
記事のアイキャッチ画像
SQLite公式のWASM実装を試す
Memory ice cubes
2年前
記事のアイキャッチ画像
`npx tsc --noEmit`したい
Memory ice cubes
2年前
記事のアイキャッチ画像
PreactにSignalsがきた
Memory ice cubes
2年前
記事のアイキャッチ画像
Svelteのstoreをdebounceする
Memory ice cubes
3年前
記事のアイキャッチ画像
Solidの特徴と、その裏側
Memory ice cubes
3年前
記事のアイキャッチ画像
Astro のコードを読む Part.3
Memory ice cubes
3年前
記事のアイキャッチ画像
Astro のコードを読む Part.2
Memory ice cubes
3年前
記事のアイキャッチ画像
Astro のコードを読む Part.1
Memory ice cubes
3年前
記事のアイキャッチ画像
2021年の振り返り
Memory ice cubes
3年前
記事のアイキャッチ画像
miniflare のコードを読む
Memory ice cubes
4年前
記事のアイキャッチ画像
preactjs/wmr について
Memory ice cubes
4年前
記事のアイキャッチ画像
2020年の振り返り
Memory ice cubes
4年前
記事のアイキャッチ画像
SVGをcanvas要素で扱う
Memory ice cubes
4年前
記事のアイキャッチ画像
MobX 6.0.0 について
Memory ice cubes
4年前
記事のアイキャッチ画像
PreactでもMobXを使いたい
Memory ice cubes
4年前
記事のアイキャッチ画像
転職しました
Memory ice cubes
5年前
記事のアイキャッチ画像
Svelteで生DOMを扱う
Memory ice cubes
5年前
記事のアイキャッチ画像
wasm-bindgen/web-sysでWebRTC
Memory ice cubes
5年前
記事のアイキャッチ画像
NetlifyのFormsについて
Memory ice cubes
5年前
記事のアイキャッチ画像 +
mediasoupの開発Tips
Memory ice cubes
5年前
記事のアイキャッチ画像
2019年の振り返り
Memory ice cubes
5年前
記事のアイキャッチ画像
WebAudioでの音声信号処理
Memory ice cubes
5年前
記事のアイキャッチ画像
WebRTCでTURNを使う
Memory ice cubes
5年前
記事のアイキャッチ画像
Node.jsでBufferを読み取る
Memory ice cubes
6年前
記事のアイキャッチ画像
2018年の振り返り
Memory ice cubes
6年前
+記事のアイキャッチ画像
転職しました
Memory ice cubes
6年前
記事のアイキャッチ画像
WebComponentsへの気持ち
Memory ice cubes
7年前
記事のアイキャッチ画像
lit-htmlとhyperHTML
Memory ice cubes
7年前
記事のアイキャッチ画像
MobX 5.0.0 について
Memory ice cubes
7年前
記事のアイキャッチ画像
MobX 4.0.0 について
Memory ice cubes
7年前
記事のアイキャッチ画像
immerのコードを読んだ
Memory ice cubes +
7年前
記事のアイキャッチ画像
2017年の振り返り +
Memory ice cubes
7年前
ReactNativeでgetUserMedia()する
Memory ice cubes
8年前
記事のアイキャッチ画像
2016年の振り返り
Memory ice cubes
8年前
記事のアイキャッチ画像
0からはじめる MobX Part.4
Memory ice cubes
8年前
記事のアイキャッチ画像
0からはじめる MobX Part.3
Memory ice cubes
8年前
記事のアイキャッチ画像
0からはじめる MobX Part.2
Memory ice cubes
8年前
記事のアイキャッチ画像
0からはじめる MobX Part.1
Memory ice cubes
8年前
記事のアイキャッチ画像
転職して1年が経ちました
Memory ice cubes
8年前
記事のアイキャッチ画像
0からはじめるFlow Part.2
Memory ice cubes
9年前
+
記事のアイキャッチ画像
0からはじめるFlow Part.1
+Memory ice cubes
9年前
記事のアイキャッチ画像
Vagrantのsynced_folderはrsyncで
Memory ice cubes
9年前
記事のアイキャッチ画像
2015年の振り返り
Memory ice cubes
9年前
記事のアイキャッチ画像
Polymer 1.0をさわってみて
Memory ice cubes
9年前
記事のアイキャッチ画像
転職しました
Memory ice cubes
9年前
記事のアイキャッチ画像
Safari 9.0の新機能の概要
Memory ice cubes
10年前
記事のアイキャッチ画像
SPAのキホンのキ
Memory ice cubes
10年前
記事のアイキャッチ画像
最近のoverflow: scroll事情
Memory ice cubes
10年前
+
記事のアイキャッチ画像
Frontrend Conference! #frontrend
Memory ice cubes
10年前
記事のアイキャッチ画像
Autoprefixerでdisplay: boxしたい
Memory ice cubes
10年前
記事のアイキャッチ画像
HTML5 Conference!
Memory ice cubes
10年前
記事のアイキャッチ画像
jQueryとSizzleの関係について
Memory ice cubes
10年前
記事のアイキャッチ画像
Web API: The Good Parts 読んだ
Memory ice cubes
10年前
記事のアイキャッチ画像
2014年の振り返り
Memory ice cubes
10年前
記事のアイキャッチ画像
2014年 position: fixedの旅
Memory ice cubes
10年前
記事のアイキャッチ画像 +
0からはじめるpower-assert
Memory ice cubes
10年前
記事のアイキャッチ画像
LocalStorageに関する覚書
Memory ice cubes
10年前
HTML Audioの使い方のまとめ
Memory ice cubes
10年前
記事のアイキャッチ画像
東京Node学園祭2014!
Memory ice cubes
10年前
記事のアイキャッチ画像
Swiftに入門してみたメモ
Memory ice cubes
10年前
記事のアイキャッチ画像
MacOSでImageAlphaをCLIから使う
Memory ice cubes
11年前
記事のアイキャッチ画像
Requirejsを使う時の覚書
Memory ice cubes
11年前
記事のアイキャッチ画像
Backbone.Marionetteがv2.0.0に
Memory ice cubes
11年前
+
記事のアイキャッチ画像
jQuery Plugin Design Patterns
Memory ice cubes
11年前
記事のアイキャッチ画像
噂のVue.jsをさわってみた
Memory ice cubes
11年前
記事のアイキャッチ画像
Node Expressで、Handlebarsを使う
+Memory ice cubes
11年前
記事のアイキャッチ画像
pointer-eventsについてのメモ
Memory ice cubes
12年前
記事のアイキャッチ画像
innerTextとtextContentの違い
Memory ice cubes
12年前
記事のアイキャッチ画像
rsyncコマンド
Memory ice cubes
12年前
記事のアイキャッチ画像
PhantomJSのメモいろいろ
Memory ice cubes
12年前
記事のアイキャッチ画像
いまさらPhantomJSを使ってみる
Memory ice cubes
12年前 +
記事のアイキャッチ画像
Backbone.js Todosを読み解く
Memory ice cubes
12年前
記事のアイキャッチ画像
Console.timeとConsole.timeEnd
Memory ice cubes
12年前
記事のアイキャッチ画像
Fizz-Buzz問題ってやつを
Memory ice cubes
12年前
記事のアイキャッチ画像
iOSにおけるリソース制限
Memory ice cubes
12年前
記事のアイキャッチ画像
Node.jsでTwitterのAPI使うなら
+Memory ice cubes
12年前
記事のアイキャッチ画像
シェルスクリプト作成のメモ +
Memory ice cubes
12年前
記事のアイキャッチ画像
ack使うなら一緒に.ackrcも
Memory ice cubes
12年前
記事のアイキャッチ画像
Source Mapsについて調べた
Memory ice cubes
12年前
記事のアイキャッチ画像
screenrcとかscreenのメモ
Memory ice cubes
12年前
+
記事のアイキャッチ画像
text-indentに潜むワナ
Memory ice cubes
12年前
記事のアイキャッチ画像
Gitのstashについてのメモ
Memory ice cubes
12年前
記事のアイキャッチ画像
sshの鍵の再設定
Memory ice cubes
12年前
記事のアイキャッチ画像
Socket.IOのその他できること
Memory ice cubes
12年前
記事のアイキャッチ画像
Nodeはじめてみた
Memory ice cubes
12年前
記事のアイキャッチ画像
引っ張って更新のUIサンプル
Memory ice cubes
12年前
+
記事のアイキャッチ画像
Coda 2でフォルダごと検索
Memory ice cubes
12年前
記事のアイキャッチ画像
URLでBasic認証する
Memory ice cubes
12年前
記事のアイキャッチ画像
Gitはじめてみた
Memory ice cubes
12年前
記事のアイキャッチ画像
scrollToの挙動について
Memory ice cubes
12年前
記事のアイキャッチ画像
Twitter APIが1.1になったら
Memory ice cubes
12年前
記事のアイキャッチ画像
書評:Pro JavaScript Techniques
Memory ice cubes
13年前
記事のアイキャッチ画像
Html5のバッテリーAPI
Memory ice cubes
13年前
記事のアイキャッチ画像
0からはじめるJSX Part.7
Memory ice cubes
13年前
記事のアイキャッチ画像
0からはじめるJSX Part.6
Memory ice cubes
13年前
記事のアイキャッチ画像
0からはじめるJSX Part.5-2
Memory ice cubes +
13年前
記事のアイキャッチ画像
0からはじめるJSX Part.5-1
Memory ice cubes
13年前
記事のアイキャッチ画像
0からはじめるJSX Part.4
Memory ice cubes
13年前
記事のアイキャッチ画像
0からはじめるJSX Part.3
Memory ice cubes
13年前
記事のアイキャッチ画像
0からはじめるJSX Part.2
Memory ice cubes
13年前
記事のアイキャッチ画像
0からはじめるJSX Part.1
Memory ice cubes
13年前
記事のアイキャッチ画像
JavaScriptを勉強するには
Memory ice cubes
13年前
記事のアイキャッチ画像
3項演算子でifの入れ子
Memory ice cubes
13年前
記事のアイキャッチ画像
さくらVPS再設定の作業内容
Memory ice cubes
13年前
記事のアイキャッチ画像
さくらVPSでcronの設定
Memory ice cubes
13年前
+
記事のアイキャッチ画像
TwitterのAPIについてのメモ
Memory ice cubes
13年前
記事のアイキャッチ画像
HTMLのCanvasについてのメモ
Memory ice cubes
13年前
記事のアイキャッチ画像
borderプロパティのメモ
Memory ice cubes
13年前
\ No newline at end of file diff --git a/blogs/4382a37e5cdf80f7b8432f526eee1ada/index.html b/blogs/4382a37e5cdf80f7b8432f526eee1ada/index.html new file mode 100644 index 000000000000..f798afd720ac --- /dev/null +++ b/blogs/4382a37e5cdf80f7b8432f526eee1ada/index.html @@ -0,0 +1,39 @@ +Keith Cirkelのフィード|JSer.info Watch List RSS

Keith Cirkel

https://www.keithcirkel.co.uk/

Software Cyber Shepherd

フィード

記事のアイキャッチ画像
100 patches to 5 browsers in 18 months
Keith Cirkel
+Over the last two years I've been increasingly contributing to web browsers. I recently made my 100th patch to browser engines, which I consider somewhat of a milestone. It's rewarding and enjoyable, and it's something others seem interested by, as I'm frequently asked about it. It seems to have even taken some browser engineers by surprise: what's my deal? Why all the contributions? Am I looking for a job? I read the other day that if you had to repeat something 3 times you should write an article (that's an extremely niche reference that might get a chortle from someone). Hopefully there's some advice scattered throughout this diatribe for those aspiring to do the same.The backstoryFirst the history; I've been working at GitHub since 2017, spending my first 5 years on the "Web Systems" team. This team managed essentially all of the JavaScript that was served to users on github.com. It has been one of the best teams I've ever worked on. Aside from the privilege of being surrounded by +
2ヶ月前
記事のアイキャッチ画像
I don't have time to learn React
Keith Cirkel
+I've been building websites for over twenty years now. I started freelancing in the very early 2000s as a teenager, building websites using XHTML, CSS and PHP. That's a long time. (Not that it's a contest; know many people who predate my experience and many who are far more accomplished given less time). It's a long time doing a thing. It's a lot of time honing a craft. Maybe I'll be doing it another 20 years, maybe more, hopefully less, but it's probably reasonable to say I'm half way through my career at this point. I haven't touched a PHP file since about 2012. Last week I was interviewing a candidate who chose to use PHP for their coding assessment, it was unrecognisable from the PHP I had written in the 2000s. That's probably a good thing but it got me thinking about the technologies I've learned and forgotten; what created foundations for my career vs those that came and went without much impact. It also makes me think about how I can spend my time making the most of the rest of +
3ヶ月前
記事のアイキャッチ画像
A playbook for hosting simple services
Keith Cirkel
+Working at BigTech™ can sometimes skew your view of the world (a surprise to very few of you). One example is seeing how Kubernetes can cope with the massive deployment scale of hundreds/thousands of servers and thinking to yourself that this is effectively required knowledge (and if not now it soon will be) which leads to adopting these technologies for projects that will never see millions of daily active users. I fully leant into k8s for my home lab. At one point I had 6 netboot raspberry pis running a kubernetes cluster with etcd/ceph, using FluxCD and GitOps to manage... what amounts to a couple of self hosted apps. It was a nightmare to maintain. One one hand, I could plug a new raspberry pi into the network, add the mac address to the list of provisioned services and within 10 minutes it would be assimilated into the cluster. On the other hand just idling cause 30% CPU load and the SSDs had an estimated lifetime of about 4 years due to the excessive writes that etcd & ceph would +
4ヶ月前
記事のアイキャッチ画像
CSS Classes considered harmful
Keith Cirkel
+If you've ever so much as peeked behind the curtain of Web user interfaces before, you'll know what the class property is for. It's for connecting HTML to CSS, right? I'm here to tell you it's time for us to stop using it. Class names are an archaic system that serves as a poor proxy for your UI primitives, and worse they're co-opted in awkward ways which results in combinatorial explosion of weird edge cases. Let's get into it, first with a boring history lesson which you've all heard a million times before:Class is old. Like real oldHTML 2.0 (1996) was the first published specification of HTML, and it had a fixed list of tag names, and each tag had a fixed list of allowed attributes. HTML 2.0 documents could not be styled - what was the point? Computers were black and white then, kiddos! The closest thing to customising the style of an HTML 2.0 tag was the <pre> tag which had a width attribute. HTML 3.0 spent a few years being worked on, meanwhile Netscape and Microsoft were adding a +
2年前
記事のアイキャッチ画像
ES6 Template Literals, the Handlebars killer?
Keith Cirkel
+I had a recent discussion with one of the awesome developers at the FT - @bjfletcher. We were looking at how viable it would be to replace a templating language, like Handlebars with ES6 Template Literals, in some manner. Ben suggested it'd be a good idea to turn our discussion into a post, and here we are - with a click bait title and everything.So what are Template Literals? How can they do what a complex library like Handlebars does? Settle in, dear reader, and let's find out...A crash course through Template LiteralsI've discussed ES6 here before - we looked at Symbols (you should read that, we'll be using Symbols today), Reflect and we looked at Proxies. Even more ES6 content will be coming too (tease tease). Another big part of ES6 was also these things called Template Literals. They serve as a bit of a fix for many things to do with Strings in ES6 land. So let's just have a quick rundown of their features:A literal syntaxES6 template literals, as the name suggests, come with a n +
8年前
記事のアイキャッチ画像
Metaprogramming in ES6: Part 3 - Proxies
Keith Cirkel
+In the third and final installment of my Metaprogramming in ES6 series - remember, those posts I wrote over a year ago and promised I wouldn't take ages to complete but did? In this last post, we'll be looking at possibly the coolest ES6 Reflection feature: Proxies. Those of you versed in my back catalogue will have already read my last post, when we had a look at the ES6 Reflect API, and the post before where we took a look at ES6 Symbols - those of you haven't should go ahead and get versed, the Reflect will be particularly relevant here and is required reading before we continue. Just like the other posts, I'm going to quote a point I made in Part 1:Symbols are all about Reflection within implementation - you sprinkle them on your existing classes and objects to change the behaviour.Reflect is all about Reflection through introspection - used to discover very low level information about your code.Proxy is all about Reflection through intercession - wrapping objects and intercepting +
8年前
記事のアイキャッチ画像
Metaprogramming in ES6: Part 2 - Reflect
Keith Cirkel
+In my last post we had a look at Symbols, and how they add useful new metaprogramming features to JavaScript. This time, we're (finally!) going to talk all about Reflect. If you haven't read Part 1: Symbols, then I'd recommend you do. In the last post, I made a key point which I'm going to reiterate:Symbols are all about Reflection within implementation - you sprinkle them on your existing classes and objects to change the behaviour.Reflect is all about Reflection through introspection - used to discover very low level information about your code.Proxy is all about Reflection through intercession - wrapping objects and intercepting their behaviours through traps.Reflect is a new global Object (like JSON or Math) that provides a bunch of useful introspection methods (introspection is really just a fancy word for "looking at stuff"). Introspection tools already exist in JavaScript; Object.keys, Object.getOwnPropertyNames, etc. So why the need for a new API when these could just be added +
9年前
記事のアイキャッチ画像
Metaprogramming in ES6: Symbols and why they're awesome
Keith Cirkel
+You've heard of ES6 right? It's the new version of JavaScript that is awesome in so many ways. I frequently wax lyrical about all of the amazing new features I keep discovering with ES6, much to the chagrin of my colleagues (consuming someone's lunch break talking about ES6 Modules seems to be not to everyone's liking).A set of great new features for ES6 comes in the form of a slew of new metaprogramming tools, which provide low level hooks into code mechanics. Not much has been written on them, so I thought I'd do a teensy weensy 3 part post on them (sidebar; because I'm so lazy and this post has been sat in my drafts folder - 90% done - for three months, a bit more has been written about them since I said that):Part 1: Symbols (this post)Part 2: ReflectPart 3: ProxiesMetaprogrammingFirst, let's take a quick detour and discover the wonderful world of Metaprogramming. Metaprogramming is (loosely) all about the underlying mechanics of the language, rather than "high level" data modellin +
10年前
記事のアイキャッチ画像
How to Use npm as a Build Tool
Keith Cirkel
+Last month I noted my opinions on why we should stop using Grunt, Gulp et al. I suggested we should start using npm instead. npm's scripts directive can do everything that these build tools can, more succinctly, more elegantly, with less package dependencies and less maintainence overhead. The first draft of the original post was way over 6,000 words - because it went in depth into how npm could be used as an alternative, but I removed it for brevity - and because the point of that post was me expressing opinions, not a tutorial post. However, the response was pretty overwhelming - many people replied telling me that these build tools offers them features that npm cannot (or does not), some developers were brazen enough to present me with a Gruntfile and say "how could this be done in npm?!". I thought I'd pull out how-tos from the original draft and make a new post, just focussing on how to do these common tasks with npm.npm is a fantastic tool that offers much more than meets the eye +
10年前
記事のアイキャッチ画像
Why we should stop using Grunt & Gulp
Keith Cirkel
+If you're building a modern JavaScript application or website, there's a good chance you've seen the JavaScript Build Tool Landscape. The heavyweights of this world are Grunt and Gulp, although many, many others exist too. Grunt receives a whopping 30,000 downloads most days, and Gulp has a respectable 15,000 daily downloads. They must be doing something right, right? Build systems seem to be the tool du jour of the JavaScript community. I've used Gulp and Grunt in several projects (mostly closed-source projects, but some open-source, such as Tempus).For me, especially more recently, I feel like many of these tools are solving the problem badly. All of them do, to varying degrees. Reading between the lines, we can see tools like Gulp attempting to solve the problems of Grunt, and Broccoli attempting to solve the problems of Gulp - covering up the inadequecies of the previous tool while also surfacing their own. Let me cover some of the reasons why I think these tools are bad choices.Bl +
10年前
記事のアイキャッチ画像
Load balancing Node.js
Keith Cirkel
+This month I started the second professional Node.js contract of my career - building a multinational news website. I love Node.js and I consider myself lucky to be working on huge websites that use it as a technology. Node.js, however, is still considered a "new" technology, and is an emerging technology to use in "enterprise" situations. The biggest problem large providers face is how to properly scale out their servers to multiple, load-balanced Node.js processes.ClustersLuckily Node.js has got your back. It comes with an awesome module - Cluster - which lets you spin up a bunch of new processes and connect the sockets to your master process, so it acts like one big multithreaded Node.js server. You can even send messages back and forth between a master and its workers. It's also super easy to set up your app to handle Clusters, check it out:There's also a really great management tool for multi-process Node.js setups called PM2 which uses Clusters under the hood, and offers loads of +
11年前
記事のアイキャッチ画像
Schema.org - the new generation of SEO
Keith Cirkel
+SEO has always been a bit of a black-hat science, hiring agencies to "do your SEO" is a minefield and you may just end up with a 2-bit operations who ask for money because they generated some XML using a free SiteMap Generator, or worse give you actively bad advice such as "use meta keywords" or "duplicate this paragraph on every page of your website". It's become so difficult to tell what is actually good SEO advice, and what is bad.Luckily Google, Microsoft and Yahoo! have joined forces to create an approved form of Search Engine Optimisation: Schema.org. Schema.org a new generation of microdata tags which helps optimise your pages to tell search engines exactly what these pages are, what data is inside of them and the relationships around that.How to implement Schema.org tagsSchema.org uses a simple set of HTML attributes (itemscope, itemtype, itemprop) in combination to describe "items" in your page. An item can be anything from a WebPage to a Product Offering to a Comedy Night to +
11年前
記事のアイキャッチ画像
The ups and downs of the HTTP header
Keith Cirkel
+As part of a project I'm working on, I was doing research into HTTP headers. I couldn't really find any decent resources that summarised the differences of headers between browsers, so decided to just write my own. Then things… got out of hand.This is big, so before you get into this make yourself a brew, sit down and relax… I was considering splitting this into two articles, but then I quickly realised doing that is pointless and annoying, and you all have attention spans longer than 5 paragraphs.What are HTTP headers?Pretty much every protocol that you communicate with has "headers", which facilitate telling the server you're requesting information from what to do, where to get that information and how to get it. When your browser makes a request (usually visiting a web page) using the Hyper Text Transfer Protocol, it sends a bunch of info off to the server as part of the request. Mostly this is so that the server can interpret the request data and do different things with it. It sen +
11年前
記事のアイキャッチ画像
Start sending dates the right way (aka The ISO8601 101)
Keith Cirkel
+We’ve all had those tough conversations on how best to exchange dates between two systems: “is DD-MM-YYYY good for everyone?” “what about YYYY/MM/DD” “we could just use Epoch timestamps”…Each option is rife with problems; some don’t convey enough info, some are too ambiguous, and others are hard on the human eye. Compounding these difficulties are the myriad of standards that work across different systems.Luckily there is a solution, It is flexible, readable and unambiguous. ISO8601.ISO8601 is simply the best standards to use. It can provide the maximum amount of info reasonably required when interchanging dates between systems. It can provide units all the way down to second decimals. It includes support for time zones and strictly specifies the order of each date fragment, all while still being reasonably terse. It looks something like this:2012-05-04T12:20:34.000343+01:00Let’s dissect ISO8601 at a deeper level and further prove why you should be using it.Strict orderingISO8601 defin +
13年前
記事のアイキャッチ画像
What to expect from a world without IE6.
Keith Cirkel
+It's no secret that developers across the globe resent Internet Explorer. It's disregard for standards are a burden, often requiring a parallel development effort just to cater for its inadequacies. Newer versions aren't much better, and in some cases exacerbate the problem. This year saw Internet Explorer 6 drop below 10%, and Google has dropped support for it; and (perhaps most importantly) the upcoming release of Internet Explorer 9, what can we expect to see changing?The fall of Internet Explorer 6Without a doubt Internet Explorer 6, a browser nearly as old as this millennia, is wrought with the most problems -- as to be expected. With Internet Explorer 6 out of the picture we can finally start to use some of the great technologies CSS2 has brought us:CSS Event Selector Support (well, just :hover) - IE6, unfortunately, has spotty support for even the most basic selectors. :hover and :active only work on anchor tags, :focus support is non existent, alongside :before and :after. Unfo +
15年前
記事のアイキャッチ画像
XHTML: Why everyone wants it but you shouldn't use it
Keith Cirkel
+Everyone is asking for it these days. Go onto freelance boards, talk to clients, even on job boards, clients & companies are requiring their developers to know XHTML. The problem is, XHTML isn't what everyone thinks it is, and that isn't going to change any time soon.Why Everyone Wants XHTMLBack in the dark days of the web, developers were using HTML, and a lot were using it badly. HTML, like many languages, allows the user to make a real mess of it -- and as W3Schools.com quite happily states: "Many pages on the internet contain "bad" HTML."Bad HTMLTechnically, the HTML standard was a mess; tags didn't have to close, there was a whole range of useless tags which vacillate in and out of popularity, and lots of down right annoying tags. Things have been slowly fixed, and HTML 4.01 is a lot cleaner than its predecessors, but "back in the day" (circa 1995-7) no one could say HTML was a good language. Couple this with the plethora of horrible WYSIWYG HTML editors, the likes of Microsofts F +
15年前
記事のアイキャッチ画像
Swapping out your LAMP stack
Keith Cirkel
+The LAMP stack is the backbone of the web these days - every hosting provider uses it, sometimes exclusively. Many think their only other option is a WIMA (Windows, ISS, MSSQL, ASP) but in fact there are a whole wealth of options to choose from. When you have the freedom to pick your own server environment, should you move away from LAMP? It's certainly a tried and tested platform, many of the top websites of the world use it - but why? How can it be improved? Well, you might be surprised to find out the different choices you have available…L is for LinuxI love Linux. 3 of my 5 machines at home run it. It runs on my home server. I use it every day - I've used it to set people up with countless web sites. Linux is certainly a strong platform for your server stack. For me, Windows isn't even an option. I've used Windows, but for me, Linux wins. The majority of Linux servers run on the CentOS distribution - a great distro, built on the shoulders of RedHat. I think today, however, there em +
15年前
\ No newline at end of file diff --git a/blogs/442eb981844c8013147a6c6444cd9904/index.html b/blogs/442eb981844c8013147a6c6444cd9904/index.html new file mode 100644 index 000000000000..464288b611b0 --- /dev/null +++ b/blogs/442eb981844c8013147a6c6444cd9904/index.html @@ -0,0 +1,24 @@ +Remix Blogのフィード|JSer.info Watch List RSS

Remix Blog

https://remix.run/blog

Thoughts about building excellent user experiences with Remix.

フィード

記事のアイキャッチ画像
React Router v7
Remix Blog
React Router v7 brings all the great things you love from Remix back to React Router
3ヶ月前
記事のアイキャッチ画像
React Router Brand Update
Remix Blog
The evolution of the React Router brand identity in conjunction with the release of v7.
3ヶ月前
記事のアイキャッチ画像
Fog of War
Remix Blog
Introducing Fog of War: infinitely scalable Remix and React Router applications
7ヶ月前
記事のアイキャッチ画像
+Incremental Path to React 19: React Conf Follow-Up
Remix Blog
React Router v7 will provide an incremental path to the entire, full stack feature set of React. Upgrading from to React Router v7 is non-breaking for both React Router v6 and Remix v2.
9ヶ月前
記事のアイキャッチ画像
Merging Remix and React Router
Remix Blog
+We've been building a bridge from React Router to Remix, and we made it so good that we're going to merge the two projects.
9ヶ月前
記事のアイキャッチ画像
Case Study: Building Shop with Remix
Remix Blog
A case study on how Shopify rapidly built a web version of their popular iOS/Android app Shop with Remix
1年前
記事のアイキャッチ画像
Internationalization with Remix
Remix Blog
Learn how to implement internationalization (i18n) in your Remix project. Discover the significance of i18n, gain an understanding of the core principles, and learn various strategies for effective i18n management with Remix.
1年前
記事のアイキャッチ画像
+Remix Vite is Now Stable
Remix Blog
Support for Vite is now stable in Remix v2.7.
1年前
記事のアイキャッチ画像
Open Sourcing the Remix Website
Remix Blog
The Remix website is now open source, let the Pull Requests flow.
1年前
記事のアイキャッチ画像
Remix ❤️ Vite
Remix Blog
Today we’re announcing that unstable support for Vite is available in Remix v2.2.0!
1年前
記事のアイキャッチ画像
Remix v2
Remix Blog
The second major release of Remix is stable today.
1年前
記事のアイキャッチ画像
Future Proofing Your Remix App
Remix Blog
We've introduced the concept of future flags to give you a smooth upgrade path for your Remix app.
2年前
記事のアイキャッチ画像
Lazy Loading Routes in React Router 6.4+
Remix Blog
Decoupling data-fetching from rendering introduces some complexities if you want to lazily load your route components. Check out how the newly introduced `route.lazy()` method helps solve this to keep your app bundles small and your UX snappy!
2年前
記事のアイキャッチ画像
Migrate from Webpack to Remix
Remix Blog
+Apps that depend on Webpack loaders and plugins weren't able to incrementally migrate to Remix. Until now!
2年前
記事のアイキャッチ画像
Open Development for Remix
Remix Blog
We're completely opening up our development process, join us!
2年前
記事のアイキャッチ画像
React Router-ing Remix
Remix Blog
We brought all the Remix goodies over to React Router and made improvements in the process. Now it's time to bring those improved APIs back over to Remix where they started!
2年前
記事のアイキャッチ画像
Remixing Shopify
Remix Blog
Remix is joining Shopify
2年前
記事のアイキャッチ画像
React Router 6.4 Release
Remix Blog
React Router 6.4 was released today, adding all of data loading, data mutation, pending navigation, and error handling APIs from Remix to every React Router app.
2年前
記事のアイキャッチ画像
Data Flow in Remix
Remix Blog
Remix takes the idea of “one-way data flow” and extends it across the network, so your UI truly is a function of state: from the client to the server and back again.
3年前
記事のアイキャッチ画像
Remix and “The Edge”
Remix Blog
+“The edge” isn’t just about static assets anymore. It’s increasingly becoming a place for dynamic assets resulting from compute. Remix is taking full advantage of this next generation of edge computing.
3年前
記事のアイキャッチ画像
React Router v6.3.0
Remix Blog
A new package helps you upgrade from React Router v5 to v6 incrementally
3年前
記事のアイキャッチ画像
Remixing React Router
Remix Blog
Remix picked up where React Router v3 left off, and now almost everything great about Remix is coming back to React Router!
3年前
記事のアイキャッチ画像
Remix Stacks
Remix Blog
+
Introducing the easiest way to create a ready-to-deploy, production grade, fast web application with Remix.
3年前
記事のアイキャッチ画像
Not Another Framework!
Remix Blog
The web ecosystem can feel like it moves too fast sometimes. We're sensitive to that at Remix so we've designed it with your future in mind. Get good at Remix, get better at the web.
3年前
記事のアイキャッチ画像
Remix vs Next.js
Remix Blog
An objective comparison between Remix and Next.js
3年前
記事のアイキャッチ画像
React Server Components and Remix
Remix Blog
The current state of React Server Components their future in Remix.
3年前
記事のアイキャッチ画像
Remix v1
Remix Blog
Remix is now production ready and completely free and open source.
3年前
記事のアイキャッチ画像
React Router v6
Remix Blog
After years of work and millions of monthly downloads, React Router v6 is finally here.
3年前
記事のアイキャッチ画像
Seed Funding for Remix
Remix Blog
Remix has raised $3M in seed funding and the Remix Web Framework is going free and open source.
3年前
\ No newline at end of file diff --git a/blogs/44451b0b2190e336b6a5c5129744d461/index.html b/blogs/44451b0b2190e336b6a5c5129744d461/index.html new file mode 100644 index 000000000000..ec86e3be6321 --- /dev/null +++ b/blogs/44451b0b2190e336b6a5c5129744d461/index.html @@ -0,0 +1,10 @@ +quick-lint-js blogのフィード|JSer.info Watch List RSS

quick-lint-js blog

フィード

記事のアイキャッチ画像
TypeScript Clearly & Quickly
quick-lint-js blog
Finally, TypeScript support! Will quick-lint-js be renamed to quick-lint-ts?
1年前
記事のアイキャッチ画像
Why another JavaScript linter?
quick-lint-js blog
Isn't one code nanny enough?
1年前
+
記事のアイキャッチ画像
Is coding in Rust as bad as in C++?
quick-lint-js blog
A practical comparison of build and test speed between C++ and Rust.
2年前
記事のアイキャッチ画像
+Sometimes it *is* a compiler bug
quick-lint-js blog
My journey in finding and fixing a bug in a C++ toolchain
3年前
記事のアイキャッチ画像
Show JavaScript errors in Neovim on macOS
quick-lint-js blog
How to install Homebrew, Neovim, and quick-lint-js on macOS to show JavaScript syntax errors while editing
3年前
記事のアイキャッチ画像
Reacts rocks with quick-lint-js
quick-lint-js blog
We are proud to announce version 2.0 of quick-lint-js!
3年前
記事のアイキャッチ画像
+Faster, easier, friendlier: how quick-lint-js will take over ESLint
quick-lint-js blog
Faster, easier, friendlier: how quick-lint-js will take over ESLint
3年前
記事のアイキャッチ画像
JavaScript syntax errors compared (2021)
quick-lint-js blog
Comparison of errors produced by different JavaScript parsers
3年前
\ No newline at end of file diff --git a/blogs/44959dbd3a8e43eb3c585d8434dd4fb2/index.html b/blogs/44959dbd3a8e43eb3c585d8434dd4fb2/index.html new file mode 100644 index 000000000000..d94fceddbd01 --- /dev/null +++ b/blogs/44959dbd3a8e43eb3c585d8434dd4fb2/index.html @@ -0,0 +1,55 @@ +Chromium Blogのフィード|JSer.info Watch List RSS

Chromium Blog

http://blog.chromium.org/

News and developments from the open source browser project

フィード

記事のアイキャッチ画像
Announcing Supporters of Chromium-based Browsers
Chromium Blog
+Since Google announced the Chromium project in 2008, we have been excited to build on the great foundations of open-source web browsers and contribute to the continued development of a rich web platform. Today, Chromium is used by hundreds of different projects globally, including big browsers like Chrome, home electronics from LG, application frameworks like Electron and even custom applications like Bloomberg terminals and SpaceX capsule control software.In 2024, Google made over 100,000 commits to Chromium, accounting for ~94 percent of contributions. While we have no intention of reducing this investment, we continue to welcome others stepping up to invest more.The Linux Foundation and the launch of the Supporters of Chromium-based Browsers. The goal of this initiative is to foster a sustainable environment of open-source contributions towards the health of the Chromium ecosystem and financially support a community of developers who want to contribute to the project, encouraging wi +
1ヶ月前
記事のアイキャッチ画像
Making Chrome QUICer
Chromium Blog
+In October 2020, Chrome enabled HTTP/3 by default. HTTP/3 (RFC 9114) runs over IETF QUIC (RFC9000). Default-enabling HTTP/3 in Chrome resulted in improved performance compared not only HTTP/1 and HTTP/2, but also Google QUIC. Benefits included reduced Google search latency and fewer rebuffers for YouTube.The journey to optimizing performance did not end when HTTP/3 was default enabled. Recent advancements include the implementation of the HTTP/3 ORIGIN frame (RFC 9412) and Server's Preferred Address (RFC 9000 Section 9.6). The former enhances connection coalescing, while the latter reduces a connection's round trip time (RTT). Both features have been enabled by default in M131, which was released to Stable on 11/19.ORIGIN FrameDNS resolution adds latency unless cached locally in Chrome’s DNS cache.Both client and server must send multiple packets to complete a QUIC handshake.TLS necessitates CPU-intensive asymmetric cryptography on both ends.The congestion controller begins in its defa +
2ヶ月前
記事のアイキャッチ画像
How Chrome doubled its Speedometer scores on Android
Chromium Blog
+The Fast and the Curious post covers how Chrome achieved best-in-class Speedometer scores on mobile devices, resulting in faster and smoother web experiences for Android users.Chrome has always been about speed. Whether it's loading pages quickly, running complex web apps smoothly, or delivering a seamless browsing experience, performance is at the heart of our browser. And we're always looking for ways to make Chrome even faster.Over the last two years, we have been hard at work on a number of performance improvements for Android devices. We're excited to share some of the progress we've made.Speedometer on Android Speedometer benchmark. This benchmark is developed in collaboration with other major web browser engines and measures how quickly Chrome can complete interactions with web pages, including parsing/rendering HTML or CSS and running JavaScript.Since the release of Chrome M112, we've seen a significant increase in Speedometer 2.1 scores on Android devices [1]. In fact, on many +
2ヶ月前
記事のアイキャッチ画像
Seamlessly use your passwords and addresses in Chrome across all devices
Chromium Blog
+Last October, we introduced a new identity model on iOS (Chrome 118) and are excited to bring it to Android devices and Desktop soon. This model aligns closely with how you already use other Google apps and services.When we first launched Chrome sync back in 2009, powered by the Google Account, our goal then, as it is today, was simple: help users access their bookmarks, passwords, tabs and more, across devices. At the time, this was best achieved by a sync model: synchronizing device data with your account and therefore requiring both sign-in and enabling sync.Over the years, the digital world has changed and user expectations have evolved significantly. Cloud services emerged in 2010, and over the past 15 years, the concept of having a digital identity became more prevalent, especially through smartphones and mobile apps. Today, users increasingly expect to just sign in to get access to their stuff and sign out to keep it safe. Given this evolution of technology and user norms, we’re +
6ヶ月前
記事のアイキャッチ画像
Building a faster, smarter, Chromebook experience with the best of Google technologies
Chromium Blog
+ChromeOS will soon be developed on large portions of the Android stack to bring Google AI, innovations, and features faster to users.Over the last 13 years, we’ve evolved ChromeOS to deliver a secure, fast, and feature-rich Chromebook experience for millions of students and teachers, families, gamers, and businesses all over the world. With our recent announcements around new features powered by Google AI and Gemini, Chromebooks now give us the opportunity to put powerful tools in the hands of more people to help with everyday tasks.To continue rolling out new Google AI features to users at a faster and even larger scale, we’ll be embracing portions of the Android stack, like the Android Linux kernel and Android frameworks, as part of the foundation of ChromeOS. We already have a strong history of collaboration, with Android apps available on ChromeOS and the start of unifying our Bluetooth stacks as of ChromeOS 122.Bringing the Android-based tech stack into ChromeOS will allow us to a +
8ヶ月前
記事のアイキャッチ画像
How Chrome achieved the highest score ever on Speedometer 3
Chromium Blog
+Today’s The Fast and the Curious post explores how Chrome achieved the highest score on the new Speedometer 3.0, an upgraded browser benchmarking tool to optimize the performance of Web applications. Try out Chrome today! Speedometer 3.0 is a recently published benchmark for measuring browser performance that was created as an industry collaboration between companies like Google, Apple, Mozilla, Intel, and Microsoft. This benchmark helped us identify areas in which we could optimize Chrome to deliver a faster browser experience to all our users.Here’s a closer look at how we further optimized Chrome to achieve the highest score ever Speedometer 3, by carefully tracking its recent performance over time as the updated benchmark was being developed. Since the inception of Speedometer 3 in May 2022, we've driven a 72% increase in Chrome’s Speedometer score - translating into performance gains for our users: previously shared how we optimized innerHTML using specialized fast paths for parsi +
8ヶ月前
記事のアイキャッチ画像
Introducing Shared Memory Versioning to improve slow interactions
Chromium Blog
+On the Chrome team, we believe it’s not sufficient to be fast most of the time, we have to be fast all of the time. Today’s The Fast and the Curious post explores how we contributed to Core Web Vitals by surveying the field data of Chrome responding to user interactions across all websites, ultimately improving performance of the web. As billions of people turn to the web to get things done every day, the browser becomes more responsible for hosting a multitude of apps at once, resource contention becomes a challenge. The multi-process Chrome browser contends for multiple resources: CPU and memory of course, but also its own queues of work between its internal services (in this article, the network service).This is why we’ve been focused on identifying and fixing slow interactions from Chrome users’ field data, which is the authoritative source when it comes to real user experiences. We gather this field data by recording anonymized Perfetto traces on Chrome Canary, and report them usi +
8ヶ月前
記事のアイキャッチ画像
Manifest V2 phase-out begins
Chromium Blog
+Update (10/10/2024): We’ve started disabling extensions still using Manifest V2 in Chrome stable. Read more details in the MV2 support timeline documentation. In November 2023, we shared a timeline for the phasing out of Manifest V2 extensions in Chrome. Based on the progress and feedback we’ve seen from the community, we’re now ready to roll out these changes as scheduled. We’ve always been clear that the goal of Manifest V3 is to protect existing functionality while improving the security, privacy, performance and trustworthiness of the extension ecosystem as a whole. We appreciate the collaboration and feedback from the community that has allowed us - and continues to allow us - to constantly improve the extensions platform. Addressing community feedback We understand migrations of this magnitude can be challenging, which is why we’ve listened to developer feedback and spent years refining Manifest V3 to support the innovation happening across the extensions community. This included +
8ヶ月前
記事のアイキャッチ画像
Multi-tasking with Minimized Custom Tabs
Chromium Blog
+In the latest release of Chrome, we're introducing Minimized Custom Tabs, a feature that allows users to effortlessly transition between native app and web content. With a simple tap on the down button in the Chrome Custom Tabs toolbar, users can minimize a Custom Tab into a compact, floating picture-in-picture window. This seamless integration enables multi-tasking across surfaces, enhancing the in-app web browsing experience. By tapping on the floating window, users can easily maximize the tab, restoring it to its original size.Posted by Victor Gallet, Senior Product Manager
8ヶ月前
記事のアイキャッチ画像
Advancing Our Amazing Bet on Asymmetric Cryptography
Chromium Blog
+Google and many other organizations, such as NIST, IETF, and NSA, believe that migrating to post-quantum cryptography is important due to the large risk posed by a cryptographically-relevant quantum computer (CRQC). In August, we posted about how Chrome Security is working to protect users from the risk of future quantum computers by leveraging a new form of hybrid post-quantum cryptographic key exchange, Kyber (ML-KEM)1. We’re happy to announce that we have enabled the latest Kyber draft specification by default for TLS 1.3 and QUIC on all desktop Chrome platforms as of Chrome 124.2 This rollout revealed a number of previously-existing bugs in several TLS middlebox products. To assist with the deployment of fixes, Chrome is offering a temporary enterprise policy to opt-out.Launching opportunistic quantum-resistant key exchange is part of Google’s broader strategy to prioritize deploying post-quantum cryptography in systems today that are at risk if an adversary has access to a quantum +
9ヶ月前
記事のアイキャッチ画像
How Machine Learning improved the Chrome address bar on Windows, Mac and ChromeOS
Chromium Blog
+Used billions of times each day, the Chrome address bar (which we call the “omnibox”) is a powerful tool to make searching the web easier, whether you’re trying to quickly find your tabs or bookmarks, return to a web page you previously visited, or find information.With the latest release of Chrome (M124), we’re integrating machine learning models to power the Chrome omnibox on desktop, so that web page suggestions are more precise and relevant to you. In the future, these models will also help improve the relevance scoring of search suggestions. Here’s a closer look at some of the important insights that help our team build this integration and where we hope the new model takes us. How we got hereinflexible. A set of hand-built and hand-tuned formulas did the job well, but were difficult to improve or to adapt to new scenarios. As a result, the scoring system went largely untouched for a long time.For most of that time, an ML-trained scoring model was the obvious path forward. But it +
9ヶ月前
記事のアイキャッチ画像
Fighting cookie theft using device bound sessions
Chromium Blog
+Cookies – small files created by sites you visit – are fundamental to the modern web. They make your online experience easier by saving browsing information, so that sites can do things like keep you signed in and remember your site preferences. Due to their powerful utility, cookies are also a lucrative target for attackers.Many users across the web are victimized by cookie theft malware that gives attackers access to their web accounts. Operators of Malware-as-a-Service (MaaS) frequently use social engineering to spread cookie theft malware. These operators even convince users to bypass multiple warnings in order to land the malware on their device. The malware then typically exfiltrates all authentication cookies from browsers on the device to remote servers, enabling the attackers to curate and sell the compromised accounts. Cookie theft like this happens after login, so it bypasses two-factor authentication and any other login-time reputation checks. It’s also difficult to mitigat +
10ヶ月前
記事のアイキャッチ画像
Speedometer 3: Building a benchmark that represents the web
Chromium Blog
+Today’s The Fast and the Curious post covers the release of Speedometer 3.0 an upgraded browser benchmarking tool to optimize the performance of Web applications. In collaboration with major web browser engines, Blink/V8, Gecko/SpiderMonkey, and WebKit/JavaScriptCore, we’re excited to release Speedometer 3.0. Benchmarks, like Speedometer, are tools that can help browser vendors find opportunities to improve performance. Ideally, they simulate functionality that users encounter on typical websites, to ensure browsers can optimize areas that are beneficial to users.Let’s dig into the new changes in Speedometer 3.0. Applying a multi-stakeholder governance model2014 by the WebKit team, browser vendors have successfully used Speedometer to optimize their engines and improve user experiences on the web. Speedometer 2.0, a result of a collaboration between Apple and Chrome, followed in 2018, and it included an updated set of workloads that were more representative of the modern web at that ti +
1年前
記事のアイキャッチ画像
Optimizing Safe Browsing checks in Chrome
Chromium Blog
+Balancing security and usability is always top of mind for us as we strive to stay on top of the constantly evolving threat landscape while building products that are delightful to use. To that end, we'd like to announce a few recent changes to how Chrome works with Google Safe Browsing to keep you safe online while optimizing for smooth and uninterrupted web browsing.Asynchronous checksToday, Safe Browsing checks are on the blocking path of page loads in Chrome, meaning that users cannot see pages until checks are completed. While this works fine for local-first checks such as those made using Safe Browsing API v4, it can add latency for checks made directly with the Safe Browsing server. Starting in Chrome 122, we will begin to introduce an asynchronous mechanism which will allow sites to load even while real-time checks with Safe Browsing servers are in progress. We expect this to reduce page load time and improve user experience as real-time server-side checks will no longer block +
1年前
記事のアイキャッチ画像
Chromium Issue Tracker migration is complete
Chromium Blog
+We are thrilled to share that Chromium issue tracking has migrated! Access the Issue Tracker, and supporting documentation. Why was this doneIssue tracking moved from Monorail to the Chromium Issue Tracker (powered by the Google Issue Tracker) to provide a feature-rich and well-supported issue tracker for Chromium’s ecosystem. Chromium joins other open source projects (Git, Gerrit) on this tooling. What happens moving forward Existing Monorail issue links will redirect to the migrated issues in the new issue tracker. We will prioritize feedback to continue to improve the issue tracker experience.Help & FeedbackYou can reach out at any time to issue-tracker-support@chromium.org with questions or concerns.
1年前
記事のアイキャッチ画像
Chromium Issue Tracker migration beginning Feb 2, 2024 at 5pm PST
Chromium Blog
+As we shared last year, Chromium is moving to a different issue tracker to provide a well-supported user experience for the long term. Migration is beginning today (February 2, 2024) at 5pm PST. We expect migration will be completed by the end of day (PST) February 4, 2024.What’s happeningWe will migrate all Chromium issues, including issue history and stars, from Monorail to a different tool: Chromium Issue Tracker, powered by the Google Issue Tracker. This tooling change will provide a feature-rich and well-supported issue tracker for Chromium’s ecosystem. Chromium will join other open source projects (Git, Gerrit) on this tooling. Existing transparency levels to bugs will be maintained. Post-Migration We will publish another post once the migration is complete. Once the migration completes, existing Monorail issue links will redirect to the migrated issues in the new issue tracker. We will prioritize feedback to continue to improve the issue tracker experience. Documentation on new +
1年前
記事のアイキャッチ画像
A new way to seamlessly browse across devices with Chrome on iOS
Chromium Blog
+Whether you’re browsing the web on your PC at home or on the go with your phone, we designed Chrome to be simple to use and work great on all platforms. For example, tools like Chrome sync have made it possible for you to access your bookmarks and passwords when switching between all your devices. In the coming weeks we’re making changes to Chrome on iOS to help you get to your most important stuff right away. Instead of having to set up Chrome sync on your device, you can now simply sign in to Chrome to save new things in your Google Account and access what's already there. This may feel familiar to you, as it’s how many Google apps on iOS already work today. Once you’re signed in to Chrome, you’ll be able to save your important stuff to your account, including bookmarks, reading lists, passwords, payment info, addresses and settings. And, you can separately opt in to synchronizing your tabs and browsing history from Chrome on iOS to your Google Account, which can help you pick up bro +
1年前
記事のアイキャッチ画像
How Core Web Vitals saved users 10,000 years of waiting for web pages to load
Chromium Blog
+Today’s The Fast and the Curious post explores how Core Web Vitals saved Chrome users more than 10,000 Years of waiting for web pages to load in 2023 (across Chrome desktop and Android) by quantifying the experience of sites and identifying opportunities to make improvements.In 2020, we introduced Web Vitals - essential quality signals for webpages to ensure a better user experience. Since then, there has been a massive leap in web performance made possible by our work on Core Web Vitals (CWV) and its broader impact on the web. Today, over 40% of sites pass all of the CWV metrics, leading to pages that load and respond to interactions more quickly. Here’s a closer look at the journey to help improve the performance for sites and some specific work done in the browser and the ecosystem to enable this achievement. Chrome's Quest for SpeedThe very essence of the web lies in its ability to provide information and services efficiently and rapidly. This principle is at the heart of Google's +
1年前
記事のアイキャッチ画像
Update to Developers: Chromium Issue Tracker migration
Chromium Blog
+Update: Migration is on track for early February 2024 instead of January 2024.Chromium is moving to a different issue tracker to provide a well-supported user experience for the long term. The Google team is targeting January 2024 for migration—this post explains the details. What’s happeningWe will migrate all Chromium issues, including issue history and stars, from Monorail to a different tool: Chromium Issue Tracker, powered by the Google Issue Tracker. This tooling change will provide a feature-rich and well-supported issue tracker for Chromium’s ecosystem. Chromium will join other open source projects (Git, Gerrit) on this tooling. Existing transparency levels to bugs will be maintained. TimingWe are targeting January 2024 for Chromium’s migration, and will share milestones and timing updates throughout the coming months.Migration ReadinessIn due course, we will share additional resources, including a walkthrough of the new issue tracker, highlighting key features.Post-Migration W +
1年前
記事のアイキャッチ画像
Unlocking the power of TLS certificate automation for a safer and more reliable Internet
Chromium Blog
+TL;DR: Automated certificate issuance and management strengthens the underlying security assurances provided by Transport Layer Security (TLS) by increasing agility and resilience. This post describes the benefits of automation and upcoming changes to the Chrome Root Program policy that represent Chrome Security’s ongoing commitment to improving web security. IntroductionOne of the most common tools for enhancing user security on the Internet is “Transport Layer Security” (TLS), formerly known as “Secure Socket Layer” (SSL). At its most basic level, TLS is a security protocol that encrypts data such that only the intended recipient can read it. Encryption makes the Internet more secure, but only if consistently and reliably deployed. The adoption of modern practices, like automated TLS certificate issuance and management, helps achieve this goal. Background: TLS - The Foundation for Encrypted Communications on the InternetYou’re probably more familiar with TLS than you think, as it’s t +
1年前
記事のアイキャッチ画像
Unveiling the Chrome Web Store's Redesign
Chromium Blog
+In celebration of Chrome’s 15th birthday, we’re thrilled to introduce the redesigned Chrome Web Store. With a user-centric focus, we’ve made it easier for you to search and find fun themes and helpful extensions to stay productive at home or at work. Let's go behind the scenes and learn more about this redesign from Chrome Product Manager Hafsah Ismail and UX Designer Crystal Wang.What influenced your decision to redesign the Chrome Web Store?Hafsah: Chrome and the Web have evolved in remarkable ways. We now have extensions that unlock uncharted levels of productivity for developers or harness the power of generative AI to reshape work as we know it. It only felt natural to evolve the store to continue to meet the dynamic needs of users and developers in our ecosystem. Extensions and themes lie at the heart of a personalized Chrome experience, so it was a natural progression to give the store a fresh, contemporary look to align with this transformation. Can you share more details about +
1年前
記事のアイキャッチ画像
Towards HTTPS by default
Chromium Blog
+For the past several years, more than 90% of Chrome users' navigations have been to HTTPS sites, across all major platforms. Thankfully, that means that most traffic is encrypted and authenticated, and thus safe from network attackers. However, a stubborn 5-10% of traffic has remained on HTTP, allowing attackers to eavesdrop on or change that data. Chrome shows a warning in the address bar when a connection to a site is not secure, but we believe this is insufficient: not only do many people not notice that warning, but by the time someone notices the warning, the damage may already have been done.We believe that the web should be secure by default. HTTPS-First Mode lets Chrome deliver on exactly that promise, by getting explicit permission from you before connecting to a site insecurely. Our goal is to eventually enable this mode for everyone by default. While the web isn't quite ready to universally enable HTTPS-First Mode today, we're announcing several important stepping stones tow +
1年前
記事のアイキャッチ画像
Protecting Chrome Traffic with Hybrid Kyber KEM
Chromium Blog
+Teams across Google are working hard to prepare the web for the migration to quantum-resistant cryptography. Continuing with our strategy for handling this major transition, we are updating technical standards, testing and deploying new quantum-resistant algorithms, and working with the broader ecosystem to help ensure this effort is a success.As a step down this path, Chrome will begin supporting X25519Kyber768 for establishing symmetric secrets in TLS, starting in Chrome 116, and available behind a flag in Chrome 115. This hybrid mechanism combines the output of two cryptographic algorithms to create the session key used to encrypt the bulk of the TLS connection:X25519 – an elliptic curve algorithm widely used for key agreement in TLS todayKyber-768 – a quantum-resistant Key Encapsulation Method, and NIST’s PQC winner for general encryptionIn order to identify ecosystem incompatibilities with this change, we are rolling this out to Chrome and to Google servers, over both TCP and QUIC +
1年前
記事のアイキャッチ画像
Smoothing out the scrolling experience in Chrome on Android
Chromium Blog
+Big performance wins can be found by taking a step back and tweaking what you already have. Today’s The Fast and the Curious post explores how we improved the scrolling experience of Chrome on Android, ultimately reducing slow scrolling jank by 2x. Read on to see how we discovered and evaluated the problem, and how that has helped us design a better browser experience going forward.When measuring the performance of a browser, one might typically think of page load speed or Web Vitals. On mobile where touch interactions are common we also prioritize your interaction with Chrome to ensure it is always smooth and responsive including on new form factors like foldables. A significant focus of late has been on reducing jank while you scroll.We recently improved the scrolling experience of Chrome on Android by 2x by filtering noise and reducing visual jumps in the content presented on screen. To get this result, we had to take a step back and figure out the problem of why Chrome on Android w +
1年前
記事のアイキャッチ画像
Redesigning Chrome downloads, to keep you productive and safe online
Chromium Blog
+With the latest release of Chrome for desktop we are introducing a redesign of the Chrome downloads experience to make it easier for you to interact with your recent downloads. Let's go behind the scenes and learn more about this redesign from Chrome Senior Product Manager Jasika Bawa.What influenced your decision to redesign Chrome downloads?Downloads are a core part of day to day web browsing, from getting the perfect cat themed background for your PC to saving a copy of your tax return. Over the years, we have listened to your feedback about the legacy Chrome downloads experience. We learned that while there was a lot about it that worked well for you, like strong support for core download journeys and built-in protection from potentially harmful files, it had its problems too. For example, it – Occupied precious pixels at the bottom of the screen which squeezed the web content area, and was limited by screen width in how many files it could show at onceDidn't go away automatically, +
2年前
\ No newline at end of file diff --git a/blogs/44d278ad93a892cb84e2710cb2ef3ec9/index.html b/blogs/44d278ad93a892cb84e2710cb2ef3ec9/index.html new file mode 100644 index 000000000000..557adce2aba8 --- /dev/null +++ b/blogs/44d278ad93a892cb84e2710cb2ef3ec9/index.html @@ -0,0 +1,23 @@ +AppSignalのフィード|JSer.info Watch List RSS

AppSignal

https://blog.appsignal.com

Product updates and things we've learned while building AppSignal

フィード

記事のアイキャッチ画像
AppSignal Now Offers Support for Long-Running Streaming Rack Responses in Ruby
AppSignal
Monitor and optimize your Ruby app’s long-running streaming Rack responses with AppSignal.
3日前
+
記事のアイキャッチ画像
Building a Distributed Rate Limiter in Elixir with HashRing
AppSignal
+We'll build a distributed rate limiter using HashRing for Elixir.
4日前
記事のアイキャッチ画像
AppSignal's 2024 Event Sponsorships
AppSignal
A look back on the events AppSignal sponsored around the world in 2024.
5日前
記事のアイキャッチ画像
Monitor the Performance of Your Python Flask Application with AppSignal
AppSignal
Let's use AppSignal to monitor and improve the performance of your Flask applications.
10日前
記事のアイキャッチ画像
Export Datasets and Graphs from AppSignal
AppSignal
We’ve added two new ways to work with your AppSignal data: dataset exports and graph data exports.
11日前
記事のアイキャッチ画像
+Fuzz Testing REST APIs in Node.js
AppSignal
Let's use fuzz testing to challenge our REST API with a broad range of inputs, thoroughly testing and efficiently exercising our code.
17日前
記事のアイキャッチ画像
Tracking Errors in Tesla with AppSignal for Elixir
AppSignal
+Let's track and handle Tesla errors in your Elixir app using AppSignal.
18日前
記事のアイキャッチ画像
How to Use Regular Expressions in Python
AppSignal
Let's explore the basics of regular expressions in Python, as well as more advanced techniques, real-world use cases, and performance optimization strategies.
24日前
記事のアイキャッチ画像
AppSignal’s Top 5 Ruby Posts in 2024
AppSignal
Let's look back at our top 5 Ruby posts this year.
2ヶ月前
記事のアイキャッチ画像
AppSignal’s Top 5 JavaScript Posts in 2024
AppSignal
Check out the 5 JavaScript posts that really stood out on our blog in 2024.
2ヶ月前
記事のアイキャッチ画像
AppSignal’s Top 5 Elixir Posts in 2024
AppSignal
+It's time for our yearly rundown of our top 5 best-performing Elixir posts.
2ヶ月前
記事のアイキャッチ画像
The Top 5 New Relic Alternatives
AppSignal
Exploring alternatives to New Relic? In this post, we'll compare New Relic to its top competitors to help you choose the best monitoring tool for you.
2ヶ月前
記事のアイキャッチ画像
A Deep Dive Into CommonJS and ES Modules in Node.js
AppSignal
While CommonJS has served the Node community well, ES modules are rapidly gaining traction. Let's take a deep dive into both.
2ヶ月前
Distributed Phoenix: Deployment and Scaling
AppSignal
In part one of this series, we managed distributed state using GenServers. In this part, we'll explore deployment and scaling strategies.
2ヶ月前
記事のアイキャッチ画像
Find and Fix N+1 Queries in Django Using AppSignal
AppSignal
We'll track the N+1 query problem in a Django app and fix it using AppSignal.
2ヶ月前
記事のアイキャッチ画像
Unit Testing in Node.js With Jest
AppSignal
+Jest has become one of the most popular solutions when unit testing in Node: let's see why.
2ヶ月前
記事のアイキャッチ画像
Server-sent Events and WebSockets in Rack for Ruby
AppSignal
In the final part of our three-part series, we'll use server-sent events (SSEs) and WebSockets to establish a persistent connection in a Rack app.
2ヶ月前
+
記事のアイキャッチ画像
The Top 5 Sentry Alternatives
AppSignal
Let's compare Sentry to five competitors to help you find the best application performance monitoring solution.
3ヶ月前
記事のアイキャッチ画像
Rack for Ruby: Socket Hijacking
AppSignal
Rack is the foundation for every popular Ruby web framework in existence. In part two of this three-part series, we'll run through socket hijacking.
3ヶ月前
記事のアイキャッチ画像
Avoiding False Positives in Node.js Tests
AppSignal
Let's examine several common false positive patterns that can crop up in Node.js test suites.
3ヶ月前
\ No newline at end of file diff --git a/blogs/457473508b3ba636eaffd50a3047adff/index.html b/blogs/457473508b3ba636eaffd50a3047adff/index.html new file mode 100644 index 000000000000..4c11e6a87e57 --- /dev/null +++ b/blogs/457473508b3ba636eaffd50a3047adff/index.html @@ -0,0 +1,35 @@ +カミナシ エンジニアブログのフィード|JSer.info Watch List RSS

カミナシ エンジニアブログ

https://kaminashi-developer.hatenablog.jp/

株式会社カミナシのエンジニアが色々書くブログです

フィード

記事のアイキャッチ画像
「チーム全体で品質を考える」文化づくりの第一歩
はてなブックマークアイコン 48
カミナシ エンジニアブログ
+1. はじめに こんにちは。QAエンジニアとして働いている市川です。 今回は、私が所属しているカミナシ設備保全サービスチーム(以下サービスチーム)で「チーム全体で品質を考える文化づくり」を進めるために行った取り組みについて紹介します。 チーム構成は、エンジニア2名、デザイナー1名、PdM1名の体制で、私は昨年末からチームにスポットで参画して取り組みを進めてきました。 私が取り組んだことは大きく分けて以下の3つです。 QAやテストの考え方を伝える座学セッション 品質を考えるワークショップ 設計ワークへの参加によるコラボレーションの強化 これらの活動の背景には、「プロダクトの品質はQAだけで担保で…
3日前
記事のアイキャッチ画像 +
【AWS re:Invent 2024】Amazon Q のワークショップを受けたので Bedrock との違いを調べてみた
はてなブックマークアイコン 22
カミナシ エンジニアブログ
はじめに カミナシでソフトウェアエンジニアとしてサービスの開発をしている Taku (X アカウント) です。 帰国後の体調不良等あり公開が遅くなってしまったのですが、先日ラスベガスで開催された AWS re:Invent に2年振り2回目の参加をしてきた際のレポです。 今回の re:Invent で私は 生成 AI 系のワークショップを中心に受けており、前回の Amazon Bedrock のワークショップに続き Amazon Q Business のワークショップも受けましたので両方受けて思ったことを書かせていただきたいと思います。 筆者は生成 AI にそこまで精通しているわけでありません…
9日前
記事のアイキャッチ画像
Go の ORM はどのようにして AUTO INCREMENT で採番された値を取得しているのか? - MySQL 編
はてなブックマークアイコン 92
カミナシ エンジニアブログ
こんにちは。カミナシで「カミナシレポート」の開発を担当しているソフトウェアエンジニアの佐藤です。 カミナシレポートのバックエンドは Go で開発しており、データベースには Amazon Aurora MySQL を使用しています。また、データベースアクセスには ORM ライブラリの GORM を採用しています。 ほとんどのテーブルでは、プライマリキー(ID列)に AUTO INCREMENT を利用しています。これらのテーブルに GORM の Create メソッドなどを使って新しいレコードを挿入すると、AUTO INCREMENT で採番された値が自動的に対応する Struct のフィールド…
12日前
記事のアイキャッチ画像
「しかたないスクラム」じゃないアジャイル開発を求めて
カミナシ エンジニアブログ
+「しかたないスクラム」じゃないアジャイル開発を求めて はじめまして。1月からカミナシでエンジニアリングマネージャ(EM)を担当している @daipresents と申します。 カミナシでは新規事業開発のEMとして、絶賛全力で開発を支援しています。カミナシはとても現場に近い開発環境なので、ご興味のある方はぜひカジュアル面談 をお願いします! この記事では、僕が関わる「新規事業開発」で実際に行われている「開発プロセス」と、そこに行き着いた経緯や意図をまとめたいと思います。タイトルにあるように、チームは「スクラムじゃないアジャイル開発を求めて」きたように感じています。 チームの立ち上げ期 僕は10ヶ…
24日前
記事のアイキャッチ画像
AWS Security Hub の通知を Amazon Bedrock を使ってアクショナブルにしてみた
カミナシ エンジニアブログ
+どうもセキュリティエンジニアの西川です。これがきっと私にとっての今年最後のブログです。今年の AWS re:Invent は自身の登壇があったのでほとんど楽しめませんでした。悔しいのでこうしてブログを帰ってきてからいくつか書いています。カミナシのメンバーの中で私と CTO だけは自腹で AWS re:Invent へ参加していますが、来年の飛行機もすでにとっていたりします。来年ラスベガスでお会いしましょう。 AWS re:Invent の中でもたくさんの Generative AI のセッションがありました。私自身はほとんど参加していなかったのですが、Generative AI の GameD…
1ヶ月前
記事のアイキャッチ画像
Amazon CloudFront VPC オリジンの魅力と WAF バイパスからの脱却
カミナシ エンジニアブログ
+どうもセキュリティエンジニアリングの西川です。風邪を引いたせいでしばらくお酒が飲めていません。クラフトビールが冷蔵庫に所狭しと配置されていて、一向に減らないため妻から以下略 Amazon CloudFront VPC オリジンが2024/11/20に発表されましたがもうみなさん触られましたか?今日はセキュリティ観点でこの機能がどうして嬉しいのかやこれがない場合の落とし穴について話をしていこうと思います 何が嬉しいの? ALB や EC2 インスタンスへ直アクセスができなくなるということが嬉しいです。これらのリソースはプライベートサブネットに配置され、外部から直接そういったリソースへアクセスがで…
1ヶ月前
記事のアイキャッチ画像
Service Worker がページをコントロールし始めるタイミングを skipWaiting と clients.claim から理解する
カミナシ エンジニアブログ
+こんにちは。カミナシでソフトウェアエンジニアをしております佐藤です。 先日、『カミナシ レポート 記録アプリ(Web)』の提供を開始いたしました。 現場帳票システム『カミナシ レポート』、マルチデバイスで記録ができるWeb版をリリース PWA として利用が可能であり、また、ネットワークが不安定な現場での使用も想定したオフライン機能も備えています。これらを実現する上では、Service Worker が重要な役割を果たしています。 『カミナシ レポート 記録アプリ(Web)』の実装には、VitePWA を利用しています。VitePWA では Service Worker の制御に Workbox…
2ヶ月前
記事のアイキャッチ画像
AWS 環境における Generative AI とセキュリティのジレンマ
カミナシ エンジニアブログ
+どうもセキュリティエンジニアリングの西川です。 寒いのは好きではないのですが、寒くなってくると猫が布団に入ってくるので最高です。 ラスベガスで開催された AWS re:Invent 2024 に参加していました。 その中でも Generative AI を利用したセキュリティ対策やその他もろもろ便利機能が共有されていました。 これは当然と言えば当然で、セキュリティエンジニアは市場に少ないですし、セキュリティエンジニアの中でもスキルが十分に足りていないといったことも考えられ、それを補うためにGenerative AI を使いましょうという流れは自然だと思います。 セキュリティへの Generat…
2ヶ月前
記事のアイキャッチ画像
【AWS re:Invent 2024】セッション以外ってどんな感じ? (*遊んでません)
カミナシ エンジニアブログ
+こんにちは、「カミナシ 従業員」開発チームの a2 (@Atsuhiro_tim) です。 re:Invent については、弊社含め多くの企業のセッションレポートを目にしていることと思います。 re:Invent は新サービス発表のある基調講演や、実際に手を動かしてサービスを触れるセッションへの参加などがメインコンテンツですが、ラスベガスに一週間滞在する間、それらが全てではありません。異国に行くこと自体や、セッション以外にも面白いアクティビティなどがあります。 今回は、そういったセッション以外の側面にスポットを当ててみたいと思います。ゆるい記事なので、すきま時間に読んでいただければと思います。…
2ヶ月前
記事のアイキャッチ画像
【AWS re:Invent 2024】RAG 関連の5個のセッションの学びを濃縮してお届けします
カミナシ エンジニアブログ
+こんにちは、AWS re:Invent から帰国した a2 (@Atsuhiro_tim) です。すき家がサラダをつけても $5 で、その美味しさと安さに涙を流しています。 さて、AWS re:Invent 2024 のセッションカタログを見ると、今年も GenAI が猛威を振るっていたことがわかります。 昨年は Gen AI x 〇〇 が多かったのですが、今年は一歩進んで、 RAG x 〇〇 や Agent x 〇〇 が出てきました。RAG については機能リリースのニュースは認識していたものの、実際に触ることがなかったので、今回の re:Invent で Gen AI や RAG 関連のセッ…
2ヶ月前
記事のアイキャッチ画像
【AWS re:Invent 2024】Amazon S3 Metadata と Amazon S3 Table Bucket は名前だけ見ると誤解しそうなので整理しました
カミナシ エンジニアブログ
+はじめに こんにちは、「カミナシ 従業員」開発チームの a2 (@Atsuhiro_tim) です。5日間の AWS re:Invent を終え、帰国しました。 今年の re:Invent は Amazon S3 Table Bucket, Amazon S3 Metadata という新機能が発表されましたね。 Amazon S3 Table Bucket というサービス名を聞いた時、「Relational Database インターフェースのプロビジョニング不要の DB(主に OLTP 用)で、個人開発サービスに使える?」や、「S3 の csv ファイルに対して Athena を経由せずに …
2ヶ月前
記事のアイキャッチ画像
【AWS re:Invent 2024】Generative AIによる未来のUXの広がりを感じた
カミナシ エンジニアブログ
+manatyです。AWS re:Inventの生成AIによる検索機能の拡張ワークショップを通じて、ID管理の未来を想像してみました。
2ヶ月前
記事のアイキャッチ画像
【AWS re:Invent 2024】Claude 3.5 の工夫
カミナシ エンジニアブログ
はじめに こんにちは、「カミナシ 従業員」サービスチームの a2 (@A2hiro_tim) です。ラスベガスで開催されているAWS re:Invent 2024 に昨年に引き続き参加しています。今回は ChalkTalk として開催された「Deep dive into Claude 3.5: Unlocking AI potential on AWS」の参加レポートをお届けします。 ChalkTalk は speaker によって形式に差がありますが、今回のセッションは Claude 3.5 の仕組みをスピーカーがひたすら話す形式で、最後に Amazon Bedrock を利用したデモがある…
2ヶ月前
記事のアイキャッチ画像
【AWS re:Invent 2024】Generative AIを利用したこれからのセキュリティ対策に足を踏み入れてみた
カミナシ エンジニアブログ
AWS re:Inventのセッションレポートです。生成AIを使ってセキュリティ業務の生産性を向上させるアイデアを紹介するセッションを聞いて、やってみたことを書きました。
2ヶ月前
記事のアイキャッチ画像
【AWS re:Invent 2024】人の労力を減らす、Amazon Bedrock Agents によるイベントドリブンエージェント作成を体験してきた
カミナシ エンジニアブログ
はじめに カミナシでソフトウェアエンジニアとしてサービスの開発をしている Taku (X アカウント) です。 ラスベガスで開催されている AWS re:Invent に2年振り2回目の参加をしています。 その中で役立ちそうなワークショップに参加することが出来たので、今回はそのご紹介をさせていただきたいと思います。 公開されているワークショップのリンクも載せているため、最後までご覧いただけると幸いです。 参加したワークショップ 今回参加したのは「Automating technical support and workflows with Amazon Bedrock Agents」というワー…
2ヶ月前
記事のアイキャッチ画像
【AWS re:Invent 2024】Amazon Verified Permissionsを本番適用した人のリアルな声を聞いた
カミナシ エンジニアブログ
はじめに カミナシでID管理・認証基盤を開発しているmanaty(@manaty0226)です。ラスベガスで開催されているAWS re:Invent 2024に初めて参加しています。今回はブレイクアウトセッションで開催された「Securing 50 million requests per month with AWS-based authorization」を聴講したレポートをお届けします。 Amazon Verified Permissions(AVP)とは Amazon Verified Permissions(AVP)はアプリケーションのアクセス制御を行うためのAWSサービスであり、O…
2ヶ月前
記事のアイキャッチ画像
【AWS re:Invent 2024】テナント分離の考え方を整理したらRFC 8693に辿り着いた
カミナシ エンジニアブログ
re:Inventに参加中のmanatyです。今回はテナント分離に関するセッションを聞いてアーキテクチャを整理した内容を書いています。
2ヶ月前
記事のアイキャッチ画像
AWS アクセス管理を一歩先へ!カミナシのセキュアな AWS アクセス管理を実現するシステムの紹介 +
カミナシ エンジニアブログ
カミナシのエンジニアリング組織では、チームメンバーの AWS アカウント環境への定常的なアクセス権限として「センシティブな情報を除いた全リソースへの ReadOnly Access」を付与しており、一方で書き込み権限については必要に応じてメンバーが一時的に権限を獲得できる仕組みとシステムを開発し、運用を行っています。 本記事では、そういった仕組みを開発するに至った経緯や仕様、そしてこれを数ヶ月ほど運用した結果と今後の展望について紹介します。 このシステムは『ハマヤン』という名前で呼ばれていますが、あまねくユーザーに愛される素敵な名称であり、Sec Eng チーム内でも大人気です。開発者が濱野さ…
2ヶ月前
記事のアイキャッチ画像
【AWS re:Invent 2024】コンテナセキュリティの近未来?を見た
+カミナシ エンジニアブログ
AWS re:Inventのセッションレポートです。コンテナアプリケーションのCI/CDパイプラインにSBOMの生成とビルド生成物の署名と検証を組み込むワークショップに参加しました。
2ヶ月前
記事のアイキャッチ画像
【AWS re:Invent 2024】耐障害性を高めるCell-based Architectureを体験してきた
カミナシ エンジニアブログ
AWS re:Invent 2024のセッションレポートです。Cell-based architectureと呼ばれる高いスケーラビリティと耐障害性を持つシステムアーキテクチャのハンズオンワークショップに参加した内容です。
2ヶ月前
記事のアイキャッチ画像
エンジニア開発合宿2024を開催しました!
カミナシ エンジニアブログ
こんにちは!カミナシで Engineering Manager をしております Keeth こと桑原です.今年もカミナシ社で11/14-15 の2日間,開発合宿を開催しましたので今回はそのレポートとなります! 開催概要 日程:11月14日 12:30 〜 11月15日 15:30 場所:熱海 参加者:エンジニア21名(内,リモート参加者2名) ※カミナシに在籍しているエンジニアは合計30名ちょっといます 今回の開発合宿のコンセプトとしては, チームを超えた交流・親睦を深めることでお互いを知る としました. 現在のカミナシはマルチプロダクト戦略に舵を切っており,プロダクト毎にチームがパキッと分か…
2ヶ月前
記事のアイキャッチ画像
AWS 初学者にもオススメ AWS Jam / GameDay
カミナシ エンジニアブログ
はじめに カミナシでソフトウェアエンジニアをしている Taku(X アカウント)です。 カミナシではプロダクトのインフラに AWS を利用しているのですが、その学習の一環として AWS が主催するイベントに業務時間を利用して参加させていただいてます。 今年は AWS Jam / GameDay というイベントに計3回参加してみて、学びが多いイベントと感じたため共有させていただきたいと思います。 参加したイベント 2024/6/20:AWS Jam(in AWS Summit Japan) 2024/6/21:AWS GameDay(in AWS Summit Japan) 2024/8/26:…
2ヶ月前
記事のアイキャッチ画像
AWS WAFがあれば安心!? 甘い! 甘すぎる!!「第2回ごーとんカップ」開催 - 次のカミナシセキュリティチャンピオンは誰だ!?
カミナシ エンジニアブログ
初めまして!10 月にカミナシへ入社した いちび(@itiB_S144) です。セキュリティエンジニアリングユニットに所属しつつ、8 月にリリースしたばかりの カミナシ従業員 の開発に携わっています。 先日社内エンジニア向けのセキュリティ競技会「第 2 回ごーとんカップ」を開催しました。ごーとんカップとは、社内のエンジニアが集まって CTF(Capture The Flag) 形式でセキュリティに関する問題、カミナシの開発に関わる問題を一人ひとりが解いて得点を競う大会です。CTFとは、セキュリティなどに関する問題を解いて隠されたキーワード(フラグ)を取得する競技です。 今回は、その運営を担当し…
2ヶ月前
記事のアイキャッチ画像
Web Application のテストを runn で書いて、開発と価値提供を加速する
カミナシ エンジニアブログ
こんにちは、「カミナシ 従業員」サービスチームのソフトウェアエンジニアの a2 (A2hiro_tim) です。 早速ですが、ウェブアプリケーション開発、特に Go 言語を使っている方は、テストをどのように書いていますでしょうか。 我々のチームはバックエンドに Go を採用しており、 Table Driven Test (以下 TDT )を使っていました。Go を採用した開発では TDT が広く採用されており、我々も慣習に則るのが最善だと判断したからです。 しかし実際に開発を進めると、ことウェブアプリケーション開発における TDT にはいくつか課題を感じるようになりました。そこで我々のチームで…
2ヶ月前
記事のアイキャッチ画像
OAuth mTLSを実現するためにAWSでできること、できないこと
カミナシ エンジニアブログ
AWS上で構築したOAuth認可サーバーにてOAuth mTLSを実現するときの各種AWSサービスの仕様制約の整理と、技術制約およびRFCから導き出される妥当な設計仕様案の検討内容を書いています。
3ヶ月前
記事のアイキャッチ画像
Fargate Spot が Arm アーキテクチャに対応! シュッと移行してコスト削減を実現
カミナシ エンジニアブログ
先月ついに Arm アーキテクチャでも Fargate Spot が使えるようになりました! さっそく社内向けの環境を Fargate Spot にシュッと移行したので、手順と注意点をご紹介します。
4ヶ月前
記事のアイキャッチ画像
AWS WAF を COUNT モードで動かしたはいいが、その後どうすればいいんだっけ?
カミナシ エンジニアブログ
+どうも Security Engineering の西川です。好きなポケモンはクワッスです。カミナシ社内に遂にポケモンカード部ができまして、部員同士切磋琢磨し始めています。いつか企業対抗ポケモンカード大会をするのが夢です。 さてさて、皆さんは AWS WAF(Web Application Firewall、以下 WAF)を使っていますか?サービスに WAF を導入する際は一定期間 COUNT モードで運用することがセオリーとされています。では、COUNT モードから BLOCK モードに切り替える時に何をもって BLOCK モードへの切り替えを判断していますか? 本記事はつい先日リリースされ…
4ヶ月前
記事のアイキャッチ画像
円安を乗り越えるための Arm アーキテクチャへの移行が完了! そのプロセスを公開します
カミナシ エンジニアブログ
+Graviton プロセッサに置き換えると月々のコストをグッと押し下げることができるため、今年の 1 月頃から RDS と ECS の Arm アーキテクチャへの移行を始めました。今回はどのように進めてきたのかをご紹介します。
5ヶ月前
記事のアイキャッチ画像
監視ツールを迷ったら CloudWatch から始めてみるのもありなのでは
カミナシ エンジニアブログ
+こんにちは、新規プロダクトの開発をしています、a2 (@A2hiro_tim )です。 昨日、開発してきたプロダクトについて、正式リリースを発表させていただきました 🎉 prtimes.jp employee.kaminashi.jp さて、新規プロダクトの立ち上げは、技術選定や運用ツールの自由度が高く、どの監視ツールを使うか、選択に迷うこともあると思います。 我々のチームでは複数ツールの使用経験はあるものの、特定のツールの導入経験や深い知見があるメンバーはいなかったので、フラットに比較検討し、 Amazon CloudWatch の利用から始めてみよう、と意思決定しました。 主な選定理由は、…
5ヶ月前
記事のアイキャッチ画像
開発生産性 Conference 2024 で登壇してきました。
カミナシ エンジニアブログ
+どうもセキュリティエンジニアリングの西川です。 先日、株式会社Flatt Security のCCO豊田さんにお誘いいただき、カミナシのセキュリティの取り組みや開発生産性をどのように考えているかをファインディ株式会社主催の開発生産性Conference 2024 にてお話させていただきました。 当日の資料は下記です。 speakerdeck.com ※自動でライトがつく OR 無灯火を知らせるのページで左側の運転手が寝ていますがそれに意味はありません どういうことを話したか ざっくりですが、下記のような話をしました カミナシのサービスのセキュリティのオーナーシップは開発者が持っている セキュリ…
6ヶ月前
\ No newline at end of file diff --git a/blogs/45f756f73fb1751fcbbce2905b348409/index.html b/blogs/45f756f73fb1751fcbbce2905b348409/index.html new file mode 100644 index 000000000000..2248a48c8887 --- /dev/null +++ b/blogs/45f756f73fb1751fcbbce2905b348409/index.html @@ -0,0 +1,26 @@ +Blogccasionのフィード|JSer.info Watch List RSS

Blogccasion

フィード

記事のアイキャッチ画像
Playing with AI inference in Firefox Web extensions
Blogccasion
+Recently, in a blog post titledRunning inference in web extensions,Mozilla announced a pretty interesting experiment on their blog:We've recently shipped a newcomponentinside of Firefox that leveragesTransformers.js […] andthe underlying ONNX runtime engine. This componentlets you run any machine learning model that is compatible withTransformers.js in the browser, with no server-side calls beyond the initialdownload of the models. This means Firefox can run everything on your deviceand avoid sending your data to third parties.They expose this component to Web extensions under the browser.trial.mlnamespace. Where it gets really juicy is at the detail how models are stored(emphasis mine):Model files are stored using IndexedDB and shared across originsTypically when you develop an app with Transformers.js, the model needs to becached for eachorigin separately,so if two apps on different origins end up using the same model, the model needsto be downloaded and stored redundantly. (Together +
15時間前
記事のアイキャッチ画像
Testing browser-use, a scriptable AI browser agent
はてなブックマークアイコン 1
Blogccasion
+I'm not a big LinkedIn user, but the other day, my Google colleague FranziskaHinkelmannposted somethingabout a project calledbrowser-use that caught my eye:Got low stakes repetitive tasks in the browser? Playwright + LLMs (Gemini 2.0)to the rescue! Super easy to make somebody else cough agents cough do thework for you, especially if you have to repeat a task for many rows in aGoogle Sheet.After seeing her demo, I went and tried it out myself. Here are the steps thatworked for me on macOS:Install uv following theirinstallation instructions.(The usual caveat of first checking the source code before pasting anythingin the Terminal applies.)curl -LsSf https://astral.sh/uv/install.sh | lessCreate a new Python environment and activate it. This is from browser-use'squickstart instructions.uv venv --python 3.11source .venv/bin/activateInstall the dependencies and Playwright.uv pip install browser-useplaywright installCreate a .env file and add your OpenAI API key in the formOPENAI_API_KEY=abc1 +
3日前
記事のアイキャッチ画像
Eleventy (11ty) year, year-month, and year-month-day indexes
Blogccasion
+I love hackable URLs. A hackable URL is a URL that makes sense to a humanreader, and where the human reader can guess what to change to get to anotherpage. For example, if you look at the URL of this very blog post,https://blog.tomayac.com/2024/11/02/eleventy-11ty-year-year-month-and-year-month-day-indexes/,what would you expect happens if you hack the URL to any of the followingvalues?https://blog.tomayac.com/2024/11/02/ lists all posts thatwere published on November 2, 2024.https://blog.tomayac.com/2024/11/ lists all posts that werepublished in November, 2024.https://blog.tomayac.com/2024/ lists all posts that were publishedin 2024.https://blog.tomayac.com/ leads to this blog's home..eleventy.js 🔗If you have a URL structure that's similar to mine, feel free to copy therelevant excerpts quoted in the following snippet frommy .eleventy.jsand add them to your .eleventy.js. The _.chain() function is from thelodash library.// Year collectioneleventyConfig.addCollection('postsByYear', (co... +
3ヶ月前
記事のアイキャッチ画像
My response to the UK Competition and Markets Authority
Blogccasion
+The Open Web Advocacy (OWA) initiative intheir recent blog postApple adopts 6 of OWA's Choice Architecture Recommendationshighlighted the six recommendations that Apple has adopted from the group'srecommendations to comply with the EU's Digital Markets Act in relation tobrowser defaults and choice screens.In parallel, the UK Competition and Markets Authority (CMA) launched a MarketInvestigation Reference into mobile browsers and cloud gaming and have recentlypublished their list of remedies. While a great step in the right direction, theOWA aren't completely happy with the list.As a Web developer who addresses people across all platforms and regions,including iOS/macOS users in the UK, I followed theOWA's requestand sent the following email to the CMA. I am sharing it here for transparencyand encourage you to contact them, too, if you're concerned about the future ofthe Web.Dear CMA,First, a disclosure: I work for Google's Chrome team (tomac@google.com), but inthis email, I fully speak +
5ヶ月前
記事のアイキャッチ画像
The Web Conf 2024, Singapore: Trip report
Blogccasion
+Background 🔗The Web Conference (formerly known asWWW) is an international conference focused onexploring the current state and the evolution of the Web through the lens ofdifferent scientific disciplines, including computing science, social science,economics, and political sciences. It's organized by the Association forComputing Machinery (ACM) Special Interest Group on theWeb (SIGWEB) and is held annually in a differentlocation around the world. The 2024 conference took place in Singapore from May13 to 17. It's attended by 70% academia and 30% industry.Google was a Gold sponsor,together with TikTok.Conference 🔗Day 1 🔗Online trust day 🔗Keynote I: Factuality Challenges in the Era of Large Language ModelsSpeaker:Dr. Preslav Nakov,Professor and Department Chair of NLP, MBZUAIFact-checking the output of LLMs: Decompose the output of an LLM into itsindividual claims, decide which are check-worthy, check one-by-one:Factcheck-Bench: Fine-Grained Evaluation Benchmark for Automatic Fact-che... +
9ヶ月前
記事のアイキャッチ画像
So, what exactly did Apple break in the EU?
Blogccasion
+Disclaimer, just in case… 🔗I work for Google on the Chrome Developer Relations team. But for this post, Iwant to make it super duper clear that I'm speaking not on behalf of myemployer and that all views and opinions expressed in this blog post are purelymy own: Thomas Steiner's, the guy commonly known for his avatar with a greenhat, but today in my pajamas having my second morning coffee. Oh, thanks forasking, the two cats are Lluna (yes, with double 'l', it means moon in Catalan)Norris, looking at the camera, and Skinny Norris, looking out of the window.How I noticed 🔗With this out of the way, it's time to dive in and answer the question of whatexactly did Apple break in the EU? I'm physically located in the European Unionand my iPhone has a German SIM card. On January 30, 2024, I sent the followingtoot with attached screenshot(cropped here):Hope this is a bug in the beta, but opening previously installed Home ScreenWeb apps on iOS 17.4 (21E5184i) results in a prompt:Open "Example ... +
1年前
記事のアイキャッチ画像
Lenovo ThinkVision P27h-20 screen randomly turns off when connected to MacBook Pro
Blogccasion
+TheLenovo ThinkVision P27h-20screen I get from work is a decent 27 inch screen. Coming from the Retina screenof my laptop thatI worked on for a long time,I was initially (and still am) not impressed by the resolution of 2560×1440. Ittook some time to get used to the low resolution on such a big screen, but itgets the job done…My biggest gripe with the screen was that it just randomly turned off whenconnected to my MacBook Pro in clamshell mode. I finally found the culprit aftercombing through theConsole system logs forany trace for the longest time. I found out that the MacBook Pro thought thepower was changing from grid to battery and vice versa (all while beingconstantly on-power), and whenever it did that, the screen would turn off.The solution was to disable the "Smart Power" option in the screen's settings.According to themanual,the "Smart Power" option does the following:Smart Power intelligently distributes power to connected USB and USB Type-Cdevices, maximizing power supply ef +
1年前
記事のアイキャッチ画像
Wasm meetup Munich: A Wasm New Year! trip report
Blogccasion
+Background 🔗The WebAssembly meetup in Munich has a history thatreaches back to 2018.After a long Covid-related hiatus and a lack of organizers to pick up the ballagain, A Wasm New Year! was the first event under the new organizing team.Google always had a strong presence at the events, so to continue the traditionI happily agreed to offer a talk at the first post-Covid meetup.Talks 🔗Compiling to and Optimizing Wasm with Binaryen 🔗Speaker: Thomas SteinerIn the first half of the talk, I showed at the example of a toy programminglanguage that I called ExampleScript how to write a compiler with Binaryen thatcompiles the toy programming language to WebAssembly. In the second half, I thendemonstrated various optimization techniques in Binaryen and ways to use themfrom JavaScript with Binaryen.js and from the command line with tools likewasm-opt and wasm-merge.Resources:Compiling to and optimizing Wasm with BinaryenLLM inference with WebAssembly 🔗Speaker: Sven PfennigIn this talk, Sven sh... +
1年前
記事のアイキャッチ画像
W3C TPAC 2023 Trip Report
Blogccasion
+Background 🔗The 2023 edition of the World Wide Web Consortium (W3C) Technical Plenary andAdvisory Committee (TPAC) meeting took place from September 11 to 15 in theMeliã hotel in Seville,Spain. The hotel is located right next to thePlaza de España,a major Spanish tourist destination. The setup of the meeting was hybrid, and onsite, strict Covid precautions were enforced, even though the pandemic wasdeclared to be "over". Despite these methods, several people caught it. This ismy personal report as a representative of the Chrome DevRel team at Google.Monday, Tuesday 🔗Web Applications Working Group 🔗I attended theWeb Applications Working Group meetings onMonday and Tuesday. After a quick rundown of all the APIs in scope for theworking group, the first topic was theScreen Orientation API,which was mostly driven by questions and improvement proposals the WebKit folkshad after implementing it.Next, the group discussed the Badging API, which is only available afterinstallation, and browse... +
1年前
記事のアイキャッチ画像
Web Apps on macOS Sonoma 14 Beta
Blogccasion
+Executive summary 🔗With macOS Sonoma, Apple goes all-in on the concept of installable web apps.They're highly integrated in the overall macOS experience and don't give awaytheir web roots by not showing any Safari UI at all.Testing environment 🔗Tested on macOS Sonoma 14.0 Beta (23A5257q) with Safari version 17.0(19616.1.14.11.11). It probably doesn't matter, but the testing device was a13-inch, M1, 2020 MacBook Pro.Install experience 🔗On macOS Sonoma, you can add a website—any website, not just apps with amanifest—to your Dock. Go to the Share icon and click Add to Dock, oruse the menu item File > Add to Dock.Adding an app via the Share icon.Adding an app via the File menu.You can adjust the name and icon if desired. The URL is the URL you're on forpages without a manifest, or the start_url for pages with a manifest. It can'tbe changed. For pages without an icon, Safari will create a fallback icon basedon the first letter of the page's title.👀 Observation: Unlike on iOS/iPadOS, you... +
2年前
\ No newline at end of file diff --git a/blogs/47adc829d74ec34ab7209c805a3e728f/index.html b/blogs/47adc829d74ec34ab7209c805a3e728f/index.html new file mode 100644 index 000000000000..d8a79caf67b3 --- /dev/null +++ b/blogs/47adc829d74ec34ab7209c805a3e728f/index.html @@ -0,0 +1,26 @@ +Evan Hahn&#39;s blogのフィード|JSer.info Watch List RSS

Evan Hahn's blog

https://evanhahn.com/blog/

My blog, mostly about programming.

フィード

記事のアイキャッチ画像
LLMs: harmful to technical innovation?
はてなブックマークアイコン 1
Evan Hahn's blog
+In short: newer ideas have less available training data so the LLM experience will probably be worse. This could help existing technologies maintain their status.I’ve been playing with a few less-popular programming languages like Crystal, Zig, and Gleam. They’re super cool!I want more people to use them…but I understand why someone wouldn’t. Even if you pretend they’re 100% better on a “purely technical” level, you might choose a more popular language like Python because it has a bigger community. It’s easier to find Python programmers than Gleam programmers; there are more JavaScript libraries than Zig libraries; there are more tools made for Ruby than for Crystal.In other words, popularity can be self-perpetuating.I saw these ideas mentioned in “Why Gumroad Didn’t Choose htmx”, a story of how Gumroad evaluated htmx but ultimately decided to use React and Next.js, which are more established. Everything in the post felt level-headed and reasonable to me, even though I was rooting for +
6日前
記事のアイキャッチ画像
Notes from January 2025
Evan Hahn's blog
+Here are some poorly-organized notes from January 2025, which I hope might be of interest to somebody.A post of mine did well onlineThis month, I posted “My failed attempt to shrink all npm packages by 5%”. This post has been a draft since 2023 and I finally finished it.It did well, and I had a day of minor programmer fame.In the post, I chronicle my effort to compress JavaScript modules in a backwards-compatible way. I made an RFC to the npm folks, built proofs of concept, and attended a community meeting. Though the idea seemed like an obvious win at first, I later realized that the tradeoffs weren’t worth it and closed my proposal. I talked about the process and the lessons learned.To ensure someone would read it, I promoted my post in three places:On LobstersOn the fediverseOn EchoJS. (Nobody uses this site but everything I post there ends up in the popular JavaScript Weekly newsletter, and this was no exception.)Someone else took it to Hacker News, where it got the most attention. +
8日前
記事のアイキャッチ画像
My experience upgrading from iPhone 11 Pro to iPhone 16 Plus
Evan Hahn's blog
+In short: the phones are pretty similar, except for offline dictation which is much faster, making the upgrade worth it for my use case.I recently upgraded from an iPhone 11 Pro to an iPhone 16 Plus. My iPhone 11 was over 5 years old but in reasonably good shape, so I wasn’t sure about making the jump. After months of indecision, I made the switch.I’m writing this post for anyone else in a similar situation. I can’t tell you whether you should upgrade, but here were the differences I’ve noticed in the two weeks I’ve had the thing.Differences I’ve noticedHere are the main differences I’ve noticed between my iPhone 11 Pro and my iPhone 16 Plus:Much faster transcription. I’m a heavy user of Aiko, a simple app that does offline speech transcription. I use it to transcribe myself for things like notes, blog posts (like this one!), emails, and texts. I also use it to transcribe some podcasts and videos because it’s often faster to get the information that way.My 16 Plus is significantly fast +
11日前
記事のアイキャッチ画像
Whisper transcription vs. iPhone 11 Pro and iPhone 16 Plus: an informal test
Evan Hahn's blog
+
+In short: the iPhone 16 Plus is about twice as fast as the iPhone 11 Pro.Everyone seems to be talking about AI these days, but forget generative AI—I’m a constant user of dictation.I’m not an expert at any of this, but Whisper has been a game-changer for me, transforming transcription that felt ~90% effective to something that feels ~99% effective. I use it all the time! I transcribe my own voice a lot, dictating personal notes, emails, blog posts (like this one!), and even texts. I also sometimes transcribe other content, like podcasts and videos—it’s usually faster to read this stuff than to listen to it.When I was considering my upgrade from an iPhone 11 Pro to an iPhone 16 Plus, I wanted to know how much faster transcription would be. I use Aiko for this, and I wanted to know—how much faster would it be on the new phone? So I ran an informal test.I tested the transcription of two files:A 53-second video from Veronica ExplainsThe first chapter of a The Theory of the Leisure Class au +
11日前
記事のアイキャッチ画像
My failed attempt to shrink all npm packages by 5%
はてなブックマークアイコン 5
Evan Hahn's blog
+In 2022, I had an idea that could decrease the size of all newly-published npm packages by about 5%, and it was completely backwards compatible. This would have improved performance and reduced storage costs.I eagerly pitched this idea to the npm maintainers, convinced it was a clear win. But after a few months, my proposal was rejected. To be clear: I think this was the right call!Here’s what happened. I hope this story will be useful to others.Technical backgroundTwo things to know before diving in: how npm packages are distributed, and about the Zopfli compressor.npm packages are just gzipped tarballsFirst thing to know: npm packages are distributed as tar archives compressed with gzip. In other words, they’re just .tar.gz or .tgz files.You can download these archives using npm pack $PACKAGE_NAME:npm pack express && ls# => express-4.21.2.tgzIf you extract this tarball, you’ll see all of the package’s files, such as package.json.Zopfli, a gzip-compatible compressorThe second thing to +
12日前
記事のアイキャッチ画像
string-timing-safe-equal, a new Node package
Evan Hahn's blog
+I just published string-timing-safe-equal, a small Node package that compares strings in a way that’s resistant to timing attacks and handles Unicode weirdness. It’s basically a version of crypto.timingSafeEqual() that works with strings.If you’re not familiar, this mitigates timing attacks. In short, a hacker could use the duration of a string comparison to learn about a secret string.Example usage:import timingSafeEqual from "string-timing-safe-equal";timingSafeEqual("abc", "abc");// => truetimingSafeEqual("abc", "xyz");// => falseHope this is useful!
24日前
記事のアイキャッチ画像
A black cat in 2032 bytes
Evan Hahn's blog
+Taper describes itself as “an online literary magazine for small computational pieces”. Submissions need to be 2048 bytes or fewer.I submitted this little piece, “Light Switch”, to their 13th issue:The rest of this post describes how I did it.Shrinking the imageThe black cat is the most significant part of the piece. It’s a highly-edited version of a photo I took:This is a cute picture but it’s 2.5 megabytes, which is over 1000 times too big.After a lot of editing, I crushed it down to a 502-byte PNG. Here’s what it looks like in the final submission:I went through several steps to achieve this.I started by using iOS’s “lift a subject” feature to isolate the cat and remove the background. I still needed to do some editing, but it was a helpful first pass.I used Squoosh to change the color palette to just black and transparent. Black-and-white PNGs are generally smaller because each pixel can be stored with just one bit (0 for black, 1 for white/transparent)1. I also shrunk the image to +
1ヶ月前
記事のアイキャッチ画像
Makeshift hot reload: my submission to HTMHell 2024
Evan Hahn's blog
HTMHell’s Advent Calendar is a December celebration of cursed web development topics.My submission, “Makeshift hot reload”, was just published. It talks about a hacky, primitive alternative to hot reloading.Go give it a read!
2ヶ月前
記事のアイキャッチ画像
95% is very different from 99%
Evan Hahn's blog
+This post is a rant.I feel a vast difference between interfaces that work most of the time and ones that seem to work every time.Some interfaces that mostly work:AutocorrectGenerative AIFraud/bot detectionVideo game motion controlsWireless connections like wifi, BluetoothAudio transcriptionThese tools can be useful, but I think lots of people have been frustrated by them. Many of us have sent the word “ducking” in a text when they meant to say…a different word. Who hasn’t gotten annoyed at unreliable wifi or Bluetooth? Who hasn’t seen an AI “hallucination”?Other interfaces feel like they work 100% of the time:Pen and paperPhysical keyboards and miceTraditional video game controllers with buttonsWired connectionsFiles on your computerKitchen appliancesNone of these systems are perfect—I’ve had pens with low ink, files corrupted, wires frayed—but I think these frustrations are of a different class.I use my computer’s file system every day, and though I occasionally run into problems, the +
3ヶ月前
記事のアイキャッチ画像
A little trick to reduce Zoom bandwidth
Evan Hahn's blog
+In short: use Zoom’s floating thumbnail window to use less bandwidth.Video calls use a lot of data, and Zoom is no exception.If you’re on a call with a bunch of people and you want to reduce your data usage, here’s a simple trick: put Zoom into a mini floating thumbnail window. Instead of showing everybody on the call, it will just show one person in a tiny window, and it will only load that person’s tiny video.Here’s what that little window looks like:When doing this, I noticed my downloads go from about 900 kb/s to about 175 kb/s. That’s about ⅕ the size!Of course, it has a big disadvantage: you can only see one person in a tiny box! But it’s sometimes useful to do this when you’re having connection issues or you’re on a poor network. It can be a good alternative to asking everyone to turn their video off.This is a small tip, but I hope it’s useful!
3ヶ月前
\ No newline at end of file diff --git a/blogs/49e925f8440b25ae90d9171b8e90f5f0/index.html b/blogs/49e925f8440b25ae90d9171b8e90f5f0/index.html new file mode 100644 index 000000000000..aa920198d7af --- /dev/null +++ b/blogs/49e925f8440b25ae90d9171b8e90f5f0/index.html @@ -0,0 +1,18 @@ +Mux Blog - Video technology and moreのフィード|JSer.info Watch List RSS

Mux Blog - Video technology and more

https://www.mux.com/blog

Mux builds powerful APIs for video encoding, hosting, streaming and data. Come see what we're up to, and let's build better video.

フィード

記事のアイキャッチ画像
We have a Mux Player iframe, now!
Mux Blog - Video technology and more
We’re introducing an iframe embed option for Mux Player. It comes with all of Mux Player's features, plus more for social, SEO, and perceptual performance.
4日前
記事のアイキャッチ画像
Reducing friction with video through Vercel Marketplace's integration with Mux
Mux Blog - Video technology and more
Lee Robinson chats with Mux about the new Vercel Marketplace, the role of AI in the developer experience, and tips for aspiring content creators.
23日前
記事のアイキャッチ画像 +
Mux’s high-performance video now in the Vercel Marketplace
Mux Blog - Video technology and more
Integrating high-performance video into Vercel applications is easier than ever with Mux's new Vercel Marketplace app.
23日前
記事のアイキャッチ画像
Mux Rewind: our 2024 in review
Mux Blog - Video technology and more
+The end of the year is a great time to reflect on the bigger picture: what have we accomplished? Where are we headed? What can we celebrate?
2ヶ月前
記事のアイキャッチ画像
How we use ClickHouse as a real-time stream processing engine
Mux Blog - Video technology and more
At Mux, we replaced Flink and Postgres with ClickHouse to handle real-time stream processing. Here's how we scale and simplify our video architecture.
2ヶ月前
記事のアイキャッチ画像
Understand your video trends: Introducing Mux Engagement
Mux Blog - Video technology and more
Introducing Mux Engagement - a new way to understand your video trends and top-performing content. Get insights into viewer engagement, retention, and more.
2ヶ月前
記事のアイキャッチ画像
How we cut ClickHouse latency from 12s to 2s
Mux Blog - Video technology and more
Here's how we identified and fixed a performance bottleneck in our ClickHouse cluster during the ingestion of high-volume real-time data through Kafka.
2ヶ月前
記事のアイキャッチ画像
Mastering Video Uploads and Streaming: Insights from Theo Browne (t3.gg)
Mux Blog - Video technology and more
Theo Brown, a former Twitch engineer, shares his journey in tech and content creation, discussing the development of tools like Uploadthing and Ping, and the integration of Mux for better video streaming experiences.
2ヶ月前
記事のアイキャッチ画像
Why Glassdoor partnered with Mux to build UGC video quickly for their community +
Mux Blog - Video technology and more
Learn how Glassdoor was able to build UGC video quickly and easily with Mux, without all the pain and price of DIY.
3ヶ月前
記事のアイキャッチ画像
Powered by Mux: Get credits for your developer video content
Mux Blog - Video technology and more
Get Mux credits for serving your developer video content with Mux. In this post, learn about our new Powered by Mux program and how it works.
3ヶ月前
記事のアイキャッチ画像
Here's everything we launched in Fall 2024
Mux Blog - Video technology and more
Relive the terror of Mux Fall Launch Week: new Dropped Views metric, player themes, premium video quality options, and MP4 support for basic assets.
3ヶ月前
記事のアイキャッチ画像
The most requested feature for basic assets is here: MP4 support
Mux Blog - Video technology and more
MP4 support for basic assets has just been unlocked. MP4s are perfect for offline playback, social embeds, and more. Learn how you can start using them today.
3ヶ月前
記事のアイキャッチ画像
One size does not fit all: Introducing premium video quality for Mux Video
Mux Blog - Video technology and more
Introducing premium quality video level for live and on-demand videos. It optimizes quality for your premium content using AI-driven per-title encoding.
3ヶ月前
記事のアイキャッチ画像
The case of the dropped views: New data metric for the QoE sleuth
Mux Blog - Video technology and more
Introducing View Dropped Percentage — a new Mux Data metric to help you identify trends in unexplained dropped views.
3ヶ月前
記事のアイキャッチ画像
Instant clipping just got clippier: Now for any VOD asset
Mux Blog - Video technology and more
Instant clipping is now available for all on-demand video assets, allowing quick clip creation without encoding or storage costs.
3ヶ月前
\ No newline at end of file diff --git a/blogs/4acfdff77fa356c4db1517ff7d74feeb/index.html b/blogs/4acfdff77fa356c4db1517ff7d74feeb/index.html new file mode 100644 index 000000000000..4e0eebabb213 --- /dev/null +++ b/blogs/4acfdff77fa356c4db1517ff7d74feeb/index.html @@ -0,0 +1,134 @@ +software engineering, open source projects, startups, product design, strategy, web performance, security, and moreのフィード|JSer.info Watch List RSS

software engineering, open source projects, startups, product design, strategy, web performance, security, and more

https://www.trevorlasn.com

+I'm a seasoned software engineer and product strategist with entrepreneurial drive. Since 2014, I've built successful products from scratch, led engineering teams, and shared my technical insights through writing since 2017.

フィード

記事のアイキャッチ画像 +
Keep Your Node.js Apps Secure with `npx is-my-node-vulnerable`
はてなブックマークアイコン 1
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
This package compares your Node.js version against the Node.js Security Database, providing immediate feedback about potential security risks.
10日前
記事のアイキャッチ画像
Native Popover Element with HTML
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Create overlays and dropdowns easily with the native HTML popover API
15日前
記事のアイキャッチ画像
WeakRefs in JavaScript: Explained In Simple Terms
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Understanding how WeakRef helps manage memory in JavaScript
1ヶ月前
記事のアイキャッチ画像
Honey Quietly Hijacked Creator Revenue Through Affiliate Link Switching
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
+Honey's controversial affiliate link practices and what it teaches us about Silicon Valley's ethics
1ヶ月前
記事のアイキャッチ画像
AsyncLocalStorage: Simplify Context Management in Node.js
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
How AsyncLocalStorage solves context management in asynchronous Node.js apps
2ヶ月前
記事のアイキャッチ画像
scrollbar-width & scrollbar-gutter: CSS Properties for Layout Control
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Prevent content shifts and refine scrollable UIs with scrollbar-width and scrollbar-gutter
2ヶ月前
記事のアイキャッチ画像
Add Auth to Astro 5 with Clerk in 5 Minutes
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
The simplest setup for adding Clerk authentication to your Astro project, with minimal code
2ヶ月前
記事のアイキャッチ画像
+CSS ::target-text for Text Highlighting
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
A look at how browsers can highlight text fragments using CSS ::target-text, making text sharing and navigation more user-friendly
2ヶ月前
記事のアイキャッチ画像
align-content: The Simplest Way to Center Content with CSS
+software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Finally, we can center things in block layouts without flexbox gymnastics
2ヶ月前
記事のアイキャッチ画像
Form Validation That Doesn't Annoy Users: CSS :user-valid and :user-invalid
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
The new pseudo-classes :user-valid and :user-invalid give us a smarter way to style form validation states based on user interaction
2ヶ月前
記事のアイキャッチ画像
LinkedIn is Drowning in AI Generated Content Slop
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
+One-line paragraphs, LinkedIn broetry, and the inevitable 'Agree?' - welcome to your AI-generated feed
2ヶ月前
記事のアイキャッチ画像
HTML Details Element: The Native Accordion You're Not Using
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Discover how the HTML details element can replace your JavaScript accordions and why it might be better than your current solution
2ヶ月前
記事のアイキャッチ画像
Tattoos Won't Break Your Tech Career
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Building a tech career with a sword tattooed on my neck
2ヶ月前
記事のアイキャッチ画像
What Makes a Great Engineering Manager?
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
People don't quit jobs, they quit bad managers. Here's what great engineering leadership actually looks like
2ヶ月前
記事のアイキャッチ画像
navigator.clipboard - The New Asynchronous Clipboard API in JavaScript
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Copy and paste text, images, and files using the new navigator.clipboard API
2ヶ月前
記事のアイキャッチ画像
CSS @supports: Write Future-Proof CSS
+software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Detect CSS feature support and provide smart fallbacks with @supports
2ヶ月前
記事のアイキャッチ画像
CSS Supports Nesting Now
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
+CSS nesting is finally supported in all major browsers. Write cleaner, organized stylesheets without Sass or Less
2ヶ月前
記事のアイキャッチ画像
CSS content-visibility: The Web Performance Boost You Might Be Missing
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
The content-visibility CSS property delays rendering an element, including layout and painting, until it is needed
2ヶ月前
記事のアイキャッチ画像
CSS :has() - The Parent Selector We've Always Wanted
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Transform your CSS with :has(), the game-changing selector that finally lets us style elements based on their children.
2ヶ月前
記事のアイキャッチ画像
link rel='modulepreload': Optimize JavaScript Module Loading
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
The rel='modulepreload' indicates that a module script should be fetched, parsed, and compiled preemptively, and stored for later execution
2ヶ月前
記事のアイキャッチ画像
LH and RLH: The CSS Units That Make Vertical Spacing Easy
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Exploring new CSS line-height units that eliminate guesswork from vertical rhythm
2ヶ月前
記事のアイキャッチ画像
The HTML Native Search Element
+software engineering, open source projects, startups, product design, strategy, web performance, security, and more
The search HTML element is a container that represents the parts of the web page with search functionality
2ヶ月前
記事のアイキャッチ画像
Web Performance API: Measure What Matters
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
+From slow to fast: Using JavaScript's Performance API to optimize web apps
2ヶ月前
記事のアイキャッチ画像
HTTP CONNECT: Building Secure Tunnels Through Proxies
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Understand how HTTP CONNECT enables HTTPS traffic through proxies
2ヶ月前
記事のアイキャッチ画像
Preloading Responsive Images
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
How to properly preload responsive images to improve initial page load
2ヶ月前
記事のアイキャッチ画像
You Don't Own Your Social Media Accounts
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Social platforms promise exposure but quietly hold your audience hostage
2ヶ月前
記事のアイキャッチ画像
Working with JavaScript's Scheduler API
+software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Learn how to prioritize and control task execution in JavaScript using the new Scheduler API for better performance and user experience
2ヶ月前
記事のアイキャッチ画像
WebAssembly (Wasm): When (and When Not) to Use It
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Understanding the real use cases for WebAssembly beyond the performance hype
2ヶ月前
記事のアイキャッチ画像
Sentry's LLM Integration Makes Error Debugging Actually Smart
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
How Sentry.io is using Large Language Models to transform error debugging from mindless stack trace reading to intelligent problem-solving
2ヶ月前
記事のアイキャッチ画像
The Fight to Free JavaScript from Oracle's Control
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
The creator of JavaScript and Node.js are challenging Oracle's control over the JavaScript name
3ヶ月前
記事のアイキャッチ画像
Recursion Explained In Simple Terms
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Understanding recursion through real examples - why functions call themselves and when to use them
3ヶ月前
記事のアイキャッチ画像
Node.js Corepack: Version Control for Package Managers
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Manage yarn and pnpm versions consistently across your team
3ヶ月前
記事のアイキャッチ画像
Can OSSPledge Fix Open Source Sustainability?
+software engineering, open source projects, startups, product design, strategy, web performance, security, and more
The Open Source Pledge aims to address open source sustainability challenges by encouraging companies to pay $2,000 per developer per year
3ヶ月前
記事のアイキャッチ画像
JavaScript Sets and Maps: Beyond Arrays and Objects
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
How to handle unique values and key-value pairs properly without type coercion and performance issues
3ヶ月前
記事のアイキャッチ画像
Precise Decimal Math in JavaScript with Fraction.js
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
How to handle exact decimal calculations in JavaScript when floating-point precision isn't good enough
3ヶ月前
記事のアイキャッチ画像
Exploring JavaScript Symbols
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Deep dive into JavaScript Symbols - what they are, why they matter, and how to use them effectively
3ヶ月前
記事のアイキャッチ画像
Ghost Jobs Should Be Illegal
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
How fake job postings became a systemic problem in tech recruiting
3ヶ月前
記事のアイキャッチ画像
Can Scrum Be Salvaged?
+software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Scrum is failing engineering teams and what it's actually costing us
3ヶ月前
記事のアイキャッチ画像
Understanding Bitwise Shifts in JavaScript: << and >>
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
+A practical guide to left and right shift operators in JavaScript
3ヶ月前
記事のアイキャッチ画像
JavaScript Import Attributes (ES2025)
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Understanding the new import attributes syntax and why we can't rely on file extensions alone
3ヶ月前
記事のアイキャッチ画像
Promise.try: Unified Error Handling for Sync and Async JavaScript Code (ES2025)
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Stop mixing try/catch with Promise chains - JavaScript's new Promise.try handles return values, Promises, and errors uniformly
3ヶ月前
記事のアイキャッチ画像
Why I moved from Google Analytics to Simple Analytics
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
How I ditched Google Analytics bloat for a privacy-focused analytics tool that bypasses ad blockers
3ヶ月前
記事のアイキャッチ画像
JavaScript's &&= Operator: Understanding Logical AND Assignment
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Use the &&= operator to safely update truthy values while preserving falsy states
3ヶ月前
記事のアイキャッチ画像
+JavaScript's ??= Operator: Default Values Made Simple
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
A guide to using ??= in JavaScript to handle null and undefined values elegantly
3ヶ月前
記事のアイキャッチ画像
When Will We Have Our First AI CEO?
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
+Welcome to the future of corporate leadership. It's efficient, profitable, and utterly inhuman
3ヶ月前
記事のアイキャッチ画像
The Monday Morning Test to Measure Engineering Team Health
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Why the first day back can reveal everything about your engineering team's health
3ヶ月前
記事のアイキャッチ画像
Pkl: Apple's New Configuration Language That Could Replace JSON and YAML
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
A deep dive into Pkl, Apple's configuration language that aims to replace JSON and YAML
3ヶ月前
記事のアイキャッチ画像
No, Quantum Computers Won't Break All Encryption
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Symmetric encryption algorithms like Advanced Encryption Standard (AES) are largely quantum-resistant already
3ヶ月前
記事のアイキャッチ画像
Introducing the Legendary Programmer Hall of Fame
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Meet the innovators who laid the foundation for modern computing. Their contributions span decades, creating the tools and concepts developers use every day.
3ヶ月前
記事のアイキャッチ画像
+What is the JavaScript Pipeline Operator |>
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
A deep dive into how pipeline operators can make your code more readable and maintainable
3ヶ月前
記事のアイキャッチ画像
Stop Using localStorage for Sensitive Data: Here's Why and What to Use Instead
+software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Understanding the security risks of localStorage and what to use instead for tokens, secrets, and sensitive user data
3ヶ月前
記事のアイキャッチ画像
JavaScript Truthy and Falsy: A Deep Dive
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
+Grasp JavaScript's type coercion with practical examples and avoid common pitfalls
3ヶ月前
記事のアイキャッチ画像
JavaScript Operators: '||' vs '&&' vs '??'
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Master JavaScript logical operators with practical examples and best practices
3ヶ月前
記事のアイキャッチ画像
Inside the CSS Engine: CSSOM Explained
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
A deep dive into how browsers parse and manipulate CSS, its impact on web performance, and why it matters
3ヶ月前
Why Browsers Block CSS File Modifications
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Understanding CSS Object Model (CSSOM), browser security and practical alternatives for dynamic styling
3ヶ月前
記事のアイキャッチ画像
How to Land Your First Tech Job
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
A developer's guide to tech interviews - from someone who sits on both sides of the table
3ヶ月前
記事のアイキャッチ画像
Why Anthropic (Claude AI) Uses 'Member of Technical Staff' for All Engineers (Including Co-founders)
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Inside Anthropic's unique approach to preventing talent poaching and maintaining organizational equality
4ヶ月前
記事のアイキャッチ画像
Offload Your Third Party Scripts With Cloudflare Zaraz
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
+How I used Cloudflare Zaraz to offload third party scripts and improve my website performance.
4ヶ月前
記事のアイキャッチ画像
SecretLint — A Linter for Preventing Committing Credentials
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
A guide to catching and preventing credential leaks in your code using Secretlint
4ヶ月前
記事のアイキャッチ画像
Repopack: Pack Your Entire Repository Into A Single File
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
A tool that packages your code to easily share with LLM models.
4ヶ月前
記事のアイキャッチ画像
Software Engineer Titles Have (Almost) Lost All Their Meaning
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Examining the Devaluation of Software Engineer Titles and Its Impact on Tech Industry Integrity
4ヶ月前
記事のアイキャッチ画像
Optimize Your Astro Site's <head> with astro-capo +
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Learn how to automatically improve your Astro site's performance using astro-capo
4ヶ月前
記事のアイキャッチ画像
How To Implement Content Security Policy (CSP) Headers For Astro
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
+Content Security Policy (CSP) acts like a shield against XSS attacks. These attacks are sneaky - they trick your browser into running malicious code by hiding it in content that seems trustworthy. CSP's job is to spot these tricks and shut them down, while also alerting you to any attempts it detects.
4ヶ月前
記事のアイキャッチ画像
VoidZero: Threat or Catalyst for Open Source JavaScript Tooling?
+software engineering, open source projects, startups, product design, strategy, web performance, security, and more
When Evan You announced VoidZero, I'll admit - I got excited. And a little nervous.
4ヶ月前
記事のアイキャッチ画像
Open Dyslexic Font: Improve Your Web Accessibility
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
+How to implement the Open-Dyslexic font to enhance readability for users with dyslexia
4ヶ月前
記事のアイキャッチ画像
Small Habits, Big Impact
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
We're often focused on big innovations and breakthrough moments. But what if the real key to long-term success lies in the small, everyday actions we often overlook?
4ヶ月前 +
記事のアイキャッチ画像
Is Age Really a Factor in Tech?
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Silicon Valley has a reputation for youth worship. The 'move fast and break things' mentality often translates to a preference for younger, supposedly more adaptable workers.
4ヶ月前
記事のアイキャッチ画像
How to Launch Software Projects On Time and On Budget
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Learn the art of scope management to keep your projects fixed in time and cost
4ヶ月前
記事のアイキャッチ画像
The Credit Vacuum
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Being a developer sometimes feels like being the goalkeeper in a soccer match. You make a hundred great saves, and no one bats an eye. But let one ball slip through, and suddenly you're the village idiot.
4ヶ月前
記事のアイキャッチ画像
A Company Is Not a Family. It's a Sports Team
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
'We're not just a company, we're a family!' It's a nice sentiment, sure. But it's also a load of crap.
4ヶ月前
記事のアイキャッチ画像
Build Your Army
+software engineering, open source projects, startups, product design, strategy, web performance, security, and more
If you want to do great things, you'll need people with skills that complement yours. You can't do everything yourself. You need a team. You need an army. You need to build your army.
4ヶ月前
記事のアイキャッチ画像
Cloudflare Study: 39% of Companies Losing Control of Their IT and Security Environment
+software engineering, open source projects, startups, product design, strategy, web performance, security, and more
New research reveals a shocking loss of control in corporate IT environments
4ヶ月前
記事のアイキャッチ画像
When Tasked with a Problem, Start with the Bigger Picture
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
+When faced with a challenge, I always step back to see the whole picture first. It's like pausing a complex strategy game to study the map. You might lose a few seconds of play time, but you gain a crucial understanding of the battlefield.
4ヶ月前
記事のアイキャッチ画像
Barnacle Strategy for Startups
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
+As a founder, you're always on the lookout for smart ways to grow your startup without burning through your limited resources. That's where the barnacle strategy comes in.
4ヶ月前
記事のアイキャッチ画像
Micro Frontends: The LEGO Approach to Web Development
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
+Explore the concept of micro frontends in web development, understand their benefits, and learn when this architectural approach is most effective for building scalable applications.
4ヶ月前
記事のアイキャッチ画像
Google's Journey: From Search Engine to Tech Giant
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
+Exploring the key innovations and strategies that transformed Google into a global technology leader
4ヶ月前
記事のアイキャッチ画像
Amazon's Rise to Tech Titan: A Story of Relentless Innovation
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
How Jeff Bezos' 'Day 1' philosophy turned an online bookstore into a global powerhouse
4ヶ月前
+
記事のアイキャッチ画像
Apple's Secret Sauce: The Untold Stories Behind Its Success
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Diving deep into the lesser-known factors that propelled Apple from a garage startup to a tech titan
4ヶ月前
What's the Number One Thing Holding Most People Back from Reaching Their Full Potential?
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Discover the biggest obstacle to success in tech and learn how to overcome it
4ヶ月前
記事のアイキャッチ画像
Self-Taught Developer's Guide to Thriving in Tech
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
How to turn your non-traditional background into your biggest asset
4ヶ月前
記事のアイキャッチ画像
Make It Work First Before Optimizing
+software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Users don't care how elegant your code is. They care if it solves their problem.
4ヶ月前
記事のアイキャッチ画像
Minimum Viable Documentation
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
How to create essential documentation that actually gets read and used. +
4ヶ月前
記事のアイキャッチ画像
You Can Choose to Be Someone Who's Competent in Many Things, or Unbelievably Good at One Thing
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Should you diversify your skills or specialize?
4ヶ月前
記事のアイキャッチ画像
Write Documentation Like a Journalist
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Create comprehensive, engaging documentation by adopting journalistic techniques for research and storytelling
4ヶ月前
記事のアイキャッチ画像 +
Cloudflare's AI Content Control: Savior or Threat to the Open Web?
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
How Cloudflare's new AI management tools could revolutionize content creation, potentially reshaping the internet landscape for both website owners and AI companies.
4ヶ月前
記事のアイキャッチ画像
Conway's Law: The Hidden Force Shaping Your Software Architecture
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
If you've ever wondered why your carefully planned software architecture ends up looking suspiciously like your org chart, you're not alone. Welcome to the world of Conway's Law.
4ヶ月前
記事のアイキャッチ画像
Internal Mobility
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Just like a utility player on a sports team discovering their ideal position, internal mobility allows you to explore different areas of engineering and find your true passion.
5ヶ月前
記事のアイキャッチ画像
Outdated Docs Are Tech Debt
+software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Teams often neglect to create good documentation. Code gets delivered, but updating the docs is treated as a secondary task, easily postponed—until it’s too late.
5ヶ月前
記事のアイキャッチ画像
Attracting Top Engineering Talent to Your Startup
software engineering, open source projects, startups, product design, strategy, web performance, security, and more +
Advice on competing for great software engineers without name recognition
5ヶ月前
記事のアイキャッチ画像
Weeks of Coding Can Save You Hours of Planning
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
+Weeks of coding can save you hours of planning. It’s one of those sayings that’s been around forever, and for good reason—it’s a warning that still holds up today.
5ヶ月前
記事のアイキャッチ画像
It's More Fun to Be Competent
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
+Once you're competent, everything changes. You stop second-guessing yourself. You stop panicking every time you encounter a new problem. And you start taking on bigger challenges with excitement rather than dread.
5ヶ月前
記事のアイキャッチ画像
Code Wins Arguments
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
How Meta and other companies use the 'code wins arguments' mindset to turn ideas into reality
5ヶ月前
記事のアイキャッチ画像
Take Your Writing Seriously
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
It’s not just about getting the message across; it’s about doing so in a way that’s easy for others to follow. Good writing shows respect for your team and your work.
5ヶ月前
記事のアイキャッチ画像
Users Can Be Fired
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Letting go of difficult or harmful users can be the key to maintaining the health and growth of your product
5ヶ月前
記事のアイキャッチ画像
A Great Product Doesn't Need Marketing
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Great products speak for themselves, without the need for massive marketing campaigns
5ヶ月前
記事のアイキャッチ画像
dependency-time-machine: An Easier Way to Update NPM packages
+software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Automatically update your package.json dependencies one by one in chronological order, ensuring compatibility and reducing errors
5ヶ月前
記事のアイキャッチ画像
Engineering Managers Should Write Code
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Engineering managers who stop writing code lose touch with their teams and become ineffective leaders
5ヶ月前
記事のアイキャッチ画像
Amazon's 'No Weasel Words' Rule
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
How Amazon's emphasis on eliminating weasel words leads to more precise, actionable communication and better decision-making
5ヶ月前
記事のアイキャッチ画像
The Real Cost of Meetings: What FAANG Companies Do Differently
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Discover how FAANG companies like Amazon, Google, and Netflix reduce the hidden costs of meetings by embracing written communication and minimizing unnecessary gatherings.
5ヶ月前
記事のアイキャッチ画像
What's New in Express.js v5.0
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
A detailed look at the key changes and improvements in Express v5.0 and how to migrate your app
5ヶ月前
記事のアイキャッチ画像
What Makes MrBeast So Successful? The Secrets Behind His YouTube Empire
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
A deep dive into the strategies, mindset, and team culture that have made MrBeast one of the most successful creators on YouTube
5ヶ月前
記事のアイキャッチ画像
Evolve or Become Irrelevant
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Why staying relevant in tech means constantly adapting to new technologies and trends
5ヶ月前
記事のアイキャッチ画像
Speculation Rules API: Boosting Web Performance with Prefetching and Prerendering
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
+How the experimental Speculation Rules API improves web performance by prefetching and prerendering future navigations
5ヶ月前
記事のアイキャッチ画像
Company Culture Happens Outside Management
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Why real company culture grows from the ground up, not top down.
5ヶ月前
記事のアイキャッチ画像
Improve PageSpeed Insights Score with Lazy Loading Iframes
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
How to save bandwidth and speed up your site by lazy-loading iframes
5ヶ月前
記事のアイキャッチ画像
Speed Up Your Website With rel='preconnect' and increase PageSpeed Insights Score
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Using link rel='preconnect' can improve your website's performance by reducing connection setup times to key external domains.
5ヶ月前
記事のアイキャッチ画像
The Crutch Effect: How AI Tools Became A Crutch
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Introducing The Crutch Effect
5ヶ月前
記事のアイキャッチ画像
Mental Toughness is the Best Quality a Developer Can Have
+software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Mental toughness gets developers through challenges like debugging, picking up new tools, and hitting tight deadlines. It’s about staying calm and pushing through when things get tough.
5ヶ月前
記事のアイキャッチ画像
When Should You Actually Worry About Tech Debt?
+software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Technical debt isn't the monster under your bed, but it can become one if ignored too long.
5ヶ月前
記事のアイキャッチ画像
Google is Killing Information Economics on the Internet
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Google’s Gemini pulls summaries from websites and slaps them directly into the search results
5ヶ月前
記事のアイキャッチ画像
Tips for Reducing Cyclomatic Complexity
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
+Cyclomatic complexity is like counting how many ways a car can go. More options make it harder to drive because you have to make more decisions, which can lead to confusion.
5ヶ月前
記事のアイキャッチ画像
The Internet is Becoming an Ocean of LLM-Generated Junk
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
+The internet’s full of content, but most of it is becoming junk. I’m talking about the stuff generated by Large Language Models (LLMs). These AI tools are cranking out endless articles, and the quality? It's bad—really bad.
5ヶ月前
記事のアイキャッチ画像
setImmediate() vs setTimeout() in JavaScript
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
+both setImmediate() and setTimeout() are used for scheduling tasks, but they work differently.
5ヶ月前
記事のアイキャッチ画像
Unrealistic Deadlines In Software Engineering
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Unrealistic deadlines are more than just stressful—they set engineers up for failure
5ヶ月前
+
記事のアイキャッチ画像
Understanding JavaScript Closures With Examples
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Closures are essential for creating functions that maintain state, without relying on global variables.
5ヶ月前
記事のアイキャッチ画像
Explicit is better than implicit
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Clarity is key: being explicit makes your code more readable and maintainable.
5ヶ月前
記事のアイキャッチ画像
AggregateError in JavaScript
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
AggregateError helps you handle multiple errors at once in JavaScript. This makes your code easier to manage and more reliable.
5ヶ月前
記事のアイキャッチ画像
Comprehensive React Testing: Handling API Calls with Mock Service Worker
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Testing can be tricky, especially when it comes to handling API calls.
5ヶ月前
記事のアイキャッチ画像
Chrome Is Beta Testing Built-In AI. Could This Kill a Lot of Startups?
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
+The Power Play: Gemini Nano in Chrome
5ヶ月前
記事のアイキャッチ画像
Embrace Intermediate Variables and Early Returns in JavaScript
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Early returns and intermediate variables make your code easier to reason about
5ヶ月前
+
記事のアイキャッチ画像
When Regex Goes Wrong
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Issues and catastrophic failures caused by regex
5ヶ月前
記事のアイキャッチ画像
Invisible columns in SQL
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
It’s a small feature, but it can make a big difference.
5ヶ月前
記事のアイキャッチ画像
Objective-C Is a Total Abomination (opinion)
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Objective-C is, without a doubt, one of the ugliest programming languages out there
5ヶ月前
記事のアイキャッチ画像
Understanding Vue's Suspense
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
+How the Suspense component manages async dependencies and improves loading states in Vue apps
6ヶ月前
記事のアイキャッチ画像
The Only Widely Recognized JavaScript Feature Ever Deprecated
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
The 'with' statement is the only feature ever deprecated in JavaScript
6ヶ月前 +
記事のアイキャッチ画像
10 Essential Terminal Commands Every Developer Should Know
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
List of useful Unix terminal commands to boost your productivity. Here are some of my favorites.
6ヶ月前
記事のアイキャッチ画像
Remove Unnecessary NPM Packages with eslint-plugin-depend
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
We don't need packages to handle basic JavaScript tasks
6ヶ月前
記事のアイキャッチ画像
Common Causes of Memory Leaks in JavaScript
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Identify and fix common JavaScript memory leaks (Node.js and Deno.js)
6ヶ月前
記事のアイキャッチ画像
Secure Your Repositories: Prevent Credential Leaks with Gitleaks
+software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Automate security flows and ensure your team follows security best practices
6ヶ月前
記事のアイキャッチ画像
Who is the fastest? Node.js, Bun.js, or Deno.js
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
+A detailed comparison of Node.js, Bun.js, and Deno.js runtime performance
6ヶ月前
記事のアイキャッチ画像
Technical Debt Is Killing Your Business
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
And it will be your downfall if you choose to ignore it
6ヶ月前
記事のアイキャッチ画像
Frontend Security Checklist
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Tips for Keeping All Frontend Applications Secure
6ヶ月前
記事のアイキャッチ画像
Speeding Up React Apps with Code Splitting and Lazy Loading
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Performance is not a luxury; it's a necessity
1年前
記事のアイキャッチ画像
Staying Motivated While Building Your Startup: A Balanced Approach
+software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Building a startup is an exhilarating journey, filled with highs and lows
1年前
記事のアイキャッチ画像
The What, Why, and How of Using a Skeleton Loading Screen
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
+Skeleton loading screens enhance user experience and make your app feel faster
4年前
記事のアイキャッチ画像
Sharp: A High-Performance Image Processing Library for Node.js
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Sharp is a high-performance package for resizing and formatting images
4年前
+
記事のアイキャッチ画像
Integrating Docker with React
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Streamline your development and deployment processes
5年前
記事のアイキャッチ画像
How To Restore Your Passion for Programming
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Programming is a difficult skill to master and requires great perseverance to get good at. The grind can be too much at times — remember, if something is hard, it’s worth doing, as nothing good comes easy.
5年前
記事のアイキャッチ画像
What Does an Entry-Level Programmer Need to Know Exactly?
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Expectations for entry-level programmers
5年前
記事のアイキャッチ画像
Mermaid.js — Create Charts and Diagrams With Markdown-like Syntax
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Mermaid.js is a simple markdown-like script language for generating charts from text via JavaScript
5年前
記事のアイキャッチ画像
Become a Web Developer in 180 Days
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
+A comprehensive roadmap to becoming a proficient web developer
5年前
記事のアイキャッチ画像
Peaks.js — Interact With Audio Waveforms
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Peaks.js is a client-side JavaScript component to display and interact with audio waveforms in the browser
5年前
+記事のアイキャッチ画像
Boost React + Redux Performance with Reselect
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Selectors are a powerful tool to optimize state selection and enhance performance in your React and Redux apps.
5年前
+記事のアイキャッチ画像
Programming Trends to Watch in 2020 and Beyond
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Here are my bets on the programming trends
6年前
記事のアイキャッチ画像
How To Fetch Data From an API With React Hooks
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Fetch data in React applications using the power of React Hooks
6年前
記事のアイキャッチ画像
How To Use Redux with React Hooks
+software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Write less code, but better code
6年前
記事のアイキャッチ画像
Demystifying React Hooks
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Hooks can save you time and improve the quality of your code
6年前
+
記事のアイキャッチ画像
The Secret to Being a Top Developer Is Building Things
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
You can only become a great developer if you're willing to put effort into it
7年前
記事のアイキャッチ画像
All You Need To Know About CSS-in-JS
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
An overview of CSS-in-JS and its relevance in modern web development
7年前
記事のアイキャッチ画像
Next.js — React Server-Side Rendering Done Right
software engineering, open source projects, startups, product design, strategy, web performance, security, and more
We’re officially in the age of server-side rendered react apps
7年前
記事のアイキャッチ画像
How to setup Webpack +2.0 from scratch in 2017
+software engineering, open source projects, startups, product design, strategy, web performance, security, and more
Webpack is another evolution in the JavaScript tooling ecosystem
8年前
\ No newline at end of file diff --git a/blogs/4b65f14c98a6356af9b8e3a6a4292d78/index.html b/blogs/4b65f14c98a6356af9b8e3a6a4292d78/index.html new file mode 100644 index 000000000000..f120018f27f2 --- /dev/null +++ b/blogs/4b65f14c98a6356af9b8e3a6a4292d78/index.html @@ -0,0 +1,27 @@ +Parcel Blogのフィード|JSer.info Watch List RSS

Parcel Blog

フィード

記事のアイキャッチ画像
Parcel 2 alpha 1 is here!
Parcel Blog
+Today I’m incredibly excited to release the first alpha version of Parcel 2! Please try it out and help us take Parcel 2 to the finish line. Check it out on GitHub!Parcel 2 is a ground up rewrite of Parcel that we’ve been working on for over a year, and designing for almost a year before that. It incorporates everything we’ve learned building Parcel since the beginning, and the result is more extensible, scalable, and reliable than Parcel 1, while retaining the ease of use and developer experience you’ve come to expect from Parcel. 🎛 Extensibility — Parcel 2 is fully extensible, from end to end. The plugin types have been expanded to allow extending and overriding nearly all of the core behavior with easy to configure pipelines. While the default settings include everything in Parcel 1 (and more), now you can customize and extend just about everything if you need to. ⚖️ Scalability — While Parcel has always utilized parallelism and caching to scale to large applications, this is taken... +
5年前
記事のアイキャッチ画像
Parcel 2 beta 1
Parcel Blog
+The Parcel team is super excited to release the first beta of Parcel 2 today! This marks the first Parcel 2 release that’s more stable than our nightly and alpha releases, and our commitment to avoid changing most user facing APIs. Please try it out and give us your feedback on GitHub!It’s been a while since our last alpha release, and there has been a ton of active development on Parcel 2 in the meantime. We’ve been focusing on stability, performance, and reliability as we prepare for our stable v2 release, but we’ve managed to sneak in a few new features too! 🌳 Improved tree shaking — Parcel’s tree shaking implementation has improved tremendously since the last alpha release. In addition to a ton of bug fixes and performance improvements, Parcel 2 now produces source maps for tree shaken bundles, and displays friendly error messages when you reference an unknown symbol. 🗺 Faster source map generation— Parcel now has a brand new source map module, hand tuned for our specific usecase... +
5年前
記事のアイキャッチ画像
Parcel 2 beta 3
Parcel Blog
+The Parcel team is excited to release Parcel 2 beta 3! This release includes a ground up rewrite of our JavaScript compiler in Rust, which improves overall build performance by up to 10x. In addition, this post will cover some other improvements we’ve made to Parcel since our last update, along with our roadmap to a stable Parcel 2 release.10x faster JavaScript compiler written in Rust 🚀Over the past few months, we’ve been working on rewriting our JavaScript compiler in Rust! Parcel's JavaScript compiler is responsible for detecting dependencies in your code (like import statements and new Worker() calls), inlining process.env variables and other Node globals, and performing scope hoisting.In addition, Parcel automatically transpiles your source code for your configured browserslist targets, along with non-standard syntax like JSX and TypeScript, and development features like React Fast Refresh.Previously, all of this was implemented in JavaScript on top of a Babel AST. While we had m... +
4年前
記事のアイキャッチ画像
Parcel 2 RC
Parcel Blog
+The Parcel team is very excited to announce the first Parcel 2 release candidate! This release includes many improvements, including new features, better performance, API consistency, and lots of bug fixes and stability improvements.Automatic differential bundling via native ES modulesParcel 2 now automatically generates both native ES modules for modern browsers and fallback classic scripts for old browsers. This reduces bundle sizes significantly for a majority of users by shipping modern syntax rather than transpiling to ES5.Classic scripts vs. ES modulesOne of Parcel’s fundamental design goals has always been to work like the web does. We try to avoid lock in by following web standards and not inventing Parcel-specific syntax or features as much as possible. One place where this was not true in Parcel v1 was the way Parcel handled <script> tags in HTML. Previously, Parcel would treat all scripts as modules, including support for import and export statements, and isolating each file +
4年前
記事のアイキャッチ画像
Announcing Parcel v2!
Parcel Blog
+The Parcel team is beyond excited to announce that v2.0.0 stable is now available! 🎉Parcel 2 brings the zero configuration experience you know and love from Parcel 1, and makes it scalable and extensible to projects of any size and complexity. It is already being used in production at some of the biggest companies in the industry including Atlassian, Adobe, and Microsoft.Check out our new website and documentation, and the repo on GitHub!What's new in Parcel 2?Parcel 2 is a ground up rewrite of Parcel that has touched every aspect. If you haven’t followed along with our pre-release blog posts, here are a few highlights. 🔌 An all new plugin system, which makes Parcel fully extensible. This allows Parcel to scale from small side projects to massive production applications with complex build requirements. 🌳 Tree shaking is enabled by default, including support for ES modules, CommonJS, dynamic imports, and CSS modules. 🚀 Massive performance improvements, including a new JavaScript com... +
3年前
記事のアイキャッチ画像
Announcing Parcel CSS
Parcel Blog
+I'm very excited to announce @parcel/css, a new CSS parser, compiler, and minifier written in Rust! Check it out on GitHub, or try a live demo right in your browser.Parcel CSS has significantly better performance than existing tools, while also improving minification quality. In addition to minification, Parcel CSS handles compiling CSS modules, tree shaking, automatically adding and removing vendor prefixes for your browser targets, and transpiling modern CSS features like nesting, logical properties, level 4 color syntax, and much more.It can be used with Parcel, as a standalone library from JavaScript or Rust, or wrapped as a plugin within any other tool. The Rust library is designed as a platform for CSS tooling, with access to fully parsed data structures for all CSS rules, selectors, properties, and values.PerformanceParcel CSS is extremely fast. It is over 100x faster than CSSNano for minification, and over 3x faster than ESBuild. It can minify over 2.7 million lines of code per +
3年前
記事のアイキャッチ画像
Parcel v2.4.0
Parcel Blog
+In January, we announced Parcel CSS, a super fast new CSS parser, compiler, and minifier written in Rust. Since then, we have been hard at work improving it, with many new features and even better performance. Today, we're excited to announce that Parcel CSS is now the default CSS transformer and minifier in Parcel v2.4.0!New featuresHere is a summary of some of the major features that have been added to Parcel CSS since our initial announcement. @custom-media draft syntax Improved minification of custom properties Cascade layers (i.e. @layer) Registered custom properties (i.e. @property) CSS Color Level 4, including lab(), and other color spaces with fallbacks for older browsers. color-mix() function from CSS Color Level 5 Automatic vendor prefixing for mask, clip-path, and filter. And much more! With these features, Parcel CSS can now be used as a replacement for many common PostCSS-based setups, including autoprefixer, postcss-preset-env, postcss-modules, and cssnano.UpgradingIn Par +
3年前
記事のアイキャッチ画像
Parcel v2.6.0
Parcel Blog
+We're happy to announce Parcel v2.6.0! This release includes new features including an error overlay for React, support for source maps in HMR, and locally scoped variables in CSS modules, along with lots of bug fixes and improvements.React error overlayParcel has included an in-browser overlay for build errors for a long time, but when a runtime error occurred, it was only logged to the console. As popularized by Create React App, Parcel now also includes a runtime error overlay for React, which shows beautiful stack traces with highlighted code frames that automatically omit React framework internals.These code frames use source maps to show you your original code, but you can also toggle to show the compiled output if you like, or expand the collapsed framework internal stack frames as well. This is all provided by the same package that Create React App uses. Thanks to the CRA team for building such a great UI for errors!Launch your editor right from an errorBoth the React runtime e +
3年前
記事のアイキャッチ画像
Parcel v2.8.0
Parcel Blog
+We are excited to announce the release of Parcel v2.8.0! This release includes a brand new bundling algorithm with improved automatic code splitting, much better build performance for large projects, and fixes for many bugs. It also includes major performance improvements for HMR updates, and tree shaking changes that we've seen reduce bundle sizes by up to 50%.New bundling algorithmSince our initial v2 release, Parcel has supported automatic code splitting, which deduplicates shared modules between multiple parts of your app (e.g. pages, dynamic imports, etc.). This allows commonly used dependencies like React or a design system to be cached independently from application code, reducing the amount of code that must be loaded when navigating between pages. Because it is automatic, it doesn't need to be configured or updated manually by developers, keeping your app optimal as you make changes.Our initial implementation worked well on small to medium size projects, but hit scalability is +
2年前
記事のアイキャッチ画像
Parcel v2.9.0
Parcel Blog
+Parcel v2.9.0 includes many long requested features, including a brand new resolver with support for package.json "exports" and tsconfig.json features, support for ESM plugins and configs, and local Parcel plugins. It also improves performance with a new default JS minifier powered by SWC, incremental symbol propagation, and improved bundler data structures, and includes a new build performance tracing feature. This is a big release – let's dive in!New resolverParcel's resolver is responsible for finding a file path for a dependency such as import "react". This may seem simple, but as the JavaScript ecosystem has developed over the years, it has become more and more complex. Parcel's current resolver implementation was originally written way back in 2018, and is missing some modern features like package.json "exports" and "imports".Parcel v2.9.0 includes a brand new resolver implementation written from scratch in Rust. It supports all of the existing Parcel resolution features, while a +
2年前
記事のアイキャッチ画像
Parcel v2.12.0
Parcel Blog
+Parcel v2.12.0 introduces support for macros, which enable you to generate code at build time using regular JavaScript functions. It also includes a new online REPL, improves our CSS bundling support, adds configuration options to fine tune your app's code splitting, and improves performance and memory usage.MacrosParcel v2.12.0 introduces support for macros. Originally implemented in Bun, Macros are JavaScript functions that run at build time instead of being bundled. The value returned by a macro is inlined into the bundle in place of the original function call. This allows you to generate constants, code, and even additional assets without any custom plugins.Macros are imported using an import attribute to indicate that they should run at build time rather than being bundled into the output. You can import any JavaScript or TypeScript module as a macro, including built-in Node modules and packages from npm.This example uses the regexgen library to generate an optimized regular expre +
1年前
\ No newline at end of file diff --git a/blogs/4dadd1f4641a07cd0c86f363dae30ba8/index.html b/blogs/4dadd1f4641a07cd0c86f363dae30ba8/index.html new file mode 100644 index 000000000000..7620073d97c7 --- /dev/null +++ b/blogs/4dadd1f4641a07cd0c86f363dae30ba8/index.html @@ -0,0 +1,53 @@ +StackBlitz Blogのフィード|JSer.info Watch List RSS

StackBlitz Blog

https://blog.stackblitz.com/

News, articles and all things JavaScript ecosystem - straight from the StackBlitz team! ⚡️

フィード

ViteConf 2024 was a blast
StackBlitz Blog
The third edition of ViteConf was another incredible community party. ViteConf 24 showed how much the Vite Ecosystem keeps growing and evolving.
4ヶ月前
記事のアイキャッチ画像
Unbundling the JavaScript ecosystem
StackBlitz Blog +
We’re excited to welcome VoidZero. Their work in Rolldown, Oxc, and Vite will have a profound effect on the Web ecosystem.
4ヶ月前
記事のアイキャッチ画像
StackBlitz is joining the Open Source Pledge
StackBlitz Blog
We're excited to announce that StackBlitz is joining the Open Source Pledge, a commitment to support Open Source projects and the developers who maintain them.
+5ヶ月前
記事のアイキャッチ画像
Announcing TutorialKit: Interactive tutorials in the browser
StackBlitz Blog
A new open-source project that enables teams to onboard users with interactive experiences.
6ヶ月前
記事のアイキャッチ画像
Get ready for ViteConf 2024
StackBlitz Blog
Join us for ViteConf’s third edition!
7ヶ月前
記事のアイキャッチ画像
Announcing pkg.pr.new
StackBlitz Blog
Instant preview releases for your npm packages
7ヶ月前
記事のアイキャッチ画像
StackBlitz welcomes Ari Perkkiö, core team member of Vitest
StackBlitz Blog
We're doubling down on the Vite ecosystem. We are welcoming Ari Perkkiö, a Vitest core team member.
8ヶ月前
記事のアイキャッチ画像
Catch us at Figma Config
StackBlitz Blog
Here’s a rundown of what we’re most excited for this year and a few ways you can connect with us during Config.
8ヶ月前
記事のアイキャッチ画像
WebContainers and the future of web dev (interview with Jòan Varvenne)
+StackBlitz Blog
Jòan Varvenne, a software engineer with a passion for front-end development and currently on the WebContainer team at StackBlitz, sheds light on WebContainers, their applications, and the future of web development.
8ヶ月前
記事のアイキャッチ画像
Open Source at StackBlitz
StackBlitz Blog
A retrospective on my first two years doing Open Source full time at StackBlitz
+9ヶ月前
記事のアイキャッチ画像
Avoiding CORS issues with this one simple trick
StackBlitz Blog
Introducing a new way to making requests to external hosts in your StackBlitz editor
9ヶ月前
記事のアイキャッチ画像
How to document design system components
StackBlitz Blog
Components are an important part of implementing design on the web. In this article, we cover best practices for documenting components that are part of a design system or component library.
9ヶ月前
記事のアイキャッチ画像
What is Vite (and why is it so popular)?
StackBlitz Blog
At StackBlitz, we're not shy about how much we love Vite. Here's what you need to know about the next-generation Javascript build tool.
9ヶ月前
記事のアイキャッチ画像
Improving the developer experience of enterprise design systems
StackBlitz Blog
Learn how StackBlitz helps enterprise design systems move faster with seamless onboarding, rapid prototyping, and bug reporting, with examples from Porsche, Google, and Salesforce.
10ヶ月前
記事のアイキャッチ画像
Flow state: Why fragmented thinking is worse than any interruption
StackBlitz Blog
What I learned after reading 14 studies about flow state
1年前
記事のアイキャッチ画像
What is Storybook? An Overview for Developers
StackBlitz Blog
We share why we love Storybook, some of the things we’re most excited about in their most recent release, and a new way you can use Storybook and StackBlitz together.
1年前
記事のアイキャッチ画像
The Self-Rendering Eval Shirt
StackBlitz Blog
How we made it, and how you can get one
+
1年前
記事のアイキャッチ画像
Starters Upgrade: WebContainers and Vite
StackBlitz Blog
We are making significant changes to our official starters list to make them more robust and capable!
1年前
記事のアイキャッチ画像
Putting the Dev in Figma’s Dev Mode
StackBlitz Blog
With the new StackBlitz plugin for Dev Mode, you can move directly between design and development without leaving your browser.
1年前
記事のアイキャッチ画像
Announcing StackBlitz Self-hosted
StackBlitz Blog
+We’re excited to share today that StackBlitz Enterprise Server, a self-managed build of StackBlitz, is generally available to any team interested in a totally new approach to web development.
1年前
記事のアイキャッチ画像
Building Together in Illinois
StackBlitz Blog
+StackBlitz recently teamed up with BuildIllinois, a hackathon organized by two remarkable students from the University of Illinois Urbana-Champaign. We sat down to learn more about why they started BuildIllinois and what they’re hoping it brings to their community.
1年前
記事のアイキャッチ画像
5 lessons design systems teams can learn from open-source maintainers
StackBlitz Blog
Here, we’ve gathered 5 of the best lessons design systems teams can take from open source and apply to their work.
1年前
記事のアイキャッチ画像
Announcing Native Language Support in WebContainers
StackBlitz Blog
You can now run Python, jq, and other native languages, tools & runtimes with WASI in WebContainers
1年前
記事のアイキャッチ画像 +
Introducing StackBlitz Teams
StackBlitz Blog
We're stoked to unveil the newest way to build the web with the web—StackBlitz Teams.
1年前
記事のアイキャッチ画像
ViteConf is back!
StackBlitz Blog
We’re excited to announce that the second ever ViteConf will take place online starting October 5th. +
1年前
記事のアイキャッチ画像
Bringing Sharp to WebAssembly and WebContainers
StackBlitz Blog
Challenges of porting native Node.js modules like Sharp to more platforms with WebAssembly.
2年前
記事のアイキャッチ画像
npm, yarn and pnpm are now supported natively in WebContainers
StackBlitz Blog
We have shipped native support for npm and with that, WebContainers now support all major package managers.
2年前
記事のアイキャッチ画像
+The Atomic Waltz: Unraveling WebAssembly Issues in V8 and SpiderMonkey
StackBlitz Blog
Deep dive into WebAssembly performance issues on Apple Silicon and browser engines.
2年前
記事のアイキャッチ画像
WebContainers now run on Safari, iOS, and iPadOS
StackBlitz Blog
You can now enjoy the interactive code examples and playgrounds right from an iPhone or iPad.
2年前
記事のアイキャッチ画像
Now I am become the Destroyer of Threads
StackBlitz Blog
Low-level hacking on multithreaded WebAssembly
2年前
記事のアイキャッチ画像
WebContainer API is here.
StackBlitz Blog
After two years of usage by millions of developers every month, today we are excited to release the public WebContainer API for general use.
2年前
記事のアイキャッチ画像
StackBlitz September 2022 Update
StackBlitz Blog
+New team members, an avalanche of community updates, and 19,000 registered tickets for ViteConf 💙
2年前
記事のアイキャッチ画像
StackBlitz August 2022 Update
StackBlitz Blog
Two new features released, 14,000 registrations for ViteConf, and a wonderful community shoutouts!
2年前
記事のアイキャッチ画像
StackBlitz July 2022 Update
StackBlitz Blog
As we are preparing ViteConf, our community has been sharing amazing projects, and our engineers fixed a handful of issues. Have a look!
2年前
記事のアイキャッチ画像
+Introducing: Collections and Social Previews!
StackBlitz Blog
Two of the features most requested by the StackBlitz community are finally here!
3年前
記事のアイキャッチ画像
Down the caching-hole: adventures in 'HTTP caching and Faraday' land
StackBlitz Blog
+Learn about HTTP caches, how Faraday middleware work, and how to use them to automagically start caching API calls.
3年前
記事のアイキャッチ画像
Announcing ViteConf
StackBlitz Blog
Coming this October: Join the web ecosystem for a free online event featuring 28 all-star speakers and a StackBlitz surprise ⚡️
3年前
記事のアイキャッチ画像
StackBlitz June 2022 Update
StackBlitz Blog
The conference season has officially begun with StackBlitz getting major shoutouts at OpenJS World and the JSNation Conference. For us it was also a month of two alpha releases: Firefox support and WebContainers API - and more!
3年前
記事のアイキャッチ画像
The Fox and the Bolt: Bringing WebContainers to Firefox
StackBlitz Blog
Tales of cross-browser compatibility between JavaScript engines
3年前
記事のアイキャッチ画像
WebContainers are now supported in Firefox on desktop and Android
StackBlitz Blog
+WebContainers are now supported on Firefox for desktop and mobile as a result of StackBlitz and Mozilla collaboration! 🥳
3年前
記事のアイキャッチ画像
StackBlitz May 2022 Update
StackBlitz Blog
May has brought us a lot of opportunities to make our community happy: from hosting sessions at Write the Docs conference to finding plenty of StackBlitz specimens in the wild, we feel pampered basking in the warmth of our community!
3年前
+
記事のアイキャッチ画像
StackBlitz April 2022 Update
StackBlitz Blog
What a month! Not only did we secure seed funding, fixed numerous bugs but also met each other in person at a StackBlitz team offsite! Let's see what we prepared for you this month!
3年前
記事のアイキャッチ画像 +
Cloudflare and StackBlitz partner to bring Cloudflare Workers to your browser
StackBlitz Blog
With Wrangler 2.0 and WebContainers starting with Cloudflare Workers has never been easier!
3年前
記事のアイキャッチ画像
Powering over 2M developers a month, StackBlitz has raised $7.9M
StackBlitz Blog
We're excited to share that our team has raised $7.9M from Greylock, GV (Google Ventures), Tom Preston-Werner (GitHub Co-Founder), and other leaders across the developer space to accelerate the world's transition to fast & secure software development.
3年前
記事のアイキャッチ画像
StackBlitz March 2022 Update
StackBlitz Blog
+What a busy month! Who would have thought that so much can happen in just four weeks: from projet sharing updates, through 17 new DX features and fixes, to a wealth of bug reporting workflow inspirations. Let's have a look!
3年前
記事のアイキャッチ画像
Announcement: WebContainers are out of beta in Chromium
StackBlitz Blog
+WebContainers now support the Node.js ecosystem at large! After ten months of gathering community feedback, we are thrilled to announce that they are out of beta for Chromium-based browsers 🥳
3年前
記事のアイキャッチ画像
StackBlitz has joined the Bytecode Alliance
StackBlitz Blog
Today we're excited to announce our cross-industry patnership with Microsoft, Fastly, Google, Mozilla, Amazon and others enabling us to bring WebContainers to all devices, languages, platforms, and runtimes.
3年前
記事のアイキャッチ画像
StackBlitz February 2022 Update
StackBlitz Blog
Hello hello! Long time no see - can you believe it’s been half a year since our last monthly update? We were very focused on preparing some really special treats for you all...
3年前
記事のアイキャッチ画像
Bringing WebContainers to all Browsers: a call to action for COEP Credentialless
StackBlitz Blog
Our update on bringing WebContainers to non-Chromium browsers & on-prem for Enterprise Edition.
3年前
記事のアイキャッチ画像
+Cross-Browser support with Cross-Origin isolation
StackBlitz Blog
Adding cross-browser support for WebContainers is not as easy as you might think. Let's explore the journey of cross-origin isolation together.
3年前
記事のアイキャッチ画像
StackBlitz welcomes Patak, core maintainer of Vite
StackBlitz Blog
+As our love for Vite grows, so does our team. We are welcoming Patak, a Vite core team member, to our team who will work full-time on Vite.
3年前
記事のアイキャッチ画像
Chasing Memory Bugs through V8 and WebAssembly
StackBlitz Blog
While building WebContainers we've ran into some interesting browser limitations with WebAssembly that required deep diving into Chromium's V8 codebase.
3年前
記事のアイキャッチ画像
Remix v1 has landed, and it runs on WebContainers
StackBlitz Blog
We're excited to announce our partnership with Michael Jackson, Ryan Florence, Kent Dodds and the Remix team on WebContainers!
3年前
記事のアイキャッチ画像
SvelteKit is now fully supported in WebContainers
StackBlitz Blog
Start building your next SvelteKit project in a browser, in a second!
3年前
記事のアイキャッチ画像
We've seen enough: StackBlitz is now the largest backer of Vite
StackBlitz Blog
+For those following along, you may have seen the recent collaborations our team has done with Vite over the past few months. It's also no secret that we're quite fond of their approach and impact on the web ecosystem.
3年前
記事のアイキャッチ画像
Shopify partners with StackBlitz to bring Hydrogen development in-browser
StackBlitz Blog
Today we're excited to announce our latest partner with StackBlitz WebContainers — **Shopify**!
+
3年前
記事のアイキャッチ画像
StackBlitz September 2021 Update
StackBlitz Blog
Welcome to the September 2021 update for StackBlitz! Some of the key highlights include new frameworks support, database support in WebContainer, and more.
3年前
Introducing Vite.new Templates!
StackBlitz Blog
Officially announcing vite.new, now supports vue, react, svelte and others with just a URL path!
3年前
記事のアイキャッチ画像
Announcing WebContainers Astro support! 🛰
StackBlitz Blog
+We're so excited! Astro fits StackBlitz so well - here is why
3年前
記事のアイキャッチ画像
Introducing: SQLite3 support in WebContainers! 🧪
StackBlitz Blog
You can start using databases in your StackBlitz projects!
3年前
記事のアイキャッチ画像
StackBlitz July 2021 Update
StackBlitz Blog
WebContainer and the StackBlitz platform received lots of updates this last month, let's see what is new and what has improved!
3年前
記事のアイキャッチ画像
StackBlitz June 2021 Update
+StackBlitz Blog
It's been a little over a month since WebContainers – our big reveal – have been made public. We haven't stopped shipping, here's the recap of the latest!
4年前
記事のアイキャッチ画像
Introducing WebContainers: Run Node.js natively in your browser
StackBlitz Blog
+Today we're excited to announce WebContainers, a new type of WebAssembly-based operating system that boots instantly and enables Node.js environments to run natively in-browser.
4年前
記事のアイキャッチ画像
Interactive Docs: The new norm for Remote Work
StackBlitz Blog
Documentation used to be extremely important in every engineering project, but now, when so many teams work remotely, it's critical.
4年前
\ No newline at end of file diff --git a/blogs/5068d947869b4defb4bd27ea7ceae359/index.html b/blogs/5068d947869b4defb4bd27ea7ceae359/index.html new file mode 100644 index 000000000000..d64751985d22 --- /dev/null +++ b/blogs/5068d947869b4defb4bd27ea7ceae359/index.html @@ -0,0 +1,45 @@ +David Walsh Blogのフィード|JSer.info Watch List RSS

David Walsh Blog

https://davidwalsh.name

A blog featuring tutorials about JavaScript, HTML5, AJAX, PHP, CSS, WordPress, and everything else development.

フィード

How to Download a YouTube Video or Channel
David Walsh Blog
+<p>The ability to download media on the internet almost feels like a lost art. When I was in my teens, piracy of mp3s, movies, and just about everything else via torrents and apps like Kazaa, LimeWire, Napster, etc. was in full swing. These days sites use blob URLs and other means to prevent downloads. Luckily [&#8230;]</p><p>The post <a rel="nofollow" href="https://davidwalsh.name/download-youtube-mp3">How to Download a YouTube Video or Channel</a> appeared first on <a rel="nofollow" href="https://davidwalsh.name">David Walsh Blog</a>.</p><p><a href="https://tkjs.us/dwb"><img style="margin:0 auto" alt="" src="https://davidwalsh.name/demo/tjs_block-1.svg"></a></p>
5ヶ月前
記事のアイキャッチ画像
How to Add a Header to a curl Request
David Walsh Blog
+<p>curl is one of those great utilities that&#8217;s been around seemingly forever and has endless use cases. These days I find myself using curl to batch download files and test APIs. Sometimes my testing leads me to using different HTTP headers in my requests. To add a header to a curl request, use the -H [&#8230;]</p><p>The post <a rel="nofollow" href="https://davidwalsh.name/curl-add-header">How to Add a Header to a curl Request</a> appeared first on <a rel="nofollow" href="https://davidwalsh.name">David Walsh Blog</a>.</p><p><a href="https://tkjs.us/dwb"><img style="margin:0 auto" alt="" src="https://davidwalsh.name/demo/tjs_block-1.svg"></a></p>
6ヶ月前
記事のアイキャッチ画像
Case Insensitive CSS Attribute Selector
David Walsh Blog
+<p>CSS selectors never cease to amaze me in how powerful they can be in matching complex patterns. Most of that flexibility is in parent/child/sibling relationships, very seldomly in value matching. Consider my surprise when I learned that CSS allows matching attribute values regardless off case! Adding a {space}i to the attribute selector brackets will make [&#8230;]</p><p>The post <a rel="nofollow" href="https://davidwalsh.name/css-attribute-case">Case Insensitive CSS Attribute Selector</a> appeared first on <a rel="nofollow" href="https://davidwalsh.name">David Walsh Blog</a>.</p><p><a href="https://tkjs.us/dwb"><img style="margin:0 auto" alt="" src="https://davidwalsh.name/demo/tjs_block-1.svg"></a></p>
8ヶ月前
記事のアイキャッチ画像
How to Set Date Time from Mac Command Line
David Walsh Blog
+<p>Working on a web extension that ships to an app store and isn&#8217;t immediately modifiable, like a website, can be difficult. Since you cannot immediately deploy updates, you sometimes need to bake in hardcoded date-based logic. Testing future dates can be difficult if you don&#8217;t know how to quickly change the date on your local [&#8230;]</p><p>The post <a rel="nofollow" href="https://davidwalsh.name/mac-set-date">How to Set Date Time from Mac Command Line</a> appeared first on <a rel="nofollow" href="https://davidwalsh.name">David Walsh Blog</a>.</p><p><a href="https://tkjs.us/dwb"><img style="margin:0 auto" alt="" src="https://davidwalsh.name/demo/tjs_block-1.svg"></a></p>
8ヶ月前
記事のアイキャッチ画像
How to Retrieve WiFi Password on Windows
David Walsh Blog
+<p>Remembering the WiFi password when on a guest network is never easy. Even worse is when it&#8217;s no longer posted and someone else is asking you for it. Luckily there&#8217;s a built in Windows command to recover the password of a given WiFi network. The Shell Code Open cmd and execute the following command: netsh [&#8230;]</p><p>The post <a rel="nofollow" href="https://davidwalsh.name/retrieve-wifi-password-windows">How to Retrieve WiFi Password on Windows</a> appeared first on <a rel="nofollow" href="https://davidwalsh.name">David Walsh Blog</a>.</p><p><a href="https://tkjs.us/dwb"><img style="margin:0 auto" alt="" src="https://davidwalsh.name/demo/tjs_block-1.svg"></a></p>
9ヶ月前
記事のアイキャッチ画像
How to Fix: Windows WASD Keys Reversed with Arrow Keys
David Walsh Blog
+<p>This past weekend I had the opportunity to be what every father wants, if only for a moment: the &#8220;cool dad&#8221;. My wife was out of town and my youngest son wanted to play PUBG. I caved in, taught him the basic FPS key binds, and he was having a great time. While he was [&#8230;]</p><p>The post <a rel="nofollow" href="https://davidwalsh.name/fix-wasd-keys">How to Fix: Windows WASD Keys Reversed with Arrow Keys</a> appeared first on <a rel="nofollow" href="https://davidwalsh.name">David Walsh Blog</a>.</p><p><a href="https://tkjs.us/dwb"><img style="margin:0 auto" alt="" src="https://davidwalsh.name/demo/tjs_block-1.svg"></a></p>
9ヶ月前
記事のアイキャッチ画像
HTML popover Attribute
David Walsh Blog
+<p>Modals have been an important part of websites for two decades. Stacking contents and using fetch to accomplish tasks are a great way to improve UX on both desktop and mobile. Unfortunately most developers don&#8217;t know that the HTML and JavaScript specs have implemented a native modal system via the popover attribute &#8212; let&#8217;s check [&#8230;]</p><p>The post <a rel="nofollow" href="https://davidwalsh.name/html-popover-attribute">HTML popover Attribute</a> appeared first on <a rel="nofollow" href="https://davidwalsh.name">David Walsh Blog</a>.</p><p><a href="https://tkjs.us/dwb"><img style="margin:0 auto" alt="" src="https://davidwalsh.name/demo/tjs_block-1.svg"></a></p>
10ヶ月前
記事のアイキャッチ画像
Get Started in AI and NFTs with the Limewire API (Sponsored)
David Walsh Blog
+<p>AI media creation has expanded to incredible video art and a host of other important improvements, and LimeWire is leading the way in creating an awesome interface for the average user to become an AI artist. Limewire has just released its Developer API, a method for engineers like us to create dynamic AI art on [&#8230;]</p><p>The post <a rel="nofollow" href="https://davidwalsh.name/get-started-in-ai-and-nfts-with-the-limewire-api">Get Started in AI and NFTs with the Limewire API (Sponsored)</a> appeared first on <a rel="nofollow" href="https://davidwalsh.name">David Walsh Blog</a>.</p><p><a href="https://tkjs.us/dwb"><img style="margin:0 auto" alt="" src="https://davidwalsh.name/demo/tjs_block-1.svg"></a></p>
10ヶ月前
+記事のアイキャッチ画像
I&#8217;m So Old: Web Edition
David Walsh Blog
+<p>Time can be a funny thing. I still remember discovering HTML, CSS, and JavaScript coding. I still remember my first college programming course. I still remember my first day at my first coding job, then my first day at my second coding job, and then my first day at Mozilla. I still remember my first [&#8230;]</p><p>The post <a rel="nofollow" href="https://davidwalsh.name/im-so-old-1">I&#8217;m So Old: Web Edition</a> appeared first on <a rel="nofollow" href="https://davidwalsh.name">David Walsh Blog</a>.</p><p><a href="https://tkjs.us/dwb"><img style="margin:0 auto" alt="" src="https://davidwalsh.name/demo/tjs_block-1.svg"></a></p>
1年前
記事のアイキャッチ画像
Detect Caps Lock with JavaScript
David Walsh Blog
+<p>Anyone is capable of having their caps lock key on at any given time without realizing so. Users can easily spot unwanted caps lock when typing in most inputs, but when using a password input, the problem isn&#8217;t so obvious. That leads to the user&#8217;s password being incorrect, which is an annoyance. Ideally developers could [&#8230;]</p><p>The post <a rel="nofollow" href="https://davidwalsh.name/detect-caps-lock">Detect Caps Lock with JavaScript</a> appeared first on <a rel="nofollow" href="https://davidwalsh.name">David Walsh Blog</a>.</p><p><a href="https://tkjs.us/dwb"><img style="margin:0 auto" alt="" src="https://davidwalsh.name/demo/tjs_block-1.svg"></a></p>
1年前
記事のアイキャッチ画像
How to Override width and height HTML attributes with CSS
David Walsh Blog
+<p>One of the HTML elements that frequently comes into collision with CSS is the img element. As we learned in Request Metrics&#8217; Fixing Cumulative Layout Shift Problems on DavidWalshBlog article, providing image dimensions within the image tag will help to improve your website&#8217;s score. But in a world where responsive design is king, we need [&#8230;]</p><p>The post <a rel="nofollow" href="https://davidwalsh.name/css-override-width-height">How to Override width and height HTML attributes with CSS</a> appeared first on <a rel="nofollow" href="https://davidwalsh.name">David Walsh Blog</a>.</p><p><a href="https://tkjs.us/dwb"><img style="margin:0 auto" alt="" src="https://davidwalsh.name/demo/tjs_block-1.svg"></a></p>
1年前
記事のアイキャッチ画像
Fixing Cumulative Layout Shift Problems on DavidWalshBlog
David Walsh Blog
+<p>Over 50 thousand developers visit DavidWalshBlog every month from around the world to learn JavaScript tricks and fix problems in their code. Unfortunately, some of them have a slow experience on the site. David tracks the performance of his Core Web Vitals and overall performance with Request Metrics. Recently, we noticed that his CLS performance [&#8230;]</p><p>The post <a rel="nofollow" href="https://davidwalsh.name/fixing-cumulative-layout-shift-problems-on-davidwalshblog">Fixing Cumulative Layout Shift Problems on DavidWalshBlog</a> appeared first on <a rel="nofollow" href="https://davidwalsh.name">David Walsh Blog</a>.</p><p><a href="https://tkjs.us/dwb"><img style="margin:0 auto" alt="" src="https://davidwalsh.name/demo/tjs_block-1.svg"></a></p>
1年前 +
記事のアイキャッチ画像
Date.now()
David Walsh Blog
+<p>Ask any software engineer and they&#8217;ll tell you that coding date logic can be a nightmare. Developers need to consider timezones, weird date defaults, and platform-specific date formats. The easiest way to work with dates is to reduce the date to the most simple format possible &#8212; usually a timestamp. To get the immediate time [&#8230;]</p><p>The post <a rel="nofollow" href="https://davidwalsh.name/date-now">Date.now()</a> appeared first on <a rel="nofollow" href="https://davidwalsh.name">David Walsh Blog</a>.</p><p><a href="https://tkjs.us/dwb"><img style="margin:0 auto" alt="" src="https://davidwalsh.name/demo/tjs_block-1.svg"></a></p>
1年前
記事のアイキャッチ画像
Extract a Number from a String with JavaScript
David Walsh Blog
+<p>User input from HTML form fields is generally provided to JavaScript as a string. We&#8217;ve lived with that fact for decades but sometimes developers need to extract numbers from that string. There are multiple ways to get those numbers but let&#8217;s rely on regular expressions to extract those numbers! To employ a regular expression to [&#8230;]</p><p>The post <a rel="nofollow" href="https://davidwalsh.name/javascript-extract-string">Extract a Number from a String with JavaScript</a> appeared first on <a rel="nofollow" href="https://davidwalsh.name">David Walsh Blog</a>.</p><p><a href="https://tkjs.us/dwb"><img style="margin:0 auto" alt="" src="https://davidwalsh.name/demo/tjs_block-1.svg"></a></p>
1年前
記事のアイキャッチ画像
Thoughts on Streaming Services: 2024 Edition
David Walsh Blog
+<p>Streaming services have revolutionized content delivery, sending linear media companies into a panic as they watch traditional cable services decay. &#8220;Cutting the cord&#8221; is a common practice these days, but the streaming landscape isn&#8217;t perfect. We&#8217;re a decade into streaming so I wanted to share my thoughts on the state of new media: first impressions, [&#8230;]</p><p>The post <a rel="nofollow" href="https://davidwalsh.name/streaming-2024">Thoughts on Streaming Services: 2024 Edition</a> appeared first on <a rel="nofollow" href="https://davidwalsh.name">David Walsh Blog</a>.</p><p><a href="https://tkjs.us/dwb"><img style="margin:0 auto" alt="" src="https://davidwalsh.name/demo/tjs_block-1.svg"></a></p>
1年前
+
記事のアイキャッチ画像
AutoGrow Textareas with CSS
David Walsh Blog
+<p>As the demands of the web change and developers experiment with different user experiences, the need for more native language improvements expands. Our presentation layer, CSS, has done incredibly well in improving capabilities, even if sometimes too slow. The need for native support for automatically expanding textarea elements has been long known&#8230;and it&#8217;s finally here! [&#8230;]</p><p>The post <a rel="nofollow" href="https://davidwalsh.name/autogrow-textareas">AutoGrow Textareas with CSS</a> appeared first on <a rel="nofollow" href="https://davidwalsh.name">David Walsh Blog</a>.</p><p><a href="https://tkjs.us/dwb"><img style="margin:0 auto" alt="" src="https://davidwalsh.name/demo/tjs_block-1.svg"></a></p>
1年前
記事のアイキャッチ画像
How to Play Grand Poo World 3
David Walsh Blog
+<p>The underground world of creating and streaming Super Mario World-based ROM hacks continues to gain popularity. This popularity is a tribute to the creativity of gamers and the quality of the original 30 year old video game&#8217;s mechanics. Over the past decade, incredible ROM hacks like Grand Poo World 1 and 2, Invictus, and Dram [&#8230;]</p><p>The post <a rel="nofollow" href="https://davidwalsh.name/play-grand-poo-world-3">How to Play Grand Poo World 3</a> appeared first on <a rel="nofollow" href="https://davidwalsh.name">David Walsh Blog</a>.</p><p><a href="https://tkjs.us/dwb"><img style="margin:0 auto" alt="" src="https://davidwalsh.name/demo/tjs_block-1.svg"></a></p>
1年前
記事のアイキャッチ画像
How to Get the Current Branch Name with git
David Walsh Blog
+<p>Most developers spoil themselves with fun command line utilities to make their work easier and more efficient. One such command line helper allows developers to always show the git branch in the command line. How can you get the current branch? With this handy snippet: git branch --show-current It&#8217;s great to keep this snippet around [&#8230;]</p><p>The post <a rel="nofollow" href="https://davidwalsh.name/git-current-branch">How to Get the Current Branch Name with git</a> appeared first on <a rel="nofollow" href="https://davidwalsh.name">David Walsh Blog</a>.</p><p><a href="https://tkjs.us/dwb"><img style="margin:0 auto" alt="" src="https://davidwalsh.name/demo/tjs_block-1.svg"></a></p>
1年前
記事のアイキャッチ画像
AutoSave with VSCode
David Walsh Blog
+<p>Visual Studio Code has taken the crown of most used text editor, at least in JavaScript spheres. VSCode is fast, feature-filled, and supports thousands of plugins to boost productivity. Developers can also tweak hundreds of settings to enrich functionality. One such feature is the autoSave feature. To autoSave files with VS Code, you can add [&#8230;]</p><p>The post <a rel="nofollow" href="https://davidwalsh.name/autosave-with-vscode">AutoSave with VSCode</a> appeared first on <a rel="nofollow" href="https://davidwalsh.name">David Walsh Blog</a>.</p><p><a href="https://tkjs.us/dwb"><img style="margin:0 auto" alt="" src="https://davidwalsh.name/demo/tjs_block-1.svg"></a></p>
1年前
記事のアイキャッチ画像
How to Detect Failed Requests via Web Extensions
David Walsh Blog
+<p>One of the best things that ever happened to t he user experience of the web has been web extensions. Browsers are powerful but extensions bring a new level of functionality. Whether it&#8217;s crypto wallets, media players, or other popular plugins, web extensions have become essential to every day tasks. Working on MetaMask, I am [&#8230;]</p><p>The post <a rel="nofollow" href="https://davidwalsh.name/browser-webrequest-onerroroccurred">How to Detect Failed Requests via Web Extensions</a> appeared first on <a rel="nofollow" href="https://davidwalsh.name">David Walsh Blog</a>.</p><p><a href="https://tkjs.us/dwb"><img style="margin:0 auto" alt="" src="https://davidwalsh.name/demo/tjs_block-1.svg"></a></p>
1年前
+ \ No newline at end of file diff --git a/blogs/509860cd6dd13a3bdd2c91d4f4eeb56a/index.html b/blogs/509860cd6dd13a3bdd2c91d4f4eeb56a/index.html new file mode 100644 index 000000000000..70f9c1d158f6 --- /dev/null +++ b/blogs/509860cd6dd13a3bdd2c91d4f4eeb56a/index.html @@ -0,0 +1,22 @@ +デジタル庁デザインシステムβ版のフィード|JSer.info Watch List RSS

デジタル庁デザインシステムβ版

https://design.digital.go.jp

デジタル庁デザインシステムは、スタイリングの考え方を提供するデザイン言語、情報の視覚表現とインタラクションを具現化するUIコンポーネント、ユーザビリティとアクセシビリティを踏まえた設計や実装のためのガイドラインから構成されるデザインアセットです。

フィード

記事のアイキャッチ画像
2025年2月4日 サイトコンテンツ更新情報
デジタル庁デザインシステムβ版
お知らせページを追加しました。
4日前
記事のアイキャッチ画像
2025年1月21日 デザインデータ(Figma)v2.1.2を公開しました。
デジタル庁デザインシステムβ版
詳細はウェブサイトにアクセスしてご確認ください。
18日前
記事のアイキャッチ画像
2025年1月21日 コンポーネント/緊急時バナーページ更新情報
デジタル庁デザインシステムβ版
バナータイトルの先頭に「【緊急】」の文字列を追加。クリッカブルエリアをバナー全体ではなくアクションボタンのみに変更。アクションボタンの最小幅を利用可能な表示幅の50%に変更
18日前 +
記事のアイキャッチ画像
2025年1月15日 デザインデータ(Figma)v2.1.1を公開しました。
デジタル庁デザインシステムβ版
詳細はウェブサイトにアクセスしてご確認ください。
24日前
記事のアイキャッチ画像
2025年1月15日 コンポーネント/ドロワーページ更新情報
+デジタル庁デザインシステムβ版
仕様の内容を、モーダル展開に限定した文章として再構成
24日前
記事のアイキャッチ画像
2025年1月9日 デザインデータ(Figma)v1.4.3に記載のガイドラインを、デザインシステム本体(本ウェブサイト)に掲載しました。
デジタル庁デザインシステムβ版
詳細はウェブサイトにアクセスしてご確認ください。
1ヶ月前
記事のアイキャッチ画像
2025年1月9日 ガイダンス/アクセシビリティページ更新情報
デジタル庁デザインシステムβ版
参照ガイドラインのリンク集を加筆および構成を調整
1ヶ月前
記事のアイキャッチ画像
2024年12月25日 デザインデータ(Figma)v2.1.0を公開しました。
デジタル庁デザインシステムβ版
詳細はウェブサイトにアクセスしてご確認ください。
1ヶ月前
記事のアイキャッチ画像
2024年11月28日 デザインデータ(Figma)v2.0.4を公開しました。
デジタル庁デザインシステムβ版
詳細はウェブサイトにアクセスしてご確認ください。
2ヶ月前
記事のアイキャッチ画像
2024年10月16日 基本デザイン/タイポグラフィページ更新情報
デジタル庁デザインシステムβ版
テキストスタイルの追加漏れを修正
4ヶ月前
記事のアイキャッチ画像
2024年9月25日 基本デザイン/カラーページ更新情報
デジタル庁デザインシステムβ版
グレーのカラー定義名を「Grey」から「Gray」に変更
4ヶ月前
記事のアイキャッチ画像
2024年9月25日 基本デザイン/タイポグラフィページ更新情報
デジタル庁デザインシステムβ版
太さレベルにv2系統では使用していないMediumが含まれていたのを削除。行ボックスの高さ(行高)の定義に175%を追加。テキストスタイル名の構成において行高を%表記の値のまま記述するように変更。行高175%のStandardテキストスタイルを追加。Standardテキストスタイルの文字間隔をフォントサイズの大小に応じて調整するように変更。
4ヶ月前
記事のアイキャッチ画像
2024年9月25日 デザインデータ(Figma)v2をアップデートしました。アップデート内容は各Figma内の更新履歴をご参照ください。
デジタル庁デザインシステムβ版
詳細はウェブサイトにアクセスしてご確認ください。
4ヶ月前
記事のアイキャッチ画像
2024年9月10日 コンポーネント/ボタンページ更新情報
デジタル庁デザインシステムβ版
「無効ボタン(disabled)はタブフォーカスでアクセスできない」を加筆修正
5ヶ月前
記事のアイキャッチ画像
2024年8月28日 基本デザイン/タイポグラフィページ更新情報
デジタル庁デザインシステムβ版
テキストブロックのグリフ幅について、考え方を加筆修正
5ヶ月前
記事のアイキャッチ画像
2024年7月31日 基本デザイン/レイアウトページ更新情報
デジタル庁デザインシステムβ版
カラムおよびガターについての説明を加筆修正
6ヶ月前
記事のアイキャッチ画像
2024年7月11日 デザインデータ(Figma)v2をアップデートしました。アップデート内容は各Figma内の更新履歴をご参照ください。
デジタル庁デザインシステムβ版
詳細はウェブサイトにアクセスしてご確認ください。
7ヶ月前
記事のアイキャッチ画像
2024年7月4日 デザインデータv2に対応したコードスニペット(React)をリリースしました。詳しくはGitHubをご確認ください。
デジタル庁デザインシステムβ版
詳細はウェブサイトにアクセスしてご確認ください。
7ヶ月前
記事のアイキャッチ画像
2024年7月3日 デザインデータ(Figma)v2とv1をアップデートしました。アップデート内容は各Figma内の更新履歴をご参照ください。
デジタル庁デザインシステムβ版
詳細はウェブサイトにアクセスしてご確認ください。
7ヶ月前
記事のアイキャッチ画像
2024年6月19日 基本デザイン/リンクテキストページ更新情報
デジタル庁デザインシステムβ版
リンクテキストの下線の位置と範囲を調整
8ヶ月前
記事のアイキャッチ画像
2024年6月13日 RSSフィードの配信を開始しました。
デジタル庁デザインシステムβ版
詳細はウェブサイトにアクセスしてご確認ください。
8ヶ月前
記事のアイキャッチ画像
2024年6月11日 コンポーネント/ボタンページ更新情報
デジタル庁デザインシステムβ版
「ボタン配置の考え方」を加筆し、概要を再構成
8ヶ月前
記事のアイキャッチ画像
2024年6月10日 基本デザイン/タイポグラフィページ更新情報
デジタル庁デザインシステムβ版
Denseテキストスタイルにおける太さレベルの説明の誤りを修正
8ヶ月前
記事のアイキャッチ画像
2024年6月4日 コンポーネント/ボタンページ更新情報
デジタル庁デザインシステムβ版
参考情報のリンク先を変更
8ヶ月前
記事のアイキャッチ画像
2024年5月31日 基本デザイン/タイポグラフィページ更新情報
デジタル庁デザインシステムβ版
Windows環境での閲覧を考慮し、CSSの記述例からsystem-uiを削除
8ヶ月前
記事のアイキャッチ画像
2024年5月30日 デジタル庁デザインシステムの専用サイトおよびデザインデータv2.0.0を公開しました。
デジタル庁デザインシステムβ版
詳細はウェブサイトにアクセスしてご確認ください。
8ヶ月前
記事のアイキャッチ画像
2024年5月30日 従来のデザインシステムv1.4.1におけるアクセシビリティ上の重要な問題点を含む各種修正を実施し、v1.4.2として公開しました。
デジタル庁デザインシステムβ版
詳細はウェブサイトにアクセスしてご確認ください。
8ヶ月前
\ No newline at end of file diff --git a/blogs/520073c52b0647b661c19d74553257e8/index.html b/blogs/520073c52b0647b661c19d74553257e8/index.html new file mode 100644 index 000000000000..f1f0e8e2f5ef --- /dev/null +++ b/blogs/520073c52b0647b661c19d74553257e8/index.html @@ -0,0 +1,29 @@ +Colin McDonnell @colinhacksのフィード|JSer.info Watch List RSS

Colin McDonnell @colinhacks

https://colinhacks.com

Founder of Bagel Health, creator of Zod, open-sourcer, poptimist, movie buff. Wanna go to Taco Bell?

フィード

記事のアイキャッチ画像
Live types in a TypeScript monorepo
Colin McDonnell @colinhacks
+EDIT: A previous version of this post recommended publishConfig, operating under the mistaken belief that it could be used to override "exports" during npm publish. As it turns out, npm only uses "publishConfig" to override certain .npmrc fields like registry and tag, whereas pnpm has expanded its use to override package metadata like "main", "types", and "exports". There are a number of reasons you may not wish to strongly couple your deployment logic to pnpm (detailed in the publishConfig section below). My updated recommendation is to use a custom export condition plus customConditions in tsconfig.json.Jump into the code: https://github.com/colinhacks/live-typescript-monorepoIn development, your TypeScript code should feel "alive". When you update your code in one file, the effects of that change should propagate to all files that import it instantaneously, with no build step. This is true even for monorepos, where you may not be importing things from a file, but from a local packag +
8ヶ月前
記事のアイキャッチ画像
An email regex for reasonable people
Colin McDonnell @colinhacks
+I maintain Zod, which is a schema library. Zod let's people declare an email schema like this:import {z} from 'zod';z.string().email();A lot of people think every technically valid email address should pass validation by that schema. I used to think that too.Over the years I've merged several PRs to make the email regex more "technically correct". Most recently, I merged a PR that adds support for IPv6 addresses as the domain part of an email. They look like this and I hate them:jonny@[ipv6:7e95:0559:10f2:21e9:9dab:7309:c116:ca3b]Turns out that PR also broke plain old subdomains: user@subdomain.domain.com. That means Zod currently fails to parse my mom's current email address but Jonny up there can parse his freakish IPv6 email.This caused a spiritual crisis and made me re-evaluate my whole stance on what z.string().email() should do. Zod's users are mostly engineers who are building apps. When you're building an app, you want to make sure your users are providing normal-ass email addr +
2年前
記事のアイキャッチ画像
From README to documentation site in 10 minutes
Colin McDonnell @colinhacks
+Spoiler alert: GitHub Pages and GitHub actions are not involved.I recently set out to build a proper documentation site for Zod with a short and eminently reasonable list of goals:The site should be generated from the README. Zod's README.md is the "source of truth".The site should automatically update whenever the master branch is updated.I didn't want to worry about building or maintaining a complex build workflow in GitHub Actions, if possible.Despite the eminent reasonability, I had a hard time finding a simple solution. After a lot of research and false starts, I've found what I think is the lowest-effort, highest-reward way to publish a documentation site for your GitHub-hosted project.Let's jump in.1. Add this index.html to your repoCreate a file called index.html in your project root and paste the following contents into it.Replace all occurrences of user/repo with your project's name. And maybe write up a slightly more detailed meta description :)<!DOCTYPE html><html lang="en" +
3年前
記事のアイキャッチ画像
Building an end-to-end typesafe API — without GraphQL
Colin McDonnell @colinhacks
+In the mid-2010s, the pendulum of web development swung massively in the direction of increased type safety.First, we all switched back to relational DBs after recovering from an embarrassingly long collective delusion that NoSQL was cool. Then TypeScript started its meteoric rise after years of quiet development. Shortly thereafter GraphQL was announced and quickly became the de facto way to implement typesafe APIs.TLDR: I published a new library called tRPC that makes it easy to build end-to-end typesafe APIs without code generation, by leveraging the power of modern TypeScript. To jump straight to the tRPC walkthrough, click here.GraphQL's TypeScript problemGraphQL's biggest competitive advantage is that it's a spec, not a library. It's designed to be universal and language-agnostic. If you use different languages for your client and server, then by all means stick with GraphQL! It remains the best language-agnostic way to build typesafe data layers.But the vast majority of projects +
4年前
記事のアイキャッチ画像
Why Zod 2 isn't leaving beta
Colin McDonnell @colinhacks
+Zod's v2 has been in beta since September 2020 (around 3 months as of this writing). The people are starting to talk.The backgroundThe reason Zod 2 has been in beta for so long (well, one of the reasons anyway!) is that I’ve been increasingly unsatisfied with Zod’s implementation of transformers. Transformers are a mechanism within Zod to convert data from one type to another. For the sake of rigor, I decided it was paramount for transformers to encapsulate both pre- and post-transform validation; to create one, you gave it an input schema A, and output schema B, and a transformation function (arg: A)=>B.Multiple issues have cropped up that have led me to re-evaluate the current approach. At best, transformers are a huge footgun and at worst they’re fundamentally flawed.ContextIn version 1, a Zod schema simply let you define a data type you'd like to validate. Under the hood, it magically inferred the static TypeScript type for your schema. More technically, there is a base class (ZodT +
4年前
記事のアイキャッチ画像
Next.js, nested routes, and the war on SPAs
Colin McDonnell @colinhacks
+Edit: 2022 The issues described here have been largely solved by layouts in Next.js 13.I recently set out to implement a single-page application (SPA) on top of Next.js.To clarify, I'm using the term "SPA" in a very specific way. I'm referring to the "classical" SPA model: an application that handles all data fetching, rendering, and routing entirely client-side.Turns out, Next.js does not make this easy.To actually learn how to build a single-page application on top of Next.js, checkout my tutorial! Building a single-page application with Next.js.Why not use Next's routerNext's built-in router isn't as flexible as React Router! React Router lets you nest routers hierarchically in a flexible way. It's easy for any "parent" router to share data and provide an outer layout to its "child" routes. This is true for both top-level routes (e.g. /about and /team) and nested routes (e.g. /settings/team and /settings/user).This isn't possible with Next's built-in router! Instead, all shared stat +
4年前
記事のアイキャッチ画像
Building a single-page application with Next.js and React Router
Colin McDonnell @colinhacks
+Update 2023 — Updated for Next.js 13, React Router 6, and React 18.Update 2022 — Next.js 13 now supports nested routes via the /app directory. However, it requires a server to render React Server Components, and thus doesn't qualify as a "single-page application" as defined in this post.I recently set out to implement a single-page application (SPA) on top of Next.js.To clarify, I'm using the term "SPA" in a very specific way. I'm referring to the "old school" SPA model: an application that handles all data fetching, rendering, and routing entirely client-side.Turns out, Next.js does not make this easy.Why not use Next.js routing?Next.js is not as flexible as React Router! React Router lets you nest routers hierarchically in a flexible way. It's easy for any "parent" router to share data with all of its "child" routes. This is true for both top-level routes (e.g. /about and /team) and nested routes (e.g. /settings/team and /settings/user).This isn't possible with Next's built-in router +
4年前
記事のアイキャッチ画像
Authenticated server-side rendering with Next.js and Firebase
Colin McDonnell @colinhacks
+**Update: November 29, 2020**>> I have an idea for a SaaS product related to Next.js and authentication, and I'm looking for a co-founder! Ideally you'd be intimately familiar with Next.js, TypeScript, and SQL, and perhaps have some previous entrepreneurial experience. I'm an open-source maintainer and a previous YC founder, and I feel strongly about finding the right partner before starting a new endeavor. If you're interested shoot me an email at colin@colinhacks.com with a bit about yourself! --> Feb 24, 2021: a previous version of this post contained a bug where a new cookie would be created each time you signed out and back in again. These (identical) cookies would stack up cause problems. If you're having issues, pass the { path: '/' } option to nookies.set call — details below.I had a hell of a time figuring out how to get Firebase Auth, Next.js, tokens, cookies, and getServerSideProps to play nice together. I'm hoping this breakdown will spare you the same suffering!To jump str +
4年前
記事のアイキャッチ画像
Sponsor pools: a new funding model for open source software
Colin McDonnell @colinhacks
+Check out the HN discussion here.This article has been translated into Japanese and Russian.The existing open-source funding models don't work well for small projects.Big projects — operating systems, frameworks, CMSs, or fully self-hostable applications — are in a privileged position to extract more value from their users, especially corporate ones. Since entire APIs and products are built on top of them, they inspire enough appreciation (or, more likely, fear of obsolescence!) to net a sustainable income from one-off or monthly donations.¹But most OSS projects aren't big. The typical project on GitHub is better described as a utility — an apt term, given the infrastructural role these projects play in the world. It is a small tool that does one thing really well. Over the course of building a complex application, you may end up using dozens of these utilities — and they'll save you hundreds of hours of development time.Unfortunately, utilities like these rarely bring in any meaningfu +
5年前
記事のアイキャッチ画像
Why you shouldn't use @emotion/core
Colin McDonnell @colinhacks
+A maintainer of Emotion published a very thoughtful response to a version of this post! I encourage you to check that out here. The essay below has modified to address some of his points.Emotion is my favorite CSS-in-JS library.It's easy to define style classes — both inline or in separate files. You can powerfully compose classes in powerful ways with the cx utility (the Emotion equivalent of Jed Watson's classnames). You sprinkle in your styles using the standard className attribute. There's no need to modify your markup/JSX — as it should be! You only need to install a single module (yarn add emotion). And there's no complicated Babel plugin or config file to set up.import { css, cs } from 'emotion';const redBorder = css({ border: '1px solid red' });const blueText = css({ color: 'blue' });const MyComp = () => { return <div className={cx(redBorder, blueText)}>hello</div>;};I'm currently building a Tailwind-style CSS-in-JS utility styling library with a maniacal focus on brevity and d +
5年前
記事のアイキャッチ画像
Choosing a tech stack for my personal dev blog in 2020
Colin McDonnell @colinhacks
+Check out the HN roast discussion here! 🤗This article has been translated into Russian.I recently set out to build my personal website — the one you're reading now, as it happens!Surprisingly, it was harder than expected assemble a "tech stack" that met my criteria. My criteria are pretty straightforward; I would expect most React devs to have a similar list. Yet it was surprisingly hard to put all these pieces together.Given the lack of a decent out-of-the-box solution, I worry that many developers are settling for static-site generators that place limits on the interactivity and flexibility of your website. We can do better.tl;dr https://github.com/colinhacks/devii.Let's quickly run through my list of design goals:React (+ TypeScript)I want to build the site in React and TypeScript. I love them both wholeheartedly, I use them for my day job, and they're gonna be around for a long time. Plus writing untyped JS makes me feel dirty.I don't want limitations on what my personal website c... +
5年前
記事のアイキャッチ画像
Designing the perfect Typescript schema validation library
Colin McDonnell @colinhacks
+Update 2023 — Many of the problems with other libraries have been solved since this post was originally published.There are a handful of wildly popular validation libraries in the Javascript ecosystem with thousands of stars on GitHub.When I started my quest to find the ideal schema declaration/validation library, I assumed the hardest part would be identifying the Most Great option from a sea of excellent ones.But as I dug deeper into the many beloved tools in the ecosystem, I was surprised that none of them could provide the features and developer experience I was looking for.tl;dr: I made a new Typescript validation library that has static type inference and the best DX this side of the Mississippi. To jump straight to README, head over to https://github.com/colinhacks/zodA pinch of contextI'm building an API for a healthcare application with Typescript. Naturally I want this mission-critical medical software to be rock-solid, so my goal is to build a fully end-to-end typesafe data +
5年前
\ No newline at end of file diff --git a/blogs/538a98baace4e0b45a8e150e03152413/index.html b/blogs/538a98baace4e0b45a8e150e03152413/index.html new file mode 100644 index 000000000000..81d11154f439 --- /dev/null +++ b/blogs/538a98baace4e0b45a8e150e03152413/index.html @@ -0,0 +1,25 @@ +Jantridのフィード|JSer.info Watch List RSS

Jantrid

https://www.jantrid.net/

The musings and ramblings of Jamie Teh.

フィード

記事のアイキャッチ画像
Cache the World: Turbo Charging Firefox Accessibility Performance and Maintainability
Jantrid
+The Firefox accessibility engine is responsible for providing assistive technologies like screen readers with the information they need to access web page content. For the past couple of years, the Firefox accessibility team have been working on a major re-architecture of the accessibility engine to significantly improve its speed, reliability and maintainability. We call this project “Cache the World”. In this post, I explain the reasons for such a massive undertaking and describe how the new architecture solves these issues. The need for speed The biggest motivation for this project is to make Firefox faster when used with screen readers and other assistive technologies, particularly on Windows. Let’s start by taking a look at some numbers. The table below provides the approximate time taken to perform various tasks with Firefox and the NVDA screen reader, both before and after this re-architecture. Before (no cache) After (with cache) Load nsCSSFrameConstructor.cpp on Searchfox, whi +
2年前
記事のアイキャッチ画像
Making the Play/Pause Button on Earpods Skip to Next/Previous Track on Windows
Jantrid
+I recently got a new laptop: Dell XPS15 9510. While this is a pretty nice machine overall, its audio drivers are an abomination. Among other things, the Waves MaxxAudio software it ships with eventually leaks all of your system memory if you use audio constantly for hours, which is the case for screen reader users. I eventually got fed up and disabled the Waves crap, but this makes it impossible for me to use the headset mic on my Earpods. To work around that, I bought an Apple USB-C to 3.5-mm Headphone Jack Adapter. As well as supporting the mic on the Earpods, this adapter also supports the volume and play/pause buttons! However, play/pause only plays or pauses. In contrast, on the iPhone, pressing it twice skips to the next track and pressing it thrice skips to the previous track. I discovered that these buttons simply get sent as media key presses. So, I wrote a little AutoHotkey script to intercept the play/pause button and translate double and triple presses into next track and p +
3年前
記事のアイキャッチ画像
Reading Recipes with Siri or Apple Watch
Jantrid
+I’m finally learning to cook some decent food, so I need to be able to read recipes. For a while, I was reading them out of Simplenote on my iPhone. However, I encountered several frustrations with this approach (and this applies to any notes or text app really): When you’re not editing, Simplenote shows the note such that each line is an item for VoiceOver; i.e. you flick right to read the next line. However, if you bump the screen or perform the wrong gesture accidentally, you can easily lose your position. If the screen locks or you have to switch apps, you lose your position completely, since VoiceOver doesn’t restore focus to the last focused item in apps. When editing, you can review the note line by line using the rotor. The advantage here is that the cursor doesn’t get lost when you switch apps or the screen locks. However, lines can be smaller than is ideal due to the screen size, so one recipe instruction might get split across multiple lines. Also, moving the editing cursor +
3年前
記事のアイキャッチ画像
Tab Keywords in Firefox
Jantrid
+Introduction An awesome feature in Firefox that has existed forever is the ability to assign keywords to bookmarks. For example, I could assign the word “bank” to take me directly to the login page for my bank. Then, all I have to do is type “bank” into the address bar and press enter, and I’m there. Another awesome feature in Firefox is the ability to use the address bar to switch to open tabs. For example, if I want to switch to my Twitter tab, I can type “% twitter” into the address bar, then press down arrow and enter, and I’m there. Inspired by these two features, I started to wonder: what if you could have tab keywords to quickly switch to tabs you use a lot? If you only have 8 tabs you use a lot, you can switch to the first 8 tabs with control+1 through control+8. If you have more than that, you can search them with the address bar, but that gets messy if you have multiple pages with similar titles or a page title doesn’t contain keywords that are quick to search. For example, i +
5年前
記事のアイキャッチ画像
Open Source Access to Math for NVDA: The Beginning
Jantrid
+At CSUN this year, I attended the open source math accessibility sprint co-hosted by the Shuttleworth Foundation and Benetech, where major players in the field gathered to discuss and hack on various aspects of open source math accessibility. My team, which also included Kathi Fletcher, Volker Sorge and Derek Riemer, tackled reading of mainstream math with open source tools.Last year, NVDA introduced support for reading and interactive navigation of math content in web browsers and in Microsoft Word and PowerPoint. To facilitate this, NVDA uses MathPlayer 4 from Design Science. While MathPlayer is a great, free solution that is already helping many users, it is closed source, proprietary software, which severely limits its future potential. Thus, there is a great need for a fully open source alternative.Some time ago, Volker Sorge implemented support for math in ChromeVox and later forked this into a separate project called Speech Rule Engine (SRE). There were two major pieces to our t +
9年前
記事のアイキャッチ画像
Woe-ARIA: aria-describedby: To Report or Not to Report?
Jantrid
+IntroductionIn my last post, I waxed lyrical about the surprising complexity of the seemingly simple aria-label/ledby. Thanks to those who took the time to read it and provide their valuable thoughts. In particular, Steve Faulkner commented that he’d started working on “doc/test files suggesting what screen readers should announce from accname/description info“. Talk about responsive! Thanks Steve! His inclusion of description opened up another can of worms for me, so I thought I’d continue the trend and let the worms spill out right here. Thankfully, this particular can is somewhat smaller than the first one!What are you on about this time?Steve’s new document suggests that for an a tag with an href, screen readers should:Announce accname + accdescription (if present and different from acc name), ignore element content.I don’t agree with the “ignore element content” bit in all cases; see the “Why not just use the accessible name?” section of my label post for why. However, the bit of +
9年前
記事のアイキャッチ画像
Woe-ARIA: The Surprisingly but Ridiculously Complicated World of aria-label/ledby
Jantrid
+IntroductionWAI-ARIA is one of the best things ever to happen to web accessibility. It paved the way to free us from a world where JavaScript and any widget that didn’t have an HTML tag equated to inaccessibility. Aside from it being deployed by authors, I’ve even managed to majorly improve the accessibility of various websites using Greasemonkey scripts. I love ARIA.But sometimes, I hate ARIA. Yes, you heard me. I said it. Sometimes, it drives me truly insane.Let’s take aria-label and aria-labelledby. They’re awesome. Authors can just use them to make screen readers speak the right thing. Simple, right?Not at all. I wish it were that simple, but it is so, so much more complicated than that. I’ve had a ridiculous number of discussions/arguments about aria-label/aria-labelledby over the years. Frankly, when I hear about aria-label/ledby, it just makes me cringe and groan and, depending on the day, consider quitting my job. (Okay, perhaps that last part is a bit melodramatic.)The most fr +
9年前
記事のアイキャッチ画像
Deploying a Flask Web App as a Dynamic uWSGI App with Multiple Threads
Jantrid
+I recently had to deploy a Flask web app for Hush Little Baby Early Childhood Music Classes (shameless plug) with uWSGI. (Sidenote: Flask + SQLAlchemy + WTForms = awesome.) I ran into an extremely exasperating issue which I thought I'd document here in case anyone else runs into it.Despite the fact that uWSGI recommends that you run a separate instance for each app, I prefer the dynamic app approach. While i certainly understand why separate instances are recommended, I think per-app instances waste resources, especially when they have a lot of common dependencies, including Python itself. I also set uWSGI to use multiple threads. Unfortunately, with Flask, this is a recipe for disaster.As soon as Flask is imported by a dynamic app in this configuration, uWSGI instantly hangs and stops responding altogether. The only option is to kill -9. After hours of late night testing, debugging, muttering, cursing, finally going to bed and then more of the same the next day, I finally thought to t +
11年前
記事のアイキャッチ画像
Josh’s First Meaningful “Mum”?
Jantrid
+Josh is fairly clingy with Jen at the moment, especially at night. One evening last week, Jen, Josh and I were all lying in bed, with me cuddling Josh. We were wondering whether Josh would be happy with that this night. Soon after, Josh, who has been babbling mamama for a while now, said with total clarity, "mmmuummm." Surely that was just amusing but unintentional? He doesn't know what Mum means yet. A few seconds later, "mmmmmuuuuummmmm." Right. Even if it was unintentional, how could we resist that? Jen took him and he settled without further protest.
12年前
記事のアイキャッチ画像
Our Lounge Room Entertainment Setup
Jantrid
+IntroductionFor a while now, we've had a Samsung LCD TV, Samsung Blueray player and Palsonic PVR in our lounge room, as well as an old 2005 notebook running Windows 7 connected to the TV for watching video files, media on the web, etc. I've recently made some major enhancements to this setup. I think they're pretty cool, cost effective and don't require lots of different devices, so I thought I'd document them here.Decent AudioTV speakers really suck. For a while now, we've wanted to be able to listen to audio, particularly music, in decent quality. So, after my usual several months of research and deliberation, I bought a set of Audioengine A5+ powered bookshelf speakers. They cost around AU$400 and we're very much loving them. They're quite small and the amp is built into the left speaker, which suits well given the limited space on the TV cabinet. They have dual inputs, enabling both the notebook and TV to be connected simultaneously.MusicI've used foobar2000 as my audio player for +
12年前
\ No newline at end of file diff --git a/blogs/53c2f1fcf701becb83a80e5e6e24ffa4/index.html b/blogs/53c2f1fcf701becb83a80e5e6e24ffa4/index.html new file mode 100644 index 000000000000..aaaf93a7b0c0 --- /dev/null +++ b/blogs/53c2f1fcf701becb83a80e5e6e24ffa4/index.html @@ -0,0 +1,12 @@ +Viteのフィード|JSer.info Watch List RSS

Vite

https://vite.dev/blog

Next Generation Frontend Tooling

フィード

記事のアイキャッチ画像
Vite 6.0 is out!
Vite
2ヶ月前
記事のアイキャッチ画像
Vite 5.1 is out!
Vite
+Vite 5.1 is out! ​February 8, 2024Vite 5 was released last November, and it represented another big leap for Vite and the ecosystem. A few weeks ago we celebrated 10 million weekly npm downloads and 900 contributors to the Vite repo. Today, we're excited to announce the release of Vite 5.1.Quick links: Docs, ChangelogDocs in other languages: 简体中文, 日本語, Español, Português, 한국어, DeutschTry Vite 5.1 online in StackBlitz: vanilla, vue, react, preact, lit, svelte, solid, qwik.If you're new to Vite, we suggest reading first the Getting Started and Features guides.To stay up to date, follow us on X or Mastodon.Vite Runtime API ​Vite 5.1 adds experimental support for a new Vite Runtime API. It allows running any code by processing it with Vite plugins first. It is different from server.ssrLoadModule because the runtime implementation is decoupled from the server. This lets library and framework authors implement their own layer of communication between the server and the runtime. This new API +
1年前
記事のアイキャッチ画像
Vite 5.0 is out!
Vite
1年前
記事のアイキャッチ画像
Vite 4.3 is out!
Vite
Vite 4.3 is out! ​April 20, 2023Quick links:Docs: English, 简体中文, 日本語, Español, PortuguêsVite 4.3 ChangelogPerformance Improvements ​In this minor, we focused on improving the dev server performance. The resolve logic got streamlined, improving hot paths and implementing smarter caching for finding package.json, TS config files, and resolved URL in general.You can read a detailed walkthrough of the performance work done in this blog post by one of Vite Contributors: How we made Vite 4.3 faaaaster 🚀.This sprint resulted in speed improvements across the board compared to Vite 4.2.These are the performance improvements as measured by sapphi-red/performance-compare, which tests an app with 1000 React Components cold and warm dev server startup time as well as HMR times for a root and a leaf component:| Vite (babel) | Vite 4.2 | Vite 4.3 | Improvement || :
2年前
記事のアイキャッチ画像
Vite 4.0 is out!
Vite
2年前
記事のアイキャッチ画像
Vite 3.0 is out!
Vite
+Vite 3.0 is out! ​July 23, 2022 - Check out the Vite 4.0 announcementIn February last year, Evan You released Vite 2. Since then, its adoption has grown non-stop, reaching more than 1 million npm downloads per week. A sprawling ecosystem rapidly formed after the release. Vite is powering a renewed innovation race in Web frameworks. Nuxt 3 uses Vite by default. SvelteKit, Astro, Hydrogen, and SolidStart are all built with Vite. Laravel has now decided to use Vite by default. Vite Ruby shows how Vite can improve Rails DX. Vitest is making strides as a Vite-native alternative to Jest. Vite is behind Cypress and Playwright's new Component Testing features, Storybook has Vite as an official builder. And the list goes on. Maintainers from most of these projects got involved in improving the Vite core itself, working closely with the Vite team and other contributors.Today, 16 months from the v2 launch we are happy to announce the release of Vite 3. We decided to release a new Vite major at le +
3年前
\ No newline at end of file diff --git a/blogs/550558eb0af5e8aa2320ac383779b4c1/index.html b/blogs/550558eb0af5e8aa2320ac383779b4c1/index.html new file mode 100644 index 000000000000..baaaf7d0f5d5 --- /dev/null +++ b/blogs/550558eb0af5e8aa2320ac383779b4c1/index.html @@ -0,0 +1,12 @@ +Node-REDのフィード|JSer.info Watch List RSS

Node-RED

フィード

記事のアイキャッチ画像
Version 4.0 released
Node-RED
Node-RED 4.0 is now available to install. If upgrading, please read the upgrade instructions.
8ヶ月前
記事のアイキャッチ画像
Version 3.1 released
Node-RED
Node-RED 3.1 is now available to install. If upgrading, please read the upgrade instructions.
1年前
+
記事のアイキャッチ画像
2023 Community Survey
Node-RED
Update: the results are now available here.
2年前
記事のアイキャッチ画像
Version 3.0 released +
Node-RED
Node-RED 3.0 is now available to install. If upgrading, please read the upgrade instructions.
3年前
記事のアイキャッチ画像
Introducing the Node Scorecard
Node-RED
+Last year we asked the community what frustrations they were experiencing as both users and creators of 3rd party nodes. One of the common themes was that it was hard to judge the quality of a node just from looking at its page on the Flow Library.
3年前
記事のアイキャッチ画像
Version 2.2 released
Node-RED
Node-RED 2.2 is now available to install. If upgrading, please read the upgrade instructions.
3年前
記事のアイキャッチ画像
Version 2.1 released
Node-RED
Node-RED 2.1 is now available to install. If upgrading, please read the upgrade instructions.
3年前
記事のアイキャッチ画像
Version 2.0 released
Node-RED
Node-RED 2.0 is now available to install. If upgrading, please read the upgrade instructions.
4年前
記事のアイキャッチ画像
Version 1.3 released
Node-RED
Node-RED 1.3 is now available to install. If upgrading, please read the upgrade instructions.
4年前
+
記事のアイキャッチ画像
Version 1.2 released
Node-RED
Node-RED 1.2 is now available to install.
4年前
\ No newline at end of file diff --git a/blogs/5705d2ff3b1c38a07161fa2a2c6e18b1/index.html b/blogs/5705d2ff3b1c38a07161fa2a2c6e18b1/index.html new file mode 100644 index 000000000000..cc3fe925d0ea --- /dev/null +++ b/blogs/5705d2ff3b1c38a07161fa2a2c6e18b1/index.html @@ -0,0 +1,30 @@ +Builder.io Blogのフィード|JSer.info Watch List RSS

Builder.io Blog

https://www.builder.io/blog

Builder Blog for the latest insights, tips, and best practices for learning how to build fast digital experiences across all channels, faster.

フィード

記事のアイキャッチ画像
Replace your JavaScript Animation Library with View Transitions
Builder.io Blog
Use the View Transitions API to create smooth animations between DOM states with minimal CSS and JavaScript, replacing heavy animation libraries.
5日前
記事のアイキャッチ画像
Figma to Code with Cursor and Visual Copilot
Builder.io Blog
Visual Copilot & Cursor integration automates Figma-to-code conversion, eliminating manual work. Learn how to set up and use these tools for faster development.
5日前
記事のアイキャッチ画像
How to build React components with AI-powered design to code
Builder.io Blog
+Learn about Builder's AI tool to transform Figma designs into React components. This guide covers importing, code generation, refinement, & component mapping.
8日前
記事のアイキャッチ画像
+Building High-Performance React Components with AI Assistance
Builder.io Blog
Improve React components using AI. Explore practical strategies for architecture, performance, state management, and testing.
10日前
記事のアイキャッチ画像
Gartner names Builder.io a Top 5 DXP for the Composable DXP Use Case
Builder.io Blog
We're thrilled to share Gartner has recognized Builder as a top 5 DXP for the composable DXP use case in their 2025 Critical Capabilities for DXP report
10日前
記事のアイキャッチ画像
Turn Figma Designs into Full Stack Apps Using Lovable and Builder.io
Builder.io Blog +
Turn Figma designs into working apps with Lovable and Builder.io. See how this combo speeds up the process from design to functional application.
17日前
記事のアイキャッチ画像
10 Figma Shortcuts to Design Faster
Builder.io Blog
Boost your Figma skills with these 10 keyboard shortcuts. From opacity control to component creation, these tricks will save you time and hassle.
1ヶ月前
記事のアイキャッチ画像
Cursor vs Windsurf vs GitHub Copilot
Builder.io Blog
Comparing Cursor, Windsurf, and GitHub Copilot AI coding assistants. Analysis of features, capabilities, and pricing reveals Cursor as the current frontrunner.
1ヶ月前
記事のアイキャッチ画像
React UI Component Libraries in 2025
Builder.io Blog
Discover top React UI libraries for 2025: AI-assisted development, enhanced accessibility, and visual editing tools. Build modern, efficient interfaces faster.
1ヶ月前
記事のアイキャッチ画像
React + AI Stack for 2025
Builder.io Blog
+React and AI tools for developers in 2025. Core frameworks, styling, state management, testing, and AI-assisted development options.
1ヶ月前
記事のアイキャッチ画像
Best Figma Plugins for Designers
Builder.io Blog
A practical overview of 10 Figma plugins that can significantly improve your design workflow, from generating gradients to converting designs to code.
2ヶ月前
記事のアイキャッチ画像
Windsurf vs Cursor: which is the better AI code editor?
Builder.io Blog
Comparing Windsurf & Cursor AI-powered IDEs: features, user experience & workflow efficiency. Which is best for you?
2ヶ月前
記事のアイキャッチ画像
Cursor AI: 5 Advanced Features You're Not Using
Builder.io Blog
Learn about advanced Cursor AI features: the Agent, custom rules, Notepads, bug finder & web search. Also covers AI commit messages & Figma-to-code conversion.
2ヶ月前
記事のアイキャッチ画像
What is Builder's Visual Development Platform?
Builder.io Blog
+Learn how Builder's Visual Development Platform combines AI-powered design-to-code, visual editing, and an Enterprise CMS for faster web and mobile development.
2ヶ月前
記事のアイキャッチ画像
AI Pair Programming in 2025: The Good, Bad, and Ugly
Builder.io Blog
Explore the pros and cons of AI pair programming in 2025. From boosting productivity to ethical concerns, discover how AI is reshaping software development.
2ヶ月前
記事のアイキャッチ画像
Animate hero elements with scroll-driven CSS animations
Builder.io Blog
Recreate GitHub's landing page scroll effect using modern CSS techniques, including scroll-driven animations, for a performant and maintainable solution.
2ヶ月前
記事のアイキャッチ画像
Devin review: is it a better AI coding agent than Cursor?
Builder.io Blog
I tested Devin, the $500/month AI coding agent, against Cursor. Here's what I found, what worked, what didn't, and why I think one has a brighter future.
2ヶ月前
記事のアイキャッチ画像
Is OpenAI's o1 model a breakthrough or a bust?
Builder.io Blog
OpenAI's o1 model is slower and costlier, but its step-by-step approach could improve AI agents. Progress in AI may be slower than the current hype suggests.
2ヶ月前
記事のアイキャッチ画像
Solved: Why ChatGPT Won't Say 'Brian Hood' (Blame Regexes)
Builder.io Blog
ChatGPT can't say certain names, like "Brian Hood". Solve the mystery behind this error and learn how strict regexes can improve your code.
2ヶ月前
記事のアイキャッチ画像
Figma Components: Supercharge Your Design System
Builder.io Blog
Figma components can streamline your design process, maintain consistency, & save time. Learn tips for creating, organizing, & managing components effectively.
2ヶ月前
Why AI Is Making Dev Skills More Valuable, Not Less
Builder.io Blog
AI isn't replacing devs, it's making them more valuable. Let's look at how the job of devs is evolving and how it impacts teams
2ヶ月前
記事のアイキャッチ画像
The Big Lie AI Vendors Keep Telling You
Builder.io Blog
+AI vendors promise AGI, but reality suggests otherwise. The truth behind AI progress, specialized hardware, and the future of AI products.
2ヶ月前
記事のアイキャッチ画像
Generate Figma Designs with AI
Builder.io Blog
You can now generate fully editable designs inside of Figma with AI via prompts. Design to code. Builder.io and Figma plugin.
2ヶ月前
記事のアイキャッチ画像
Builder.io Named a Cool Vendor in the 2024 Gartner® Cool Vendors™ in Software Engineering: User Experience
Builder.io Blog
Learn why we believe we were named a Gartner Cool Vendor for our design-to-code automation solution that's transforming how enterprises ship experiences.
3ヶ月前
記事のアイキャッチ画像
How to Build Reliable AI Tools
Builder.io Blog
Building AI tools: Ensure seamless integration, reliability, and outstanding performance with Visual Copilot 2.0
3ヶ月前
記事のアイキャッチ画像
Design Smarter with Figma Auto Layout
Builder.io Blog
+Discover how Figma's auto layout revolutionizes design. Learn to create responsive, maintainable layouts with ease. Boost efficiency now!
3ヶ月前
記事のアイキャッチ画像
A Guide to Server-Side Rendering
Builder.io Blog
Server-side rendering generates HTML on the server. Learn how SSR improves performance and SEO for web apps and when to use it vs client-side rendering.
3ヶ月前
記事のアイキャッチ画像
Turn a Figma Dropdown Design Into Working React Code in 1 Minute
Builder.io Blog
Let's convert a Figma dropdown menu design into a functional, reusable React component in less than 60 seconds.
3ヶ月前
記事のアイキャッチ画像
+Turn a Figma Design Into a Working Dashboard App in 5 Minutes
Builder.io Blog
Turn a Figma dashboard design into a working app with real APIs, data, and pagination in under 5 minutes. Export clean, customizable code for React, Vue, + more
3ヶ月前
記事のアイキャッチ画像
Figma to React Native: Convert designs to clean code in a click
Builder.io Blog
+Discover how to convert Figma designs to React Native code with Visual Copilot. Learn the features and how it streamlines mobile app development.
3ヶ月前
\ No newline at end of file diff --git a/blogs/5786f655e03b3ed3b1370d11dfd550d8/index.html b/blogs/5786f655e03b3ed3b1370d11dfd550d8/index.html new file mode 100644 index 000000000000..72380dad8c2f --- /dev/null +++ b/blogs/5786f655e03b3ed3b1370d11dfd550d8/index.html @@ -0,0 +1,37 @@ +STORES Product Blogのフィード|JSer.info Watch List RSS

STORES Product Blog

https://product.st.inc/

こだわりを持ったお商売を支える「STORES」のテクノロジー部門のメンバーによるブログです。

フィード

記事のアイキャッチ画像
Women in Agile Tokyo 2025に協賛します
STORES Product Blog
STORES は、2月4日・5日に開催されるWomen in Agile Tokyo 2025に協賛します。 www.wiajapan.org スポンサートークの紹介 タイトル:STORESのQAチームが開発スクラムに参加して見えてきた成果と気づき 登壇者:Nazuki Kaneko 日時:2月4日(火)14:00〜 場所:ROOM C confengine.com スポンサーブース STORES のブースでは、STORES のconnpassグループメンバーになっていただくと、くじにチャレンジできます。 くじの賞品は、STORES を利用されているオーナーさんの商品です。ぜひブースに遊びに来…
+
5日前
記事のアイキャッチ画像
開発版のRubyを用いてCIを定期実行する試みとその成果
はてなブックマークアイコン 24 +
STORES Product Blog
こんにちは。本記事は ykpythemind、mame、 ko1 が共著しています。 今回は開発版のRuby(Ruby head)を用いてSTORESのRailsアプリケーションのCIを定期実行していることと、それによってRuby本体の開発にフィードバックをしていることについてお話します。 モチベーション STORES はRubyを用いて10年選手のRails製アプリケーションを複数開発・運用しており、事業の柱となる技術として大きく投資をしています。 具体的にはRubyのフルタイムコミッター2名がジョインしていたり、RubyKaigiを始めとする各カンファレンスへ協賛をしております。 prod…
5日前
記事のアイキャッチ画像
STORES はRubyKaigi 2025に参加したい学生さんを支援します
STORES Product Blog
こんにちは、id:hogelogです。2025年1月よりSTORES で VP of Engineeringという役職で仕事をしていくこととなりました。(宣伝) VPoEとして始めてのご挨拶ブログがRubyKaigi学生支援告知ブログになるというのもなかなか乙なものですね。 さて、今回はじめての試みとして学生のRubyKaigi参加を支援させていただきます。 チケット代や交通費・宿泊費を負担することなく、カンファレンスに参加いただけます。 本記事では支援の概要と、応募方法を案内させていただきます。 今回ささやかながらRubyKaigi 2025に参加したい学生さんを支援させていただくこととしま…
5日前
記事のアイキャッチ画像
東京Ruby会議12で「混沌とした例外処理とエラー監視に秩序をもたらす」というタイトルで登壇しました
はてなブックマークアイコン 6
STORES Product Blog
+STORES でソフトウェアエンジニアをやっております @morihirok です。タイトルの通り先日行われた東京Ruby会議12で登壇しました。 regional.rubykaigi.org 発表資料はこちらとなります。 speakerdeck.com STORES は Sliver Sponsors として協賛させていただきました。 会自体すごく大盛況で、前夜祭から懇親会まで含めてめちゃくちゃ楽しかったです!オーガナイザー、スタッフのみなさま、素晴らしい会を本当にありがとうございました! 今回「Regional.rb and the Tokyo Metropolis」というタイトルで東京圏…
11日前
記事のアイキャッチ画像
技術的負債ではなく庭なのではないか。庭活のすゝめ。【ep.33 #論より動くもの .fm】
STORES Product Blog
+CTO 藤村がホストするPodcast、論より動くもの.fmの第33回を公開しました。今回はykpythemind(以下、ykpy)とyubrotと、技術的負債ではなく庭なのではないかという話をしました。 creators.spotify.com 論より動くもの.fmはSpotifyとApple Podcastで配信しています。フォローしていただくと、新エピソード公開時には自動で配信されますので、ぜひフォローしてください。 コードベースを自分の庭にする 藤村:こんにちは、論より動くもの.fmです。 論より動くもの.fmは STORES のCTO 藤村が技術や技術じゃないことについてざっくばらん…
15日前
記事のアイキャッチ画像
一括生成された大量のデータを効率的に基盤システムへ送信する設計
STORES Product Blog
+はじめに 基盤システムへのデータ送信 コールバックを利用したデータ送信 課題 データ作成のバッチと送信処理を分ける 実装の概要 バッチ処理で作成された事実を記録するテーブルを用意 バッチ処理でのログ記録 コールバック処理 送信バッチ処理 まとめ はじめに こんにちは、mochizukiです。 STORES には、ネットショップ、予約システム、POSレジなど、複数のプロダクトがあります。これらは元々独立して開発されてきたものですが、現在ではサービス間の連携を進め、新たな価値を提供する取り組みを行っています。 詳しくはこちら product.st.inc その中で私が所属するチームでは、各プロダク…
19日前
記事のアイキャッチ画像
東京Ruby会議12に2名が登壇&Silver Sponsorとして協賛します
STORES Product Blog
+STORES は、1月18日(土)に開催される東京Ruby会議12にSilver Sponsorとして協賛します。 regional.rubykaigi.org 登壇者の紹介 STORES から2名が登壇します!意気込みを聞きました! 前夜祭(1月17日) 時間:20:20〜 タイトル:An OptCarrot Retrospective 登壇者:mame 「Rubyを3倍に高速化する」というスローガン"Ruby 3x3"のベンチマークプログラムだったoptcarrotは、9年前に開催された東京Ruby会議11で発表したものでした。その後、optcarrotは予想以上に反響を呼び、さまざまな成…
22日前
記事のアイキャッチ画像
Action Mailerに学ぶ闇の魔術と闇の魔術に対する防衛術
STORES Product Blog
+はじめに STORES 予約でエンジニアをやっている@ucksです。 大体年内にやりたかったタスクが捌けてきたので空いた時間でブログを書いています。 Railsからのメール送信でお世話になるAction Mailer。 インスタンスメソッドを定義しているのにクラスメソッドから呼び出しをしています。 どの様な仕組みになっているのか不思議に思ったことはないでしょうか。 様々な方法で、OSSのソースコードを追うことがあると思いますが、今回は追い方の一例として、実際のAction Mailerのロジックを追いながら、どの様な仕組みになっているのか、参考になるロジックはあるのかを、探索したり、拡張できな…
1ヶ月前
記事のアイキャッチ画像
ジオコーディングとGeolocation APIを用いて店舗と現在地との距離を計算する
STORES Product Blog
+はじめに 初めまして、STORES でエンジニアをしているhiromu617です。この度、STORES では、STORES モバイルオーダーというサービスをリリースしました。 www.st.inc 今回は、STORES モバイルオーダー内に現在地から店舗までの距離を表示してみようと思います。 なお、モバイルオーダーを開発する上での取り組みについて、wanijiさんが紹介されているのでこちらも合わせて閲覧していただけると幸いです。 product.st.inc やりたいこと STORES モバイルオーダーには、注文する店舗を選択するための店舗一覧画面が存在します。 モバイルオーダーの店舗一覧画面…
1ヶ月前
記事のアイキャッチ画像
モノレポでのVSCode Dev Container
STORES Product Blog
+STORES 予約 でエンジニアをしている水野です。VSCode Dev Containerを利用すると開発環境のセットアップが迅速化されたり必要なライブラリ、ツールをコード化できたりとメリットが多いため導入している現場も多いかと思います。 STORES 予約 でもVSCode Dev Containerを利用しています。しかし今後モノレポな環境に携わる機会が見えたとき、そういえばモノレポでもVSCode Dev Containerって使えるんだっけ?となったので調べてみました。 Multiple containers モノレポの場合は公式で紹介されているMultiple containers…
1ヶ月前
記事のアイキャッチ画像
AlloyDBを業務システムのバックエンドとして利用するためのアイデア
STORES Product Blog
+はじめに fujiuです。この記事ではGoogle CloudのフルマネージドPostgreSQL互換データベースであるAlloyDBについて、業務システムのバックエンドとして利用する方法を紹介します。 AlloyDBはPostgreSQL互換なインターフェースを備えているためOLTPのユースケースにおいて高速にクエリすることができます。 さらに、AlloyDBはカラムナエンジンという仕組みを備えており、これをうまく扱えるようなSQLでクエリすることで、OLAPのユースケースでも使えるようなパフォーマンスを発揮します。 STORES において顧客データを集約し活用することは、事業者さまのビジネ…
1ヶ月前
記事のアイキャッチ画像
モバイルオーダーを開発する中で役立った5つの取り組み
STORES Product Blog
+始めに STORES エンジニアの waniji です。このたび STORES では STORES モバイルオーダー というサービスをリリースしました。 www.st.inc 価値の高いプロダクトをスピード感を持って開発するため、チームでさまざまな取り組みを実施してきました。その中でも、特にやってよかったと感じた取り組みを5つ紹介します。 1. リリースフェーズを区切る モバイルオーダーで実現したいことは多岐にわたりましたが、すべてを盛り込むとリリースが後ろ倒しになってしまうため、優先順位を明確にする必要がありました。そのため、リリースまでのマイルストーンとしてリリースフェーズを区切り、そのフ…
1ヶ月前
記事のアイキャッチ画像
GitHub の Sub-issues はいいぞ
STORES Product Blog
+GitHub の Sub-issues はいいぞ はじめに こんにちは! STORES でソフトウェアエンジニアをしている @m0nch1 です。 今回は GitHub issues に新しく追加された Preview 機能の1つである Sub-issues について紹介しようと思います。 Sub-issues は GitHub Projects と組み合わせることでより便利に機能するものになっており、GitHub Projects での活用例についても紹介しようと思います。 ちなみに STORES ではバックログの管理に GitHub Projects を活用しているチームが多く、日々活用し…
1ヶ月前
記事のアイキャッチ画像
自動化でスクラムを後押しする
STORES Product Blog
+こんにちは。STORES ブランドアプリ のバックエンドエンジニアをしているotariidaeです。2024年4月に新卒入社して初めてブログを書きます。 リモートワーク環境下でのスクラムイベントの課題 みなさんはスクラムをやっていますか?透明性・検査・適応を日々実践していますか? 私が所属するチームでも開発プロセスとしてスクラムを採用しています。 また STORES ではリモートワーク中心の働き方になっており、社内の多くの会議はオンラインで行われています。スクラムイベントも例外ではありません。 スクラムイベントをオンラインで実施する上で重要なことは何でしょうか? そうですね、わいわいスレですね…
1ヶ月前
記事のアイキャッチ画像
Oktaの SMS/音声認証終了に対応しました
STORES Product Blog
+こんにちは、コーポレートエンジニアの伊藤(ito2)です。 今回は、先日対応した Okta のSMS/音声認証の停止について書いていきます。同様のケースを検討される際の参考になれば幸いです。 以下、前置きです。 私は、PX 部門 IT 本部コーポレートエンジニアリンググループに所属しています。 PX は、人事、採用、労務、広報、社内IT からなる部門で、人事はプロダクト開発と同じ、従業員と考えるのではなく、ユーザーと捉えようという考えから「People Experience(PX)」と名乗っています。社内 IT についても同じ文脈で活動しており、ユーザー体験を重視するメンバーが集まっています。…
1ヶ月前
記事のアイキャッチ画像
スクラム開発で行った改善の話
STORES Product Blog
+はじめに こんにちは、STORES のエンジニアの takeuchi です。 私が現在所属しているチームは2024年の春に新規に編成され、現在まで新規プロダクトの開発に取り組んできました。 このチームでは、スクラム開発を採用しています。2週間スプリントごとにスプリントゴールを設定し、そのスプリントゴールの達成を目指しプロダクト開発を前進させています。 本記事では、私たちのチームのスクラム開発の概要と、スプリントを重ねながらチームで改善してきたことについて紹介します。 スクラム開発の概要 スクラムイベント スクラム開発は、短い開発サイクル(スプリント)を通じて計画・作業・振り返りを繰り返すソフト…
1ヶ月前
記事のアイキャッチ画像
KMP / CMPを使った新規プロダクトの開発
STORES Product Blog
+このたび STORES では STORES モバイルオーダー というサービスをリリースしました。 www.st.inc 名前からも想像できるように、店頭から離れた場所からもスマートフォンでテイクアウト注文できる特徴をもったサービスです。 注文するお客様にとって、移動中に注文をして待ち時間を短縮できるとても利便性が良いサービスですが、お店にとっても行列を見てお客様が返ってしまう機会損失をなくしたり、電話を使わずに新規の注文を受け付けられるなどメリットがあります。 では、お客様が注文したオーダーをお店の方はどのように把握し、調理を開始するのでしょうか。また、調理が終わったら、どのように受取に来てほ…
1ヶ月前
記事のアイキャッチ画像
プロと読み解くRuby 3.4 NEWS
STORES Product Blog
+プロと読み解くRuby 3.4 NEWS テクノロジー部門技術基盤グループの笹田(ko1)と遠藤(mame)です。Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 本日 12/25 に、恒例のクリスマスリリースとして、Ruby 3.4.0 がリリースされました(Ruby 3.4.0 リリース )。今年も STORES Product Blog にて Ruby 3.4 の NEWS.md ファイルの解説をします(ちなみに、STORES Adven…
1ヶ月前
記事のアイキャッチ画像
STORES レジ のビルド時間を改善したかった話
STORES Product Blog
+こんにちは! STORES レジ の開発をしている iOS / Android エンジニアの @satoryo056 です。 今回は STORES レジ のビルド時間を短縮するために実験したことを紹介します。 STORES レジ について STORES レジ (以下、レジアプリ)は iPadOS 専用のモバイルアプリで、実店舗とネットショップの商品・在庫・売上の管理をしたり実店舗(オフライン)でのお会計をすることができます。 最近は 予約システムとの連携機能を実装 したり、長年課題だった技術的負債の改善 に取り組んだり、プロダクト監視の時間 を設けたりと開発面・運用面でアップデートを続けていま…
1ヶ月前
記事のアイキャッチ画像
enableEdgeToEdge のデフォルト引数を理解しよう
STORES Product Blog
+こんにちは、naberyo(@error96num)です。今年4月に STORES へ入社し、 STORES ブランドアプリ のAndroidエンジニアをしています。 Androidエンジニアのみなさま、アプリのターゲットSDKは35に上げましたか? もし上げたなら、エッジツーエッジ対応もお済みでしょうか? Android 15 (SDK 35) 以降をターゲットとするアプリでは、画面の端から端までコンテンツが描画される「エッジツーエッジ」がデフォルトで適用 されるようになりました。この変更は、没入感あるUXを実現する素晴らしい機能ですが、対応を間違えると思わぬ落とし穴にはまる可能性があります…
1ヶ月前
記事のアイキャッチ画像
Passkeyの作成・取得に関するWebAuthn APIの重要オプション解説
STORES Product Blog
+はじめに こんにちは!@m11oです。 この記事はSTORES Advent Calendar 2024の17日目の記事です。今回はWebAuthn APIにおけるPasskeyの作成・取得に関する主要なオプションを網羅的に解説しようと思います。 というのも、自分がPasskeyを実装した際に、WebAuthn APIのドキュメント以外でまとまった記事が見つからず、試行錯誤したり、色々な人に教えてもらったりしながら、苦心して実装しました。 なので、この記事ではオプション一つひとつの役割や返ってくるデータを明示することで、実装時の参考にしていただければ嬉しいです。 想定読者 これからPasske…
1ヶ月前
記事のアイキャッチ画像
STORES 決済から別の現場に異動した話
STORES Product Blog
+はじめに こんにちは。 @nannanyです。 この記事はSTORES Advent Calendar 2024の12/20の記事です。 2024年の4月より、STORES 決済 のバックエンド開発を離れ、STORES内の別プロダクト開発に従事してきました。 現場移行に伴ってやったこと、変えたこと、感想などを綴り、STORES で働くイメージ喚起につながればと思いこの記事を執筆しました。 経緯 STORES ではネットショップ・予約システム・キャッシュレス決済・POSレジ・ブランドアプリ・ロイヤリティ・データ分析、といった複数のプロダクトを運営しています。 私自身は2021年の5月から STO…
1ヶ月前
記事のアイキャッチ画像
Goのテストで GraphQL APIサーバのE2Eテストを書く方法
STORES Product Blog
+はじめに こんにちは、STORESの高田です。 STORES には Go で実装した GraphQL API サーバがあり、そのプロジェクトでは Go のテスト内で E2E テストを行っています。今回はそのテスト方法についてご紹介します。 実装例 今回の E2E テストは CI でも実行したいため、再現性のある安定したテストであることが求められます。 少し工夫する必要がありますが、テスト対象となるサーバのポート確保時に、エニーポートを指定して動的にポートを割り当てることで安定したテストを実現できます。 以下のコードのように、 TestMain 内での net.Listen("tcp", "lo…
1ヶ月前
記事のアイキャッチ画像
実装漏れをテストで防ぐ仕組み
STORES Product Blog
+実装漏れをテストで防ぐ仕組み STORES 予約 で Web エンジニアをしている osd です。 実装漏れの問題はプロダクト開発の中でも根本的な解決が難しい問題の一つだと思っていて、その問題を解決する一例として「複製機能の実装漏れを防ぐ仕組み」についてお話しします。 予約ページとは STORES 予約 では、予約受付の設定が区切られる予約ページという概念が存在します。予約ページでは 価格の設定 支払い方法の設定 担当スタッフの設定 予約受付時間の設定 などの設定を行うことができ、よく機能追加や改修が行われる箇所の一つです。 予約ページトップ 複製機能とは 複雑な設定値を持つこともあり、設定漏…
1ヶ月前
記事のアイキャッチ画像
STORES レジにおけるSwift6移行対応
STORES Product Blog
+この記事は STORES Advent Calendar 2024 の16日目の記事です。 はじめに こんにちは、STORES レジ でアプリ開発している @nekowen です。 STORES のモバイルプロダクトは STORES レジ 以外に「STORES ブランドアプリ」「STORES 決済」「STORES 予約」が存在しますが、今年の下期から各プロダクトで Swift6 に移行する取り組みを行なっています。 本記事では STORES レジ で取り組んでいる Swift6 移行対応についてかんたんにご紹介します。 実施計画と見積もり 🤔 レジアプリは SwiftPM を用いたマルチモジュ…
2ヶ月前
記事のアイキャッチ画像
新卒1年目を振り返る!
STORES Product Blog
+こんにちは! STORES 決済 Androidチームのchukaです。 こちらはSTORES Advent Calendar 2024 16日目の記事です。 気がつけば12月ももう終わりですね。 2024年は私が新卒として STORES に入社し、たくさんの初めてに直面した1年でした。 せっかくなので、この1年で経験したことについて振り返っていきたいと思います! QRコード決済 STORES 決済 は、今年11月11日に「PayPay」などの20種類以上の主要QRコード決済に対応しました!🎉 www.st.inc こちらのQRコード決済プロジェクトに、入社して1~2ヶ月頃から携わらせていただ…
2ヶ月前
記事のアイキャッチ画像
GraphQLの @oneOf ディレクティブの活用事例
STORES Product Blog
+STORES でバックエンドエンジニアをしている片桐です。 みなさんはGraphQLの@oneOfというディレクティブをご存知でしょうか? このディレクティブは、GraphQLの標準仕様においてBuilt-in Directivesへの追加が検討されている新しいディレクティブです。 RFC: https://github.com/graphql/graphql-spec/pull/825 今回 STORES のプロダクトで実際に導入してみたので、このディレクティブの具体的な使用例と使用してみて気づいたことを紹介します。 @oneOf ディレクティブとは? @oneOf は input に対して…
2ヶ月前
記事のアイキャッチ画像
go-cmp/cmp/cmpopts のオプション活用事例
STORES Product Blog
+はじめに こんにちは、STORESの高田です。 今回は github.com/google/go-cmp/cmp のオプションの中から、実際のテストコードで使用頻度の高いオプションについてご紹介します。 基本的な使い方 cmp パッケージ用の汎用的なオプションは cmpopts package - github.com/google/go-cmp/cmp/cmpopts - Go Packages で提供されています。以下のように cmp.Diff() への引数として使うことができます。 t.Run("...", func(t *testing.T) { ... opts := cmpopts…
2ヶ月前
記事のアイキャッチ画像
net/http/httptest でHTTPクライアントをテストする方法
STORES Product Blog
+はじめに こんにちは、STORESの高田です。 今回は net/http/httptest でHTTPクライアントをテストする方法についてご紹介します。 外部サービスのクライアントを含めたテストを実装する際には net/http/httptest を使うと、外部依存を排除しつつ再現性のあるテストを書くことができます。 基本的な使い方 テストの一例として、 Refresh token を用いて Access token を取得する箇所での使い方を見ていきます。 使い方は以下の通りで、httptest.NewServer でテスト用のHTTPサーバを作成します。func NewServer(han…
2ヶ月前
記事のアイキャッチ画像
Dependabotを活用してライブラリのアップデートを効率化
STORES Product Blog
+はじめに こんにちは、STORESの高田です。 今回は Dependabot を用いてライブラリのアップデートに追従する方法についてご紹介します。 プロジェクト開始時に見落とされがちな物のうちの一つに、ライブラリのアップデートがあると思います。途中から更新に追いつこうとすると気が思い作業になるので、早めに設定しておくと後々苦労せずに済みます。 アップデート方針を決める アップデート方針はチームに合うように調整すると良いと思いますが、今回は以下の方針で設定します。 ライブラリのアップデートにはできるだけ工数をかけない セキュリティアラートは可能な限り早く対応する Dependabot の設定 D…
2ヶ月前
\ No newline at end of file diff --git a/blogs/579ff22c8875cb0daa1b933c66aaf519/index.html b/blogs/579ff22c8875cb0daa1b933c66aaf519/index.html new file mode 100644 index 000000000000..a8a1f8291ba0 --- /dev/null +++ b/blogs/579ff22c8875cb0daa1b933c66aaf519/index.html @@ -0,0 +1,12 @@ +Jake Archibald&#39;s blogのフィード|JSer.info Watch List RSS

Jake Archibald's blog

フィード

記事のアイキャッチ画像
+How should &lt;selectedoption&gt; work?
Jake Archibald's blog
It&#39;s part of the new customisable `&lt;select&gt;`, but there are some tricky details.
4ヶ月前
記事のアイキャッチ画像
Video with alpha transparency on the web
Jake Archibald's blog
It&#39;s better to do it yourself. +
6ヶ月前
記事のアイキャッチ画像
Garbage collection and closures
Jake Archibald's blog
GC within a function doesn&#39;t work how I expected
6ヶ月前
記事のアイキャッチ画像
HTML attributes vs DOM properties
Jake Archibald's blog
They&#39;re completely different, but often coupled.
9ヶ月前
記事のアイキャッチ画像
View transitions: Handling aspect ratio changes
Jake Archibald's blog
+Tips and tricks to get the transition you want
1年前
記事のアイキャッチ画像
The case against self-closing tags in HTML
Jake Archibald's blog
The history, facts, and opinions.
2年前
記事のアイキャッチ画像
The gotcha of unhandled promise rejections
Jake Archibald's blog
A rough edge with promises that can sneak up on you.
2年前
記事のアイキャッチ画像
Getting the correct HTML codecs parameter for an AV1 video
Jake Archibald's blog
+It should be easier, but here&#39;s how to figure it out.
2年前
記事のアイキャッチ画像
Drawing a star with DOMMatrix
Jake Archibald's blog
And how I messed up the code on HTTP 203
2年前
記事のアイキャッチ画像
Avoiding &lt;img&gt; layout shifts: aspect-ratio vs width &amp; height attributes
Jake Archibald's blog
Two ways to do the same thing, but which is best?
3年前
\ No newline at end of file diff --git a/blogs/5963b49b2968f256a58d76e17f3527db/index.html b/blogs/5963b49b2968f256a58d76e17f3527db/index.html new file mode 100644 index 000000000000..557fd78eaf09 --- /dev/null +++ b/blogs/5963b49b2968f256a58d76e17f3527db/index.html @@ -0,0 +1,8 @@ +TimeTime Blogのフィード|JSer.info Watch List RSS

TimeTime Blog

フィード

記事のアイキャッチ画像
How long is a second in JavaScript?
TimeTime Blog
Discover how JavaScript handles time with POSIX, why it ignores leap seconds, and how techniques like smearing ensure smoother transitions. Learn when precision matters and why timekeeping isn’t as simple as it seems.
13日前
記事のアイキャッチ画像
Time duration in JS
TimeTime Blog
+This article explains how to use JavaScript's Temporal API to manage time durations effectively. It covers key topics like creating and balancing Temporal.Duration objects, handling complex scenarios such as time zones and Daylight Saving Time (DST), and comparing durations for accurate time calculations.
4ヶ月前
記事のアイキャッチ画像
JS Dates Are About to Be Fixed
TimeTime Blog
+Why I’m excited about the new Temporal API in JavaScript: finally, easy and accurate date handling with time zones using ZonedDateTime. Say goodbye to the headaches of traditional Date objects.
6ヶ月前
\ No newline at end of file diff --git a/blogs/5984f6a64d96c33feb52e842605b4575/index.html b/blogs/5984f6a64d96c33feb52e842605b4575/index.html new file mode 100644 index 000000000000..4d4204651d04 --- /dev/null +++ b/blogs/5984f6a64d96c33feb52e842605b4575/index.html @@ -0,0 +1,37 @@ +Shopify Engineering - Shopify Engineeringのフィード|JSer.info Watch List RSS

Shopify Engineering - Shopify Engineering

https://shopify.engineering

Shopify powers millions of businesses in more than 175 countries with essential commerce infrastructure. Our engineers and developers work on challenging and impactful projects spanning frontend, backend, mobile and data.

フィード

記事のアイキャッチ画像
Five years of React Native at Shopify
Shopify Engineering - Shopify Engineering
25日前
記事のアイキャッチ画像
How We Built the BFCM 2023 Globe
Shopify Engineering - Shopify Engineering
3ヶ月前
記事のアイキャッチ画像
How Shopify improved consumer search intent with real-time ML
Shopify Engineering - Shopify Engineering
4ヶ月前
記事のアイキャッチ画像
Tophat: Crafting a Delightful Mobile Developer Experience
Shopify Engineering - Shopify Engineering
<p class="p1" data-mce-fragment="1">Insight into how Shopify created a seamless one-click manual testing experience (known as "tophatting") for mobile applications by creating a macOS app.</p><p><a class="read-more" href="https://shopify.engineering/shopify-tophat-mobile-developer-testing">More</a></p>
6ヶ月前 +
記事のアイキャッチ画像
Mitigating Deadlocks in high concurrency environments
Shopify Engineering - Shopify Engineering
6ヶ月前
記事のアイキャッチ画像
Shipping support for module script integrity in Chrome & Safari
Shopify Engineering - Shopify Engineering
How we shipped ES module integrity in browsers and made commerce and the web better for everyone!<p><a class="read-more" href="https://shopify.engineering/shipping-support-for-module-script-integrity-in-chrome-safari">More</a></p>
6ヶ月前
記事のアイキャッチ画像
Improving Shopify App’s Performance
Shopify Engineering - Shopify Engineering
1年前
記事のアイキャッチ画像
A Packwerk Retrospective
Shopify Engineering - Shopify Engineering
1年前
記事のアイキャッチ画像
Horizontally scaling the Rails backend of Shop app with Vitess
Shopify Engineering - Shopify Engineering
<meta charset="utf-8"><span data-mce-fragment="1">Shop app horizontally scaled a Ruby on Rails app with Vitess. This blog describes Vitess and our detailed approach for introducing Vitess to a Rails app.</span><p><a class="read-more" href="https://shopify.engineering/horizontally-scaling-the-rails-backend-of-shop-app-with-vitess">More</a></p>
1年前
記事のアイキャッチ画像
Getting Started with React Native Skia
Shopify Engineering - Shopify Engineering
1年前
記事のアイキャッチ画像
Introducing Ruvy
+Shopify Engineering - Shopify Engineering
1年前
記事のアイキャッチ画像
Building a ShopifyQL Code Editor
Shopify Engineering - Shopify Engineering
1年前
記事のアイキャッチ画像
Sidekick’s Improved Streaming Experience
Shopify Engineering - Shopify Engineering
2年前
記事のアイキャッチ画像
Shopify’s platform is the Web platform
Shopify Engineering - Shopify Engineering
2年前
記事のアイキャッチ画像
Contributing support for a Wasm instruction to Winch
Shopify Engineering - Shopify Engineering
<meta charset="utf-8"><span>Jeff Charles, a Senior Shopify Developer, shares key learnings from his successful pull request to Winch. The pull request aimed to add support for various WebAssembly instructions to Wasmtime's baseline (non-optimizing) compiler.</span><p><a class="read-more" href="https://shopify.engineering/contributing-support-for-a-wasm-instruction-to-winch">More</a></p>
+
2年前
記事のアイキャッチ画像
Creating a Flexible Order Routing System with Shopify Functions
Shopify Engineering - Shopify Engineering
+<meta charset="utf-8"><span>In this article, I’ll cover how we added flexibility to our previous one-size-fits-all order routing system with the introduction of “routing rules”, and how we dogfooded our own Shopify Functions feature to give merchants the ability to create their own routing rules.</span><p><a class="read-more" href="https://shopify.engineering/creating-a-flexible-order-routing-system-with-shopify-functions">More</a></p>
2年前
記事のアイキャッチ画像
+Adventures in Garbage Collection: Improving GC Performance in our Massive Monolith
Shopify Engineering - Shopify Engineering
<meta charset="utf-8"><span><span>At the beginning of this year, we ran several experiments aimed at reducing the latency impact of the Ruby garbage collector (GC) in Shopify's monolith. </span></span><meta charset="utf-8"><span>In this article, Jean talks about the changes we made to improve GC performance, and more importantly, how we got to these changes.</span><p><a class="read-more" href="https://shopify.engineering/adventures-in-garbage-collection">More</a></p>
2年前
記事のアイキャッチ画像
How Migrating from Vanilla Redux to Redux Toolkit Improved State Management in Shopify POS
Shopify Engineering - Shopify Engineering
<meta charset="utf-8">A look at Shopify’s experience improving state management in the Shopify POS app by migrating from a Vanilla Redux codebase to Redux Toolkit one.<p><a class="read-more" href="https://shopify.engineering/react-redux-toolkit-migration">More</a></p>
2年前
記事のアイキャッチ画像
What Being a Staff Developer Means at Shopify
Shopify Engineering - Shopify Engineering
A <span>staff developer is an adaptable engineering leader that's comfortable working with ambiguity.</span><p><a class="read-more" href="https://shopify.engineering/what-being-a-staff-developer-means-at-shopify">More</a></p>
2年前
記事のアイキャッチ画像
Supporting Passkeys in Shop's Authentication Flows
Shopify Engineering - Shopify Engineering
<meta charset="utf-8"><span>Passkeys are a new login credential based on public-key cryptography that replace the need for username and password sign-ins.</span><p><a class="read-more" href="https://shopify.engineering/supporting-passkeys-in-shop-authentication-flows">More</a></p>
2年前
記事のアイキャッチ画像
Lessons From Linguistics: i18n Best Practices for Front-End Developers
Shopify Engineering - Shopify Engineering
+<meta charset="utf-8"><p><span style="font-weight: 400;">Here are a few internationalization (i18n) best practices to help front-end developers avoid errors and serve more robust text content on multilingual websites and apps.</span></p><p><a class="read-more" href="https://shopify.engineering/internationalization-i18n-best-practices-front-end-developers">More</a></p>
2年前
記事のアイキャッチ画像
+Unlocking Real-time Predictions with Shopify's Machine Learning Platform
Shopify Engineering - Shopify Engineering
<meta charset="utf-8"><span>Learn how Shopify Data built new online inference capabilities into its Machine Learning Platform to deploy and serve models for real-time prediction at scale.</span><p><a class="read-more" href="https://shopify.engineering/shopifys-machine-learning-platform-real-time-predictions">More</a></p>
2年前
記事のアイキャッチ画像
Improving the Developer Experience with the Ruby LSP
Shopify Engineering - Shopify Engineering
+<meta charset="utf-8"><span>The </span><a href="https://github.com/Shopify/ruby-lsp" target="_blank" title="Shopify / ruby-lsp on GitHub" rel="noopener noreferrer">Ruby LSP</a> is<span> a new language server built at Shopify that makes coding in Ruby even better by providing extra Ruby features for any editor that has a client layer for the LSP. In this article, we’ll cover how we built the Ruby LSP, the features included within it, and how you can install it. </span><p><a class="read-more" href="https://shopify.engineering/improving-the-developer-experience-with-ruby-lsp">More</a></p>
2年前
記事のアイキャッチ画像
The Case Against Monkey Patching, From a Rails Core Team Member
Shopify Engineering - Shopify Engineering
+<meta charset="utf-8"><p>Monkey patching is considered one of the more powerful features of the Ruby programming language. However, by the end of this post I’m hoping to convince you that they should be used sparingly, if at all, because they are brittle, dangerous, and often unnecessary. I’ll also share tips on how to use them as safely as possible in the rare cases where you<span> </span><em>do<span> </span></em>need to monkey patch.</p><p><a class="read-more" href="https://shopify.engineering/the-case-against-monkey-patching">More</a></p>
2年前
記事のアイキャッチ画像
The 25 Percent Rule for Tackling Technical Debt
Shopify Engineering - Shopify Engineering
<meta charset="utf-8"><span>Let’s talk about technical debt. Let’s talk about practical usable approaches for actually paying it down on a daily, weekly, monthly, and yearly basis. Let’s talk about what debt needs to be fixed now versus what can wait for better planning.</span><p><a class="read-more" href="https://shopify.engineering/technical-debt-25-percent-rule">More</a></p>
2年前
記事のアイキャッチ画像
ShopifyQL Notebooks: Simplifying Querying with Commerce Data Models
Shopify Engineering - Shopify Engineering
+<meta charset="utf-8"><span>We recently released </span><a href="https://www.shopify.com/ca/enterprise/shopifyql-notebooks" target="_blank" title="ShopifyQL Notebooks" rel="noopener noreferrer">ShopifyQL Notebooks</a><span>, a powerful self-serve tool which enables merchants to explore their business metrics without any SQL expertise. Here’s how we used ShopifyQL and commerce data models to make it possible.</span><p><a class="read-more" href="https://shopify.engineering/building-commerce-data-models-with-shopifyql">More</a></p>
2年前
記事のアイキャッチ画像
Bringing Javascript to WebAssembly for Shopify Functions
Shopify Engineering - Shopify Engineering
<p><span style="font-weight: 400;">While we’re working on getting our Shopify Functions infrastructure ready for the public beta, we thought we’d use this opportunity to shine some light on how we brought JavaScript to WebAssembly, how we made everything fit within our very tight Shopify Function constraints, and what our plans for the future look like.</span></p><p><a class="read-more" href="https://shopify.engineering/javascript-in-webassembly-for-shopify-functions">More</a></p>
2年前
記事のアイキャッチ画像
The Complex Data Models Behind Shopify's Tax Insights Feature
Shopify Engineering - Shopify Engineering
The intensive data work behind Shopify's Tax Insights feature required <meta charset="utf-8"><span>building functionality to handle dynamically changing information</span><p><a class="read-more" href="https://shopify.engineering/complex-data-models-behind-shopify-tax-insights">More</a></p>
2年前
記事のアイキャッチ画像
The Hardest Part of Writing Tests is Getting Started
Shopify Engineering - Shopify Engineering
+<meta charset="utf-8"><span><span>The hardest part of writing tests is setting things up. F</span></span><span>ull test suites have a lot of complicated helper tools, stubs, and fixtures. They’re not easy to understand as a beginner, let alone set up for yourself. This post covers the four things you can do to get started.<br></span><p><a class="read-more" href="https://shopify.engineering/the-hardest-part-of-writing-tests-is-getting-started">More</a></p>
2年前
記事のアイキャッチ画像
Performance Testing At Scale—for BFCM and Beyond
Shopify Engineering - Shopify Engineering
Let’s unpack our approach to BFCM Scale Testing to explore some of what it takes to ensure that our ecommerce platform can handle the busiest weekend of the year.<p><a class="read-more" href="https://shopify.engineering/scale-performance-testing">More</a></p>
2年前
\ No newline at end of file diff --git a/blogs/59cf7690d1b4724a09f1646d9c0c1a99/index.html b/blogs/59cf7690d1b4724a09f1646d9c0c1a99/index.html new file mode 100644 index 000000000000..d707f5dfabbb --- /dev/null +++ b/blogs/59cf7690d1b4724a09f1646d9c0c1a99/index.html @@ -0,0 +1,5 @@ +Alt Text Hall of Fameのフィード|JSer.info Watch List RSS

Alt Text Hall of Fame

https://alttexthalloffame.org

Celebration of the effort, ingenuity, and creativity that goes into making the web a friendlier and more inclusive place, one captioned image at a time.

フィード

\ No newline at end of file diff --git a/blogs/59e36f0bb1e841e8ffde5267002e08f3/index.html b/blogs/59e36f0bb1e841e8ffde5267002e08f3/index.html new file mode 100644 index 000000000000..504cda9df153 --- /dev/null +++ b/blogs/59e36f0bb1e841e8ffde5267002e08f3/index.html @@ -0,0 +1,19 @@ +Babel Blogのフィード|JSer.info Watch List RSS

Babel Blog

フィード

記事のアイキャッチ画像
CVE-2023-45133: Finding an Arbitrary Code Execution Vulnerability In Babel
Babel Blog
On October 10th, 2023, I stumbled upon an arbitrary code execution vulnerability in Babel, which was subsequently assigned the identifier CVE-2023-45133. In this post, I’ll walk you through the journey of discovering and exploiting this intriguing flaw.
1年前
記事のアイキャッチ画像
7.23.0 Released: Decorator Metadata and many new `import` features!
Babel Blog
We just released Babel 7.23.0! 🎉
1年前
記事のアイキャッチ画像
7.22.0 Released: Explicit Resource Management support and Import Attributes parsing
Babel Blog
Babel 7.22.0 is out, with parsing/transform support for the Explicit Resource Management proposal, including both the sync and async variants, and with parsing support for the Import Attributes (an evolution of the old Import Assertions proposal).
2年前
記事のアイキャッチ画像
7.20.0 Released: Deno target and TypeScript 4.9
Babel Blog +
We just published Babel 7.20.0!
2年前
記事のアイキャッチ画像
7.19.0 Released: Stage 3 decorators and more RegExp features!
Babel Blog
We just published Babel 7.19.0!
2年前
記事のアイキャッチ画像
7.18.0 Released: Destructuring private elements and TypeScript 4.7
Babel Blog
We just published Babel 7.18.0!
3年前
記事のアイキャッチ画像
7.17.0 Released: RegExp 'v' mode and ... 🥁 decorators!
Babel Blog
We just published Babel 7.17.0!
3年前
記事のアイキャッチ画像
7.16.0 Released: ESLint 8 and TypeScript 4.5
Babel Blog
We just published Babel 7.16.0!
3年前
記事のアイキャッチ画像
+7.15.0 Released: Hack-style pipelines, TypeScript const enums and Rhino target support
Babel Blog
This release enables parsing top-level await (Stage 4 at the May meeting) and transforming ergonomic brand checks for private fields (Stage 4 at the July meeting) by default. There is also now support for the Hack-style pipeline operator. We also improved our TypeScript support, implementing transform support for const enums and namespace aliases, and we expanded our heuristics to add .displayName to React components created by React.createContext() (#13501).
4年前
記事のアイキャッチ画像
Babel is used by millions, so why are we running out of money?
Babel Blog
Since 2018, Babel has been doing a funding experiment: can full time work on Babel be sustained? We've learned the answer might be no.
4年前
記事のアイキャッチ画像
7.13.0 Released: Records and Tuples, granular compiler assumptions, and top-level targets
Babel Blog
We just published Babel 7.13.0, the first minor release of 2021!
4年前
記事のアイキャッチ画像
7.12.0 Released: TypeScript 4.1, strings as import/export names, and class static blocks
Babel Blog
We just published a new minor version of Babel!
4年前
記事のアイキャッチ画像
The State of babel-eslint
Babel Blog
babel-eslint is moved to @babel/eslint-parser!
5年前
\ No newline at end of file diff --git a/blogs/5a9dbc640a8811185502a30c4fcde564/index.html b/blogs/5a9dbc640a8811185502a30c4fcde564/index.html new file mode 100644 index 000000000000..efe2d8d119cf --- /dev/null +++ b/blogs/5a9dbc640a8811185502a30c4fcde564/index.html @@ -0,0 +1,18 @@ +Frontend Masters Boost RSS Feedのフィード|JSer.info Watch List RSS

Frontend Masters Boost RSS Feed

https://frontendmasters.com/blog

Frontend Masters Boost is a blog about web development. It's written by the team at Frontend Masters, course instructors from the industry, and curated guest authors. The goal is to help you on your path to becoming a senior developer, or to be an even better one.

フィード

記事のアイキャッチ画像
Three Approaches to the “&” (ampersand) Selector in CSS
+Frontend Masters Boost RSS Feed
The & is a powerful addition to CSS, allowing us to craft selectors without repetition and helping organization and understanding.
17時間前
記事のアイキャッチ画像
CRDTs and Y.js
Frontend Masters Boost RSS Feed
Realtime applications (or games!), where multiple users are working at once and the state of the app needs to be in sync with each other and persisted, is more and more a common need and expected feature. But it’s not simple. There are products to help (PouchDB for data and Ably for messaging come to […]
2日前
記事のアイキャッチ画像
HTML & CSS for a One-Time Password Input
Frontend Masters Boost RSS Feed
The typical approach for these inputs is using multiple HTML inputs, one for each character. But is that a good idea?
2日前
記事のアイキャッチ画像
Find a Unicode Character via Quick Sketch
Frontend Masters Boost RSS Feed
+There are 155,063 Unicode characters. A lot of that is stuff from other languages, but there is still a large amount of randomly useful characters like arrows and symbols and whatnot. There are so many that even if you find good lists, it’s hard to search and sort. I like Benjamin Milde’s idea, shapecatcher, that […]
4日前
記事のアイキャッチ画像
Notes on the Code Editors with AI Landscape
Frontend Masters Boost RSS Feed
There are A LOT of options these days for getting AI help right in your code editor. What seemed to begin with plugins has morphed into a lot of VS Code forks.
4日前
記事のアイキャッチ画像
Kern Type
Frontend Masters Boost RSS Feed
Kerning type is moving individual letters such that the space between them feels right. It’s not something you have to be terribly concerned about with web type generally, but it’s still a good design skill to have for working on type that is quite large or long-lasting like a physical sign, logo, giant headline, etc. […]
9日前
記事のアイキャッチ画像
Mapping with Leaflet
Frontend Masters Boost RSS Feed
Leaflet.js is a free open-source mapping library. We'll look at how to use it to create a basic map with location points of cats up for adoption.
10日前
記事のアイキャッチ画像
‘Design Engineer’ as a Job Title
Frontend Masters Boost RSS Feed
+David Darnes asks: Is 2025 the Year of the ‘Design Engineer’? It’s arguably a bit of a new term and being used more and more as a job title. Like most job titles, it doesn’t have the strongest agreed upon definition, but it’s honing in around the front end and essentially a designer who can […]
10日前
記事のアイキャッチ画像
Full-Bleed Layout with Modern CSS
はてなブックマークアイコン 2
Frontend Masters Boost RSS Feed
Just four declarations in CSS can handle this nicely, while avoiding the vertical scrollbar issue.
12日前
記事のアイキャッチ画像
What I’ve learned about writing AI apps so far
Frontend Masters Boost RSS Feed
Some plain-language baby-bear porridge writing from Laurie Voss: Is what you’re doing taking a large amount of text and asking the LLM to convert it into a smaller amount of text? Then it’s probably going to be great at it. If you’re asking it to convert into a roughly equal amount of text it will […]
15日前
\ No newline at end of file diff --git a/blogs/5b19dac026d0c7a29573d444e7666db3/index.html b/blogs/5b19dac026d0c7a29573d444e7666db3/index.html new file mode 100644 index 000000000000..2113b06c267d --- /dev/null +++ b/blogs/5b19dac026d0c7a29573d444e7666db3/index.html @@ -0,0 +1,23 @@ +React Native Blogのフィード|JSer.info Watch List RSS

React Native Blog

フィード

記事のアイキャッチ画像
React Native Core Contributor Summit 2024 Recap
React Native Blog
Every year, the core contributors in the React Native Community get together with the React Native team to collaboratively shape the direction of this project.
5日前
記事のアイキャッチ画像
React Native 0.77 - New Styling Features, Android’s 16KB page support, Swift Template
React Native Blog
Today we are excited to release React Native 0.77!
18日前
記事のアイキャッチ画像
New Architecture is here
React Native Blog
React Native 0.76 with the New Architecture by default is now available on npm!
4ヶ月前
記事のアイキャッチ画像
React Native 0.76 - New Architecture by default, React Native DevTools, and more
React Native Blog
Today we are excited to release React Native 0.76!
4ヶ月前
記事のアイキャッチ画像
Use a framework to build React Native apps
React Native Blog
At React Conf, we updated our guidance on the best tool to get started building React Native apps: a React Native framework - a toolbox with all the necessary APIs to let you build production-ready apps.
7ヶ月前
記事のアイキャッチ画像
React Native 0.74 - Yoga 3.0, Bridgeless New Architecture, and more
React Native Blog
Today we're releasing React Native 0.74! This release adds Yoga 3.0, Bridgeless by default under the New Architecture, batched onLayout updates (New Architecture), and Yarn 3 as the default package manager for new projects.
10ヶ月前
記事のアイキャッチ画像
+React Native 0.73 - Debugging Improvements, Stable Symlink Support, and more
React Native Blog
Today we're releasing React Native 0.73! This release adds improvements to debugging with Hermes, stable symlink support, Android 14 support, and new experimental features. We are also deprecating legacy debugging features, and are releasing the next pillar of the New Architecture: Bridgeless Mode!
1年前
記事のアイキャッチ画像
+React Native 0.72 - Symlink Support, Better Errors, and more
React Native Blog
Today we’re releasing 0.72!
2年前
記事のアイキャッチ画像
Package Exports Support in React Native
React Native Blog
With the release of React Native 0.72, Metro — our JavaScript build tool — now includes beta support for the package.json "exports" field. When enabled, it adds the following functionality:
+
2年前
記事のアイキャッチ画像
React Native 0.71-RC0 Android outage postmortem
React Native Blog
Now that 0.71 is available, we want to share some key information about the incident that broke Android builds for all React Native versions while releasing the first 0.71 release candidate for React Native & Expo Android builds on November 4th, 2022.
2年前
記事のアイキャッチ画像
React Native 0.71: TypeScript by Default, Flexbox Gap, and more...
React Native Blog
Today we’re releasing React Native version 0.71! This is a feature-packed release including:
2年前
記事のアイキャッチ画像
First-class Support for TypeScript
React Native Blog
With the release of 0.71, React Native is investing in the TypeScript experience with the following changes:
2年前
記事のアイキャッチ画像
Pointer Events in React Native
React Native Blog
+Today we are sharing an experimental cross-platform pointer API for React Native. We’ll go over motivations, how it works, and its benefits to React Native users. There are instructions on how to enable and we’re excited to hear your feedback!
2年前
記事のアイキャッチ画像
React Native Core Contributor Summit 2022
React Native Blog
+After years of pandemic and online-only events, we really felt it was time to bring the Core Contributors of React Native together!
2年前
記事のアイキャッチ画像
Announcing React Native 0.70
React Native Blog
+We are excited to release a new version of React Native, 0.70.0. This version comes with several improvements like a new unified configuration for Codegen, Hermes as default engine, and full CMake support for Android builds along with a refresh of the documentation for the New Architecture. Read on to learn more!
2年前
記事のアイキャッチ画像
Hermes as the Default
React Native Blog
+Last October, we announced that we had started work towards making Hermes the default engine for all React Native apps.
3年前
記事のアイキャッチ画像
Announcing React Native 0.69
React Native Blog
We are excited to release a new version of React Native, 0.69.0. This version comes with several improvements for the New Architecture of React Native and new features: React 18 support & bundled Hermes. Read on to learn more!
3年前
+
記事のアイキャッチ画像
Helping migrate React Native libraries to the New Architecture
React Native Blog
+tl; dr: We are working on improving the resources supporting the React Native New Architecture. We have already released a repository to help migrate your app (RNNewArchitectureApp) and one for your libraries (RNNewArchitectureLibraries). We are also revamping the New Architecture guide on the Website and we created a GitHub Working Group to answer questions related to the New Architecture.
3年前
記事のアイキャッチ画像
React Native Accessibility - GAAD 2022 Update
React Native Blog
+May 19th, 2022 marks the 11th annual celebration of Global Accessibility Awareness Day and we wanted to update everyone on the accessibility progress we’ve made on the React Native Framework. Meta (formerly Facebook) was the first organization to take the GAAD pledge in 2020, committing to making the React Native framework accessible.
3年前
\ No newline at end of file diff --git a/blogs/5c39d05c53d635051e111f6dded4f711/index.html b/blogs/5c39d05c53d635051e111f6dded4f711/index.html new file mode 100644 index 000000000000..48d0a33424d8 --- /dev/null +++ b/blogs/5c39d05c53d635051e111f6dded4f711/index.html @@ -0,0 +1,17 @@ +MoonBit Blogのフィード|JSer.info Watch List RSS

MoonBit Blog

https://www.moonbitlang.com/blog

The big news and updates from the MoonBit team

フィード

記事のアイキャッチ画像 +
Consuming a High Performance Wasm Library in MoonBit from JavaScript
MoonBit Blog
Consuming a High Performance Wasm Library in MoonBit from JavaScript
17日前
記事のアイキャッチ画像
MoonBit compiler is available on GitHub
MoonBit Blog
MoonBit compiler is available on GitHub
2ヶ月前
記事のアイキャッチ画像
Introduce JS String Builtins Proposal in MoonBit
MoonBit Blog
Introduce JS String Builtins Proposal in MoonBit
3ヶ月前
記事のアイキャッチ画像
Introduce MoonBit native, up to 15x faster than Java in numerics!
MoonBit Blog
Introduce MoonBit native, up to 15x faster than Java in numerics!
4ヶ月前
記事のアイキャッチ画像
moonbitlang/x Now Supports File I/O
MoonBit Blog
moonbitlang/x Now Supports File I/O
4ヶ月前
記事のアイキャッチ画像
Running MoonBit Games on Real Hardware with WASM-4
MoonBit Blog
Running MoonBit Games on Real Hardware with WASM-4
4ヶ月前
記事のアイキャッチ画像
AI Agent with MoonBit using Wasm Components
MoonBit Blog
AI Agent with MoonBit using Wasm Components
5ヶ月前
記事のアイキャッチ画像
MoonBit Beta Preview: stabilized language and AI-native toolchain
MoonBit Blog
MoonBit Beta Preview - stabilized language and AI-native toolchain
6ヶ月前
記事のアイキャッチ画像
Developing Wasm component model in MoonBit with minimal output size
MoonBit Blog
Developing Wasm component model in MoonBit with minimal output size
6ヶ月前
記事のアイキャッチ画像
Creating games in MoonBit with Wasm4
MoonBit Blog
Creating games in MoonBit with Wasm4
6ヶ月前
記事のアイキャッチ画像
MoonBit's build system, Moon, is now open source
MoonBit Blog
MoonBit's build system, Moon, is now open source
7ヶ月前
記事のアイキャッチ画像
MoonBit adds JS backend, up to 25x faster than native JS
MoonBit Blog
MoonBit adds JS backend, up to 25x faster than native JS
9ヶ月前
記事のアイキャッチ画像
The future of programming languages in the era of LLM
MoonBit Blog
The future of programming languages in the era of LLM
10ヶ月前
記事のアイキャッチ画像
Writing tests with joy: MoonBit expect testing
MoonBit Blog
Writing tests with joy, MoonBit expect testing
10ヶ月前
記事のアイキャッチ画像
Open sourcing MoonBit Core
MoonBit Blog
moonbitlang/core is now open source
1年前
記事のアイキャッチ画像
Introducing MoonBit package manager: mooncakes.io
MoonBit Blog
Intro to mooncakes.io The centralized MoonBit package management platform
1年前
+
記事のアイキャッチ画像
MoonBit: Exploring the design of an AI-Native Language Toolchain
MoonBit Blog
Exploring the design of an AI-Native Language Toolchain
1年前
記事のアイキャッチ画像
+Moonbit: the fast, compact & user friendly language for WebAssembly
MoonBit Blog
The first announcement of MoonBit
1年前
\ No newline at end of file diff --git a/blogs/5d49b77241f9d4c0c95888c007225402/index.html b/blogs/5d49b77241f9d4c0c95888c007225402/index.html new file mode 100644 index 000000000000..4481bbb45ed1 --- /dev/null +++ b/blogs/5d49b77241f9d4c0c95888c007225402/index.html @@ -0,0 +1,19 @@ +The Vue Pointのフィード|JSer.info Watch List RSS

The Vue Point

https://blog.vuejs.org

The official blog for the Vue.js project

フィード

記事のアイキャッチ画像
Announcing Vue 3.5
The Vue Point
Today we are excited to announce the release of Vue 3.5 "Tengen Toppa Gurren Lagann"!This minor release contains no breaking changes and includes both internal improvements and useful new features. We will cover some highlights in this blog post - for a full list of changes and new features, please consult the full changelog on GitHub.
5ヶ月前
記事のアイキャッチ画像
Announcing VitePress 1.0
The Vue Point
Today we are happy to announce the (long overdue) 1.0 release of VitePress!VitePress is a Static Site Generator (SSG) designed for building fast, content-centric websites. In a nutshell, VitePress takes your source content written in Markdown, applies a theme to it, and generates static HTML pages that can be easily deployed anywhere.VitePress is built on top of Vite and Vue, and is the spiritual successor and modern replacement of VuePress.
1年前
記事のアイキャッチ画像
Announcing Vue 3.4
The Vue Point
Today we're excited to announce the release of Vue 3.4 "🏀 Slam Dunk"!This release includes some substantial internal improvements - most notably a rewritten template parser that is 2x faster, and a refactored reactivity system that makes effect triggering more accurate and efficient. It also packs a number of quality-of-life API improvements, including the stabilization of defineModel and a new same-name shorthand when binding props.This post provides an overview of the highlighted features in 3.4. For the full list of changes, please consultthe full changelog on GitHub.
1年前
記事のアイキャッチ画像
Vue 2 is Approaching End Of Life
The Vue Point
With 2024 almost upon us, we would like to take this opportunity to remind the Vue community that Vue 2 will reach End of Life (EOL) on December 31st, 2023.Vue 2.0 was released more than 7 years ago in 2016. It was a major milestone in Vue's journey of becoming a mainstream framework. Many current Vue users started using Vue during the Vue 2 era, and many great things have been built with it.However, active maintenance of two major versions in parallel isn't sustainable for us. As Vue 3 and its ecosystem have matured, it is time for the team to move on and focus our energy on the latest major version.
1年前
記事のアイキャッチ画像
Announcing Vue 3.3
The Vue Point
Today we're excited to announce the release of Vue 3.3 "Rurouni Kenshin"!This release is focused on developer experience improvements - in particular, SFC <script setup> usage with TypeScript. Together with the 1.6 release of Vue Language Tools (previously known as Volar), we have resolved many long-standing pain points when using Vue with TypeScript.This post provides an overview of the highlighted features in 3.3. For the full list of changes, please consultthe full changelog on GitHub.
2年前
記事のアイキャッチ画像
Volar: a New Beginning
The Vue Point
Most users of Volar know it as the official Vue.js VSCode extension. It started as a personal project when the official recommendation was still Vetur, and over time got adopted as the new official extension due to improved architecture and performance.As a project created to improve the quality of life for developers, we spent over two years before reaching 1.0, and have been continuously shipping stability improvements.But we've still got more work to do, and there are exciting plans for 2023.
2年前
記事のアイキャッチ画像
2022 Year In Review
The Vue Point
Happy new year, Vue community! With 2023 upon us, we would like to take this opportunity to recap what happened in 2022, and discuss what to expect in 2023.
2年前
記事のアイキャッチ画像 +
On Escape's Vue 2 to Svelte Migration
The Vue Point
Recently, folks at Escape shared a blog post talking about their migration from Vue 2 to Svelte, and compared Vue 3 with Svelte. We found that the article contained a number of inaccuracies. In this post, we will share some thoughts from our perspective and hope to clarify the potential misconceptions the post could give rise to.
2年前
記事のアイキャッチ画像
Volar 1.0 "Nika" Released!
The Vue Point
We are happy to announce that we have released v1.0 of Volar, the official IDE/TS tooling support for Vue! 🎉This major version ships with tons of improvements across the board. In addition to improving UX, performance, and package size, we also released Plugin API v1 and refactored the core code to be framework-agnostic.注:結尾附有中文版本 (There is Chinese version of this post at the end)。
2年前
記事のアイキャッチ画像
+Vue 2.7 "Naruto" Released
The Vue Point
Today we are happy to announce that Vue 2.7 "Naruto" has been released!
3年前
記事のアイキャッチ画像
Vue 2.7 is Now in Beta
The Vue Point
We are happy to announce that Vue 2.7 is now in beta.
3年前
記事のアイキャッチ画像
Vue 3 as the New Default
The Vue Point
TL;DR: Vue 3 is now the new default version as of Monday, February 7, 2022!Make sure to read the Potential Required Actions section to see if you need to make certain changes before the switch to avoid breakage.
3年前
記事のアイキャッチ画像
Vue 3.2 Released!
The Vue Point
We are excited to announce the release of Vue.js 3.2 "Quintessential Quintuplets"! This release includes many significant new features and performance improvements, and contains no breaking changes.
4年前
記事のアイキャッチ画像
Reflections for 2020-2021
The Vue Point
+With a new year upon us, we also have a new blog! In this post, we would like to take a look back at some of the highlights from 2020, as well as some ideas we have for 2021.
4年前
記事のアイキャッチ画像
Announcing Vue 3.0 "One Piece"
The Vue Point
+Today we are proud to announce the official release of Vue.js 3.0 "One Piece". This new major version of the framework provides improved performance, smaller bundle sizes, better TypeScript integration, new APIs for tackling large scale use cases, and a solid foundation for long-term future iterations of the framework.
4年前
\ No newline at end of file diff --git a/blogs/5dd6f7b7578a50a936f76631f4010c4a/index.html b/blogs/5dd6f7b7578a50a936f76631f4010c4a/index.html new file mode 100644 index 000000000000..f9b3fca66ba9 --- /dev/null +++ b/blogs/5dd6f7b7578a50a936f76631f4010c4a/index.html @@ -0,0 +1,14 @@ +Storybook Blogのフィード|JSer.info Watch List RSS

Storybook Blog

https://storybook.js.org/blog/

News and updates from the Storybook team

フィード

記事のアイキャッチ画像
Storybook 8.5
Storybook Blog
Accessibility at your fingertips
22日前
記事のアイキャッチ画像
Storybook tags
Storybook Blog
Organize your components and stories to match the way you work
2ヶ月前
記事のアイキャッチ画像
Component testing RSCs
Storybook Blog
Fully test React Server Components in the browser, fast
2ヶ月前
記事のアイキャッチ画像
Storybook 8.4
+Storybook Blog
Component Test in your browser in 1 click
3ヶ月前
記事のアイキャッチ画像
Storybook Test sneak peek
Storybook Blog
Multi-modal testing with instant feedback in your browser
3ヶ月前
記事のアイキャッチ画像
React Native Storybook 8
Storybook Blog
React Native is back in the fold!
4ヶ月前
記事のアイキャッチ画像
Storybook 8.3
Storybook Blog
Blazing fast component tests
4ヶ月前
+
記事のアイキャッチ画像
Component testing in Storybook
Storybook Blog
The future of UI testing
5ヶ月前
記事のアイキャッチ画像
Storybook 8.2
Storybook Blog +
Towards no-compromise component testing
7ヶ月前
記事のアイキャッチ画像
State of JS 2023: Fighting back from a sharp left hook
Storybook Blog
How Storybook uses surveys to guide development
7ヶ月前
記事のアイキャッチ画像
Visual testing: The greatest trick in UI development
Storybook Blog
Get more confidence with less maintenance
8ヶ月前
記事のアイキャッチ画像
Interactive story generation
Storybook Blog +
Make your first story in seconds without leaving the browser!
8ヶ月前
記事のアイキャッチ画像
Type-safe module mocking in Storybook
Storybook Blog
A new, standards-based mocking approach
8ヶ月前
Storybook 8.1
Storybook Blog
A more productive, organized, and predictable Storybook
9ヶ月前
記事のアイキャッチ画像
Portable stories for Playwright Component Tests
Storybook Blog
Test your stories in Playwright CT with minimal setup. +
9ヶ月前
\ No newline at end of file diff --git a/blogs/5e543256c480ac577d30f76f9120eb74/index.html b/blogs/5e543256c480ac577d30f76f9120eb74/index.html new file mode 100644 index 000000000000..57f11ec0d441 --- /dev/null +++ b/blogs/5e543256c480ac577d30f76f9120eb74/index.html @@ -0,0 +1,8 @@ +1人 Intl Advent Calendar 2024のフィード|JSer.info Watch List RSS

1人 Intl Advent Calendar 2024

フィード

記事のアイキャッチ画像
ロケールネゴシエーションとIntl.LocaleMatcher Proposal(#4)
1人 Intl Advent Calendar 2024
1人 Intl Advent Calendar 2024 4日目
2ヶ月前
記事のアイキャッチ画像
Intl.LocaleオブジェクトとIntl Locale Info proposal(#3)
1人 Intl Advent Calendar 2024
1人 Intl Advent Calendar 2024 3日目
2ヶ月前
記事のアイキャッチ画像
ロケール識別子(BCP47)とUnicode拡張について(#2)
1人 Intl Advent Calendar 2024
1人 Intl Advent Calendar 2024 2日目
2ヶ月前
記事のアイキャッチ画像
Intlの全体像と基本となるIF(#1)
1人 Intl Advent Calendar 2024
1人 Intl Advent Calendar 2024 1日目
2ヶ月前
\ No newline at end of file diff --git a/blogs/606312002419a9ff6ce3e6a47c6b9e3f/index.html b/blogs/606312002419a9ff6ce3e6a47c6b9e3f/index.html new file mode 100644 index 000000000000..0bee71fbb815 --- /dev/null +++ b/blogs/606312002419a9ff6ce3e6a47c6b9e3f/index.html @@ -0,0 +1,161 @@ +CSS Wizardryのフィード|JSer.info Watch List RSS

CSS Wizardry

https://csswizardry.com/

Web performance consultancy, site-speed optimisation, and Core Web Vitals improvements from Harry Roberts.

フィード

記事のアイキャッチ画像
Build for the Web, Build on the Web, Build with the Web
CSS Wizardry
What is the real, long-term cost of adopting a JavaScript framework?
16日前
記事のアイキャッチ画像
Licensing Code on CSS Wizardry
CSS Wizardry
I’ve recently decided to apply the permissive MIT License to all content on CSS Wizardry by default. How does this affect you?
2ヶ月前
記事のアイキャッチ画像
A Layered Approach to Speculation Rules
CSS Wizardry
+The new Speculation Rules API is incredibly powerful, but we can do so much more! By taking a layered, opt-in approach, we can add more progressive and effective functionality.
2ヶ月前
記事のアイキャッチ画像
Designing (and Evolving) a New Web Performance Score
CSS Wizardry
Why design another new performance score?! Good question…
2ヶ月前
記事のアイキャッチ画像
Core Web Vitals Colours
CSS Wizardry
If, like me, you frequently require the Core Web Vitals colour palete, here it is!
3ヶ月前
記事のアイキャッチ画像
The Ultimate Contract Templates for Tech Consultants: Protect Your Business and Get Paid
CSS Wizardry
If you want to start consulting, you’re gonna need some paperwork!
4ヶ月前
記事のアイキャッチ画像
Optimising for High Latency Environments
CSS Wizardry
+We can’t do much to change latency, so how can we work around it?
5ヶ月前
記事のアイキャッチ画像
Cache Grab: How Much Are You Leaving on the Table?
CSS Wizardry
Quantifying the importance of caching just got a lot easier
6ヶ月前
+記事のアイキャッチ画像
blocking=render: Why would you do that?!
CSS Wizardry
Why on earth would you make something render-blocking?!
6ヶ月前
記事のアイキャッチ画像
Correctly Configure (Pre) Connections
+CSS Wizardry
We’re probably familiar with preconnect, but are we getting it right?
1年前
記事のアイキャッチ画像
The Three Cs: 🤝 Concatenate, 🗜️ Compress, 🗳️ Cache
CSS Wizardry
We know we should do it, but do we know how?
1年前
記事のアイキャッチ画像
What Is the Maximum max-age?
CSS Wizardry
We usually set max-age directives to a year; can we go longer?
1年前
記事のアイキャッチ画像
+How to Clear Cache and Cookies on a Customer’s Device
CSS Wizardry
There’s a super quick and easy way to clear cache on your customers’ devices. Are you using it yet?
1年前
記事のアイキャッチ画像
The Ultimate Low-Quality Image Placeholder Technique
CSS Wizardry
Can Low-Quality Image Placeholders and LCP play nicely together?
1年前 +
記事のアイキャッチ画像
Core Web Vitals for Search Engine Optimisation: What Do We Need to Know?
CSS Wizardry
There’s still a lot of misunderstanding about CWV for SEO. Let’s work it out together.
2年前
記事のアイキャッチ画像
The HTTP/1-liness of HTTP/2
CSS Wizardry
If HTTP/2 is so much better, why does it look so similar to HTTP/1?!
2年前
記事のアイキャッチ画像
In Defence of DOM­Content­Loaded
CSS Wizardry
+Is there any reason to still measure the DOMContentLoaded event? Perhaps…
2年前
記事のアイキャッチ画像
Site-Speed Topography Remapped
CSS Wizardry
Revisiting and remapping my Site-Speed Topography technique for assessing web performance at large
2年前
記事のアイキャッチ画像
Why Not document.write()?
CSS Wizardry
We’re often told not to use document.write(), but… why?!
2年前
記事のアイキャッチ画像
Speeding Up Async Snippets
CSS Wizardry
+Async snippets used to improve performance, but now they’re a legacy anti-pattern. How do we handle them now?
2年前
記事のアイキャッチ画像
Critical CSS? Not So Fast!
CSS Wizardry
How helpful is Critical CSS?
2年前
記事のアイキャッチ画像
Measure What You Impact, Not What You Influence
CSS Wizardry
When implementing performance fixes, it’s imperative that you measure the right thing—but what is ‘right’?
2年前
記事のアイキャッチ画像
Optimising Largest Contentful Paint
CSS Wizardry
Let’s look at some more technical and non-obvious aspects of optimising Largest Contentful Paint
3年前
記事のアイキャッチ画像
Measuring Web Performance in Mobile Safari
CSS Wizardry
How often do you test your site in iOS Safari? Do you even know how?!
4年前
+記事のアイキャッチ画像
Site-Speed Topography
CSS Wizardry
Learning the lay of the land
4年前
記事のアイキャッチ画像
Speed Up Google Fonts
+CSS Wizardry
Google Fonts is fast. Now it’s faster. Much faster.
5年前
記事のアイキャッチ画像
Real-World Effectiveness of Brotli
CSS Wizardry
How effective is Brotli, really?
5年前
記事のアイキャッチ画像
Performance Budgets, Pragmatically
CSS Wizardry
If you’ve ever struggled to define performance budgets, this off-the-shelf trick is what you’re looking for.
5年前
記事のアイキャッチ画像
Lazy Pre-Browsing with Prefetch
CSS Wizardry
Using prefetch for fun and profit
5年前
記事のアイキャッチ画像
Making Cloud.typography Fast(er)
CSS Wizardry
What issues does Hoefler&Co’s Cloud.typography introduce, and how can we mitigate them?
5年前
記事のアイキャッチ画像
Time to First Byte: What It Is and How to Improve It
CSS Wizardry
Just how much does TTFB matter when it comes to front-end performance?
6年前
記事のアイキャッチ画像
Self-Host Your Static Assets
CSS Wizardry
Why is it so much better to self-host your static assets?
6年前
記事のアイキャッチ画像
Tips for Technical Interviews
CSS Wizardry
How can you prepare for and survive a technical interview?
6年前
記事のアイキャッチ画像
Cache-Control for Civilians
CSS Wizardry
What does Cache-Control really do? In basic terms? Let’s find out!
6年前
記事のアイキャッチ画像
Bandwidth or Latency: When to Optimise for Which
CSS Wizardry
How can you tell when bandwidth or latency are your bottlenecks?
6年前
記事のアイキャッチ画像
ITCSS × Skillshare
CSS Wizardry
The official introduction to ITCSS on Skillshare
6年前
記事のアイキャッチ画像
What If?
CSS Wizardry
How do we so often forget to ask the simple question: what if?
6年前
記事のアイキャッチ画像
CSS and Network Performance
CSS Wizardry
How can CSS impact network and resource-loading performance? Can things be that serious?
6年前
記事のアイキャッチ画像
The Three Types of Performance Testing
CSS Wizardry
How can we make it easier for businesses to understand when and what to measure?
6年前
記事のアイキャッチ画像
Getting to Know a Legacy Codebase
CSS Wizardry
What should you do when you first get launched into an old, sprawling CSS codebase?
7年前
記事のアイキャッチ画像
Image Inconsistencies: How and When Browsers Download Images
CSS Wizardry
How and when do browsers download certain types of image? What does that mean for performance?
7年前
記事のアイキャッチ画像
Identifying, Auditing, and Discussing Third Parties
CSS Wizardry
+Gathering data about third-parties using free and open-source tooling
7年前
記事のアイキャッチ画像
My Digital Music Setup
CSS Wizardry
An overview of my hardware and software setup for listening to digital music
7年前
Measuring the Hard-to-Measure
CSS Wizardry
How can we gather valuable data about previously hard-to-measure things?
7年前
記事のアイキャッチ画像
Finding Dead CSS
CSS Wizardry
Finding dead or unused CSS on a live website
7年前
記事のアイキャッチ画像
The Fallacies of Distributed Computing (Applied to Front-End Performance)
CSS Wizardry
What can front-end and performance engineers learn from the Fallacies of Distributed Computing?
7年前
記事のアイキャッチ画像
Ten Years Old
CSS Wizardry
csswizardry.com turns ten today!
7年前
記事のアイキャッチ画像
Relative Requirements
CSS Wizardry
+Define the relative importance of project traits in order to make development smoother
7年前
記事のアイキャッチ画像
Airplanes and Ashtrays
CSS Wizardry
Sometimes you need to make it possible to do the wrong thing…
7年前
記事のアイキャッチ画像
Performance and Resilience: Stress-Testing Third Parties
CSS Wizardry
Assessing the fragility and resilience of third party resources
8年前
記事のアイキャッチ画像
Refactoring Tunnels
CSS Wizardry +
A metaphor for defining the scope of refactoring tasks
8年前
記事のアイキャッチ画像
Little Things I Like to Do with Git
CSS Wizardry
Git is a bunch of fun
8年前
Writing Tidy Code
CSS Wizardry
Even the most inexperienced developers can write great looking code
8年前
記事のアイキャッチ画像
Configuring Git and Vim
CSS Wizardry
+Both amazing tools in their own rights, how can we get both playing nicely together?
8年前
記事のアイキャッチ画像
Base64 Encoding & Performance, Part 2: Gathering Data
CSS Wizardry
Statistics, tests, and numbers looking at the performance costs of Base64
8年前
記事のアイキャッチ画像
Base64 Encoding & Performance, Part 1: What’s Up with Base64?
CSS Wizardry
A look at the many huge disadvantages of Base64 encoding assets into your CSS
8年前
記事のアイキャッチ画像
Code Smells in CSS Revisited
CSS Wizardry
An update to my 2012 article, Code Smells in CSS
8年前
記事のアイキャッチ画像
Typography for Developers
CSS Wizardry
A look at the simple differences that developers and engineers can make in order to improve the quality of their typography
8年前
記事のアイキャッチ画像
Moving CSS Wizardry onto HTTPS and HTTP/2
CSS Wizardry
Improving security and performance on CSS Wizardry
8年前
記事のアイキャッチ画像
Ack for CSS Developers
CSS Wizardry
Using the Ack tool to audit and profile your CSS
8年前
記事のアイキャッチ画像
A New Year, a New Focus
CSS Wizardry
In 2017, I want to begin shifting my focus more toward making things fast
8年前
記事のアイキャッチ画像
Preparing Vim for Apple’s Touch Bar
CSS Wizardry
Apple are replacing their function row with a Touch Bar; how will this affect Vim?
8年前
記事のアイキャッチ画像
Choosing the Correct Average
CSS Wizardry
A look at which average works best for representing certain types of data
8年前
記事のアイキャッチ画像
CSS Shorthand Syntax Considered an Anti-Pattern
CSS Wizardry
Avoid using CSS’ shorthand syntax
8年前
記事のアイキャッチ画像
CSS Wizardry Newsletter
CSS Wizardry
CSS Wizardry has just got itself a newsletter…
8年前
記事のアイキャッチ画像
Nesting Your BEM?
CSS Wizardry
A look at the possible benefits of nesting BEM, and mitigating the side effects
8年前
記事のアイキャッチ画像
Improving Perceived Performance with Multiple Background Images
CSS Wizardry
+Using CSS gradients and multiple backgrounds to improve resilience and perceived performance
8年前
記事のアイキャッチ画像
Continue Normalising Your CSS
CSS Wizardry
Why we should still be using Normalize.css
8年前
Pure CSS Content Filter
CSS Wizardry
Experiment: Making a content filter using CSS
8年前
記事のアイキャッチ画像
Pragmatic, Practical, and Progressive Theming with Custom Properties
CSS Wizardry
+
A low-cost approach for providing user customisation in UI projects
8年前
記事のアイキャッチ画像
Refactoring CSS: The Three I’s
CSS Wizardry
Three key steps to help you refactoring legacy code
8年前
記事のアイキャッチ画像
Speaker’s Checklist: Before and After Your Talk
CSS Wizardry
Giving talks is stressful. Follow these tips to make the logistics of it a little simpler.
9年前
記事のアイキャッチ画像
Improving Your CSS with Parker
CSS Wizardry
Using static analysis to learn where to improve your CSS
9年前
記事のアイキャッチ画像
The Importance of !important: Forcing Immutability in CSS
CSS Wizardry
Forcing immutability in our utility classes by using !important
9年前
記事のアイキャッチ画像
Mixins Better for Performance
CSS Wizardry
A look at the performance difference between Sass’ mixins and @extend
9年前
記事のアイキャッチ画像
+Managing Typography on Large Apps
CSS Wizardry
A look at managing typography more practically on larger sites and apps
9年前
記事のアイキャッチ画像
White October Events Workshop Partnership
CSS Wizardry
An exciting new partnership to offer public workshops
9年前
記事のアイキャッチ画像
BEMIT: Taking the BEM Naming Convention a Step Further
CSS Wizardry
Adding further meaning and information to the BEM naming convention
10年前
記事のアイキャッチ画像
Travelling Like You Want to, When You Have To
CSS Wizardry
My own personal tips and tricks for surviving lots of air travel.
10年前
記事のアイキャッチ画像
Contextual Styling: UI Components, Nesting, and Implementation Detail
CSS Wizardry
How to style specific components when they’re in specific locations
10年前
記事のアイキャッチ画像
Subtleties with Self-Chained Classes
CSS Wizardry
A brief note on some of the subtleties and oddities when chaining classes with themselves.
10年前
記事のアイキャッチ画像
Cyclomatic Complexity: Logic in CSS
CSS Wizardry
A look at how CSS has always contained logic and conditions
10年前
記事のアイキャッチ画像
Immutable CSS
CSS Wizardry
Treating CSS rules as being immutable
10年前
記事のアイキャッチ画像
Can CSS Be Too Modular?
CSS Wizardry
Looking at the dangers of abstracting CSS too far
10年前
記事のアイキャッチ画像
More Transparent UI Code with Namespaces
CSS Wizardry
Employing a suite of namespaces to make your UI code more readable and transparent
10年前
記事のアイキャッチ画像
When to use @extend; when to use a mixin +
CSS Wizardry
When is it suitable to use Sass @extend or mixin features, and why?
10年前
記事のアイキャッチ画像
The Specificity Graph
CSS Wizardry
The Specificity Graph as a model for visualising specificity issues in your code
10年前
記事のアイキャッチ画像
CSS Wizardry Ltd.: Year 1 in review
CSS Wizardry
A look back on my first year of self employment
10年前
記事のアイキャッチ画像
CSS Guidelines 2.0.0
CSS Wizardry
Announcing the next iteration and business model of my popular CSS Guidelines document
10年前
記事のアイキャッチ画像
Advice to budding front-end developers
CSS Wizardry
A collation of the advice I regularly give out to new and emerging web developers
11年前
記事のアイキャッチ画像
CSS Wizardry referral scheme
CSS Wizardry
A way to say thank you to the individuals responsible for their companies hiring me
11年前
記事のアイキャッチ画像
Hacks for dealing with specificity
CSS Wizardry
A couple of quick hacks and tricks for manipulating specificity
11年前
記事のアイキャッチ画像
A new focus, a new site
CSS Wizardry
Redesigning CSS Wizardry to better suit my needs
11年前
記事のアイキャッチ画像
Vim for People Who Think Things Like Vim Are Weird and Hard
CSS Wizardry
An introduction to the whats and the whys of using Vim as your text editor
11年前
記事のアイキャッチ画像
Grouping related classes in your markup
CSS Wizardry
An interesting way of visually and ‘physically’ grouping multiple class attributes
11年前
記事のアイキャッチ画像
My Trello workflow
CSS Wizardry
How I manage development projects using Trello
11年前
記事のアイキャッチ画像
Naming UI components in OOCSS
CSS Wizardry
A way of giving complex, OOCSS-built components more meaningful names
11年前
記事のアイキャッチ画像
Use zero-width spaces to stop annoying Twitter users
CSS Wizardry
A little trick to stop mentioning Twitter users when you write @import, etc.
11年前
記事のアイキャッチ画像
Extending silent classes in Sass
CSS Wizardry
+A simple trick for controlling the reach of Sass’ `@extend`
11年前
記事のアイキャッチ画像
Workshop: Event Handler, London, February 2014
CSS Wizardry
My first workshop in association with the fine folk at Event Handler
11年前
記事のアイキャッチ画像
I wrote (part of) a book!
CSS Wizardry
My section in the latest Smashing Book
11年前
記事のアイキャッチ画像
My setup
CSS Wizardry
A brief overview of my tools and software I use for work
11年前
記事のアイキャッチ画像
The problems with ‘crafting’ code
CSS Wizardry
Some thoughts on our use of the word ‘craft’ to describe our work
11年前
記事のアイキャッチ画像
Taming data tables
CSS Wizardry
Laying out data tables in a consistent way, finally!
11年前
記事のアイキャッチ画像
Workshop: Smashing Workshops, Zürich, December 2013
CSS Wizardry
+Announcing my first workshop in association with Smashing Workshops
11年前
記事のアイキャッチ画像
Code reviews as a service
CSS Wizardry
A new service I’m offering: remote code reviews
11年前
記事のアイキャッチ画像
Workshop: Make Do, Leeds, November 2013
CSS Wizardry
Announcing my first workshop in association with Make Do
11年前
記事のアイキャッチ画像
‘It’s because you’re polite.’
CSS Wizardry
A personal post about helpfulness and politeness.
11年前
記事のアイキャッチ画像
Let’s work together
CSS Wizardry
I’m looking for amazing people to work with on great products.
11年前
記事のアイキャッチ画像
Make it count
CSS Wizardry
Everything you do, do it for a reason, and make that reason a good one.
12年前
記事のアイキャッチ画像
Speak The Web discount code
CSS Wizardry
Amazing events with 25% off!
12年前
記事のアイキャッチ画像
Leeds hangout
CSS Wizardry
I have a couple of days off in Leeds around two conferences; let’s meet…?
12年前
記事のアイキャッチ画像
Writing DRYer vanilla CSS
+CSS Wizardry
DRYing out our CSS at its most basic level
12年前
記事のアイキャッチ画像
Hashed classes in CSS
CSS Wizardry
Spoofing the uniqueness of IDs by putting hashes in your classes
12年前
‘Scope’ in CSS
CSS Wizardry
Applying the concept of scope to our CSS
12年前
記事のアイキャッチ画像
The flag object
CSS Wizardry
A new OOCSS abstraction
12年前
+記事のアイキャッチ画像
shame.css – full .net interview
CSS Wizardry
The full version of the .net magazine shame.css interview
12年前
記事のアイキャッチ画像
shame.css
CSS Wizardry
Keeping track of your hacks
12年前
記事のアイキャッチ画像
.net award nominee
CSS Wizardry
I’ve been nominated for a .net award!
12年前
Introducing csswizardry-grids
CSS Wizardry
A responsive, fluid, nestable, Sass-based grid system.
12年前
記事のアイキャッチ画像
Responsive grid systems; a solution?
CSS Wizardry
+A look at building a practical, robust, flexible, usable responsive grid system.
12年前
記事のアイキャッチ画像
You know your context – on critical thinking and thinking for yourself
CSS Wizardry
About learning to look at things objectively and apply your own context
12年前
記事のアイキャッチ画像
MindBEMding – getting your head ’round BEM syntax
CSS Wizardry
A primer on the oft-confusing BEM notation for CSS
12年前
記事のアイキャッチ画像
Your logo is still an image… and so is mine!
CSS Wizardry
Balancing image semantics with performance ideals
12年前
記事のアイキャッチ画像
Front-end performance for web designers and front-end developers
CSS Wizardry
+A comprehensive primer on front-end performance for designers and front-end developers
12年前
記事のアイキャッチ画像
Discussion via Branch
CSS Wizardry
Adding comments though Branch
12年前
記事のアイキャッチ画像 +
A new CSS Wizardry
CSS Wizardry
Big changes for CSS Wizardry
12年前
記事のアイキャッチ画像
Open Sourceome
CSS Wizardry
We’re pretty awesome, really…
12年前
記事のアイキャッチ画像
My Git workflow for inuit.css
CSS Wizardry
A brief overview of how I use Git, specifically on inuit.css.
12年前
記事のアイキャッチ画像
Code smells in CSS
CSS Wizardry
The things I look out for when writing or reviewing CSS.
12年前
記事のアイキャッチ画像
A classless class—on using more classes in your HTML
CSS Wizardry
An analogy to explain why it is a good idea to use more classes.
12年前
記事のアイキャッチ画像
Announcing pr.ofile.me
CSS Wizardry
A new project!
12年前
記事のアイキャッチ画像
Canvas Conf, 2012
CSS Wizardry
12年前
記事のアイキャッチ画像
+Tags in CSS files
CSS Wizardry
13年前
記事のアイキャッチ画像
Quasi-qualified CSS selectors
CSS Wizardry
13年前
記事のアイキャッチ画像
Keep your CSS selectors short
CSS Wizardry
13年前
記事のアイキャッチ画像
Front-Trends 2012
CSS Wizardry
13年前
記事のアイキャッチ画像
My HTML/CSS coding style
CSS Wizardry
13年前
記事のアイキャッチ画像
Introducing faavorite
CSS Wizardry
13年前
記事のアイキャッチ画像
Comments on CSS Wizardry
CSS Wizardry
13年前
記事のアイキャッチ画像
Hacker News rebuttal
CSS Wizardry
13年前
記事のアイキャッチ画像
On HTML and CSS best practices
CSS Wizardry
13年前
記事のアイキャッチ画像
CSS Wizardry build-along #1
CSS Wizardry
13年前
記事のアイキャッチ画像
Reset restarted
CSS Wizardry
13年前
記事のアイキャッチ画像
The ‘island’ object
CSS Wizardry
13年前
記事のアイキャッチ画像
The ‘nav’ abstraction
CSS Wizardry
13年前
記事のアイキャッチ画像
Writing efficient CSS selectors
CSS Wizardry
+
13年前
記事のアイキャッチ画像
Do designers need to code?
CSS Wizardry
13年前
記事のアイキャッチ画像
Two titillating table tips
CSS Wizardry
13年前
Building better grid systems
CSS Wizardry
13年前
記事のアイキャッチ画像
Updated CV
CSS Wizardry
13年前
記事のアイキャッチ画像
More logo markup tips
CSS Wizardry
14年前
記事のアイキャッチ画像
Borders on responsive images
CSS Wizardry
14年前
記事のアイキャッチ画像
hry.rbrts.me
CSS Wizardry
14年前 +
記事のアイキャッチ画像
.net magazine awards nominee
CSS Wizardry
14年前
記事のアイキャッチ画像
Responsive images right now
CSS Wizardry
14年前
記事のアイキャッチ画像
Fluid grid calculator
CSS Wizardry
14年前
記事のアイキャッチ画像
What is inuit.css?
CSS Wizardry
14年前
記事のアイキャッチ画像 +
Styling alt text on images
CSS Wizardry
14年前
記事のアイキャッチ画像
DIBI 2011
CSS Wizardry
14年前
記事のアイキャッチ画像
On negative hovers
CSS Wizardry
14年前
記事のアイキャッチ画像
Introducing inuit.css
CSS Wizardry
14年前
記事のアイキャッチ画像
Ideas of March
CSS Wizardry
14年前
記事のアイキャッチ画像
Mobile business card
CSS Wizardry
14年前
記事のアイキャッチ画像
+Pure CSS(3) accordion
CSS Wizardry
14年前
記事のアイキャッチ画像
in:focus—a case study
CSS Wizardry
14年前
記事のアイキャッチ画像
Announcing in:focus
CSS Wizardry
14年前
記事のアイキャッチ画像
Client respect
CSS Wizardry
14年前
記事のアイキャッチ画像
The real HTML5 boilerplate
+CSS Wizardry
14年前
記事のアイキャッチ画像
A new year, a new CSS Wizardry
CSS Wizardry
14年前
記事のアイキャッチ画像
Tweet this!
CSS Wizardry
14年前
記事のアイキャッチ画像
Let it snow!
CSS Wizardry
14年前
記事のアイキャッチ画像
Improving CSS tooltips
CSS Wizardry
14年前
記事のアイキャッチ画像
+Design and education
CSS Wizardry
14年前
記事のアイキャッチ画像
I hate that I love Writer
CSS Wizardry
14年前
記事のアイキャッチ画像
Unsung heroes +
CSS Wizardry
14年前
記事のアイキャッチ画像
Set then unset (or reset...?)
CSS Wizardry
14年前
記事のアイキャッチ画像
Semantics and sensibility
CSS Wizardry
14年前
記事のアイキャッチ画像
30 days without an iPhone
CSS Wizardry
15年前
記事のアイキャッチ画像
A quick note on border radius
CSS Wizardry
15年前
記事のアイキャッチ画像
Usability in everyday items
CSS Wizardry
15年前
記事のアイキャッチ画像
The three types of dash
CSS Wizardry
15年前
記事のアイキャッチ画像
Typographic work planner
CSS Wizardry
15年前
\ No newline at end of file diff --git a/blogs/6103d8027b579c5eef15e1a98d8628f6/index.html b/blogs/6103d8027b579c5eef15e1a98d8628f6/index.html new file mode 100644 index 000000000000..22fb620c9a9b --- /dev/null +++ b/blogs/6103d8027b579c5eef15e1a98d8628f6/index.html @@ -0,0 +1,37 @@ +It&#39;s official, Meteor 3.0 Official Release is out!のフィード|JSer.info Watch List RSS

It's official, Meteor 3.0 Official Release is out!

https://forums.meteor.com/t/its-official-meteor-3-0-official-release-is-out/61860

+Meteor.js 3.0 is here 🎉 The most “impactful” release of the year! First, we would like to thank the community and everyone involved in making this happen, in no particular order: @denyhs @nachocodoner @hschmaiske @jkuester @fredmaiaarantes @zodern @radekmie @grubba @storyteller @alimgafar @camikuro @gabsferreira @copleykj @harry97 @acemtp @filipenevola @edimarlnx @matheusccastro and so many more, too many to mention them here. We appreciate and respect every single one of you. ❤ A...

フィード

記事のアイキャッチ画像
It's official, Meteor 3.0 Official Release is out!
It's official, Meteor 3.0 Official Release is out!
Please if could you provide the steps you use to achieve it so. thanksRead full topic
6ヶ月前
記事のアイキャッチ画像
It's official, Meteor 3.0 Official Release is out!
+It's official, Meteor 3.0 Official Release is out!
Thanks a lot for taking a look at the profile! I’m currently writing a stress test that connects via ddp and simulates pub/sub from our users. I plan to do comparisons on both Meteor 2 and 3 in production on isolated containers and try to find any clues as to what’s happenning.Read full topic
6ヶ月前
記事のアイキャッチ画像
It's official, Meteor 3.0 Official Release is out!
+It's official, Meteor 3.0 Official Release is out!
+We’ve reviewed your CPU profile, but it’s difficult to conclude without more context or access to your system’s state. From the information provided, we noticed high garbage collector usage despite sufficient RAM, and some compression occurring within the web app middleware. However, when we compared code from versions 2 and 3, there was no clear difference, apart from using express now instead of connect. Other action is to lowering compression levels could potentially speed up the process. But again, without solid evidence, we don’t want to take any action.We understand that comparing CPU profiles from Meteor 2 and 3 can be hard due to different behaviors at the time of capture. However, if you can obtain multiple profiles from both versions under similar conditions, it might reveal significant differences for further analysis.It would be great you can share these profiles among other info we will ask you about your environment, node heap configs state between Meteor versions, and so +
6ヶ月前
記事のアイキャッチ画像
It's official, Meteor 3.0 Official Release is out!
It's official, Meteor 3.0 Official Release is out!
+Hard to say for sure. I was able to capture a CPU trace using monti APM, but I can’t pinpoint to anything in particular. The only wierd things in this trace are:out of 10 captured seconds, 700ms are spent in cookie parsing.a lot of time is spent on garbage collection, even though the container was using 1.5GB out of 4 available in containerCan you take a look at the trace and maybe give some insights? https://app-us.montiapm.com/cpf/EsMsKqYti3cgftK6QRead full topic
6ヶ月前
記事のアイキャッチ画像
+It's official, Meteor 3.0 Official Release is out!
It's official, Meteor 3.0 Official Release is out!
Sorry to hear that, can you provide more information that might lead to what specifically is causing it? Me or @nachocodoner will reach out to you to help understand it better.Read full topic
6ヶ月前
記事のアイキャッチ画像
It's official, Meteor 3.0 Official Release is out!
+It's official, Meteor 3.0 Official Release is out!
Anyone experiencing performance problems after upgrading to Meteor 3? Our CPU usage doubled when we deployed and we were forced to revert.Read full topic
6ヶ月前
記事のアイキャッチ画像
It's official, Meteor 3.0 Official Release is out!
It's official, Meteor 3.0 Official Release is out!
+I’m not sure under what circumstances this issue arises. Does it occur in dev mode, when loading locally after meteor build, or when deploying to iOS production?I tested on my end and found that using Meteor.settings or the settings.json file works for both the skeleton and simpletasks projects, in dev mode.I suggest removing added native plugins and meteor packages and code related from your project incrementally, running the app continuously until it stops crashing. Then, try to replicate the issue in a small, reproducible example that we can examine. Since other developers aren’t encountering this issue in iOS, it seems specific to your setup. We need more information to find the proper solution.Read full topic
7ヶ月前
記事のアイキャッチ画像
It's official, Meteor 3.0 Official Release is out!
It's official, Meteor 3.0 Official Release is out!
+janmp:What’s the status of Cordova? Getting in to run on iOS used to work without any configuration (well except for the certificate in Xcode). Have not got it to work with Meteor 3 yet.Hi, without any further checking, just a quick info: I built our app on Meteor 3.0 + iOS last week, and it probably hat its settings or nothing would have worked.We’re using an explicit --mobile-settings ./mobile-settings-live.json for the build though.Also another settings package to be able to have default settings (ogourment:settings@0.1.4)I just wanted to throw that out.Read full topic
7ヶ月前
記事のアイキャッチ画像
It's official, Meteor 3.0 Official Release is out!
It's official, Meteor 3.0 Official Release is out!
Meteor.settings is not defined on iOS builds. That’s what was causing the problems. Just a white screen with no error message of any kind. Took me a hole day to figure out. Problem also happens when you actually have a settings file. Meteor.settings seems completely broken on iosRead full topic
7ヶ月前
記事のアイキャッチ画像
It's official, Meteor 3.0 Official Release is out!
It's official, Meteor 3.0 Official Release is out!
I have tried running a fresh meteor create app on iOS and that’s working. Figuring, what’s wrong with my actual app is pretty hard, because I do not get any error logs from the cordova app. I don’t get any console.logs from the app at all. The problem must manifest before meteor startup.Found another problem with Safari on iOS and dynamic imports when connecting to the dev server.Read full topic
7ヶ月前
It's official, Meteor 3.0 Official Release is out!
It's official, Meteor 3.0 Official Release is out!
+Cordova works well in Meteor 3.0 for Android and iOS projects. I tested it on both Meteor basic skeletons and the simpletasks app.Did these problems occur in any existing Meteor 2.x project during the transition to Meteor 3.x?If so, it might be an issue with your specific configuration, setup, plugins, or package incompatibilities with latest Node somehow, since nothing around Cordova deps was changed on Meteor 3.x. The new Node.js version used for compilation could cause different building of native dependencies, requiring adjustments.Whether it’s a new app or a migration, please point me to the GitHub issue where you describe the problem and the reproducible steps so we can assist you.Read full topic
7ヶ月前
記事のアイキャッチ画像
It's official, Meteor 3.0 Official Release is out!
It's official, Meteor 3.0 Official Release is out!
I’d like to know for Meteor-Desktop as well. We’re many full versions behind due to the existing limitation of NodeJS on Meteor 2.x - will you be working on migrating it to 3.x and pushing all dependencies @storyteller ?Read full topic
7ヶ月前
記事のアイキャッチ画像 +
It's official, Meteor 3.0 Official Release is out!
It's official, Meteor 3.0 Official Release is out!
What’s the status of Cordova? Getting in to run on iOS used to work without any configuration (well except for the certificate in Xcode). Have not got it to work with Meteor 3 yet.Read full topic
7ヶ月前
記事のアイキャッチ画像
It's official, Meteor 3.0 Official Release is out!
It's official, Meteor 3.0 Official Release is out!
Congrats to the team and community.It was a huge undertaking and really inspiring to see.Read full topic
7ヶ月前
記事のアイキャッチ画像
It's official, Meteor 3.0 Official Release is out!
+It's official, Meteor 3.0 Official Release is out!
Kudos to whole Meteor Team!! Wonderful work and been waiting for this. Congrats!!Read full topic
7ヶ月前
記事のアイキャッチ画像
It's official, Meteor 3.0 Official Release is out!
It's official, Meteor 3.0 Official Release is out!
+Since I understood what Meteor is about, almost 5 years ago, I’ve been looking towards the future, towards this day.I’ve grown and learned thanks to Meteor and the projects and businesses it made possible, and somehow destiny brought me ever closer to it.This is the tipping point, as some of you say, the stars are aligning once more.Meteor has faced many challenges in the past: technical, business, and whatever it may be.But it has endured and survived thanks to the ones who embraced it and stuck with it through thick and thin.To those you have my admiration and respect.Let’s build something amazing together.To those arriving or coming back, now is your chance of making an impact, build a product or contribute to the project and ecosystem.Read full topic
7ヶ月前
記事のアイキャッチ画像
It's official, Meteor 3.0 Official Release is out!
It's official, Meteor 3.0 Official Release is out!
denyhs:I’ve been part of this process from start to endYour role was crucial to the project’s success.Thanks for your resilience Read full topic
7ヶ月前
It's official, Meteor 3.0 Official Release is out!
It's official, Meteor 3.0 Official Release is out!
+Since Monday, I’ve been solving some things for the release, so I didn’t take time to post anything here besides a GIF I’ve been part of this process from start to end, literally. It was a crazy ride and a pretty tiring one. And there were some moments I needed to take a step back to breathe. Otherwise, I couldn’t continue. But I continued because I had full support from the community and, especially, from the core team, which always understood how massive this project was and how much it could take from someone.So, I want to thank you all for your hard work and help over those two (three?) years.It’s really amazing to see what we accomplished together as a community.The work isn’t done yet, but now Meteor will thrive towards a bright future Read full topic
7ヶ月前
記事のアイキャッチ画像
It's official, Meteor 3.0 Official Release is out!
It's official, Meteor 3.0 Official Release is out!
+Incredible – I was able to migrate four Apps to meteor 3 in less than two hours.In a few places, I had forgotten to use the async api callsthe less packe did not work. I have to use less@4.1.1-beta300.6 collection2 did not work, until I added import 'meteor/aldeed:collection2/static';That’s it!Great work Meteor Team PS: We have planned up to two weeks for the migration and this is one of the rare cases where the job was done much faster!Read full topic
7ヶ月前
記事のアイキャッチ画像
+It's official, Meteor 3.0 Official Release is out!
It's official, Meteor 3.0 Official Release is out!
Congrats to everyone who helped out.I want to say a big thanks to the community; without the support, testing, pinging, and question-asking, we would not have been able to get through it.Meteor has a great future ahead of it!Read full topic
7ヶ月前
記事のアイキャッチ画像
It's official, Meteor 3.0 Official Release is out! +
It's official, Meteor 3.0 Official Release is out!
Awesome! A huge thank you to all who contributed to the effort especially @denyhs, @grubba, and @nachocodoner for all their hard work. And of course @zodern for their key contributions and guidance.Meteor has a wonderful future ahead!Read full topic
7ヶ月前
記事のアイキャッチ画像
It's official, Meteor 3.0 Official Release is out!
+It's official, Meteor 3.0 Official Release is out!
This is a huge milestone and just the start of innovations and upgrades that Meteor.js needs. Read full topic
7ヶ月前
記事のアイキャッチ画像
It's official, Meteor 3.0 Official Release is out!
It's official, Meteor 3.0 Official Release is out!
+This is a milestone for all dedicated developers who have believed in Meteor from the start, consistently providing solutions and achieving significant accomplishments both individually and collectively, by offering worthy software to companies and users. It is also an opportunity for others to join in and continue improving Meteor.Thank you to all Meteor team and community! Special thanks to technicians @denyhs and @grubba, whose hands-on work and years of commitment and patience have helped shape Meteor into what it is today with Meteor 3.0.Read full topic
7ヶ月前
記事のアイキャッチ画像
It's official, Meteor 3.0 Official Release is out!
It's official, Meteor 3.0 Official Release is out!
Congratulations. I believe migrating to Meteor 3 will be smooth for us Read full topic
7ヶ月前
記事のアイキャッチ画像
It's official, Meteor 3.0 Official Release is out!
+It's official, Meteor 3.0 Official Release is out!
Wowzah! Congratulations and thank you to the team and to all contributors. It has been quite the journey!Read full topic
7ヶ月前
\ No newline at end of file diff --git a/blogs/6210ce41d73e7394d4b842f3749a4318/index.html b/blogs/6210ce41d73e7394d4b842f3749a4318/index.html new file mode 100644 index 000000000000..17401207c3b6 --- /dev/null +++ b/blogs/6210ce41d73e7394d4b842f3749a4318/index.html @@ -0,0 +1,26 @@ +The Cloudflare Blog のフィード|JSer.info Watch List RSS

The Cloudflare Blog

https://blog.cloudflare.com

Get the latest news on how products at Cloudflare are built, technologies used, and join the teams helping to build a better Internet.

フィード

記事のアイキャッチ画像
Resolving a Mutual TLS session resumption vulnerability
The Cloudflare Blog
+Cloudflare patched a Mutual TLS (mTLS) vulnerability (CVE-2025-23419) reported via its Bug Bounty Program. The flaw in session resumption allowed client certificates to authenticate across different
12時間前
記事のアイキャッチ画像
Cloudflare incident on February 6, 2025
The Cloudflare Blog
On Thursday, February 6, 2025, we experienced an outage with our object storage service (R2) and products that rely on it. Here's what happened and what we're doing to fix this going forward.
1日前
Cloudflare’s commitment to advancing Public Sector security worldwide by pursuing FedRAMP High, IRAP, and ENS
The Cloudflare Blog
Cloudflare achieves ENS certification, and intends to pursue FedRAMP High and IRAP.
3日前
+記事のアイキャッチ画像
No hallucinations here: track the latest AI trends with expanded insights on Cloudflare Radar
The Cloudflare Blog
Today, we are launching a new dedicated “AI Insights” page on Cloudflare Radar that incorporates this graph and builds on it with additional metrics.
4日前
記事のアイキャッチ画像
Preserving content provenance by integrating Content Credentials into Cloudflare Images
はてなブックマークアイコン 1
The Cloudflare Blog
Media and journalism companies can now build end-to-end workflows that support Content Credentials by using Cloudflare Images.
5日前
記事のアイキャッチ画像
A diversity of downtime: the Q4 2024 Internet disruption summary
The Cloudflare Blog
After a rather busy third quarter, the fourth quarter of 2024 saw significantly fewer Internet disruptions.
11日前
記事のアイキャッチ画像
Cloudflare meets new Global Cross-Border Privacy (CBPR) standards
The Cloudflare Blog
Cloudflare is the first organization globally to announce having been successfully audited against the ‘Global Cross-Border Privacy Rules’ system and ‘Global Privacy Recognition for Processors’.
11日前
記事のアイキャッチ画像
Cloudflare thwarts over 47 million cyberthreats against Jewish and Holocaust educational websites
The Cloudflare Blog
+January 27 marks the International Holocaust Remembrance Day — a solemn occasion to honor the memory of the six million Jews who perished in the Holocaust, along with countless others who fell victim
11日前
記事のアイキャッチ画像
Over 700 million events/second: How we make sense of too much data
The Cloudflare Blog
Here we explain how we made our data pipeline scale to 700 million events per second while becoming more resilient than ever before. We share some math behind our approach and some of the designs of
12日前
記事のアイキャッチ画像
Record-breaking 5.6 Tbps DDoS attack and global DDoS trends for 2024 Q4
The Cloudflare Blog
2024 ended with a bang. Cloudflare mitigated another record-breaking DDoS attack peaking at 5.6 Tbps.
18日前
記事のアイキャッチ画像
The fall and rise of TikTok (traffic)
The Cloudflare Blog
On January 19, 2025, ByteDance suspended TikTok and related apps for US users. We examine the 14-hour traffic plunge, recovery near Donald Trump’s inauguration.
18日前
記事のアイキャッチ画像
TikTok ban takes hold: data reveals sharp traffic decline and rapid shift to alternatives
The Cloudflare Blog
On January 19, 2025, ByteDance shut down access to TikTok and other owned/operated apps for US users, causing an 85% traffic plunge and a rapid shift to alternatives like RedNote.
20日前
記事のアイキャッチ画像
Demonstrating reduction of vulnerability classes: a key step in CISA’s “Secure by Design” pledge
The Cloudflare Blog
Cloudflare strengthens its commitment to cybersecurity by joining CISA's "Secure by Design" pledge. In line with this, we're reducing the prevalence of vulnerability classes across our products.
25日前
記事のアイキャッチ画像
Open source all the way down: Upgrading our developer documentation
The Cloudflare Blog
At Cloudflare, we treat developer content like an open source product. This collaborative approach enables global contributions to enhance quality and relevance for a wide range of users. This year,
1ヶ月前
+記事のアイキャッチ画像
Multi-Path TCP: revolutionizing connectivity, one path at a time
The Cloudflare Blog
Multi-Path TCP (MPTCP) leverages multiple network interfaces, like Wi-Fi and cellular, to provide seamless mobility for more reliable connectivity. While promising, MPTCP is still in its early stages,
1ヶ月前
記事のアイキャッチ画像
Behind the scenes with Stream Live, Cloudflare’s live streaming service
The Cloudflare Blog
Let’s talk about Stream Live’s design, and how it leverages the distributed nature of Cloudflare’s network, rather than centralized locations as many other live services do.
1ヶ月前
記事のアイキャッチ画像
The forecast is clear: clouds on e-paper, powered by the cloud
The Cloudflare Blog
Follow along as I build a custom weather display using Cloudflare Workers and a popular e-paper display.
1ヶ月前
記事のアイキャッチ画像
Open sourcing h3i: a command line tool and library for low-level HTTP/3 testing and debugging
The Cloudflare Blog
+h3i is a command line tool and Rust library designed for low-level testing and debugging of HTTP/3, which runs over QUIC.
1ヶ月前
記事のアイキャッチ画像
What’s new in Cloudflare: MASQUE now powers 1.1.1.1 & WARP apps, DEX now generally available with Remote Captures
The Cloudflare Blog
This roundup blog post shares the latest new features and capabilities at Cloudflare.
1ヶ月前
記事のアイキャッチ画像
Sometimes I cache: implementing lock-free probabilistic caching
The Cloudflare Blog
If you want to know what cache revalidation is, how it works, and why it can involve rolling a die, read on. This blog post presents a lock-free probabilistic approach to cache revalidation, along
1ヶ月前
\ No newline at end of file diff --git a/blogs/6273e1e24ec4b0110416f082a15ab6e7/index.html b/blogs/6273e1e24ec4b0110416f082a15ab6e7/index.html new file mode 100644 index 000000000000..3ac62f9f348e --- /dev/null +++ b/blogs/6273e1e24ec4b0110416f082a15ab6e7/index.html @@ -0,0 +1,32 @@ +Mark&#39;s Dev Blogのフィード|JSer.info Watch List RSS

Mark's Dev Blog

フィード

記事のアイキャッチ画像
React Summit US 2024: Maintaining a Library and a Community
Mark's Dev Blog
+My talk for React Summit US 2024 was on "Maintaining a Library and a Community".The main thesis is that maintainers do a lot more than just write features and fix bugs, and that really most of what we do involves thinking about and interacting with the users of our library. That includes answering support questions, writing docs, thinking about how versioning and backwards compatibility will impact people, and a lot more.Hopefully this proves useful to other maintainers, and peels back the curtain on what it's like to maintain a widely-used library.I'm linking the GitNation videos - they're placeholders for now, but they'll actually be available online in the near future.Maintaining a Library and a Community - videoAnd here's the slides:Maintaining a Library and a Community - slidesI also got to participate in a panel discussion on "The Future of React", with members of the React team and the community. This was a pretty good discussion:The Future of React panel - video +
3ヶ月前
記事のアイキャッチ画像
React Advanced 2024: Designing Effective Documentation
Mark's Dev Blog
+My remote presentation for React Advanced 2024 was on "Designing Effective Documentation: Lessons Learned Writing the Redux Docs".I've spent a lot of my time working on the Redux docs, and it is in fact how I got my start working on Redux!.Hopefully this proves useful to other folks writing docs for tools and libraries.Designing Effective Documentation - videoAnd here's the slides:Designing Effective Documentation - slides
3ヶ月前
記事のアイキャッチ画像
React Summit 2024: Why Use Redux Today?
Mark's Dev Blog
I had the chance to speak at both React Connection Paris in April and React Summit Amsterdam in June, and at both conferences I gave a talk on "Why Use Redux Today?".Both of those had the same core content, but I tweaked and updated the slides for React Summit.Why Use Redux Today? - videoand the earlier livestream:Why Use Redux Today? - livestreamAnd here's the slides:Why Use Redux Today? - slides
7ヶ月前
記事のアイキャッチ画像
+React Summit US 2023: What's New in Redux Toolkit 2.0
Mark's Dev Blog
I gave a lightning talk at React Summit US, and did a quick run-through of what's changing in RTK 2.0.I've linked the livestream at the right timestamp for now, and will link the final video when it's live.What's New in Redux Toolkit 2.0 - videoAnd here's the slides:What's New in Redux Toolkit 2.0 - slides(and totally unrelated to my talk, had the chance to lead a Carnival Parade of costumed characters as part of Kathleen McMahon's demonstration of "why you should never include a carousel in your design system!")Kathleen McMahon: Carnival!!! - video
1年前
記事のアイキャッチ画像
React Advanced 2023 - Building Better React DevTools with Replay Time Travel
Mark's Dev Blog
+I work at Replay.io, and I've spent all of this year building some incredibly advanced React debugging features that make use of our time-traveling backend API. The biggest one is our React DevTools integration. Early in 2023, I wrote a post for the Replay.io blog on How We Rebuilt React DevTools with Replay Routines, which recapped the initial working version. I've spent much of this year improving on that and building other related features.At React Advanced, I got to share details on how the React DevTools work internally, and dive into how we extract React DevTools component tree data from recorded React apps using a combination of custom Chrome modifications and backend post-processing "routines" that leverage our time-travel API. Along the way, I showed off some crazy tricks like serializing JS functions as strings, sourcemapping original component names from production apps, and generating sourcemaps for React itself!I also got to participate in a group panel discussion about Op +
1年前
記事のアイキャッチ画像
React Rally 2023 - A (Brief) Guide to React Rendering Behavior
Mark's Dev Blog
+My extensive post "A (Mostly) Complete Guide to React Rendering Behavior" is the most popular and widely appreciated post I've written. After the recent updates to cover React 18, it's now around 10,900 words long!I recently had a chance to give a talk based on that post for React Advanced in 2022 and React Rally in 2023.React Rally 2023I'll link the video once it's available.A (Brief) Guide to React Rendering Behavior - slidesA (Brief) Guide to React Rendering Behavior - livestream videoReact Advanced 2022A (Brief) Guide to React Rendering Behavior - videoAnd here's the slides:A (Brief) Guide to React Rendering Behavior - slides
1年前
記事のアイキャッチ画像 +
Blogged Answers: My Experience Modernizing Packages to ESM
Mark's Dev Blog
+Table of ContentsIntroductionRedux Packages BackgroundPackages and ConfigurationsIssue HistoryEarly AttemptsMigrating to VitestInitial Alpha TestingResearching Better ConfigurationSetting Up CI Checks for PackagingInitial CI SetupAre The Types Wrong?Packaging Updates, Round 2Switching Build ToolingUMD Build Artifact ChangesWebpack 4 CompatImmer 10 BetaTypeScript DeclarationsRound 2 ResultsOther Package UpdatesUpdating Immer's PackagingProblems with Next.js and React Server ComponentsVentingFinal ThoughtsWhere Do Things Stand Today?Lessons and TakeawaysFuture StepsFurther InformationIntroductionFor the last 8+ years, the JS ecosystem has been undergoing a slow transition towards using ES Modules ("ESM") as the default approach for publishing and using JS code. Similar to the Python 2->3 transition, this has been incredibly difficult and painful to deal with.As a package maintainer, I want to make sure that my libraries are maximally compatible and usable in the widest array of environme +
1年前
記事のアイキャッチ画像
Presentations: Debugging JavaScript
Mark's Dev Blog
+In mid-2021 I had the chance to do a talk on "Debugging Software" for a meetup hosted by Mintbean.io. In 2022, I did an updated "Debugging JS" version of the talk for ThisDot Media's "JS Drops" video series.I previously did a post on Debugging Tips, where I listed some quick tips for thinking about debugging, and recapped the stories of several interesting bugs I ran into and solved.I later had a chance to present this talk at React Summit 2023 in Amsterdam.This talk was based on that post, and covers:Concepts and principles for thinking about debugging, as well as some additional tipsSpecific techniques for debugging, including how to use both print logging and GUI debuggers effectively, as well strategies for debugging React, Redux, and JSA quick example of using Replay to investigate bugs using time-travel debuggingThe slides also include some "Scene of the crime"-themed versions of some of those debugging stories (not covered in the video due to time constraints).Debugging JS - sli +
2年前
記事のアイキャッチ画像
Presentations: 2022 Podcasts
Mark's Dev Blog
+I had the opportunity to talk on a number of different podcasts and interviews over the course of the year. I've gathered them here as a directory.ThisDot / Tracy Lee: How to Contribute to ReduxTracy Lee is a prolific podcaster, and her company ThisDot creates numerous shows related to the JS ecosystem. She had me on as part of a new "How to Contribute..." series, where I talked about ways to contribute to the Redux libraries.https://www.youtube.com/watch?v=rPJmnxDX9lYKevin Ghadyani: Redux vs React ContextKevin and I have done a couple long-form video discussions in the last couple years, and he's split those out into several separate videos.This discussion was actually recorded in mid-2021, but just recently got published. We talked about the actual differences between Context and Redux, and why so many people get confused about the differences.https://www.youtube.com/watch?v=1bIdaWVMFkcPodRocket: Time-Travel Debugging with Replay (with Jason Laster)I previously was a guest on the Pod +
2年前
記事のアイキャッチ画像
Blogged Answers: How I Estimate NPM Package Market Share (and how Redux usage compares to other libraries)
Mark's Dev Blog
+IntroductionFor the last couple years, I've thrown around the statements that "Redux is used by 45-50% of React apps", and "Redux is by far the most widely used state management tool for React apps".I've had a couple people ask how I'm coming up with those numbers. I'd written a couple prior comments about this - I tried to estimate React "state management market share" in Feb 2021, and talked some about the flaws in NPM stats as a metric in Feb 2022, but figured it was worth putting into a blog post for posterity.I'll go through the sources I use, discuss the many caveats and limitations with those sources, and then look at Redux and other state management libraries as an example.Primary Source: NPM Package Download StatsThe most obvious source, and the one that everyone including myself automatically turns to, is NPM's stats on how many times a package is downloaded.That info is available through several different pages and aggregators.NPM Package Stats SourcesNPMJS.comThe first is N +
3年前
記事のアイキャッチ画像
Presentations: Modern Redux with Redux Toolkit
Mark's Dev Blog
+I've frequently talked about why we created Redux Toolkit and what APIs it includes as part of my "State of Redux" talks and other similar presentations. I recently had the chance to talk at a couple of online meetups, and put together an updated and consolidated version of that material as a complete "Modern Redux with Redux Toolkit" presentation:Modern Redux with Redux Toolkit - videoModern Redux with Redux Toolkit - slides
3年前
記事のアイキャッチ画像
+Reactathon 2022: The Evolution of Redux Async Logic
Mark's Dev Blog
I've spoken at Reactathon in past years, and this year I had the chance to give a pre-recorded talk. I also ended up giving the same talk live as well after filling in as a backup speaker.My talk looked at why we use middleware for side effects in Redux, the major libraries (thunks, sagas, observables), why we've recommended thunks, introduces RTK Query and the "listener" middleware, and gives our current recommendations for what tools to use in different scenarios today.The Evolution of Redux Async Logic - slidesThe video should be online in the next few weeks, but for now you can see me give the talk as part of the Day 3 livestream:The Evolution of Redux Async Logic - livestream video
3年前
記事のアイキャッチ画像
TS Congress 2022: Lesson from Maintaining TS Libraries
Mark's Dev Blog
+I had the opportunity to give a talk at the first-ever Typescript Congress virtual conference.My talk went over a variety of things I've learned working on the TypeScript aspects of the Redux libraries over the last few years. I covered things like different ways to include types when publishing, approaches for versioning public types APIs, supporting multiple TS versions, debugging and testing types, and some wacky examples of actual types from our libraries.The recorded talk can be viewed on the TS Congress website:Lessons from Maintaining TS Libraries - videoAnd the slides are here:Lessons from Maintaining TS Libraries - slides
3年前
記事のアイキャッチ画像
Idiomatic Redux: Designing the Redux Toolkit Listener Middleware
Mark's Dev Blog
+IntroIn Redux Toolkit 1.8, we released a new "listener" side effects middleware that is intended to be a lightweight alternative to more widely used Redux async middleware like sagas and observables.The final API and usage of the middleware looks like this:import { configureStore, createListenerMiddleware } from '@reduxjs/toolkit';import todosReducer, { todoAdded, todoToggled, todoDeleted,} from '../features/todos/todosSlice';// Create the middleware instance and methodsconst listenerMiddleware = createListenerMiddleware();// Add one or more listener entries that look for specific actions.// They may contain any sync or async logic, similar to thunks.listenerMiddleware.startListening({ actionCreator: todoAdded, effect: async (action, listenerApi) => { // Run whatever additional side-effect-y logic you want here console.log('Todo added: ', action.payload.text); // Can cancel other running instances listenerApi.cancelActiveListeners(); // Run async logic const data = await fetchData(); / +
3年前
記事のアイキャッチ画像
I'm Joining Replay!
Mark's Dev Blog
+Job UpdateA few weeks ago, I announced that I was actively looking for a new job.Today, I am thrilled to announce that:I'm joining Replay.io!Replay is a true "time-travel debugger": Launch the Replay browser, record the bug, and replay the recording! Replay’s DevTools includes a step-by-step debugger, variable inspection, React DevTools, and even retroactive print statements. Unlike a typical debugger which only lets you go forward, Replay lets you investigate the code at any point in time during the recording, including stepping backwards from breakpoints and print statements that show the values from every time that line ran.I'm really excited about the chance to help build a tool that dramatically improves the debugging experience for developers, by giving them the ability to deeply understand what's happening inside their code throughout its runtime.For a real-world preview of what using Replay looks like, I used Replay to help investigate a Reselect performance issue in a recent R +
3年前
\ No newline at end of file diff --git a/blogs/64bd61a75004edcb70fa2aa15ec6a670/index.html b/blogs/64bd61a75004edcb70fa2aa15ec6a670/index.html new file mode 100644 index 000000000000..86c166e5c790 --- /dev/null +++ b/blogs/64bd61a75004edcb70fa2aa15ec6a670/index.html @@ -0,0 +1,16 @@ +Nicholas Ray&#39;s blogのフィード|JSer.info Watch List RSS

Nicholas Ray's blog

https://www.nray.dev/

Web development tips that improve page speed, user happiness, and business success

フィード

記事のアイキャッチ画像
Astro vs. Next.js: Why I Prefer Astro For Static Sites
Nicholas Ray's blog
Why Astro is better than Next.js for static, content-heavy websites.
10ヶ月前
記事のアイキャッチ画像
+How To Fix "Image elements do not have explicit width and height"
Nicholas Ray's blog
The guide to fixing unsized images that cause layout shifts.
1年前
記事のアイキャッチ画像
How To Use Video Formats for Animated Content [7 Steps]
Nicholas Ray's blog
The guide to replacing your animated GIFs with videos for faster load and Largest Contentful Paint times.
+
1年前
記事のアイキャッチ画像
How To Efficiently Encode Images
Nicholas Ray's blog
The guide to compressing your website's images for faster load times.
1年前
記事のアイキャッチ画像
How To Serve Images in Next-Gen Formats
Nicholas Ray's blog
The detailed guide to serving your website's images as fast as possible
1年前
記事のアイキャッチ画像
How to Defer Offscreen Images In 2023
Nicholas Ray's blog
+The detailed guide to lazy loading your website's images
2年前
記事のアイキャッチ画像
How to Balance Text (Without JavaScript)
Nicholas Ray's blog
CSS now offers an experimental property that eliminates awkward-looking headlines.
2年前
記事のアイキャッチ画像
Interaction to Next Paint (INP): Everything You Need to Know
Nicholas Ray's blog
The in-depth guide to understanding and optimizing the upcoming Core Web Vital for your website
2年前
記事のアイキャッチ画像
300ms Faster: Reducing Wikipedia's Total Blocking Time
Nicholas Ray's blog
How two simple steps improved the responsiveness of Wikipedia's mobile site
2年前
記事のアイキャッチ画像
How to Build Tailwind CSS Dark Mode
Nicholas Ray's blog
+Learn step-by-step instructions on implementing a sleek dark mode theme for your website using Tailwind CSS.
2年前
記事のアイキャッチ画像
Visual Testing: Building A More Robust Wikipedia Interface By Spotting the Differences
Nicholas Ray's blog
A look at how we leveraged visual testing to catch UI bugs when developing Wikipedia's new desktop experience.
2年前
記事のアイキャッチ画像
Using Chrome Profiler to Fix Performance Issues
Nicholas Ray's blog
Chrome's DevTools performance panel can help you diagnose and fix common performance problems. Learn how in this article!
2年前
記事のアイキャッチ画像
How to Create Performant Scroll Animations in React
Nicholas Ray's blog
Learn how to incorporate performant web animations into your site while avoiding common pitfalls.
2年前
記事のアイキャッチ画像
+Using Media Queries in JavaScript
Nicholas Ray's blog
Using media queries is very popular in CSS, but this article explores how they can also be used in JavaScript
2年前
記事のアイキャッチ画像
Analyzing Wikipedia's Search Performance
Nicholas Ray's blog
Performance comparison between Wikipedia's new search component built in Vue.js and the legacy search component.
4年前
\ No newline at end of file diff --git a/blogs/64c933e72c3f531af328db7498503b05/index.html b/blogs/64c933e72c3f531af328db7498503b05/index.html new file mode 100644 index 000000000000..e3c2c45ec5fd --- /dev/null +++ b/blogs/64c933e72c3f531af328db7498503b05/index.html @@ -0,0 +1,19 @@ +moonrepo Blogのフィード|JSer.info Watch List RSS

moonrepo Blog

フィード

記事のアイキャッチ画像
moon v1.32 - Remote cache and built-in toolchain improvements
moonrepo Blog
In this release we focused primarily on remote caching and toolchain improvements.
5日前
記事のアイキャッチ画像
proto v0.45 - New built-in tools and build from source
moonrepo Blog
In this release, we're very excited to introduce building tools from source, a feature that's been
17日前
記事のアイキャッチ画像
moon v1.31 - Toolchain progress, glob-based targets, task & remote cache improvements
moonrepo Blog
+Happy new years everyone 🎉! In this release, we've landed a handful of quality-of-life
1ヶ月前
記事のアイキャッチ画像
proto v0.44 - New terminal user interface and versions command
moonrepo Blog
Merry Christmas and happy holidays 🎄! In this release, we're introducing a new terminal user
1ヶ月前
記事のアイキャッチ画像
moon v1.30 - Python support, self-hosted remote caching, task graph, and more!
moonrepo Blog
It's been almost 2 months since our last release, and we're excited to announce some major features
2ヶ月前
記事のアイキャッチ画像
proto v0.42 - New bin linking, JSON/YAML plugins, and more
moonrepo Blog
Happy Halloween 🎃! In this release, we have a new bin linking strategy, and more schema plugin
3ヶ月前
記事のアイキャッチ画像
moon v1.29 - Improved affected tracking, experimental Pkl configuration, and more
moonrepo Blog
In this release, we're excited to introduce an improved affected tracker and a new (but
4ヶ月前
記事のアイキャッチ画像
moon v1.28 - Task presets, OS tasks, meta tokens, and more
moonrepo Blog
In this release, we've focused on developer experience and quality-of-life improvements.
5ヶ月前
記事のアイキャッチ画像
+proto v0.40 - Config mode, progress bars, and more
moonrepo Blog
This is a small release that includes many quality of life improvements.
6ヶ月前
記事のアイキャッチ画像
proto v0.39 - Mid-year quality of life improvements
moonrepo Blog
This is a small release that includes many quality of life improvements.
6ヶ月前
記事のアイキャッチ画像
moon v1.27 - Task scripts, Docker settings, and more
moonrepo Blog
In this release, we're adding improved Docker support, and a long-awaited task request.
7ヶ月前
記事のアイキャッチ画像
proto v0.38 - Shell activation / hooks
+moonrepo Blog
In this release, we're introducing a long requested feature, shell hooks!
7ヶ月前
記事のアイキャッチ画像
moon v1.26 - New experimental pipeline, trace profiles, and more
moonrepo Blog
In this release, we focused primarily on a next-generation actions pipeline.
7ヶ月前
記事のアイキャッチ画像
proto v0.37 - Calver support and self diagnosis
moonrepo Blog
This is a small release, but includes 2 very important features.
8ヶ月前
記事のアイキャッチ画像
proto v0.36 - Static registry, plugin searching, and more
moonrepo Blog
+In this release, we're taking the first step in supporting a plugin registry.
8ヶ月前
記事のアイキャッチ画像
moon v1.25 - New task runner and console reporter
moonrepo Blog
In this release, we focused primarily on rewriting our task runner, and improving our console.
8ヶ月前
proto v0.35 - Support for more shells
moonrepo Blog
This is a light release that adds support for more terminal shells.
9ヶ月前
記事のアイキャッチ画像
moon v1.24 - Task mutexes, auto-detect revisions, project dependents, and more!
moonrepo Blog
+This is a light release that focused solely on requests and improvements from the community.
10ヶ月前
記事のアイキャッチ画像
proto v0.34 - New detection strategy, status command, and outdated improvements
moonrepo Blog
In this release, we've focused on the developer experience for common workflows.
10ヶ月前
記事のアイキャッチ画像
moon v1.23 - Codegen improvements, stack inheritance, internal tasks, and more
moonrepo Blog
It's been a month since our last release, and we're excited to land major codegen and task
10ヶ月前
\ No newline at end of file diff --git a/blogs/6710d0bcda80787935be9204ea16bb53/index.html b/blogs/6710d0bcda80787935be9204ea16bb53/index.html new file mode 100644 index 000000000000..c849492a7a59 --- /dev/null +++ b/blogs/6710d0bcda80787935be9204ea16bb53/index.html @@ -0,0 +1,500 @@ +Writing on Web Performance Consulting | TimKadlec.comのフィード|JSer.info Watch List RSS

Writing on Web Performance Consulting | TimKadlec.com

フィード

記事のアイキャッチ画像
What to Expect When You're Optimizing
Writing on Web Performance Consulting | TimKadlec.com
+One of the most common pain-points I hear from companies is that they spent a bunch of time chasing an optimization, only to find that, after shipping it, they could provide no evidence of it making a difference in their performance.There are a lot of things involved in making performance more predictable, but one immediate thing you can do is do the work up front to set expectations about which metrics you expect the optimization to move, and how you’ll measure the impact.For example, I have a client who is experimenting with the new Speculation Rules, specifically using it to prefetch PDP pages when someone is on a category or search page.In addition to the technical details for how to implement it, our ticket includes a “Measuring the Impact” section that looks something like this:How are we going to measure it?We will measure the impact using our RUM data. We’ll include an inline JavaScript snippet to determine if the page was prefetched or not, and add that as custom data so we ha +
6ヶ月前
記事のアイキャッチ画像
Introducing perfwork
Writing on Web Performance Consulting | TimKadlec.com
+Yesterday, I opened up perfwork.com—a job board targeted at web performance enthusiasts—to the public. I get a fair amount of folks asking me if I know of any companies hiring for roles that involve web performance work. I also get a fair amount of companies who contact me asking me if I know of anyone they can bring on board for roles that require some level of performance knowledge.So, I figured, why not make it a bit easier for those companies and people to connect.In the spirit of “what is the least bit you can do to validate there’s a need” (while also holding myself accountable), I shared on LinkedIn in April that I was going to build it, and then launched a one-page form for folks to sign up with early interest.I wasn’t expecting a ton of attention it yet, but that one share turned into ~600 early-bird signups and a lot more initial (self-inflicted) pressure than I had anticipated!On the one hand, launching a job board focused on a niche like performance at a time when the headl +
2年前
記事のアイキャッチ画像
The Single Visionary Fairytale
Writing on Web Performance Consulting | TimKadlec.com
+There’s a single panel comic, made in 2016, that tends to resurface every once in a while. The comic shows an iPhone that is overloaded with ridiculous features: a flip-out keyboard, extendable radio antenna, handstrap, AA battery compartment, kickstand and more. The title of the strip is simply “If Apple was a democracy…”. I saw it again the other day as someone shared it, with a cautionary reminder that decisions about technological products cannot be a democracy. The image is comical, and I think all of us can think of products that have gone a little too far in this direction.But the thing that bothers me each time I see the comic is that it pushes the problematic “single visionary” narrative.At best, it’s a dangerous and risky mindset. At worst, it can be quite toxic.The genius mythWe have a tendency to want to look for the single genius—the one individual who is a visionary, who knows what users need better than they do themselves, who knows what a product should or shouldn’t do. +
2年前
記事のアイキャッチ画像
Performance Is Not a Checklist
Writing on Web Performance Consulting | TimKadlec.com
+I’m helping out a client who has really solid Core Web Vitals.Their Time to First Byte, First Contentful Paint and Largest Contentful Paint are all overwhelmingly in the green. Their Cumulative Layout Shift and Interaction to Next Paint have a little room for improvement, but even those are really solid. All the usual suspects look great.Looking at the metrics alone, you would think their performance was rock-solid and there wasn’t much to do. But in reality, they get frequent user complaints about it.When we rolled up our sleeves and dug into those complaints a bit, a theme emerged.These pages have a lot of content. As you scroll down into the page, that content often contains images and other forms of media and those are very large and unoptimized, resulting in them loading very slowly. (There’s a little more involved, but that’s the basic gist.)Last week, at Smashing Conference, Carie Fisher gave a wonderful talk about accessibility. There was one phrase I that she repeated a few ti +
2年前
記事のアイキャッチ画像
The Growing "Contentful" Gap
Writing on Web Performance Consulting | TimKadlec.com
+You may know, if you’ve been following along, that Chrome shipped some changes to how they define “contentful” for Largest Contentful Paint—they now look at the level of entropy for an image (measured in bits per pixel) to see if it’s above a certain threshold.What you might not realize, is that the same logic doesn’t apply yet to First Contentful Paint.I put together a super simple demo based on a real-world approach to lazy-loading images, but with a couple small changes to make it easier to see what’s happening.The page first loads a placeholder image—in the real-world, I’ve usually seen this as plain white, but to make it more obvious, it’s an unmissable bright pink. Then the actual image is loaded to replace it (I added a 1 second delay to make it more obvious).In this test result, the First Contentful Paint (FCP) fires at 99ms, and the Largest Contentful Paint (LCP) fires at 1.2s. In Chrome DevTools, we can see the FCP metric (triggered by the placeholder image) firing much earli +
2年前
記事のアイキャッチ画像
The Performance Golden Rule Revisited
Writing on Web Performance Consulting | TimKadlec.com
+There was a comment on Twitter today from Rafael Gonzaga expressing disappointment in what he sees as a tendency to focus on the frontend solely in performance discussions, while neglecting the server-side aspect.In the discussion that followed, the Golden Rule of Performance (popularized by Steve Souders) was brought up:80-90% of the end-user response time is spent on the frontend.In the thread, Steve Souders suggested that someone should revisit the Golden Rule to see if it still holds for today.I was curious, so I figured I would oblige.Revisiting the golden ruleWay back in 2006, Tenni Theurer first wrote about the 80 / 20 rule as it applied web performance. The Yahoo! team did some digging on 8 popular sites (remember MySpace?) to see what percentage of the time it took for a page to load was comprised of backend work (Time to First Byte) versus frontend work (pretty much everything else).What they found was that the vast majority of the time was spent on the frontend for all 8 sit +
2年前
記事のアイキャッチ画像
Returning to Performance Consulting
Writing on Web Performance Consulting | TimKadlec.com
+After 2.5 incredible years of working on WebPageTest (I’ll reflect on that properly in a couple of days), I’m excited to return to web performance consulting starting next week (April 10th).There have been a ton of interesting changes in the performance industry the past few years—new metrics, new challenges, new opportunities. It’s been fun to work on them from a tooling perspective, and I’m eager to start helping folks make sense of them.I enjoy working with organizations who want to not just make their sites faster, but who want to build up the internal culture, knowledge, tooling and processes that will help them stay that way. Regressing on performance is a situation that many companies are all too familar with. Combatting that regression requires a more holistic look at the culture of performance in an organization—the processes, the tools, the knowledge and more.I recently heard from a past client who told me that the work I did with them a few years back “…literally changed the +
2年前
記事のアイキャッチ画像
Health Benefits of Browser Diversity
Writing on Web Performance Consulting | TimKadlec.com
+There are increasingly loud rumblings that Apple will be allowing other browser engines to be used on iOS, and all I can say is it’s about time.It’s not always obvious to folks, but the versions of Chrome or Firefox or any other browser you can download on iOS today still uses WebKit, Safari’s underlying engine, under the hood. So you’re not actually getting browser choice at all. It’s more than a little surprising they’ve been able to make that a requirement as long as they have.Opening it up so that you can use actual Firefox or actual Chrome or actual Edge? That’s a huge win for browser diversity and the web at large.I’ve seen a few arguments that this potentially only further cements Chrome’s position as the dominant browser engine, but I think that’s only true if Apple decides to let it happen.Apple’s got some supremely talented folks working on Safari and WebKit—talent has never been the problem. The problem is prioritization and resources. Safari/WebKit are understaffed in compa +
2年前
記事のアイキャッチ画像
Investing in RSS
Writing on Web Performance Consulting | TimKadlec.com
+One of the first jobs I had gave me the opportunity to work with James King, and one of the great habits I picked up from him was making sure to set aside time to learn from others. He would set aside an hour or so a day, sometimes less, sometimes more, to read through the RSS feeds he had subscribed to in Google Reader (RIP), and he encouraged me to always do the same.So I would. I would grab a coffee, sit down, and start reading. Often we’d share posts back and forth, or chat about some of the more interesting ones we had read. It was something we did that was never on accident…it was intentional, deliberate. It was a way, I think, of investing in ourselves while also acknowledging how much we still could learn from others.Nowadays, of course, a few things have changed.Obviously, I’m no longer using Google Reader—I’m a big fan of Feedbin and the annual payment I make is perhaps the easiest payment to justify all year.I don’t subscribe to as many tech news outlets as I used to. In fac +
2年前
記事のアイキャッチ画像
Variability Isn't the Problem
Writing on Web Performance Consulting | TimKadlec.com
+I was helping someone recently who had an issue where their Largest Contentful Paint oscillated between very different results. Most of the time, it was ~6 seconds, but every once in a while (maybe 2 out of 9 tests or so), it would be 11 seconds or more.Their initial reaction was to get frustrated at the measurement process and tool in question—why was it messing up so frequently?But in reality, when we looked closer, what we found was that they were doing some server pre-rendering and then reloading a bunch of content using client-side JavaScript.Turns out, they had a race conditionIf a certain chunk of CSS was applied before a particular JavaScript resource arrived, then for a brief moment, their hero element was larger, causing their Largest Contentful Paint to fire much earlier. When things loaded as they intended, the hero element was a bit smaller and the Largest Contentful Paint didn’t fire until a later image was loaded.The tests weren’t flawed—they were exposing a very real is +
2年前
記事のアイキャッチ画像
Notes on: Married to HTTP/3
Writing on Web Performance Consulting | TimKadlec.com
+At #SmashingConf San Francisco, Robin Marx gave a presentation about HTTP/3. Here are my notes.HTTP/3 work started in 2012 with Google working on QUIC, adopted by IETF in 2017, RFC’s published in June 2022All major browsers support thanks to iOS starting with version 16What and Why?HTTP/3 builds on top of UDP, not TCPUDP often blocked as it is frequently used in attacksThe TLS + QUIC layer makes UDP safer to use, but a lot of networks will likely still block for awhileHTTP/3 brings faster connection setup, better header compression, stream prioritization, packet loss handlnig, tunable congestion control, connection migrationEstablishing a connection in HTTP/2 requires 3 RTT (round-trip times)Establishing a connection in HTTP/3 only requires 2 RTTHTTP/3 introduces 0 RTT mode which can reduce the total round trip to 1In general, HTTP/3 is 1 to 2 RTTs faster than HTTP/2Adapting pages to HTTP/3Fewer domains: consolidate on 1-3 conenctionsLess bundling: 10-40 files is sufficientHelp the bro +
3年前
記事のアイキャッチ画像
What About Ember?
Writing on Web Performance Consulting | TimKadlec.com
+One thing that jumped out while working on the JavaScript chapter of the Web Almanac was the incredibly high amount of time spent processing JavaScript on the median mobile page where Ember.js was detected. (The story was the same when I wrote The Cost of JS Frameworks.)What we found was that the median site using Ember.js spent 21.9s dealing with JavaScript when loaded on an emulated mobile device. That’s a whopping 14.4s longer than the next closest detected library or framework.It would be one thing to see a number like that late in the long-tail; if, for example, we saw that at the 99th percentile it would represent an anomaly where something probably went very wrong. But to see it at the median is really startling.I wanted to follow-up, to satisfy my own curiosity, but honestly forgot about it during all the holiday season shuffling until someone asked about it on Twitter.So, let’s dig in and see what the heck is going on.First things first, I ran a query against BigQuery to retur +
4年前
記事のアイキャッチ画像
Understanding the True Cost of Client-Side A/B Testing
Writing on Web Performance Consulting | TimKadlec.com
+Client-side A/B testing has been a performance loving developer’s worst friend for years.The way it works is you load in some JavaScript (typically from a third-party domain), and that JavaScript runs, applying the experiments you’re running for any given situation. Since those experiments usually involve changing the display of the page in some way, these scripts are typically either loaded as blocking JavaScript (meaning nothing happens until the JavaScript arrives and gets executed) or they’re loaded asynchronously. If they are loaded asynchronously, they’re usually with some sort of anti-flicker functionality (hiding the page until the experiments run by setting the opacity to 0, for example).With either approach, you’re putting a pause button in the middle of your page load process. They can wreak havoc on a site’s performance.People use them, though, partly because of convenience and partly because of cost.From a convenience perspective, running client-side tests is significantly +
4年前
記事のアイキャッチ画像
Proxying Cloudinary Requests with Netlify
Writing on Web Performance Consulting | TimKadlec.com
+My site (and several other side projects) is hosted on Netlify, so I had been eagerly awaiting access to Netlify Edge. I’ve been pretty vocal about my excitement for edge computing solutions, and having access to one right within Netlify would be very handy. One of the first things I planned to do once I had access was switch my images to be housed on Cloudinary, and then use Netlify Edge to proxy the requests through my own domain.I hand-optimize my images (ok fine my computer does it but whatever) before I add them to my site, so they’re usually pretty small already, but there are limitations to how far I can take it myself without making things incredibly complex. I can try to automate things like generating the right sizes, creating several formats, serving those formats up to different browsers, as well as the actual optimization itself. That’s all fine, but that’s a lot to manage.Cloudinary can handle that for me. Their service is capable of automatically compressing images to th +
4年前
記事のアイキャッチ画像
Effective Skeleton Screens
Writing on Web Performance Consulting | TimKadlec.com
+When I first stumbled on the idea of skeleton screens, thanks to Luke Wroblewski talking about them back in 2013, I latched onto them pretty quickly. I have never been a fan of progress bars and spinners, and skeleton screens seemed like a smart step in the right direction.For those unfamiliar, a skeleton screen is a method of displaying the outline (skeleton) of the content to come, typically using gray boxes and lines instead of a progress bar while content is loading. It’s a pretty creative approach to handling wait—undoubtedly more creative and helpful than a perpetually spinning circle.But even good ideas can become bad ones if we stray too much from the original intent.The other day on Twitter, Jeremy Wagner lamented the use of skeleton screens:Am I the only person who thinks skeleton UIs are incredibly bad UX? “Here comes some client-rendered content—oops, wait you get rectangles for now!”It got me thinking about how we’ve taken a carefully applied optimization and started apply +
4年前
記事のアイキャッチ画像
Missing
Writing on Web Performance Consulting | TimKadlec.com
+I was analyzing a sites’ performance and I stumbled upon a particularly nefarious third-party widget.I ran a profile on my MacBook Pro (a maxed out 2018 model) in Chrome Developer Tools to see how much work it was doing on the main thread.It wasn’t pretty.It turns out, the widget triggers four long running tasks, one right after the other. The first task came in 887ms, followed by a 1.34s task, followed by another 92ms and, finally, a 151 ms task. That’s around 2.5 seconds where the main thread of the browser is so occupied with trying to get this widget up and running that it has no breathing room for anything else: painting, handling user interaction, etc.2.5 seconds of consecutive long tasks is bad by any measure, but especially on such a high end desktop machine. If a souped up laptop is struggling with this code, how much worse is the experience on something with less power?I decided to find out, so I fired up my Alcatel 1x. It’s one of my favorite Android testing devices—it’s a g +
4年前
記事のアイキャッチ画像
Prefetching? At This Age?
Writing on Web Performance Consulting | TimKadlec.com
+A while back, I wrote about using Netlify and SpeedCurve to A/B test performance changes. The one I specifically mentioned was testing out Instant.Page on my site.While the bulk of the post is about the A/B testing setup (which I am very happy with), I did note at the end that I was seeing some small improvements from Instant.Page, though the results were far from conclusive yet.Alexandre, the creator of Instant.Page, suggested on Twitter that the gains I was seeing were small because Netlify passes an Age header that messes with prefetching.Tim, Netlify sends a Age header that conflicts with prefetching. A prefetched page will get fetched again on navigation if its Age header is over 300. The small gain you are seeing are due to the navigation request being a 304 and not a 200.This lead down an interesting little rabbit hole and, eventually, a bug. I learned a few new things as I dug in, so I figured it was worth sharing for others as well (and for me to come back to when I inevitably +
5年前
記事のアイキャッチ画像
A/B Testing Instant.Page With Netlify and Speedcurve
Writing on Web Performance Consulting | TimKadlec.com
+This post ended up leading to the discovery of a bug in the way Chrome handles prefetched resources. I’ve written a follow-up post about it, and how it impacted the results of this test.instant.page a proper try out on my site for a while now. It’s a pretty clever approach. The script watches for when someone hovers over a link and then, when they do, uses the prefetch resource hint to get started fetching that page before the click event even occurs. I like the idea, in theory, quite a bit. I also like the implementation. The script is tiny (1.1kb with Brotli) and not overly aggressive by default—you can tell it to prefetch all visible links in the viewport, but that’s not the default behavior.I wanted to know the actual impact, though. How well would the approach work when put out there in the real-world?It was a great excuse for running a split test. By serving one version of the site with instant.page in place to some traffic, and a site without it to another, I could compare the p +
5年前
記事のアイキャッチ画像
The Cost of Javascript Frameworks
Writing on Web Performance Consulting | TimKadlec.com
+There is no faster (pun intended) way to slow down a site than to use a bunch of JavaScript.The thing about JavaScript is you end up paying a performance tax no less than four times:The cost of downloading the file on the networkThe cost of parsing and compiling the uncompressed file once downloadedThe cost of executing the JavaScriptThe memory costThe combination is very expensive.And we are shipping an increasingly high amount. We’re making the core functionality of our sites increasingly dependant on JavaScript as organizations move towards sites driven by frameworks like React, Vue.js, and friends.I see a lot of very heavy sites using them, but then, my perspective is very biased as the companies that I work with work with me precisely because they are facing performance challenges. I was curious just how common the situation is and just how much of a penalty we’re paying when we make these frameworks the default starting point.Thanks to HTTP Archive, we can figure that out.The dat +
5年前
記事のアイキャッチ画像
WebPageTest Custom Metrics with Request Data
Writing on Web Performance Consulting | TimKadlec.com
+The other day I tweeted about how much I love snippets in developer tools. If you’re not familiar, snippets allow you to save little bits of code that you can then quickly run in the console.In Chrome, for example, once a snippet is saved, you can quickly execute it within developer tools by hitting Command + P (Control + P on Windows). This brings up a list of all the sources (files requested by the page). If you then type the exclamation mark (!), it will only show you the snippets you have saved. Hitting Command + P followed by ! brings up a list of any custom snippets you’ve defined in Chrome Developer Tools.From there, it’s a matter of selecting the one you want and pressing Enter. That will open up the console and execute the snippet.I use this for quite a few tasks, but the example I tweeted was a little snippet that grabs all the script elements on a page and then outputs their src, async and defer values to the console using console.table. It’s a pretty handy way to quickly ze +
5年前
記事のアイキャッチ画像
Mundane Improvements, Big Impact
Writing on Web Performance Consulting | TimKadlec.com
+I’m always happy when tooling catches up to the problems we have to solve. Sure, you can figure things out through trial and error (and to be honest, a lot of debugging is still very much that, and I don’t think that’s likely to change), but quality tools can help eliminate the guesswork and provide a shortcut of sorts.Here’s an example.A couple of months ago, I was helping one company boost its performance online. We addressed plenty of front-end optimizations, but one of the most troubling issues was their Time to First Byte (TTFB).The cache hit was very low (a topic for another day), and whenever the server had to provide a fresh version of the page, it was taking an unacceptably long time more often than not. This particular company was using Shopify, so it wasn’t a matter of tuning servers or CDN settings somewhere but figuring out what was taking so long for Shopify to render the Liquid templates necessary to serve the page.Interestingly, the synthetic data was pretty much smooth +
5年前
記事のアイキャッチ画像
Building with Friction
Writing on Web Performance Consulting | TimKadlec.com
+I recently wrote about how important it is to make the right thing easy. The opposite is also true: it’s important to make the wrong things difficult. I did allude to it in that post a little bit, but I thought it was worth calling out explicitly. It’s important to introduce some friction in our workflow to help prevent the wrong actions.Continuing on the health-related analogies, friction is a big part of how I manage my sweet tooth. I work by myself in a small office. Nothing is preventing me from constantly snacking on a bunch of sweets, and wow would I ever love to. I’m a sucker for just about anything with sugar.But I discovered something else about myself: I’m also kinda lazy. So I take a two-part approach. The first is to make the right thing easy. I have apples, oranges, almonds, dried cranberries, and all sorts of healthier snacking options right next to my desk. If I’m hungry, I don’t even have to move. I reach out my arm, and there they are.But the second part of that proces +
5年前
記事のアイキャッチ画像
In-Browser Performance Linting With Feature Policies
Writing on Web Performance Consulting | TimKadlec.com
+One of the absolute best things you can do to help keep performance in check is to provide a series of visible, well-placed checks and balances in your development workflow to always keep performance front-of-mind. One thing I’m very excited about in this context is feature policies.Feature-Policy is a relatively new feature that lets you opt-in or out of certain browser features on your site.For example, you could tell the browser not to allow the use of the Geolocation API by providing the following header:Feature-Policy: geolocation 'none'There are a lot of benefits from a security and performance standpoint to Feature-Policy, but what I’m excited about at the moment are the ways you can use Feature-Policy to help make easy-to-overlook performance issues more visible. It essentially provides in-browser performance linting.Oversized-imagesBy default, if you provide the browser an image in a format it supports, it will display it. It even helpful scales those images so they look great +
5年前
記事のアイキャッチ画像
When CSS Blocks
Writing on Web Performance Consulting | TimKadlec.com
+The other day I was auditing a site and ran into a pattern that I’ve seen with a few different clients now. The pattern itself is no longer recommended, but it’s a helpful illustration of why it’s important to be careful about how you use preload as well as a useful, real-world demonstration of how the order of your document can have a significant impact on performance (something Harry Roberts has done an outstanding job of detailing).I’m a big fan of the Filament Group—they churn out an absurd amount of high-quality work, and they are constantly creating invaluable resources and giving them away for the betterment of the web. One of those great resources is their loadCSS project, which for the longest time, was the way I recommended folks load their non-critical CSS.While that’s changed (and Filament Group wrote up a great post about what they prefer to do nowadays), I still find it often used in production on sites I audit.One particular pattern I’ve seen is the preload/polyfill patt +
5年前
記事のアイキャッチ画像
Daily Routine
Writing on Web Performance Consulting | TimKadlec.com
+Everyone has their vices. One of mine is an unhealthy obsession with other people’s daily routines. I find them genuinely interesting and have probably taken a thing or ten away from a few of them to try to bring into my own routine.But, wow, do they always sound so….neat and tidy. Like:Get up at 4amMeditate for an hourDrink coffee and plan out my dayWorkoutEtc, etc, etcI realized I, too, have a routine. A messy one. So here’s how my daily routine stacks up.Somewhere between 5:00am-6:00am (basically, way too early)My two-year-old wakes up and calls for me from his room, so I begrudgingly oblige. He hands me his pillow, his blankets (each one by one) and his book (the kid insists on sleeping with his 100 Animal Pictures board book right now), and then I pick him up and put him and all his gear into the recliner and turn on a Big Comfy Couch or Winnie The Pooh.I don’t like putting him in front of a show to start the day, but he’s a bit grumpy until he eats, and I’m a bit groggy until I’v +
5年前
記事のアイキャッチ画像
What I Read in 2019
Writing on Web Performance Consulting | TimKadlec.com
+Welp.For the second year in a row, my reading trended down. In fact, this year marks the fewest books I’ve read since 2012! There are several reasons for that, I suppose. Partly, my brain felt pretty overloaded and distracted much of the year for various reasons and I found it harder to enjoy what I was reading.I took a look and I started and put down 13 books this year. I don’t keep track of that, but it’s gotta be close to a record. My guess is that if I were to pick up those books sometime in the future, when I’ve got my mojo back a bit, I’d likely enjoy most of them.I also got behind on writing reviews, again. I’m gonna cut myself a little slack there, but I’m still aimin to do a better job of it this year.As always, there were some stand-outs.For fiction, I loved The Winter of the Witch, Katherine Arden’s conclusion to her fantastic Winternight Trilogy. I’ll miss that world—those books have been some of my absolute favorites in recent years. I could also pick all of the Fredrik Ba +
5年前
記事のアイキャッチ画像
Making The Right Thing Easy
Writing on Web Performance Consulting | TimKadlec.com
+Over the past 14 months or so, I’ve gotten serious about taking better care of myself. I work out Monday through Friday, with rare exceptions. While I’m not super strict on what I eat, I have gotten much healthier there as well—replacing most of my usual sugary snacks with fruits and vegetables and ditching fast-food lunches in favor of salads or other healthier alternatives. I used to drink very little water, opting for, well, pretty much anything else. Now, most days, I’m drinking somewhere between 80 and 100 ounces of the stuff.This comes after years of saying I wanted to do these things but never sticking with it for very long.One of the biggest reasons it has stuck is also one of the simplest and least revolutionary: I made it easy to do the healthy thing.I bought a water bottle that I like and carry it with me pretty much wherever I go. When I’m at the office, I set it right on my desk, next to the computer, so that it’s never more than an arm’s length away.For the snacks, I went +
5年前
記事のアイキャッチ画像
Using BigQuery Without Breaking the Bank
Writing on Web Performance Consulting | TimKadlec.com
+The closer you look at something, the more interesting it gets. That’s probably why I love it when I’m able to pore through large amounts of data related to a topic that interests me. You keep twisting and turning it enough, and you’ll eventually start to uncover fascinating trends and insights that weren’t apparent on the surface.Hence, why I’m a big fan of BigQuery.You can use it for your own private data, and I’ve worked at or with organizations that did, but there is also a wealth of public datasets available for you to dig into. I spend 90% of my time querying either the HTTP Archive or the Chrome User Experience Report (CrUX) data. Typically, I’m looking for performance trends, doing some level of competitive comparison, or digging through data for a company that doesn’t yet have a proper real-user monitoring (RUM) solution in place. But I’ve also dug into data from Libraries.io, GitHub, Stack Overflow, and World Bank, for example. There are more than enough public datasets to ke +
5年前
記事のアイキャッチ画像
Using the Platform
Writing on Web Performance Consulting | TimKadlec.com
+The other day I was listening to the latest Shop Talk Show podcast while out for my morning run. They had Jen Simmons on the show, talking about (among other things) the standards process. It’s a great conversation, as you would expect—Jen’s super smart and has been doing great, meaningful work for a long time.Among the things that she discussed is the care that has to go into new browser features because once shipped, it’s there for good. Most of us don’t have to worry about things to that same level because:…you can always delete all your code later. You can always say, ‘Oh, this thing I shipped quickly for my project, that was a bad idea. Let’s obliterate it and re-do it better later.’ But with the web, there’s two things. One, we don’t get to change it and ship it again later, almost ever. If we hurry up and we ship subgrid, and subgrid is crappy, there’s no, like, fixing it. We’re stuck with it.This permanence to the web has always been one of the web’s characteristics that astoun +
5年前
記事のアイキャッチ画像
Netlify Build Plugin for SpeedCurve
Writing on Web Performance Consulting | TimKadlec.com
+Netlify hosted their JAMStack Conf in San Francisco this past Wednesday. Quibbles with the JAMStack name aside, there were some great talks in the schedule and they’ve started to fill up my watch later list.One thing that Netlify announced during the event was their new build plugins functionality. Netlify’s build process now exposes different events during the build and deploy lifecycle that you can use as hooks to attach certain functionality to. The simplest way to do that at any sort of scale is to create a build plugin that you can then install for any site you may want to use it.It’s not all that different from any other sort of build process, I suppose, but it does give Netlify some continuous integration functionality which is nice.I really like Netlify, and I really like SpeedCurve so I thought building a SpeedCurve plugin for Netlify would be a fun way to play around with the new feature.Getting setupThe first step was signing up for the private beta and getting access to bui +
5年前
記事のアイキャッチ画像
Less Data Doesn't Mean a Lesser Experience
Writing on Web Performance Consulting | TimKadlec.com
+After yesterday’s post, someone on Twitter expressed concern about providing a “degraded experience” to users who have Save-Data enabled.It’s far from the first time I’ve heard this concern expressed. A user sees “Save Data” as an option and says, “Yeah, of course!” but they may not want a lesser experience as a result.It’s a fair concern, I think. We make a lot of decisions on people’s behalf online and certainly deciding to provide a degraded experience in this situation would be a questionable one.But it’s also an avoidable one. One of the things I think is so great about the Save-Data feature is that it gives companies some sort of control over how their brand is experienced in data-constrained environments. They’re not relying on a proxy service to do a bunch of manipulation on their behalf, hoping it turns out alright. Instead, they have an opportunity to be proactive and careful consider how they can provide a low-data experience that still reflects their brand in a positive lig +
5年前
記事のアイキャッチ画像
Save-Data Usage
Writing on Web Performance Consulting | TimKadlec.com
+Yesterday someone at Shopify let me know on Twitter that they started reducing page weight if the Save-Data header is on.@tkadlec http://shopify.com is now Save-Data aware. About a 13% reduction in page weight, https://webpagetest.org/video/compare.php?tests=190828_NC_2480ff19108ef9d64a3cbb0a3061b15c,190828_1B_bd8a98e3b3ed3758c5586c4bc371e004Early data shows 20% of Indian/Brazilian requests contain this header so happy days #webperf 🎉I love seeing companies paying attention to the Save-Data header. I’m not one to get super excited about headers normally (I leave that to Andrew Betts), but I’m pretty excited about this one.The Save-Data is a header that gets passed along by a browser when the user has turned on some sort of data saving feature in that browser. Companies spend millions of dollars on surveys and research every year trying to figure out what their customers want. The Save-Data header is one of those rare times when the customers are explicitly telling us what they want: t... +
5年前
記事のアイキャッチ画像
Approachable Tooling
Writing on Web Performance Consulting | TimKadlec.com
+I’m lucky to be able to work with a wide variety of organizations and teams, with different architectures and workflows. I like it. It keeps things fresh.I sometimes find it’s nice to have a version of their site running locally to make it easier for me to dig deeper and test different optimizations.I see a lot of similar tech-stacks between my clients nowadays. The most common from the last year and a half has involved React/Vue.js.js, Node.js and webpack (with random tools sprinkled in of course). Despite the similar stacks, the process for getting things running locally ranges quite a bit. Usually, it involves a bit of back and forth with the team as we get access to the right repo’s and navigate the various different build tools and containers and configurations to get things all set. We get there in the end, but it’s rarely a quick process.Our tools are more powerful than ever, and I’m grateful that they are! Particularly as someone who cares a lot about performance, accessibility +
6年前
記事のアイキャッチ画像
Missed Understanding
Writing on Web Performance Consulting | TimKadlec.com
+There are two basic ways to respond when someone expresses frustration about not understanding a tool or technique that we do.The first is to blame them.I mean, you understand it. It’s not that hard. They should be able to figure it out too. Maybe they don’t want to put in the work. Or they’re slow on the uptake. It would be great if they would put a little time and effort into actually understanding it instead of complaining.The other response is to consider it as feedback.Is there documentation or other information that is unclear or misleading? Does the documentation assume a certain level of pre-existing knowledge? Is there something that you could communicate differently to make it click for them?Maybe their context isn’t the same as you—there could be situations where maybe this tool or technique doesn’t make sense. Or perhaps there are downsides you haven’t considered. It would be great to take some time to understand better where they’re coming from.Blaming them is easy. It’s a +
6年前
記事のアイキャッチ画像
Characteristics of a Strong Performance Culture
Writing on Web Performance Consulting | TimKadlec.com
+During Katie and Addy’s Google I/O talk, they referred to an internal study that found that 40% of large brands regress on web performance within 6 months.That’s a large, discouraging number, but it’s not entirely surprising. In my experience, teams want to build fast sites. When given the opportunity, like a large organizational push, they relish it and can make tremendous progress.However, these concerted efforts often fix the symptoms without dealing with the underlying cause. A detailed, prioritized audit of a site’s performance provides clear direction on which optimizations to tackle, but unless you also deal with the organizational constraints that caused the site to perform slowly in the first place, those seconds will keep coming back over time.That’s why so many folks over the years have stressed the importance of fostering a culture of performance inside of organizations. I think few organizations would argue against doing just that, but the path forward isn’t always clear, +
6年前
記事のアイキャッチ画像
New Network Fallacies
Writing on Web Performance Consulting | TimKadlec.com
+I remember reading articles about how 3G connectivity was going to transform performance and, more generally, the way we used the internet altogether.I remember how, later on, a common question I would get in after giving performance-focused presentations was: “Is any of this going to matter when 4G is available?”The fallacy of networks, or new devices for that matter, fixing our performance woes is old and repetitive.To be fair, each new generation of network connectivity does bring some level of change and transformation to how we interact with the internet. But it does so slowly, unevenly, and in ways that maybe aren’t what we originally envisioned.It takes time, money and significant other resources to roll out support for a new network. We’re not talking months in most places, but years. Inevitably that means it’s going to hit some of the big market areas first and slowly trickle down to everyone else. I don’t even get to pretend that I’m in a particularly remote area and yet even +
6年前
記事のアイキャッチ画像
Making Sense of Chrome Lite Pages
Writing on Web Performance Consulting | TimKadlec.com
+Google formally announced Lite Pages the other day and the response has been….let’s say mixed. Understandably so.The announcement post was a fairly typical product announcement post which is to say it was light (no pun intended) on the technical details and leaves a lot of open questions. Sometimes that’s fine. But in this case, the announcement has to deal with Google making changes to HTTPS content which, as you would expect, makes folks a little more nervous. Some more detail would have been nice.What We KnowDespite the vague announcement, between conversations with Chrome folks over the years, digging around and some general knowledge of how proxy services work, we can put together a decent chunk of the puzzle.Lite pages aren’t new. Well, not exactly.Chrome has offered a proxy service through its browser for several years now. In that time it’s undergone a few different rebrands.The first name I’m familiar with was Flywheel. That’s what it was called back in 2015 when the team work +
6年前
記事のアイキャッチ画像
Performance Budgets That Stick
Writing on Web Performance Consulting | TimKadlec.com
+Occasionally I hear some chatter about performance budgets “not working.” And, to be fair, I have seen companies who adopt a budget and then are unable to make meaningful improvements towards that goal. Over time those ineffective budgets get pushed to the sideline where they accumulate dust before being forgotten about altogether.It’s not really about the performance budget, though. Or rather, it’s not the idea of performance budgets that doesn’t work in those cases—it’s the execution and reinforcement around the budget.My definition of a performance budget has evolved over the years, but here’s my current working draft:A performance budget is a clearly defined limit on one or more performance metrics that the team agrees not to exceed, and that is used to guide design and development.It’s a bit lengthy, I know, but I think the specifics are important. If it’s not clearly defined, if the team doesn’t all agree not to exceed the limits, and if it doesn’t get used to guide your work, th +
6年前
記事のアイキャッチ画像
Limiting JavaScript?
Writing on Web Performance Consulting | TimKadlec.com
+Yesterday there was a bit of a heated discussion around a WebKit issue that suggested putting a limit on the amount of JavaScript a website can load. In the issue, Craig Hockenberry makes the case that enforcing a limit on the amount of JavaScript would provide a sort of “meet me in the middle” solution for users currently using content blockers.Content blockers have been a great addition to WebKit-based browsers like Safari. They prevent abuse by ad networks and many people are realizing the benefits of that with increased performance and better battery life.But there’s a downside to this content blocking: it’s hurting many smaller sites that rely on advertising to keep the lights on…..The situation I’m envisioning is that a site can show me any advertising they want as long as they keep the overall size under a fixed amount, say one megabyte per page. If they work hard to make their site efficient, I’m happy to provide my eyeballs.If Webkit pursues the idea further, they wouldn’t be +
6年前
記事のアイキャッチ画像
The Ethics of Web Performance
Writing on Web Performance Consulting | TimKadlec.com
+One question I’ve seen posed a few times in the past several months is whether performance really is a moral or ethical concern, or if that’s all heavy-handed exaggeration.It’s a fair question, I suppose. Advocates of any technique or technology can be a bit heavy-handed when it suits them if they’re not being careful–myself included. But I’m not sure if that’s the case here. When you stop to consider all the implications of poor performance, it’s hard not to come to the conclusion that poor performance is an ethical issue.Performance as exclusionPoor performance can, and does, lead to exclusion. This point is extremely well documented by now, but warrants repeating. Sites that use an excess of resources, whether on the network or on the device, don’t just cause slow experiences, but can leave entire groups of people out.There is a growing gap between what a high-end device can handle and what a middle to low-end device can handle. When we build sites and applications that include a lo +
6年前
記事のアイキャッチ画像
What I Read in 2018
Writing on Web Performance Consulting | TimKadlec.com
+I had the best of intentions last year. I was going to make it the fourth year in a row of reading more than I did the prior year. More than that, I was going to write detailed reviews of everything I read.Neither of those things really panned out.I started the year strong, but the reading slowed down as did the review writing. I could make up some excuses, but the reality is I just didn’t give myself as much time to read as I had been the past few years. I spent too much time checking email and sipping news through a firehose. I’ll fix that for 2019, starting with curbing my email and Twitter issues (I’ve made good progress on that already and will likely write about that soon).Still, what I did read was really high-quality stuff. There were a lot of great books I enjoyed this past year and very few duds that I had to put down. For fiction, I’d say my three favorites were Lonesome Dove, Beartown and A Man Called Ove (though The Body Library was really close). For non-fiction, I’d have +
6年前
記事のアイキャッチ画像
An Alfred Workflow for WebPageTest
Writing on Web Performance Consulting | TimKadlec.com
+By now, I have to be on record at least a few thousand times in saying that WebPageTest.org is an absurdly valuable tool. Pat gave the performance community an incredible gift by building it and making it available to the broader community for free.I spend a lot of time in WebPageTest. A lot of time. A while back, I made myself a little Alfred (like Spotlight but significantly more powerful and useful) workflow to make it easy for me to fire off a test quickly. It’s nothing fancy, but it does make it very convenient.When I want to run a test on WebPageTest for any URL, I can open Alfred (I use CMD + Space for the hotkey) and then start typing wpt. When I do, a few options come up: A screenshot of the options (listed below) for the WebPageTest Alfred workflowwptwpt:firefoxwpt:chromewpt:safariwpt:iphoneFor each option, I type in the URL I want to test, press “Enter” and my default browser opens and fires up a test. Of course, I still need to go to WebPageTest.org directly for a lot of te +
6年前
記事のアイキャッチ画像
Risking a Homogeneous Web
Writing on Web Performance Consulting | TimKadlec.com
+Last week I had the opportunity to present at a technical SEO conference about performance. At the speakers dinner, I was enjoying a really good conversation with a few folks I met. At one point, I brought up quokkas because they’re amazing and I desperately want to hang out with one.Or a few.Anyway.It turns out, the other folks at the table were not familar. I couldn’t let this injustice continue, so I told them to “Google for quokka selfies”. Christi, who works on Bing, commented with a smile: “Or you could look it up on Bing.”It was a small thing, all with good humor. But it kind of stuck in my head. Without really ever thinking about it, Google has risen to that status (for me at least, though I doubt I’m the only one) where, like Kleenex, it has become the product itself, not just the brand. Their influence on online search is nothing short of dominant.Their influence on the broader web is not at that same level, yet, but it’s not all that far off. I’ve mentioned in the past the m +
6年前
記事のアイキャッチ画像
Keeping It WEIRD
Writing on Web Performance Consulting | TimKadlec.com
+There was a great article over on The Conversation the other day about how poor scientific research is at considering people with different viewpoints and backgrounds.Specifically, the vast majority of what we know about human psychology and behavior comes from studies conducted with a narrow slice of humanity – college students, middle-class respondents living near universities and highly educated residents of wealthy, industrialized and democratic nations.To illustrate the extent of this bias, consider that more than 90 percent of studies recently published in psychological science’s flagship journal come from countries representing less than 15 percent of the world’s population….Given that these typical participants are often outliers, many scholars now describe them and the findings associated with them using the acronym WEIRD, for Western, educated, industrialized, rich and democratic.First, I love the WEIRD acronym, and I’m a little surprised I haven’t heard it before, or, if I h +
6年前
記事のアイキャッチ画像
A More Ergonomic Setup
Writing on Web Performance Consulting | TimKadlec.com
+My neck and shoulders have bothered me since high school. Nothing debilitating, but a constant soreness and dull ache. I’m not 100% sure why but certainly my work environment is a very likely candidate. My posture can be questionable and for the longest time, I didn’t give even the slightest thought to the ergonomics of my setup. I did grab a standing desk a couple of years back in the hopes it would help my back in some way. I love it. It didn’t make a significant impact on my back (the most notable effect was helping me to avoid the post-lunch sleepiness), but I honestly don’t think I could work for an extended period of time at a sitting desk anymore.Recently, I decided to invest in myself a bit more by grabbing a new mouse and keyboard in an attempt to make my work environment a bit more ergonomic. The mouse didn’t make a huge difference (at least, I didn’t notice one) but I loved it immediately. The keyboard, on the other hand, had more of an impact on my comfort than any other pu +
6年前
記事のアイキャッチ画像
The Cascade and Other Essential Unessentials
Writing on Web Performance Consulting | TimKadlec.com
+There was a poll posted the other day by Max on Twitter and it has lead to some fairly heated follow-up discussion (Developers being angry on Twitter? Shocking, I know.)Max posted the following question:Given these classes:.red { color: red;}.blue { color: blue;}Which color would these divs be?<div class="red blue"><div class="blue red">The correct answer is that they’re both blue. The order of class names in HTML has no bearing on the styles. In this case, both selectors have the same specificity (they’re both class selectors) so there’s a tie there. Since .blue comes later in the stylesheet, it overrides the .red selector. Both div’s will have text with the color blue.Over 14,000 people have responded as of the time I’m writing this. 43% got the answer correct. Most folks got tripped up by the order of the HTML attributes.It doesn’t bother me too much that people are getting the question wrong. Everyone is at different stages in their career and everyone has different problems they’r +
6年前
記事のアイキャッチ画像
Chrome's NOSCRIPT Intervention
Writing on Web Performance Consulting | TimKadlec.com
+The other week, there were a few articles that came out about Chrome’s NOSCRIPT intervention: an intervention that would disable JavaScript altogether on slow networks. Chrome intervening on behalf of the user when it feels the network is iffy isn’t exactly new. Chrome has several interventions including one that can replace images with placeholders and one that bypasses web fonts on slow connections. The NOSCRIPT intervention itself isn’t even new. From the looks of it, it’s been around since January (just disabled by default until now).But disabling JavaScript is a much more controversial move, it appears. Web fonts fallback very easily to system fonts so disabling web fonts is not a huge deal to most. JavaScript, however, isn’t always treated as progressive enhancement (as much as I feel it should be) and so when it goes missing, the consequences can be a bit more significant.As you would expect, then, there’s been a lot of ensuing conversation. However, all the articles I had read +
6年前
記事のアイキャッチ画像
On HTTPS and Hard Questions
Writing on Web Performance Consulting | TimKadlec.com
+Eric Meyer was recently in Uganda, where he experienced first-hand a very undesirable side effect of HTTPS. The area he was in was served by satellite internet access, and experienced significant latency (a floor of 506 milliseconds) and packet loss (between 50-80% was typical). In addition, there is a cap on the data that an account can use in any given month. Go over the cap, and you either pay overages or lose data access entirely until the next billing cycle.To counter this, the school he was visiting sets up their own local caching server. But, as he explains, this approach falls apart when HTTPS gets involved.A local caching server, meant to speed up commonly-requested sites and reduce bandwidth usage, is a “man in the middle”. HTTPS, which by design prevents man-in-the-middle attacks, utterly breaks local caching servers. So I kept waiting and waiting for remote resources, eating into that month’s data cap with every request.Eric acknowledged that HTTPS is a good idea (I agree) +
6年前
記事のアイキャッチ画像
Prioritizing the Long-Tail of Performance
Writing on Web Performance Consulting | TimKadlec.com
+When I work with companies on improving their performance, we focus more and more on their long-tail of performance data.We look at histograms instead of any single slice of the pie to get a good composite picture of what the current state of affairs is. And for specific goals and budgets, we turn to the 90th or 95th percentile.For a long time, the average or median metrics were the default ones our industry zeroed in on, but they provide a distorted view of reality.Here’s a simplified example (for something in more depth, Ilya did a fantastic job of breaking down this down).Let’s say we’re looking at five different page load times:2.3 seconds4.5 seconds3.1 seconds2.9 seconds5.4 secondsTo find the average, we add them all up and divide by the length of the data set (in this case, five). So our average load time is 3.64 seconds. You’ll notice that there isn’t a single page load time that matches our average exactly. It’s a representation of the data, but not an exact sample. The average +
7年前
記事のアイキャッチ画像
Web Watch
Writing on Web Performance Consulting | TimKadlec.com
+I didn’t tune in for the WWDC stuff this year. I can remember being excited for that each year, eagerly anticipating what cool thing was coming next. However, for the past few years, I’ve found the announcements to be mostly mundane. This year, unless they were going to announce new and better laptops, I wasn’t overly excited.But when reading the recaps and tweets that followed the event, I was pretty intrigued to see the Apple Watch is now going to be able to support web content. The initial details were a bit scant, but Erik Runyon took the time to jot down some information he found in a video from WWDC.It looks like WebKit on the watch is optimized for reading, as most probably thought it would. Some features are turned off (video, service workers, fonts, etc) and text-heavy pages automatically activate Reader Mode.However, the watch also supports, from the sounds of it, a mostly full web experience.If you don’t do anything to optimize your content, the watch will attempt to adapt a +
7年前
記事のアイキャッチ画像
Ode to the Kindle
Writing on Web Performance Consulting | TimKadlec.com
+Remy just posted about his Kindle breaking, and how he felt oddly affected by this:Somehow, I felt weird about throwing away a bit of consumer technology. Except, the Kindle to me, wasn’t that at all. I hold a great fondness to this little device, and that’s an odd concept for me to grasp.I can relate. I have had many conversations over the years where I’ve told people that out of all the devices and gadgets I own, my Kindle—one of the least powerful and cheapest devices—is the one that I am most protective of. I’ve never been entirely able to explain why that is.For Remy, his affection for his Kindle is pretty personal:I’d struggled reading books in the past for a number of reasons: I used to use glasses to help my focus when reading (when I was 18), the size of the books were daunting to me (it took me 6 solid months to read Frankenstein on paperback), and all of this cumulative to a very slow and painful reading process, which put me off the entire experience.The Kindle changed a fe +
7年前
記事のアイキャッチ画像
Notes on: Raiders of the Fast Start at Perfmatters
Writing on Web Performance Consulting | TimKadlec.com
+At #PerfMatters, Katie Sylor-Miller gave a presentation entitled “Raiders of the Fast Start” (best title ever). Here are my notes.Performance archaeology uncovers insights into your development and performance culture.Start with a hypothesis and do a comprehensive survey and additional resource. When you understand the context, start excavating and finally interpret your discoveries.HypothesisFocused on improving the mobiler performance of the Etsy listing page.Code for mobile listing page started in 2013 with multiple teams, so lots of legacy code baggage.RUM DOM Content Loaded times tied most closely to the user experience of Etsy users, so focused on that. 90% of visits were under 5 seconds. 52% of visitors were 2 seconds or less.Looking at conversion rate versus DOMContentLoaded they discovered that conversions steadily declined for every second added to DOMContentLoaded time.Their ultimate hypothesis was that improving the performance of the listing page would increase conversions +
7年前
記事のアイキャッチ画像
Partnering with Speedcurve
Writing on Web Performance Consulting | TimKadlec.com
+When I wrote about beginning to work for myself again, I mentioned that there were a few things in the works that I was particularly excited about. Today, I get to spill the beans on one of them: I’m partnering with SpeedCurve to provide performance consulting services to SpeedCurve customers!The SpeedCurve team is ridiculous. I mean that in the kindest way possible. Between Mark, Tammy, Steve, and Joseph there’s an absurd abundance of top-notch people working on the product. I’ve personally worked with Tammy, Mark, and Steve on things in the past, so there’s already a high-level of familiarity between us all.Partnering with them means I have an excuse to work with each of them a bit more, and that in itself would be enough to make me excited.I’m still handling projects on my own as well, but for SpeedCurve customers specifically, this pairing makes so much sense.The SpeedCurve gang and I will be sitting on a large amount of data giving us intimate knowledge of the state of performance +
7年前
記事のアイキャッチ画像
Notes on Making Pinterest Fast at Perfmatters
Writing on Web Performance Consulting | TimKadlec.com
+At #PerfMatters, Jessica Chan, Sarah Dapul-Weberman, and Michelle Vu gave a presentation about building Pinterest’s first dedicated performance team and the challenges involved. Here are my notes.First Dedicated Performance teamPinterest serves over 200 million global monthly active users and an infrastructure that serves over 1 millions request per second.Around 2016, Pinterest migrated from Backbone to React. They saw a 20% improvement in performance and 10-20% improvement in engagement.For unauthorized pages, the same migration saw a 30% improvement in performance and a 15% increase in signups, 10% increase in SEO traffic and a 5-7% increase in logins.Questions came out of these improvements: Were there bug’s in their performance tracking? Were they still performing this well? They realized they needed a dedicated performance team to better understand what was happening.Data ConfidencePinterest chose a custom metric called Pinner Wait Time (PWT) which looks at the slowest load time +
7年前
記事のアイキャッチ画像
Compressive Images Revisited
Writing on Web Performance Consulting | TimKadlec.com
+2012 was a dark time for responsive images. Standards work had begun, but there was no consensus and many angry people (myself included). Some remained unconvinced that responsive images were even a problem that needed to be solved.But there was still a glimmer of hope in these dark days. In July of that year, Daan Jobsis discovered a technique that the Filament Group would later dub “compressive images”. The technique became pretty popular and worked quite well in lieu of an actual standard.Now, fast forward to today. We have a set of standards for responsive images, browsers have improved image loading—does the compressive images technique still have a place in our workflow? I’ve been threatening to write this post for a long time, but just kept putting it off. But when Dave Shea offers you a like, you take it (there…happy Dave?).What are compressive images?The compressive images technique relies on you sizing a JPG image to be larger than the size it ultimately is displayed at and t +
7年前
記事のアイキャッチ画像
How Fast Is Amp Really?
Writing on Web Performance Consulting | TimKadlec.com
+AMP has caused quite the stir from a philosophical perspective, but the technology hasn’t received as close of a look. A few weeks ago, Ferdy Christant wrote about the unfair advantage being given to AMP content through preloading. This got me wondering: how well does AMP really perform. I’ve seen folks, like Ferdy, analyze one or two pages, but I hadn’t seen anything looking at the broader picture…yet.Evaluating the effectiveness of AMP from a performance standpoint is actually a little less straightforward than it sounds. You have to consider at least four different contexts:How well does AMP perform in the context of Google search?How well does the AMP library perform when used as a standalone framework?How well does AMP perform when the library is served using the AMP cache?How well does AMP perform compared to the canonical article?How well does AMP perform in the context of Google search?As Ferdy pointed out, when you click through to an AMP article from Google Search, it loads i +
7年前
記事のアイキャッチ画像
Licensed to Web
Writing on Web Performance Consulting | TimKadlec.com
+I recently got back from London where I was presenting at QCon. Typically I enjoy single-track events more than multi-track events, but QCon did an impressive job of curating the talks.Each track is curated by the track hosts and speakers are all given the opportunity to take advantage of mentoring. They even had a process in place so that speakers could give a preview of their talk to other speakers and conference staff for feedback in the weeks before the event. It’s a level of care in the talk process that you don’t typically expect from larger events.I had the privilege of closing QCon’s first ever ethics track. The whole day was full of fantastically passionate talks around the ethics of technology. Even more encouraging was that while the room was small, every single talk was packed.Towards the end of the day all the speakers, the track hosts, and a couple of guests got on stage for a panel discussion. The discussion was lively and spirited. I was struck by how much we all agreed +
7年前
記事のアイキャッチ画像
Returning to Independent Work
Writing on Web Performance Consulting | TimKadlec.com
+March 14th will be my last day at Snyk. Snyk (pronounced “sneak” no matter what Anna says) is full of amazing and talented people. I’ve learned a ton, and had a lot of fun. I’m going to miss working with them.You know that saying about abandoning a sinking ship? This is more like abandoning a rocket that is taking flight at an incredible speed. Snyk gets better and better at securing open-source every single day. If you’re working with any of the ecosystems Snyk supports, setting up Snyk on that project should just be a given. I’m proud of how far the company has come already in such a short amount of time.But I’ve been feeling myself pulled in a different direction for awhile now.On March 15th, I’m very excited to start working as an independent performance consultant and developer. I’ll be providing training, consulting and hands-on development.I want to work with companies who want to build something everyone can use—something performant and accessible no matter the context. It’s go +
7年前
記事のアイキャッチ画像
Tips for Running Workshops
Writing on Web Performance Consulting | TimKadlec.com
+In one of the Slack groups I’m in, someone asked a question about running workshops and what folks found that has or hasn’t worked. I dumped my thoughts there but thought I should share them openly as well in case they’re useful to anyone.An important caveat: this is what works for me. As in everything, I think the most important thing is to find a style that suits you. Being authentic is one of the most important things you can do whether you’re giving a workshop, giving a talk or writing.I didn’t do all these things at the first workshops I presented. Through trial and error, these are the things I learned seem to resonate with the folks I train.Your mileage may vary.Start with the attendeesEvery workshop I run, I start with a blank slide and ask the folks in the room what they want to get out of the day. They signed up (or their company did) to spend a whole day on this topic, so just about everyone in the room already has a few topics in mind; a few questions that they really want +
7年前
記事のアイキャッチ画像
The Two Faces of AMP
Writing on Web Performance Consulting | TimKadlec.com
+The day after AMP was launched, I published a post with a bunch of concerns I had—most notably, that of the incentives being put around building AMP content.This promise of improved distribution for pages using AMP HTML shifts the incentive. AMP isn’t encouraging better performance on the web; AMP is encouraging the use of their specific tool to build a version of a web page. It doesn’t feel like something helping the open web so much as it feels like something bringing a little bit of the walled garden mentality of native development onto the web.It’s a concern that has been stated over and over again in the two-plus years of AMP’s existence, by numerous developers. It finally boiled over recently, resulting in the publication of the AMP letter which at the time I’m writing this has been signed by 640 people and seven organizations (and also, to my knowledge, has not been formally addressed by the AMP team).The letter calls on the AMP team to make two primary changes:Instead of granti +
7年前
記事のアイキャッチ画像
Saving Links to My Site With a Bookmarklet
Writing on Web Performance Consulting | TimKadlec.com
+I started using my site to post bookmarks late in 2016, but I didn’t do it often. I never sat down and took the time to create a nice publishing workflow for bookmarks, so the process was clunky and cumbersome. Anytime I needed to save a bookmark I had to:Copy/paste any selected text I wanted to quoteCreate a new markdown file for JekyllSetup any metdata I neededManually deployThis wasn’t a limitation of Jekyll or anything, just a matter of me never taking the time to make the process more seamless.What I wanted was a bookmarklet to fast-track that whole process and make it automatic. With a static-site generator, that’s not quite as simple as it would be otherwise.But then I remembered that the Github API allows you to create and commit a file to a given repository. I did a little looking around. It turns out someone had already taken the time to build a bookmarklet for Jekyll that used the GitHub API to do exactly what I wanted to accomplish.Modifying it for Hugo didn’t take long. Mo +
7年前
記事のアイキャッチ画像
Switching to Hugo and Netlify
Writing on Web Performance Consulting | TimKadlec.com
+I’ve made a few changes here, but hopefully, most of them went unnoticed. As I mentioned before, I’ve been wanting to invest more in my own site and content again. With so much I want to tackle—implementing WebMentions, syndicating book reviews to Goodreads, building a bookmarklet to make it easier for me to save links here—naturally I had to prioritize and put first things first.So I changed the static site generator I was using as well as the hosting provider.It’s actually not as off-track as it sounds. I had been running Jekyll for a long time now, loving the fast loading times. But there were a few issues. The most notable is my own fault: over the years, I had done a poor job of keeping things neat and tidy. The whole setup was pretty unwieldy and messy. It was to the point where I was either going to need to refactor my code anyway or switch it up altogether.The second issue was that while the site was fast to load, it was pretty slow to generate. It was enough of an annoyance th +
7年前
記事のアイキャッチ画像
Owning My Own Content
Writing on Web Performance Consulting | TimKadlec.com
+I produced a decent amount of content in 2017. In fact, I wrote more blog posts than I have since 2013. Just not here.I wrote 17 posts for the Snyk blog and a handful of posts for other sites as well. I posted 889 tweets to Twitter. I reviewed 47 books on Goodreads. I’m probably forgetting some other things.But here, on my own site? Four. I wrote four posts. For someone who loves to talk about how important it is to own your own content and to write for yourself, I’ve done precious little of that as of late.Goals can be fickle things, but I’m going to set myself a goal for 2018: I want to walk the game I talk. I want to get back to owning my own content. That doesn’t mean cutting back on posts for Snyk—that’s part of my job and I’m happy to do it. But it does mean writing more frequently here as well. It means treating my own site as the hub for the content I post elsewhere instead of letting it accumulate cobwebs.There are a few obvious steps. I want to replace Disqus with web mention +
7年前
記事のアイキャッチ画像
What I Read in 2017
Writing on Web Performance Consulting | TimKadlec.com
+I spent a lot less time this year on social media. Mostly this was a conscious decision—the firehose that social media provides wasn’t doing my brain (or mood) any favors. So I dialed it back. At first, I had to trick myself, hiding my Twitter icon several pages deep on my phone so it was very inconvenient while making sure my Kindle app was up front and center.As time went on I didn’t have to do that anymore. Like a dog learning that he gets a treat when he does a trick, I started to recognize that, at least for me, ten minutes reading left me in a much better state than ten minutes on Twitter. I can’t say I don’t occasionally dip in more than I probably should, but there’s a better balance now. It’s not much of a surprise, then, that I read more books in 2017 than I have since I started keeping track back in 2009.There were fewer standouts this year though, at least for non-fiction. I loved The Lightless Sky—it’s easily my favorite non-fiction book of the year and one I would unequiv +
7年前
記事のアイキャッチ画像
Cryptography and the importance of usable security
Writing on Web Performance Consulting | TimKadlec.com
+Recently I taught my daughters some extremely basic cryptography, and it was a great reminder of how critical it is for security to be usable.There are some great ciphers I could have taught them, but they’re still little, so I started simple. I them the rail fence cipher (some may know it as a zigzag cipher which is probably a better description). With a rail fence cipher, you write the message you want to communicate in a zigzag pattern, letter by letter.For example, let’s say we want to use this cipher on the message “hello world”. We would do this by placing the letter “H” on the first line, then the letter “e” on the second line. Then we’d move back up and put the “l” on the first line, followed by another “l” on the second line. The result would be something like this:Now that we have the message in two lines, we place the second row of characters after the first row, and we have our encrypted message:HLOORELWLDThe rail fence cipher can involve as many “rails” as we would like. F +
8年前
記事のアイキャッチ画像
AMP and the Web
Writing on Web Performance Consulting | TimKadlec.com
+The first day of the first ever Google AMP conference was today in New York. I would have loved to have been able to participate, but I had to settle for listening to bits and pieces from afar (thanks to Google for always doing such a good job of live streaming all of their events).The only session I circled back to watch in its entirety so far was the panel about “AMP & The Web Platform.” Unsurprisingly to anyone who has read anything I’ve written in the past about AMP, this was the session that looked the most interesting to me. I’m not typically a fan of panels—panels are so hard to do well—but this was a good one.Now first off, hats off to the AMP team for assembling the panelists that they did. They could’ve gone the easy route and pulled in a bunch of AMP diehards, but they didn’t. They assembled a smart group of panelists who weren’t afraid to ask some important and hard-hitting questions: Gina Trapani, Nicole Sullivan, Sarah Meyer, Jeremy Keith and Mike Adler.That was not accid +
8年前
記事のアイキャッチ画像
The Bias in What We Build
Writing on Web Performance Consulting | TimKadlec.com
+I’ve been thinking a lot lately about our biases and their influence on what we build and how. We’re all biased in some way—it’s an inevitable side-effect of living. We experience certain things, we live in a certain environment, we have certain interactions and over time all of these experiences and factors add up to impact the way we view ourselves and the way we view others.These biases come into play over and over again in our work, and can have devastating consequences.There was an interesting post on The Coral Project about anonymity and its impact—or rather, non-impact—on online behavior. A frequent refrain heard when we try to understand why online behavior is so frequently so poor is that the ability to be anonymous is one of the primary reasons for the problem. J. Nathan Matias argues differently, though:Not only would removing anonymity fail to consistently improve online community behavior – forcing real names in online communities could also increase discrimination and wor +
8年前
記事のアイキャッチ画像
What I Read in 2016
Writing on Web Performance Consulting | TimKadlec.com
+Ah, the end of the year. A time where my waistline expands as I feast on mountains of holiday sweets and the list of books I want to the read expands just as quickly as everyone shares their favorite reads from 2016.As always, I enjoyed every book on this list at least a little—I don’t have the patience or desire to get through books that I’m not finding interesting in some way.If I had to choose, I’d say my three favorite fiction reads of the year were: A Constellation of Vital Phenomena, A Monster Calls, and The Book Thief. For non-fiction, they would be The Road of Lost Innocence, Console Wars, and Evicted. Just to warn you, the only book out of those six that you should expect to finish without having lost any tears along the way is Console Wars. Apparently, I was really into emotionally-charged books this year.Creative Schools: The Grassroots Revolution That’s Transforming Education by Ken Robinson 4⁄5 Ken, as you would expect if you’ve read his prior books or watched his fantasti +
8年前
記事のアイキャッチ画像
Your Voice
Writing on Web Performance Consulting | TimKadlec.com
+It starts with a voice. Your voice. Your ideas. Your opinions. Your thoughts. Your learnings.You have something you’re interested in, something you want to communicate to others. So you write. Or you give a presentation. Or you record a screencast. You do these things more and more, sharing what you learn and what you think.Over time, as you get more comfortable, you learn how to improve. You learn how to write more effectively. You learn how to make your presentation resonate more deeply with an audience. One day, years later, you look up and you find out that you’re not the best—in fact you still have a lot of room for improvement, but you’re much better than you used to be.This is the way you improve. This is way it’s supposed to work.Except that often, it doesn’t. There’s a lot of advice out there, mostly well-intentioned, about how to be better. Don’t use passive voice in your writing. Make your movements deliberate on stage. Avoid filler words.It’s great that people share these t +
8年前
記事のアイキャッチ画像
Chasing Tools
Writing on Web Performance Consulting | TimKadlec.com
+One of the very first projects I ever worked on as a professional was a relatively large site with tons of legacy code. Legacy code brings many headaches. My favorite example was opening a few pages to find that these pages used not one, not two, but three different JavaScript frameworks!The developers were overworked and the site had never gotten enough budget to give it the rebuild it needed. Granted, they could have stuck with the original framework included but the problem was that as each of the frameworks faded and gave way to the next one, the ecosystem and community around them online dried up and shriveled.There’s a happy ending to this story. Eventually, jQuery was used and all the other frameworks were removed (talk about a big performance win!). jQuery never suffered from the same fate as the other frameworks the team had tried to use—its ecosystem only continued to grow and flourish as time went on.Of course, the snarky side of me would be happy to point out that had they +
8年前
記事のアイキャッチ画像
Joining Snyk
Writing on Web Performance Consulting | TimKadlec.com
+I remember sitting around with a few friends at Chrome Dev Summit last year. The conversation eventually turned to security. We all agreed about how massively important it was, but we also each acknowledged that it’s not trivial to do correctly. It’s not the most accessible topic and the tooling and standards can be a bit unwieldy.Since that time, Let’s Encrypt came out of beta and did a lot to really simplify the process of moving sites to HTTPS. I’m a big fan, as I’ve mentioned before.But moving to HTTPS, while important, is just one tiny step in what it really takes to make sure that the people using our sites and applications are safe. If the web is really going to be secure by default, then we need many more tools and standards along a similar vein. We need security to be demystified.Maybe that’s why when Guy was showing me the first incarnation of Snyk I was so impressed. He and his team had created a tool that focused on one part of the security equation—how to make sure you’re +
8年前
記事のアイキャッチ画像
The Taxi Ride
Writing on Web Performance Consulting | TimKadlec.com
+I head out of the airport in San Francisco and grab a taxi. I consider myself an outgoing and social person, but I’ve just spent six hours or so crammed next to a bunch of strangers in a combination of airports and planes. All I want to do right now is hang in the back seat of this taxi, enjoying 45 minutes of quiet.You never know with taxis though. Sometimes, the driver will ask where I’m headed and then stay quiet the rest of the way—the two of us physically in the same car but mentally somewhere else entirely. Other times the driver will want to make small talk. We’ll talk about where we’re each from, what the weather is like back home, how many kids we have and how long I’ll be in town for.Today, it turns out, is not going to be quiet ride.The driver—a middle aged man—and I take turns talking about where we live, the weather, all the standard fare.He asks if we play football where I’m from. Soccer. He corrects himself remembering I’m an American and we made up our sort of football +
9年前
記事のアイキャッチ画像
CPP: A Standardized Alternative to AMP
Writing on Web Performance Consulting | TimKadlec.com
+It’s no secret that I have reservations about Google’s AMP project in its current form. I do want to make it clear, though, that what bothers me has never been the technical side of things—AMP as a performance framework. The community working on AMP is doing good work to make a performant baseline. As with any framework, there are decisions I agree with and some I don’t, but that doesn’t mean the work isn’t solid—it just means we have different ways of approaching building for the web.But that’s the beauty of the web, isn’t it? It’s not just that anyone, anywhere can consume the information on the web—that’s fantastic and amazing, but it’s not the complete picture. What makes the web all the more incredible is that anyone, anywhere can contribute to it.You don’t need to go through some developer enrollment process. You don’t need to use a specific application to build and bundle your apps. At its simplest, you need a text editor and a place to host your site.That’s it. The rest is up t +
9年前
記事のアイキャッチ画像
HSTS and Let's Encrypt
Writing on Web Performance Consulting | TimKadlec.com
+I recently gave the Let’s Encrypt client a try and wrote up how that went. One of the follow-up questions that popped up was about HTTP Strict Transport Security (HSTS) and whether Let’s Encrypt’s helps with it. Since the question came up several times, I thought it would be worth writing up.What is HSTS?While the SSL certificate is a big boost for security in its own right, there is still a potential hole if you are redirecting HTTP content to HTTPS content.Let’s say someone tries to request wpostats.com (diagrammed below). They may type it into the URL bar without the protocol (defaulting the request to HTTP) or they have it bookmarked from before it used HTTPS. In this case, the browser first makes the request to the server using a non-secure link (step 1). Then the server responds by redirecting the browser to the HTTPS version instead (step 2). The browser then repeats the request, this time using a secure URL (step 3). Finally, the browser responds with the secure version of the +
9年前
記事のアイキャッチ画像
What I Read in 2015
Writing on Web Performance Consulting | TimKadlec.com
+It’s that time of year again. The time when readers everywhere post their “best books of whatever-year” and “my favorite books of the year” lists making my pile of books to read grow rapidly. As usual, I’m happy to return the favor.As I did in the past, I’ve included a rating and short review of each book I’ve read to give both you and I some idea of why I enjoyed each book. You’ll notice that no book has a rating below three stars out of five—that’s because if I am not enjoying a book on some level, I discard it. Life is too short to spend reading books that aren’t interesting.If you forced me to choose, I’d have to say my three favorite fiction books were: All the Light We Cannot See, Crime and Punishment and Leviathan Wakes. My three favorite non-fiction books were: They Poured Fire on Us From the Sky, How Music Got Free and So You’ve Been Publicly Shamed.The End of Absence by Michael Harris 4⁄5 I found myself nodding my head in agreement quite frequently while reading this meditati +
9年前
記事のアイキャッチ画像
2015 Favorites
Writing on Web Performance Consulting | TimKadlec.com
+The five most read posts of 2015, in order.Apple’s WebI’m good for a heat of the moment rant about either standards or Apple (often both) every couple years. This year, it was about Apple’s influence over the standardization process after some fallout around the Pointer Events specification.Client-side MVC’s Major BugIf your client-side MVC framework does not support server-side rendering, that is a bug. It cripples performance, limits reach and reduces stability.Choosing PerformanceIn light of Facebook’s Instant Articles feature and FlipKart’s announcement about leaving the web (something they’ve since reversed their stance on), I wrote a post about why the issue with poor performing sites has nothing to do with technical limitations. Performance is a decision. We actively choose whether to devote our time and energy to improving it, or to ignore it and leave it up to chance.Taking Let’s Encrypt for a SpinA lot of folks have been very vocally pushing for “HTTPS Everywhere”, and for go +
9年前
記事のアイキャッチ画像
Taking Let's Encrypt for a Spin
Writing on Web Performance Consulting | TimKadlec.com
+A lot of folks have been very vocally pushing for “HTTPS Everywhere”, and for good reason. The fact that the lack of HTTPS makes you miss out on shiny new things like HTTP/2 and Service Workers adds even more incentive for those a little less inspired by the security arguments.Unfortunately, moving to HTTPS can be kind of painful as you can see from Jeremy Keith’s excellent post detailing exactly how he got adactio.com onto HTTPS. He pinpoints the major obstacle with HTTPS adoption at the end of his post:The issue with https is not that web developers don’t care or understand the importance of security. We care! We understand!The issue with https is that it’s really bloody hard.Let’s Encrypt—a new certificate authority from the Internet Security Research Group (ISRG)—has been promising to help with this, pledging to be “free, automated and open”.They just announced public beta today, so I decided to give the beta version of their system a try on wpostats.com. Like Jeremy’s blog, WPO St +
9年前
記事のアイキャッチ画像
Holiday Web Reading
Writing on Web Performance Consulting | TimKadlec.com
+I enjoy reading and one of the rules of all well-behaved reading enthusiasts—much like vegans, cross fitters and people who eat gluten free—is to never stop telling everyone we know (and even some people we don’t know) about it.I hadn’t read very many industry books this year, but the second half of the year was absolutely bursting with great options and I couldn’t resist. Here are a list of the ones that I’ve found time to read and highly recommend.Adaptive Web Design, 2nd Edition by Aaron Gustafson Sometimes second editions are relatively minor updates to a prior version of a book. In the case of Adaptive Web Design, I wouldn’t have been upset if that was the case. After all, the first edition was exceptionally well written and provided as clear an explanation of progressive enhancement as you could possibly hope for.But the second edition of Adaptive Web Design isn’t just a minor update—it’s a completely new take on the topic. While I would have been hard pressed to imagine it happe +
9年前
記事のアイキャッチ画像
AMP and Incentives
Writing on Web Performance Consulting | TimKadlec.com
+Incentives are fascinating. Dangle the right carrot in front of people and you can subtly influence their behavior. But it has to be the right carrot. It has to matter to the people you’re trying to influence. Just as importantly, it has to influence the correct changes.A few years ago there was a story of incentives gone wrong that was making the rounds. The story was about a fast food chain that determined customer service was an important metric that they needed to track in some way. After discussion, they determined that the time it took to complete an order in the drive thru seemed to be a reasonable proxy.So they set a goal: all drive thru orders needed to be completed within 90 seconds of the cars arrival at the window. They had a timer visible to both the customer and the server. If the timer went over 90 seconds, the time would be recorded and then reported back to corporate headquarters.There were some rather silly and unintended side effects. One of the most absurd happened +
9年前
記事のアイキャッチ画像
The Fallacy of Keeping Up
Writing on Web Performance Consulting | TimKadlec.com
+The web has always evolved fairly quickly but as of late it sure feels like the pace has picked up substantially. There are a plethora of new standards and techniques emerging that range from incremental improvements to potentially giant leaps forward.We have the mass migration to HTTPS. There’s HTTP/2 which provides the first major update to HTTP in over 15 years. Alongside of that we have Google’s QUIC which could provide significant reduction in latency. Service workers brings a programmable proxy to the browser. We have more focus than ever on motion design on the web. Improved performance metrics have shifted the discussion to more experience-based optimizations such as optimizing for the critical path. We have the shift to ECMAScript 6. The list goes on and on.It’s very exciting. But it can also be stressful.The other day I tweeted about my excitement about some of these new standards. Shane Hudson was the first reply:Quite worryingly, some of those words are gobbledegook to me. +
9年前
記事のアイキャッチ画像
Understanding Proxy Browsers: Architecture
Writing on Web Performance Consulting | TimKadlec.com
+I did a bunch of research on proxy-browsers for a few projects I worked on. Rather than sitting on it all, I figured I’d write a series of posts sharing what I learned in case it’s helpful to anyone else. This first post looks at the general architecture of proxy browsers with a performance focus.In the original story of the Wizard of Oz, the Emerald City isn’t actually green nor made entirely of emeralds. All of that came later. In the original story, before entering the city each person had to put on a pair of glasses. These glasses, they were told, would protect them from the bright glow of all the emeralds that would surely damage their sight. These glasses were attached and never removed. You wore them while eating, while going to the bathroom, while walking outside—you wore them everywhere and all the time.This was all a ruse. The glow of the city wouldn’t damage anybody’s sight because there was no glow. That all came from the glasses which just happened to be tinted green. Thro +
10年前
記事のアイキャッチ画像
Thriving in Unpredictability
Writing on Web Performance Consulting | TimKadlec.com
+Getting a website successfully delivered to a visitor depends on a series of actions. My server must spit something out. That something must be passed over some network. That something must then be consumed by another something: some client (often a browser) on some device. Finally, the visitor views that something in whatever context they happen to be in.There are a lot of unpredictable layers here.I have no control over the network. It could be fast, it could be slow, it could be down entirely.I have no control over the end device. It could be a phone, a laptop, an e-reader, a watch, a tv. It could be top-of-the line or it could be budget device with low specs. It could be a device released the other day, or a device released 5 years ago.I have no control over the client running on that device. It could be the latest and greatest of modern browsers. It could be one of those browsers we developers love to hate. It could be a proxy browser. It could be an in-app browser.I have no contr +
10年前
記事のアイキャッチ画像
Choosing performance
Writing on Web Performance Consulting | TimKadlec.com
+Facebook just announced a new feature they’re calling “Instant Articles”. Facebook is positioning this as a way for publishers to have their stories displayed, within Facebook, “instantly”:Mobile web articles can take an average of eight seconds to load, by far one of the slowest parts of the Facebook app. Instant Articles provides a faster and richer reading experience for people in News Feed.Now before we wring our hands too much over this, it’s worth noting that the articles themselves still start on the web. Facebook just becomes a distribution platform. Here’s the exact statement from their FAQ’s (emphasis my own):Instant Articles is simply a faster, mobile-optimized way to publish and distribute stories on Facebook, and it supports automated content syndication using standards like HTML and RSS. Content published as Instant Articles will also be published on the publishers’ websites.From Facebook’s perspective this is a no-brainer. It keeps the content within Facebook’s environme +
10年前
記事のアイキャッチ画像
Joining Akamai
Writing on Web Performance Consulting | TimKadlec.com
+On May 11th, I’ll be joining Akamai. I would be lying if I said it was an easy decision. I waffled a lot (For the sports enthusiasts out there, it’s not entirely unlike Favre and retirement. For the rest of you, insert some clever Waffle House pun here.). The past few years of working for myself have been amazing! I’ve gotten to work on some great projects with some great people and have had a ton of fun doing it.But if you’ve followed along you know that I am extremely passionate about improving performance on the web. Getting a chance push for better performance from within a company that handles 20% of the web’s traffic and is full of people who are after the same goal was too good an opportunity to pass up.It’s a big change, but an exciting one. Akamai constantly talks about “building a faster, stronger web”. Sometimes a company has a snappy line that they use, but there is little evidence that they believe in it. That’s certainly not the case here. They’ve been very active in inve +
10年前
記事のアイキャッチ画像
What your site costs users
Writing on Web Performance Consulting | TimKadlec.com
+As our understanding of performance on the web improves, we are starting to shift from the traditional metrics we’ve focused on. Things like load time and page weight are rightfully being given less focus as we move to more mature metrics like SpeedIndex that provide a better understanding of perceived performance.But that doesn’t mean we can dismiss page weight altogether. The web is not free. Data has a cost and that cost varies around the world. We’ve always sort of guessed that sites could be a little expensive in some areas, but other than a few helpful people tweeting how much certain sites cost while roaming, there wasn’t much in the way of hard data. So, I built What Does My Site Cost?.The ITU has data about the cost of mobile data in various countires and World Bank provides some great information about the economic situation around the world. Pairing the two together, we can get an idea of how much things might cost—and what that means in relation to the overall economy in th +
10年前
記事のアイキャッチ画像
Apple's Web?
Writing on Web Performance Consulting | TimKadlec.com
+The Pointer Events specification just became a W3C Recommendation. For those unfamiliar, it’s an intriguing attempt to unify pointer events regardless of the input device in use.The jQuery team threw their weight behind it this morning.…we love Pointer Events because they support all of the common input devices today – mouse, pen/stylus, and fingers – but they’re also designed in such a way that future devices can easily be added, and existing code will automatically support the new device.Unfortunately, as they went on to point out, there are some hurdles to jump yet. While Microsoft has a full implementation in IE11 and Mozilla is working on it, Apple has shown no interest and Google seems ready to follow their lead.I was willing to give the Blink folks the benefit of the doubt, because I do remember they had specific and legitimate concerns about the spec awhile back. But after reading through notes from a Pointer Events Meeting in August, I’m forced to reconsider. The Chrome repres +
10年前
記事のアイキャッチ画像
Access Optional
Writing on Web Performance Consulting | TimKadlec.com
+I remember going as a kid with my parents when they would pick out a new car. My parents didn’t want to spend a ton so we usually looked for something basic that would work.The car, of course, had to have certain features. A way to steer. Brakes. An engine. Doors. These were things all cars had and all cars had to have if anyone was going to ever consider purchasing them.From there you decided on the bells and whistles. Did you want power windows and power locks? Did you want a built-in CD player or would a cassette player and radio work just as well? Did you want a sunroof?We often did without most of those add-ons. They were the extras. They were what drove the cost of a car higher and higher. They were nice to have, but a car would work without these things.I worry that we have it backwards on the web. We ask questions like: How much does accessibility cost? How much does progressive enhancement cost? Meanwhile we’re shipping sites that support only the most “modern browsers”. We sh +
10年前
記事のアイキャッチ画像
Client-side MVC's major bug
Writing on Web Performance Consulting | TimKadlec.com
+Over the past year I conducted performance audits on a handful of sites that all used client-side MVC’s, typically Angular but not always. Each site had their own optimizations that needed to take place to improve performance. Yet a pattern emerged: client-side MVC’s were the major bottleneck for each. It slowed down the initial rendering of the page (particularly on mobile) and it limited our ability to optimize the critical path.So I get a great deal of happiness from reading posts from much smarter folks than I who are rallying against this all-to-common mistake.Back in December, The Filament Group analyzed a bunch of client -side MVC frameworks to see their impact on the initial load time of a page. The results to render a simple To-Do app were disappointing:Ember: 5s on a Nexus 5, 3G connectionAngular: 4s on a Nexus 5, 3G connectionBackbone: 1s on a Nexus 5, 3G connectionOnly Backbone scores in a way that is at all acceptable, particularly in a world where people are trying to bre +
10年前
記事のアイキャッチ画像
What I Read in 2014
Writing on Web Performance Consulting | TimKadlec.com
+Time for my annual look back at what I read in the past year. Keeping in the same format as last year, each book has a rating (on a simple 5-star scale) as well as a very short review to give you (and me when I look back at this in a year or so) some idea of why I enjoyed each book.My top three choices for fiction are: The Martian, Ancillary Justice and Genesis. For non-fiction: Chuck Amuck, Stuff Matters and The Noble Approach. For web-specific titles: Responsible Responsive Design, Designing for Performance and The Manual (I’m just going to cheat and say read all the issues).I saw a tweet the other day from Austin Kleon where he shared that he had read 70 books this past year. He also shared a brief “How to read more” list. I only hit 39 books this year so I’m not as qualified as he is to provide advice on this, but my advice would be very similar. In particular tip #4 is important:If you aren’t enjoying a book or learning from it, stop reading it immediately. (Flinging it across the +
10年前
記事のアイキャッチ画像
2014 Favorites
Writing on Web Performance Consulting | TimKadlec.com
+That time of year again! Here are the five most popular posts of 2014, in order.Fast EnoughHow fast is fast enough? Page weights and load times vary so much from site to site and industry to industry. While it’s easy to spot the obviously bad examples, it can be much more difficult to find the line between is “fast enough” and what is slow.“RWD Is Bad for Performance” Is Good for PerformanceMyths are powerful things. Put the right spin on a myth and you can use it to build up; to create something new and better. I’ve found the “responsive design is bad for performance” myth to be really good for performance.JS Parse and Execution TimeToo often we focus merely on size and request count when discussing the use of JavaScript from a performance perspective. Using a tool built by Daniel Espeset, I tried to put some numbers to the parse and execution times of scripts as well.Performance Budget MetricsWhich metric(s) should you use for a performance budget? I tried to sort the basic performan +
10年前
記事のアイキャッチ画像
Performance Budget Metrics
Writing on Web Performance Consulting | TimKadlec.com
+Yesterday, Chris Coyier pondered aloud the best metric to use for a performance budget:Re: performance budgets. I wonder if measuring times is smart or not. So many variables, seems like requests/sizes/blockers easier to track.It’s an interesting question, and one that I touched on at the beginning of the year. I think it’s worth elaborating on a little.The purpose of a performance budget is to make sure you focus on performance throughout a project. The reason you go through the trouble in the first place though is because you want to build a site that feels fast for your visitors.One of these goals (prioritizing performance) is an internal one impacting the people who are creating the site. The other goal (building a site that feels fast) is an external one impacting people who visit your site. It’s not surprising that I’ve found the most effective metrics to differ for each.For the purposes of this post, I’m breaking those metrics down into four categories:Milestone timingsSpeedInde +
10年前
記事のアイキャッチ画像
Book Review: Responsible Responsive Design
Writing on Web Performance Consulting | TimKadlec.com
+Yesterday Guy Podjarny published his analysis of the use of responsive design among the top 10,000 websites. He found that adoption jumped from 10.8% to 18.7% over the last year. Another recent survey showed that a hefty 90% of publishers are looking at implementing responsive design. However you want to slice it, responsive design is an increasingly popular technique.But there are tricky issues to navigate along the way: tables, performance, and input modes—oh my! That’s where Scott Jehl’s new book Responsible Responsive Design comes in.It’s almost like two books in one. The first two chapters blow through many of the common hurdles people come across when implementing responsive design. How to handle tables, different input methods, accessibility, feature detection, testing—it’s all there. Scott deftly moves from topic to topic, explaining the issues and how to address them.The next two chapters focus on performance (a favorite topic of mine). Chapter 3, “Planning Performance”, is a +
10年前
記事のアイキャッチ画像
Reducing JavaScript Bloat with Shoestring
Writing on Web Performance Consulting | TimKadlec.com
+Those smart and clever folks at The Filament Group formally announced yet another useful tool yesterday: a “lightweight, simple DOM utility” they call Shoestring.I’ve been using Shoestring for awhile now, and I’m a huge fan. In fact it has become my go-to solution when I need such a tool. It’s small, powerful, and very, very smart.It’s very rare that I write about a specific tool. Tools come and go. However after talking so much about the importance of reducing JavaScript bloat, I figured I should take the time to explain a little about how I’m doing that myself. Shoestring has played a large role in that. In addition, Shoestring has made some really smart decisions that are worth noting regardless of whether the tool is a fit for you or not:Iterating on the wheelAllowing smart defaultsIterating on the wheeljQuery is massively popular. In fact, it’s far easier to find information about how to solve a problem with jQuery than it is to find information about how to solve that same proble +
10年前
記事のアイキャッチ画像
Keeping the lights on
Writing on Web Performance Consulting | TimKadlec.com
+I work in a room in my basement. It works well enough, but it’s small and quite dark. The only source of external light is a small window that looks out underneath our front porch.Contrary to what Hollywood may have you believe about the “developer in a basement”, I actually do enjoy light. So I have spent a decent chunk of time researching how to properly light small, windowless rooms.It turns out the one of the most important pieces is finding a nice balance of different light sources. Mix a desk lamp with an overhead lamp and a floor lamp or two. Better yet, make sure those floor lamps are different heights. You need variety to produce quality lighting.The results are rewarding. Working in a poorly lit environment feels depressing and lonely. It’s energizing to step out of the shadows.But sometimes working in the light doesn’t go so well, as has been the case for Kathy Sierra:Life for women in tech, today, is often better the less visible they are.Damn.This sort of thing has happene +
10年前
記事のアイキャッチ画像
JS Parse and Execution Time
Writing on Web Performance Consulting | TimKadlec.com
+At Velocity NY, Daniel Espeset of Etsy gave a great talk about how Etsy profiles their JavaScript parse and execution time. Even better, after the talk, they released the tool on GitHub.Daniel shared a few examples in his deck, but I couldn’t wait to take Daniel’s tool and fire it up on a bunch of random browsers and devices that I have sitting around.For this test, I decided to profile just jQuery 2.1.1, which weighs in at 88kb when minimized. jQuery was selected for its popularity, not because it’s the worst offender. There are many libraries much worse (hey there Angular and your 120kb payload). The results above are based on the median times taken from 20 tests per browser/device combination.The list of tested devices isn’t exhaustive by any means—I just took some of the ones I have sitting around to try and get a picture of how much parse and execution time would vary.Parse and execution times of minimized jQuery 2.1.1 Device Browser Median Parse Median Execution Median Total Blac +
10年前
記事のアイキャッチ画像
"RWD is bad for performance" is good for performance
Writing on Web Performance Consulting | TimKadlec.com
+Myths are powerful things. They certainly have the ability to destroy—we’ve seen that many times. But put the right spin on a myth and you can use it to build up; to create something new and better.Responsive design just can’t seem to shake the rumor that it’s bad for performance. It’s very frequently spouted as a downside of the technique—a reason why you may not want to pursue responsive design for a project.Just to be clear where I stand on this: I don’t agree. I don’t agree because I’ve built responsive sites that performed well and because I’ve seen many others who have done the same. I don’t agree because I’ve looked at heavy and slow responsive sites and seen how fixable those issues are. I don’t agree because I’ve seen many non-responsive sites that are just as heavy and slow.Bad performance stems from a lack of attention and commitment performance within an organization—not from whether or not the site is responsive. Saying responsive design is bad for performance is the same +
11年前
記事のアイキャッチ画像
Notes on: 'Performance Culture' at Google I/O 2014
Writing on Web Performance Consulting | TimKadlec.com
+At Google I/O 2014, Lara Swanson and Paul Lewis discussed performance culture. Since it’s one of my favorite topics, I decided to share my notes:34% of US adults use a smartphone as their primary means of internet access.Mobile networks add a tremendous amount of latency.We are not our end users. The new devices and fast networks we use are not necessarily what our users are using.40% of people abandon a site that takes longer than 2-3 seconds to load.Performance cops (developers or designers who enforce performance) is not sustainable. We need to build a performance culture.There is no “I” in performance. Performance culture is a team sport.The first step is to gather data. Look at your traffic stats, load stats and render stats to better understand the shape of your site and how visitors are using it.Conduct performance experiments on your site to see the impact of performance on user behavior.Test across devices to experience what your users are experiencing. Not testing on multiple +
11年前
記事のアイキャッチ画像
How I prepare a new talk
Writing on Web Performance Consulting | TimKadlec.com
+Before I gave my first ever talk at a conference, I read any post I could find from other speakers about their process for preparing. Some of the steps I incorporated into my own process, others I decided probably didn’t really fit. But they were all helpful and gave me a little more confidence.It’s for that reason that I have decided to write this: for anyone who is about to give their first presentation, or is considering doing so. Not as a set of rules, but as a set of ideas that you may or may not find work for you.So, in all its glory, here are the same (rough) steps I find myself going through for every new talk.Consider the conference and attendees. How many people will be there? What is their experience like? Why are they there? I often do a little research to see what I can find out about past versions of the conference from folks I know who attended/spoke, or from reviews people wrote on their blog somewhere.From there, I start thinking about a topic I really think should be +
11年前
記事のアイキャッチ画像
Performance Budgeting with Grunt
Writing on Web Performance Consulting | TimKadlec.com
+It seems like the idea of performance budgeting has been gaining quite a bit of traction over the past year. This is awesome! The best way to improve web performance is to prioritize it from the get-go, and that’s exactly what a performance budget helps you do.But having the budget set in a document somewhere doesn’t accomplish much. It needs to be enforced to really matter.I’m a big fan of Grunt.js and use it on pretty much every project at this point. I did a lot of digging and while there are some plugins that come close, nothing quite fit what I wanted: different connection speeds, various metrics to budget, and the ability to fail a build if those thresholds aren’t met.I’m also a big fan of WebPageTest, which has a slick Node API courtesy of Marcel Duran. So, armed with the API and Jeff Lembeck’s helpful guide to creating a grunt plugin, I decided to throw together a simple little task for performance budgeting.Introducing grunt-perfbudgetgrunt-perfbudget is a task for Grunt.js th +
11年前
記事のアイキャッチ画像
Don't Wait on Responsive Images
Writing on Web Performance Consulting | TimKadlec.com
+At long last, it appears we have our much-needed markup solution for responsive images thanks to srcset, sizes and picture. Implementation is already happening in Chrome & Opera (Blink) and Firefox (Gecko). Soon, the Blink implementation will be ported to WebKit. This is fantastic news—we’ve needed this for so long!Yet some are still not happy. Honestly, that’s to be expected. The responsive images debate was incredibly heated and had much in common with an episode of Game of Thrones—minus the nudity. Some folks are still unsettled by the potential verbosity of picture & friends and would prefer a server-side solution or a new image format.The thing is—they’re not wrong. The markup solution was absolutely needed, but a server-side solution (Hello, client-hints!) would be amazing, as would a new image format. And in some cases, such solutions might even be better than what we currently have to play with.Yet dismissing one of these three options as less than ideal misses the point. There +
11年前
記事のアイキャッチ画像
Reaching Everyone at Radio Free Europe
Writing on Web Performance Consulting | TimKadlec.com
+A lot has been written about the web’s superpower—its reach. Take any device, give it an internet connection and a browser of some kind and it transforms into a gateway into the largest repository of cat pictures, funny videos and human knowledge ever assembled. It’s rare to find a company whose goals are a more perfect fit for this superpower than Radio Free Europe/Radio Liberty.Their purpose is to bring information to the people who need it—to reach everyone they can. This information is valuable. So valuable that many countries try to block access to their sites, causing people to resort to all sorts of workarounds. In some countries, people are risking their lives simply by trying to access this content.And to be quite frank, they face an uphill battle even in the best of circumstances. RFE/RL serves more than 150 news sites in over 60 languages. In some of these areas network connectivity is intermittent and slow. Many of these countries don’t have 3G, let alone 4G, networks avail +
11年前
記事のアイキャッチ画像
Why RWD looks like RWD
Writing on Web Performance Consulting | TimKadlec.com
+This morning, Mark Boulton wondered aloud on Twitter about why responsive design “looks” like responsive design:I wonder if #RWD looks the way it does because so many projects aren’t being run by designers, but by front-end dev teams.This certainly isn’t the first time that someone has suggested that responsive sites have a “look” to them. In fact, it seems that particular topic has been quite popular over the last few years. And to be fair, a pretty large number of responsive sites do tend to share similar aesthetics.Before I dig into that, let me state my usual “blame the implementation, not the technique” just in case anyone was considering insinuating that responsive design dictates a specific sort of visual appearance. (To be clear: I don’t think that’s what Mark was doing at all—I’m just preemptively dismissing that line of commentary because it’s almost certainly going to come up.)There are a few reasons why I think we’re seeing this commonality at the moment.The web can be tren +
11年前
記事のアイキャッチ画像
Smart Defaults: On Libraries & Frameworks
Writing on Web Performance Consulting | TimKadlec.com
+Yesterday Twitter went nuts over a little site called “You Might Not Need jQuery”. The site’s seemingly innocent claim was that many things that you think you need jQuery for are actually not so bad in plain old JavaScript, depending on what browsers you are supporting.jQuery and its cousins are great, and by all means use them if it makes it easier to develop your application.If you’re developing a library on the other hand, please take a moment to consider if you actually need jQuery as a dependency. Maybe you can include a few lines of utility code, and forgo the requirement.It then proceeded to provide example code—what a line of jQuery was compared to the vanilla JavaScript alternative. Not all of these snippets were exactly identical to the jQuery code in terms of what they accomplished, but they were pretty close.The site itself didn’t seem particularly exciting or controversial. We’ve seen these sorts of comparison before, and frankly claiming that you “might” not need jQuery i +
11年前
記事のアイキャッチ画像
Fast Enough
Writing on Web Performance Consulting | TimKadlec.com
+How fast is fast enough?I’m asked this question a lot. Page weights and load times vary so much from site to site and industry to industry. While it’s easy to spot the obviously bad examples, it can be much more difficult to find the line between is “fast enough” and what is slow.My usual answer of “make it as fast as possible” doesn’t seem to make people very happy, so let’s try to get at least a little more concrete.CompareOne method of attempting to arrive at a measure for “fast enough” on a new site is by seeing how you stack up against the competition. Do some analysis on a few of your key pages. Then do the same for key pages for 10 competitors or so. If you’re doing a redesign, analyze your existing site as well. Then, rank yourself to see where you stack up.In his book, “Designing and Engineering Time”, Steven Seow talks about the 20% rule. The basic idea is that people perceive tasks as faster or slower than other tasks when the difference in time is at least 20% slower or fas +
11年前
記事のアイキャッチ画像
Beyond Responsive
Writing on Web Performance Consulting | TimKadlec.com
+Jason Grigsby just wrote an excellent post talking about how he’s wrestled with trying to define “responsiveness”.When a client comes to us to help them make their existing site or app responsive, we know that we’re going to be using fluid grids, flexible images and media queries.But we also know we’re going to be using much more than just those three techniques. The best responsive web designs are doing much more. And when we teach workshops or help clients, much of what we’re discussing are the things that you do after you’ve got the three techniques down.Which led me to the idea that there is a difference between “being responsive” and responsive web design. That responsiveness was something larger.Jason’s post hits on a lot of the same points I’ve been struggling with myself. In my comment on his post, I suggested that maybe the term for this larger concept has already been created.I’ve been down this path too. In fact, I still go down it sometimes. I like the idea of “responsivene +
11年前
記事のアイキャッチ画像
What I Read in 2013
Writing on Web Performance Consulting | TimKadlec.com
+This is a tough year for me to list my top three non-fiction and fiction books because there were a lot of really good ones—particularly in fiction. The fact that there were so many great books probably contributes to why I was able to reverse the downward trend in my book count the past few years.That being said, for fiction I’d have probably have to rank Lexicon, Dust and Ocean at the End of the Lane as my top three. For non-fiction: The Reading Promise, Jim Henson: The Biography and Designing and Engineering Time. For web-specific titles: Content Everywhere, Responsive Design Workflow and The Mobile Book.Each year that I post the list I hear from someone who wanted a little more information about the books. So part way through the year I started jotting down short reviews of each one. The reviews are nothing earth-shattering, but hopefully they provide at least a little extra glimpse into why I enjoyed a book.As is always the case, if a book is on the list then I enjoyed it on some +
11年前
記事のアイキャッチ画像
2013 Favorites
Writing on Web Performance Consulting | TimKadlec.com
+Time for the long-running (since way back in 2012!) annual tradition of listing the top five most popular posts on this site of the past year. Here are 2013’s favorites, in order of popularity.Why We Need Responsive ImagesThe responsive image discussion is the Never Ending Story of web technology. Some people were, understandably, getting frustrated and questioning whether it was worth the fuss so I decided to see how much page weight could be saved by serving appropriately sized images to small screens.Windows Phone 8 and Device-WidthBuilding off of last year’s post on snap mode and responsive design in IE10, it turned out the mystery was not yet completely solved as Windows Phone 8 has some odd behavior when it comes to what to return for device-width.Setting a Performance BudgetGetting people invested in performance has to happen from the start of a project. Setting a performance budget is a great way to help with that.Why We Need Responsive Images: Part DeuxReturning to the topic o +
11年前
記事のアイキャッチ画像
Holistic Performance
Writing on Web Performance Consulting | TimKadlec.com
+I’ve been talking a lot over the past year or so about the importance of moving performance beyond something that is seen as a “developer task”. I was really happy that Stoyan Stefanov let me expand on that for this year’s (excellent!) edition of the Performance Calendar:Bad performance online is not a technological problem; it’s a cultural one. Tools are increasing in number and improving in quality. Posts and books are written explaining the tricks and techniques to use to make your site weigh less, load faster and scroll more smoothly. Yet for all this attention, performance online is getting worse, not better…If we want to reverse the troubling trend of increasingly bloated and slow sites, we need to attack the cultural and procedural issues with the same fervor that we attack the technical ones. Only by thinking about performance throughout the process can we reverse the trend and start making experiences that delight our users, not frustrate them.If you’re interested in more abou +
11年前
記事のアイキャッチ画像
Writing
Writing on Web Performance Consulting | TimKadlec.com
+Everyone knows the dream. You go to school/work/some other public setting and everyone starts laughing at you. Horrified, you realize you’ve forgotten to put on your pants that day. Then the therapy sessions start.It’s a common dream because it plays off a very common fear: that of being exposed. Of having nothing to hide (both metaphorically, and in the dream, anatomically).When I wrote my book, I started off writing in a vacuum. The first several months, I quietly put words on a page sharing with very few people outside of my publisher. I was hungry for feedback, but my discomfort outweighed that hunger. I have an incredibly active inner critic (a grumpy little fellow) and he was letting me know rather loudly that sharing what I was writing and thinking was going to expose me too much to people I respected.Surely if I did this, they would discover that I don’t know what I’m doing. That I’m making this up as I go. They’d read what I had written, eyes glued in horror as they realized I +
11年前
記事のアイキャッチ画像
Who's In Charge Here?
Writing on Web Performance Consulting | TimKadlec.com
+I tried to resist writing this post. I really, really did. I’ve ranted once about the standards process as it related to responsive images. I had no interest in going there again. I’d prefer not to be known as “that ranty Wisconsin dude who sounds slightly Canadian when he talks”.Besides, I hesitated to post a condemnation of the current state of affairs when I didn’t have a solution to offer up.But then I read Jeremy Keith’s beautifully written post “A map to build by” discussing the web and our ability to impact what it becomes. In it, Jeremy said:Perhaps we need our own acts of resistance if we want to change the map of the web. I don’t know what those acts of resistance are. Perhaps publishing on your own website is an act of resistance—one that’s more threatening to the big players than they’d like to admit. Perhaps engaging in civil discourse online is an act of resistance.Jeremy was discussing other issues, but I think those words make sense in many contexts.So let’s consider th +
11年前
記事のアイキャッチ画像
Why we need responsive images: part deux
Writing on Web Performance Consulting | TimKadlec.com
+*Big fat disclaimer: The stats below come from tests on Chrome and IE11, because their developer tools expose this sort of information. The impact on other browsers may be less…or more.*Way back in June, I wrote a post about the need for responsive images. The post discussed the topic from the typical point of view: the impact on page weight. But serving large images and then relying on the browser to scale them has other downsides as well.MemoryShortly after the first post, I chatted with Ilya Grigorik a little and he brought up the toll inappropriately sized images can have on memory.Once the browser decodes an image, each pixel is stored in memory as an RGBA value:255 values for red255 values for green255 values for blue255 values for alphaThis means that for every pixel of an image, it’s taking up 4 bytes of memory. It’s pretty easy to see the impact that this can have when you serve large images to the browser. Here’s an example: let’s say we provide a 300px by 300px image and the +
11年前
記事のアイキャッチ画像
Avoiding the 300ms click delay, accessibly
Writing on Web Performance Consulting | TimKadlec.com
+On touch devices, a click event has a 300ms delay before firing. The reason for this the delay is that browsers need that buffer to make sure you aren’t going to double-tap on anything. The result is that if you use click events blindly, that delay creates a noticeable lag as users interact with elements on your page.There has been a Google + post by Rick Byers floating around the last few days claiming the best way to deal with the delay was to eliminate the double-tap zoom altogether. With no double-tap gesture to worry about, browsers no longer need that 300ms buffer and can now fire click events immediately.One of the recommendations made was to kill the double-tap gesture on Chrome and Firefox for Android. To do this, you have to kill scaling:On Chrome Android and Firefox this involves using the “viewport” meta tag to disable zooming (with user-scalable=no or initial-scale=1,maximum-scale=1)The popularity of the post concerned me because while the comments discussed it a bit, the +
11年前
記事のアイキャッチ画像
Notes on 'It's a Write/Read Mobile Web'
Writing on Web Performance Consulting | TimKadlec.com
+My meager, less-awesome-than-Luke attempt to take notes on Luke Wroblewski’s presentation as I assume it would be unreasonable to expect him to produce notes on his presentation as he does for other talks. Here are my notes on his presentation, “It’s a Write/Read Mobile Web” presented at Smashing Conference in 2013. For more notes from the conference, see Luke’s excellent collection.Top five sites in terms of monthly use in the US are all write/read experiences—they don’t work unless people write content to them.Tim Berners-Lee’s original view of the web—”a place where we can all meet and read & write.”In the United States, 78% of Facebook monthly users are mobile. 60% mobile on Twitter, 40% mobile on YouTube.“The Mobile Moment”—when your mobile traffic crosses your desktop traffic and becomes your majority experience.127% growth of mobile only Facebook users in the last year.40% of all tweets created on mobile in 2011. 3 hours of vide uploaded per second on Youtube mobile. $13 billion +
11年前
記事のアイキャッチ画像
Being Practical
Writing on Web Performance Consulting | TimKadlec.com
+There are many books, articles and presentations that have influenced the way I approach the web today. Its always been one of my favorite parts of this community: a willingness and eagerness to share what we learn with each other. So many blog posts, online publications, and presentations continually challenged me to move forward by presenting new techniques and ways of thinking about the technology I used on a daily basis.One of the ones that stands out is Nate Koechley’s “Professional Frontend Engineering” presentation (transcript and video). When he first gave the presentation in 2008, he was working at this massive company called Yahoo! and was preaching about the importance of progressive enhancement, graded browser support, and the massive scope of knowledge a professional front-end engineer needed to know.I mean, just listen to some of the wisdom that is just as relevant, if not more so, today.On the first of Yahoo’s guiding principles:First is availability — this is the bedroc +
12年前
記事のアイキャッチ画像
Crippling the web
Writing on Web Performance Consulting | TimKadlec.com
+Back in 2011, Brad Frost wrote a post on Support vs. Optimization. One of the (many) smart things he said was:The power of the web is its ubiquity. It is the web’s superpower, and its omnipresence is what sets it apart from native platforms.This is what excites me about the web and it’s why web technology tends to be my focus. That ubiquity, that ability to get your information to anyone with a device connected to the web, is incredibly inspiring. This is why I tend to get so frustrated when we do things that eliminate that superpower.When we don’t consider what an experience is like without JS, we’re crippling that super power.When we use techniques that work only on top-of-the-line modern browsers, but don’t consider what happens in other browsers, we’re crippling that super power.When we build fat sites that are incredibly slow to load on older devices or slower networks, if they can even load at all, we’re crippling that super power.When we neglect to consider people with accessibi +
12年前
記事のアイキャッチ画像
Your Mileage May Vary
Writing on Web Performance Consulting | TimKadlec.com
+When we write about technology online, things can sound a bit black and white. Always do this, never do that.But blog posts and articles can’t cover every scenario. The author knows nothing about your team, your site, your business goals, your deadlines, the behavior of the people who visit your site or the technology they use to visit with. There are characteristics of projects that may make a prescribed solution inappropriate.A great example comes from an email conversation I had with Ilya Grigorik (who is wicked smart, by the way) in response to my last post on responsive image weight. One of the things he mentioned was the gray area of whether or not it was fair to count the entire cost of an undisplayed image as wasted or not.The example he cited was Breaking News. On a small viewport the site uses tabs for latest and most popular posts. By default, the latest posts are displayed. These are a series of tweets with no images other than the Twitter avatars.The popular tab—not displa +
12年前
記事のアイキャッチ画像
Why we need responsive images
Writing on Web Performance Consulting | TimKadlec.com
+The topic of responsive images has been one of the most hotly debated topics amongst web developers for what feels like forever. I think Jason Grigsby was perhaps the first to publicly point out that simply setting a percentage width on images was not enough, you needed to resize these images as well. He showed that if you served appropriately sized images on the original responsive demo site, you could shave 78% off the weight of those images (about 162kB) on small screens.The discussion has evolved since then with debates over what sort of solution we need (server-side, client-side), new markup (srcset vs picture) and even, in some cases, wondering whether we really needed to worry about it at all.It’s a messy issue for sure. The current solutions for responsive images do come with some complexity and overhead. If you’re using a client-side solution and don’t want to make more than one request per image, then you end up breaking the preloader. As Steve Souders explained rather well, +
12年前
記事のアイキャッチ画像
Heading to Mobilism 2013
Writing on Web Performance Consulting | TimKadlec.com
+A week from now I’ll be on a plane heading to Amsterdam for the excellent Mobilism conference. This is year three for them, and you only need to take one look at this year’s program to see just how incredible the event is going to be. The lineup is full of great speakers with fantastic topics to discuss! Just as impressive is the list of attendees—there’s sure to be some great discussions with a group like this all in one place.This will be my first time hanging out at Mobilism and I couldn’t be more excited. When I was involved with BDConf, we always saw Mobilism as being very similar: a conference that aimed to push the envelope on the discussion of the web on mobile and other emerging devices.I’ll be playing the role of MC this year. They’re going to use a different style of Q&A where instead of trying to run a mic back and forth across the room, attendees can post their questions to Twitter (using a hashtag that will be mentioned frequently at the conference) throughout the talk. W +
12年前
記事のアイキャッチ画像
Book Review: Responsive Design Workflow
Writing on Web Performance Consulting | TimKadlec.com
+Responsive design has many challenges. Performance. Tables. Images. Content. Testing. Each of these, and so much more, must be carefully considered. Most of the solutions are still coming together. We are, as some have been apt to say, making this up as we go.One of the biggest challenges for many is the workflow: how do you find a process that works for building and designing something intended for such a wide range of devices, input types and contexts? It’s not an easy discussion, particularly for people and companies who are used to a very rigid waterfall method. That’s why I was thrilled when I first heard that Stephen Hay was going to write Responsive Design Workflow.Stephen walks you through his workflow for designing and developing responsive sites. There’s a lot to love about it. Each step in his workflow seamlessly builds upon the step before it. Documentation and deliverables are generated automatically as the site is built so there isn’t a need to manually update them. This +
12年前
記事のアイキャッチ画像
Implementing Responsive Design Workshop
Writing on Web Performance Consulting | TimKadlec.com
+On June 14th, I’m going to teach a one-day Implementing Responsive Design workshop at the McNamara Alumni Center in Minneapolis. The workshop will run the full day and will go from the core tenants of responsive design through to more advanced topics such as performance optimization, feature detection, RESS and more. We’ll cover topics from the book, as well as a loads of new stuff.I want to keep it relatively small, so attendance is going to be limited to 30 people. That way everyone should have ample opportunity to ask questions and contribute to the discussion. The workshop is intended to be a bit flexible and include topics that you want to see covered.Registration for the complete day is $350 and opens, well, now. Parking will be covered, and breakfast, lunch and coffee will be provided. In addition, thanks to Peachpit, everyone who attends will get a copy of Implementing Responsive Design to read, sell, or use as a doorstop—your choice.To see more details or to register, please h +
12年前
記事のアイキャッチ画像
Media Queries within SVG
Writing on Web Performance Consulting | TimKadlec.com
+There has been a lot of interesting chatter regarding SVG as of late, including thorough posts by David Bushell and Chris Coyier. One aspect in particular that is getting quite a bit of attention is the ability to embed media queries within SVG files. Even more amazing is the fact that this was first talked about by Andreas Bovens of Opera all the way back in 2009!The renewed interest in the technique makes a lot of sense. In 2009 using SVG wasn’t a very viable option, but the landscape has improved quite a bit since then. This has lead to some very interesting ideas such as Estelle Weyl’s experiment using SVG to display different raster images.There are simpler applications as well. Say you have a logo that includes a slogan. When the logo is displayed at a small size the slogan can become illegible. At those sizes it may make the most sense to simply hide the slogan allowing the rest of the logo to display. With embedded media queries you could apply an id or class to the portion of +
12年前
記事のアイキャッチ画像
Setting a performance budget
Writing on Web Performance Consulting | TimKadlec.com
+Jason Grigsby once quipped that “We’ve remade the Internet in our image….obese.” He was right, of course. Average page weight and number of connections has been increasing at a rather alarming rate.This is why I’ve been so happy to see the recent rash of posts discussing performance as a fundamental component of design. The latest comes from Mr. Brad Frost. He makes the case that performance is not just something developers need to worry about, but that it is an “essential design feature.”One of the things he suggests doing is mentioning performance in project documents.Statements of work, project proposals and design briefs should explicitly and repeatedly call out performance as a primary goal. “The goal of this project is to create a stunning, flexible, lightning-fast experience…”It’s an excellent point. Performance should be brought up early and often to emphasize its importance. Not considering it from the earliest stages of a project is a surefire way to end up with slow and bloa +
12年前
記事のアイキャッチ画像
Windows Phone 8 and Device-Width
Writing on Web Performance Consulting | TimKadlec.com
+When I wrote about IE10 and the new snap mode back in October I advised using width: device-width to fix responsive design in snap mode instead of Microsoft’s recommendation, which was to use width: 320px. Using device-width is a far more future friendly approach and testing I had done on a tablet running Windows 8 showed this worked just as well.However, the other week Matt Stow discovered that device-width wasn’t getting the job done on a Lumia 920. Apparently the Lumia 920 (which boasts a 4.5” screen) reports a viewport width of 768px for device-width, which is much larger than what you would expect for a device its size.Tomomi Imura, who has done a lot of testing around viewports, apparently discovered this behavior awhile back:So it is correct <meta name=viewport content=width=device-width> gives 320px width, while @-ms-viewport {width:device-width} 768 on Lumia 920” (Source)Here’s where things get interesting. When you use device-width inside the meta tag on Windows Phone 8, it r +
12年前
記事のアイキャッチ画像
What I Read in 2012
Writing on Web Performance Consulting | TimKadlec.com
+For the third year in a row, my book count is trending in the wrong direction. In 2009, it was 38. In 2010, it was 33. In 2011, that number fell to 29 and this past year, that number plummeted to 21.Not only do I think reading is important, but it’s also something I enjoy a bunch and probably the closest thing I have to a hobby. However this year the reality is that I just didn’t set aside much time for it. Whereas I used to read at least 30 minutes each night before bed, this past year I spent that time writing my own book and doing a large number of side projects in preparation for starting to work independantly.There was a point while writing my book that I just didn’t feel like I had the energy to read anything substantial, which is why there is a pretty heavy increase in the number of fiction books this year. I also read a very unusually small number of non-industry related non-fiction, something I plan on remedying next year.Also of interest, at least to me, was that this was my +
12年前
記事のアイキャッチ画像
Flying solo
Writing on Web Performance Consulting | TimKadlec.com
+On December 10th, I officially started working independently. I keep meaning to get this posted, but the past three weeks have been a bit of a whirlwind with the holidays and a few training sessions mixed in.To say I’m leaving an excellent job behind is an understatement. The position was flexible. The people I worked with were smart, talented and fun. The people I worked for were flexible and willing to let me experiment with different ideas.I got to help organize a conference, 4 of them in fact. I got to watch as the conference grew, watch the community that built up around it, and learn from all the people who came to hang out and talk mobile for a few days.Yet I left. So very clearly I’m slighty insane.I was getting an itch though to shake things up though. Some incredibly exciting opportunities were coming my way, and I felt I couldn’t pass on them. It was a tough decision, to say the least.I’m excited though. Excited about some of the projects coming up and excited about some of +
12年前
記事のアイキャッチ画像
2012 Favorites
Writing on Web Performance Consulting | TimKadlec.com
+It’s the end of the year which means that “Best of 2012” articles are all the craze. Far be it from I too abstain from such memes. Here, then, are the five most popular posts on this site from 2012.##WTFWGWhere-in I get unusually riled up and rant about the picture vs. srcset situation and how it was handled. The conversation has evolved, but I still have concerns about how parts of the process were handled.##Media Query & Asset Downloading ResultsA look at the results from the tests I ran to see how images (both background and content-based) are downloaded when media queries are involved.##IE10 Snap Mode and Responsive DesignIE10 is generally a huge step forward, but when in the new “snap” mode, it ignores the meta viewport element. Here’s the fix and some of the reasons for why the move was made (it was a concious choice, not a bug).##Blame the Implementation, Not the TechniqueThere is a disturbing trend in our industry to blame the technique when we should be blaming the way it was +
12年前
記事のアイキャッチ画像
Responsive Responsive Design
Writing on Web Performance Consulting | TimKadlec.com
+Back in October, I talked about the problem we have of blaming the technique instead of the implementation. I mentioned several examples, but the one that really prompted the post was the myth of responsive design equaling bad performance.The folks over at 24 Ways were kind enough to let me dig a little deeper into the issue. It’s sort of an extension of what I was driving at back in October (as well as what I was whining about in January), but with some concrete suggestions.To whet your appetite a bit:We love to tout the web’s universality when discussing the need for responsive design. But that universality is not limited simply to screen size. Networks and hardware capabilities must factor in as well.The web is an incredibly dynamic and interactive medium, and designing for it demands that we consider more than just visual aesthetics. Let’s not forget to give those other qualities the attention they deserve.While you’re at it, dig through the rest of the articles from this year’s ca +
12年前
記事のアイキャッチ画像
IE10 Snap Mode and Responsive Design
Writing on Web Performance Consulting | TimKadlec.com
+Maximiliano Firtman has done an excellent job providing an overview of what to expect from IE10 in Windows 8, but I wanted to dig just a little deeper on one feature in particular.In Windows 8, there are two “modes” of use: Metro mode and classic mode. Metro mode sports the spiffy new UI while classic is the same old boring Windows of yore. When you run Internet Explorer 10 in Metro mode (the default) there’s a cool new feature that lets you “snap” a window to the side so you can use two simultaneously. This window, of course, is made to be far more narrow.Here’s the wrinkle: when snapped, IE10 ignores the meta viewport tag for any viewport smaller than 400 pixels in width (which it is, when in snap mode). This in turn messes up your beautifully set responsive plans and results in the same kind of smart scaling you see on non-optimized sites on an iPhone or Android device.To get IE10 in snap mode to play nicely you have to use CSS Device Adaptation. For the unfamilar, CSS Device Adapta +
12年前
記事のアイキャッチ画像
Blame the implementation, not the technique
Writing on Web Performance Consulting | TimKadlec.com
+Stop me if you’ve heard this one before.“Responsive design is bad for performance.”“User agent detection is bad. Don’t segment the web.”“Hybrid apps don’t work as well as native apps.”“CSS preprocessors shouldn’t be used because they create bloated CSS.”If you create for the web you’ve no doubt heard at least a couple ofthese statements. They’re flung around with alarming frequency.There is a fundamental problem with this line of thinking: it places theblame on the technique instead of the way the technique was implemented.Generalizing in this way discredits the validity of an approach based onpoor execution, and that’s a very harmful way of thinking.With any of the examples above, the technology itself wasn’t theproblem. CSS preprocessors, PhoneGap, user agent detection, responsivedesign—these are tools. They are neither inherently bad or good. Theirquality depends on the way you wield them.I’m not a carpenter. If you asked me to build a table you would end upwith a lopsided, three-le +
12年前
記事のアイキャッチ画像
Author Talk Podcast
Writing on Web Performance Consulting | TimKadlec.com
Nancy Ruenzel over at Peachpit was kind enough to have me on her “Author Talk” podcast. We chatted a bit about the book, responsive design in general, and Breaking Development.Go ahead and give it a listen.
12年前
記事のアイキャッチ画像
On BDConf 2012: Dallas
Writing on Web Performance Consulting | TimKadlec.com
+It wasn’t what I was expecting, but it ended up being just what I needed.When one of the people who attended Breaking Development in Dallas, told me that on the last day of the event, I couldn’t help but smile. Single-track events are awesome, but they’re always a little nerve-wrecking as well. How do you balance code and design, pragmatic and conceptual? Each of those discussions has to happen to move the discussion forward, but balancing can be a challenge.Sometimes the single track thing can scare people off. If you’re a designer, do you really want to sit through a bunch of talks about code? If you’re a developer working at a large corporation, do you really care about conceptual looks at what mobile could become? On paper these discussions sometimes feel like they’re going to be something that might not apply.It’s often said that one of the great things about single-track events is you avoid the feeling of “missing out” which often comes with multi-track events. That’s certainly t +
12年前
記事のアイキャッチ画像
Mobile Navigation Icons
Writing on Web Performance Consulting | TimKadlec.com
+Jeremy Keith just wrote a post about mobile navigation icons wherein he talks about the “three lines” icon that Andy Clarke also advocated when he explored the topic earlier.Theoretically, it would be easy to create the icon using Unicode symbols. For instance, you could create the icon by using the following HTML:Unfortunately, as Jeremy points out, many mobile devices fail to handle it correctly. Android and Blackberry devices, for example, don’t display the icon as intended.I recently wanted to use the icon, and ran into this same issue. Inspired by Nicolas Gallagher’s post on pure CSS generated icons, I was able to get the icon to render nicely in about 10 minutes of CSS wrangling. So, if you’re dead set on rendering the icon without using an image, here’s how you can render it in CSS:></li>li { list-style-type: none;}#menu{ position: relative;}#menu a{ padding-left: 20px;}#menu a:before { content: ""; position: absolute; top: 30%; left:0px; width:12px; height:2px; border-top: 6px +
12年前
記事のアイキャッチ画像
The Breaking Development Podcast
Writing on Web Performance Consulting | TimKadlec.com
+Yesterday we released the very first episode of the Breaking Development Podcast. I’m super excited about this! Much like the conference, the podcast will focus on web design and development for mobile and beyond. It’s primarily going to be interview based, but we’ll probably also shake it up every once and awhile and do something a little different.A podcast seemed like a really fun idea. It’s an awesome time to be working on the web, and there are so many fascinating discussions to be had. The way I see it, the best case scenario is that people will like the show, listen, and keep coming back for more. The worst case scenario is people won’t like it, but I’ll be able to use it as an excuse to talk to super smart people on a regular basis about topics that interest me. I really don’t see a downside here.The first episode features two guests: Erik Runyon from the University of Notre Dame and Dave Olsen from West Virgina University. They’ve both been doing some awesome responsive work f +
12年前
記事のアイキャッチ画像
Implementing Responsive Design is now out!
Writing on Web Performance Consulting | TimKadlec.com
+As of today, I no longer have to say “I’m working on a book…”. Implementing Responsive Design: Building sites for an anywhere, everywhere web is officially in-stock on Amazon as well as at Peachpit (Barnes & Noble is a hair behind, it would seem).This all means that there are already people reading the ebook, and others will have the paperback within the next couple of days. This is both terrifying and exciting.As I stated back in January, the book is an exploration of how a responsive approach applies to your entire workflow. It starts with a few chapters laying down the groundwork: media queries, fluid layouts and fluid images. Then it builds from there and talks about how responsive design affects planning, design workflow, content, and how to build introduce feature detection and server-side enhancements.I’m very happy with the result. Proud even. The early reception has been great, and the fact that so many people who I admire and respect have had such nice things to say means a t +
13年前
記事のアイキャッチ画像
WTFWG
Writing on Web Performance Consulting | TimKadlec.com
+This morning, Ian Hickson emailed the WHATWG mailing list mentioning that a attribute that was currently being discussed on the list (srcset) is now added to the draft of the spec. To understand why this sucks, a little background is needed.Responsive images are a difficult beast to tame: there really isn’t a good solution for them today. As a result, some discussion started on the WHATWG mailing list months ago about what to do. The WHATWG pointed out that the list was for standardizing and suggested it would be better if the discussion were moved into a community group.So, obediently, a community group chaired by Mat Marquis was started (in February). A lot of discussion took place about the appropriate way to handle responsive images and one solution, the new picture element, garnered the majority of support.On May 10th, the previously mentioned srcset attribute was presented on the WHATWG mailing list by someone from Apple.That same day it was recommended to the list that they take +
13年前
記事のアイキャッチ画像
BDConf:focus on Responsive
Writing on Web Performance Consulting | TimKadlec.com
+If you’ve gone to a BDConf (more on the recent Orlando event very soon!), you know we keep the focus pretty tight: web design and development for beyond the desktop. No native discussion, just web. We thought it would be fun to get even more focused. So on June 4th in Minneapolis, we’ll host the first ever BDConf:focus on event and do a deep dive into responsive design: all day, all responsive.The lineup is amazing. Seriously.Dave Rupert, lead developer at Paravel, co-host of the ShopTalk podcast, and creator of awesome tools like FitVids and FitText, will get the day kicked off with a four hour workshop.After lunch, Mat Marquis will get the afternoon started with his presentation, “Next Steps for Responsive Design”. Mat worked on the Boston Globe project and heads up the Responsive Images Community Group for the W3C, so he’s got some hard-earned experience to pull from. He’s also a seriously funny guy.Then, Kristofer Layon will present “The Minimal Viable Web”. Kristofer is the author +
13年前
記事のアイキャッチ画像
Media Query & Asset Downloading Results
Writing on Web Performance Consulting | TimKadlec.com
+A little while back, I mentioned I was doing some research for the book about how images are downloaded when media queries are involved. To help with that, I wrote up some automated tests where Javascript could determine whether or not the image was requested and the results could be collected by Browserscope for review. I posted some initial findings, but I think I’ve got enough data now to be able to go into a bit more detail.First, any credit has to go to the awesome team at Cloud Four. Most of the tests were created by them for some testing they were doing. I just added some Javascript to automate them.On to the results!Test One: Image TagRun the testThis page tried to hide an image contained within a div by using display: none. The HTML and CSS are below:The resultsIf there is one method of hiding images that I can say with 100% certainty should be avoided, it’s using display:none. It’s completely useless. It appears that Opera Mobile and Opera Mini don’t download the image (see t +
13年前
記事のアイキャッチ画像
Looking for the right tool
Writing on Web Performance Consulting | TimKadlec.com
+Whether or not to design in the browser is an often debated subject. The latest discussion seems to be prompted, in part, because of the recent Responsive Summit (by the way, if you haven’t done so already, be sure to check out a few recaps of the day).Mark Boulton just put his thoughts to screen with a post entitled “Responsive Summit: The One Tool”. In it, he makes the case that knowing your materials is more important than using a specific tool. He makes an excellent point when he discusses why he feels comfortable in Photoshop:Since 1997, I’ve been working almost exclusively on the web. Throughout all of that time, the realisation of what the projects would look like are done in Photoshop. That means, yes, I’ve been using Photoshop in a production environment for fifteen years. Malcolm Gladwell said it takes 10,000 hours, or 10 years of repetitive use, to become an expert in something. I guess that means I’m an expert in creating pictures of websites. Photoshop is like an extension +
13年前
記事のアイキャッチ画像
Media Query & Asset Downloading Tests
Writing on Web Performance Consulting | TimKadlec.com
+When you’re building a responsive site, there will undoubtedly be times when you need to change a background image, or when you need to hide an image for a specific resolution range. Unfortunately if you’re not careful, this can lead to multiple images being downloaded even when they aren’t being used. A few people—including Jason Grigsby, Greg Rewis and Aaron Mentele—have done some excellent testing about how images are downloaded when media queries are involved. So far, the tests have been conducted using manual methods. There is absolutely nothing wrong with that, but I wanted to find a way to make the testing more automated so that a wider group of people could contribute to the test results.To that end, I’ve hacked together a few tests (using Jason’s tests as a starting point) that store their results in Browsercope. The test is fairly simple. For each test case, I check to see if the background image (or content image) has been loaded by checking the image.complete property. The +
13年前
記事のアイキャッチ画像
More shovels
Writing on Web Performance Consulting | TimKadlec.com
+There is no shortage of information floating around today. There are a multitude of books, magazines, newspapers, blog posts, articles, videos and podcasts just clamoring for our attention. It’s an incredible thing, this wealth of information we have at our fingertips. Never before has so much knowledge been so easily accessible.We’ve responded by creating a lot of tools that help us collect this information. We can easily store quotes, snippets or even full articles in any one of a hundred different sites and services. We can save links to the videos and recordings that moved us on some level. RSS feeds make it incredibly easy to consume massive quantities of online articles and blog posts. Tools like the incredible Ifttt help make our many online services interact with each other, further easing the process of collecting information.But what happens to that information after it has been carefully tagged and stored away? The more new information we collect, the more old information ge +
13年前
記事のアイキャッチ画像
Work to be done
Writing on Web Performance Consulting | TimKadlec.com
+Smashing Magazine just launched their newly redesigned site. Personally, I think it looks pretty great. The ads are a little distracting perhaps, but other than that, the side content mostly gets out of the way leading to a pleasant reading experience.And of course, it’s responsive. That adds another level of loveliness. The navigation adjustments in particular are kind of interesting to watch. My favorite layout is the last one to kick in before you hit 1020px. It’s clean, easy to read, and the ads are not yet there.But….There’s a catch here. For as lovely as the site looks, there’s a lot going wrong from a technical perspective.PerformanceFor starters, the size. Even on my phone, the site weighs in at a massive 1.4MB. A large part of the issue is that those ads, the same ones that don’t display below 1020px, are still being requested and loaded on smaller resolutions. They’re just being hidden with a little touch of ‘display:none’.When I tested, the site also made about 90 requests. +
13年前
記事のアイキャッチ画像
I'm Writing a Book
Writing on Web Performance Consulting | TimKadlec.com
+So, I’m writing a book on responsive enhancement for New Riders.To say I’m excited is a bit of an understatement. I love sharing what I know, and writing a book has been something I’ve wanted to do for a long time. I’m not sure of the exact publication date yet, but it looks like the book should be out sometime in the second half of the year.Uh…there’s already an awesome book on responsive web designWhy yes, there is, and I wholeheartedly recommend buying a copy. Like, now. Ethan’s book is a brilliant read. I even wrote a glowing review shortly after finishing it. In that review, I said I was pining for a sequel—something that would build on the core principles Ethan discussed. When Michael Nolan of New Riders got in touch a few months ago and asked if I was interested in writing a book, I saw it as an opportunity to get that book written.More info, please!The book will be an exploration of how a responsive approach can be integrated into the workflow—from planning and early mockups th +
13年前
記事のアイキャッチ画像
What I Read in 2011
Writing on Web Performance Consulting | TimKadlec.com
+A new year has begun. That means that it’s once again time to take a look back at what books I read over the past year. Unfortunately, it appears I’m trending entirely in the wrong direction. While I managed to read 38 books in 2009 and 33 in 2010, I only made it through 29 this past year. Hopefully I can reverse that trend in 2012.One interesting trend—at least to me—is that I returned to reading a lot more web related books (10!) this year. This is in no small part related to the A Book Apart series. If they keep churning out quality books like this, that count is likely to stay very high.As always, if the book made this list, then I enjoyed it on some level. There are far too many good books out there to suffer through one that doesn’t interest me. If I’m not enjoying it I set it aside.If you’re looking for specific recommendations, “The Invisible Man” (which I had read before and will read again) and “The Demolished Man” top my (short) list of fiction. “Obliquity”, “Marshall McLuha +
13年前
記事のアイキャッチ画像
Mobile performance and carrier networks
Writing on Web Performance Consulting | TimKadlec.com
+I always look forward to the December return of the all the lovely advent blogs that are full of web goodness. Sites like 24ways, PHPAdvent and the Performance Calendar mean that I’ll have something to look forward to reading each day. So I was very excited when Stoyan asked if I would like to write another post for the Performance Calendar this year.This year’s post is an overview of how inconsistent mobile networks are, as well as a plea for more communication between carriers, manufacturers and developers. If you’re interested in mobile performance, please give it a read.Be sure to check out the rest of the articles there as well. As usual, there’s lots of good content already posted with more sure to come. In particular, I recommend Stoyan’s post on asynchronous snippets, Guy’s look at when you should and shouldn’t inline resources, and a post on localStorage performance by Nicholas.
13年前
記事のアイキャッチ画像
Book Review: Mobile First
Writing on Web Performance Consulting | TimKadlec.com
+According to a recent report, by 2015 more people in the US will be accessing the Internet using mobile devices than through PCs. If this was the only thing mobile had going for it, it would be enough to justify the need for Luke’s new book ‘Mobile First’.Luke argues that you should design, and build, your mobile experience first. He hits you (gently) over the head with data point after data point making it increasingly obvious that this mobile first technique not only makes sense, but should in fact be the de facto standard for creating sites on today’s web. He makes his case carefully, succinctly and convincingly.After he has you sold on the importance of this approach, he spends the rest of the book arming you with the information you’ll need to start creating better mobile experiences. He walks you through how to organize your content, develop appropriately sized touch targets, embrace new touch gestures, simplify the process of input on mobile devices and more. Amazingly, he manag +
13年前
記事のアイキャッチ画像
Reflecting on Nashville
Writing on Web Performance Consulting | TimKadlec.com
+Well that was a blast.After months of planning, the second ever Breaking Development conference came to an end the other week. To say that it was fun and inspiring would be selling it short. To some extent, I am still recuperating but I thought I should post my thoughts while things are still fresh in my mind.The SpeakersThe speakers did an absolutely incredible job! There was plenty of pragmatic information to take back and apply right away, but there was also a lot of talk about the future: where we need to be and what we can do to get there. We’ll get video posted of all the talks at some point in the future, but for now, be sure to check out all the decks at Lanyrd. Scott Jenson recorded his presentation off his laptop, so his deck includes accompanying audio. I can’t recommend his presentation enough. It was a call to arms: a forward-thinking and inspiring talk to conclude the first day of the conference.Every once in awhile I hear a question or two about the timing of the release +
13年前
記事のアイキャッチ画像
Book Review: Responsive Web Design
Writing on Web Performance Consulting | TimKadlec.com
+Ethan Marcotte’s Responsive Web Design is an example of what can happen when an incredibly intelligent person is allowed to write in their own voice about a technique that they not only firmly believe in–but that they are using every day. It’s a compact book but Ethan manages to fill it full of plenty of information and he does so in a conversational, often humorous tone that will make you laugh at one sentence and then force you to thoughtfully ponder the implications of the next.Ethan doesn’t present RWD as an end-all-be-all approach. He simply presents it as a potential solution (a good one). In his own words:…more than anything, web design is about asking the right questions. And really, that’s what responsive web design is: a possible solution, a way to more fully design for the web’s inherent flexibility.He does discuss the three main ingredients he laid down in his original article (flexible images, media queries and fluid grids) but he goes beyond that and acknowledges some of +
14年前
記事のアイキャッチ画像
Is 'Mobile' Doing More Harm Than Good?
Writing on Web Performance Consulting | TimKadlec.com
+For the last few months, I’ve been wondering if the term ‘mobile’ might be causing more trouble than it’s worth. Judging from this morning’s tweet from Mark Boulton, I’m not alone:Thinking ‘mobile’ web is a big, fat red herring. Just like ‘apps’ was a few years ago. Next year, it’ll be something else.While I’m not willing to go quite as far as that, I do think the term has become loaded with historical assumptions that are no longer true.Originally, it worked out alright. ‘Mobile’ came to encompass both the device and the context of use in one fell swoop. It could do that, because their wasn’t a lot of diversity in the kinds of devices you could call ‘mobile’. In addition, those devices lacked the capability of offering a full-web experience. ‘Mobile’ use was pretty clearly defined because to be quite honest - the devices weren’t capable of offering much more.{% fig The word ‘mobile’ is loaded full of historical assumptions. banner %} An old phoneFast-forward to today. Now, using the h +
14年前
記事のアイキャッチ画像
Upcoming Presentations
Writing on Web Performance Consulting | TimKadlec.com
+I enjoy sharing what I learn with other people (though by the frequency of my blog posts lately, you might not be able to tell that). I also enjoy a good conference. They’re a great way to keep up in this fast moving industry, and to learn from the speakers and attendees alike. I’ve been lucky enough to be able to put the two together and present at a couple upcoming events this month.On May 25th, I’ll be giving a talk on Mobile Web Performance Optimization for the Web Performance Summit. It’s an online event, and the lineup looks fantastic! Considering the low cost of attendance (not just the ticket price - but no travel costs!) I’m not sure how you could afford to pass on it if you’re at all interested in performance.Then, on the 27th, I’ll be giving a shorter presentation at WebVisions in Portland entitled “Can Media Queries Save Us All?”. In case you’re wondering—it won’t be a full-out cheerleading session for media queries (or RWD). There are some very real issues with the techniq +
14年前
記事のアイキャッチ画像
Breaking Development Update
Writing on Web Performance Consulting | TimKadlec.com
+Yesterday the last of the topics for Breaking Development was announced. I couldn’t be happier with how it all turned out! I think there’s an awesome mix of talks that are going to really challenge people to reconsider how they approach mobile development.Also, since last I wrote about the event, we added a special half hour talk by Brian Alvey. Brian has a ton of experience managing the content for some major mobile applications and I think his talk on mobile and the cloud is going to be a great addition to the lineup.In addition to the topic selections, we’ve been spending a lot of time lately figuring out how to handle the food (I think we’ve got something both unique and cool lined up for that!) as well as the bevy of other little details that go into getting a conference up and running.There are still tickets available and we’ll be selling them right up to, and at, the door. As a reminder, the pass includes attendance for both days (13 talks) as well as admittance to the opening n +
14年前
記事のアイキャッチ画像
Responsive Web Design and Mobile Context
Writing on Web Performance Consulting | TimKadlec.com
+There is an active, and very interesting, debate taking place right now in the web community about the merits of responsive web design—particularly how it applies to mobile. On one side of the fence you have the “one web” group who believe that you should be delivering the same content to both mobile and desktop users, typically anchored by a responsive approach. On the other side of the fence are people who believe that mobile requires much more than responsive design is capable of and therefore write the technique off as little more than a band-aid on a gunshot wound.The primary issue that those opposed to the one web approach tend to mention is that responsive web design ignores the mobile context. This, of course, broaches the question: What exactly is the mobile context? The answer is not particularly clear.It used to be. The mobile user used to be always on the go; trying to consume location related and task-oriented content very quickly. The problem is that this is not necessari +
14年前
記事のアイキャッチ画像
No More Data Silos
Writing on Web Performance Consulting | TimKadlec.com
+Mandy Brown very recently posted a thoughtful and well articulated look at the importance of digital preservation. Her post was sparked by a flurry of sites that have recently been either dissolved (Cork’d), “sunsetted” (Delicious) or simply completely removed from existence (Geocities). She also mentions the infamous data loss of Ma.gnolia where many people (me included) lost the bookmarks we had been carefully collecting and curating.Her post, along with recent posts by Stephen Hay and Alistair Croll have got me thinking quite extensively about hosting my own data—everything from bookmarks to tweets. Tantek Celik is already utilizing his own home-brewed solution to do this, and he recently posted about his stance on hosting your own data.This is what I mean by “own your data”. Your site should be the source and hub for everything you post online. This doesn’t exist yet, it’s a forward looking vision, and I and others are hard at work building it. It’s the future of the indie web.Righ +
14年前
記事のアイキャッチ画像
HTML5 As a Buzzword
Writing on Web Performance Consulting | TimKadlec.com
+Yet again, the debate over whether or not HTML5 should be used as a buzzword is rearing it’s head. This time, the instigator is a seemingly unlikely group–the W3C itself!The W3C just released an official HTML5 logo that would look quite appropriate on any superhero costume with a cape (see SuperHTML5Bruce as evidence). The issue, as I see it at least, is not really with the logo itself. Sure, it’s kind of an odd idea, but it’s pretty well designed and could theoretically be a good way to market the new standard.I say theoretically because in it’s current form it fails, at least if we are measuring by accuracy and clarity. To take a quote directly from the site:The logo is a general-purpose visual identity for a broad set of open web technologies, including HTML5, CSS, SVG, WOFF, and others.In case you didn’t catch the blunder, the W3C is basically lumping a variety of technologies under the HTML5 buzzword that has become so popular. There’s been great discussion online about whether th +
14年前
記事のアイキャッチ画像
Alternatives to Captcha
Writing on Web Performance Consulting | TimKadlec.com
+It seems I stirred the pot a little more than expected with my post calling for the death to captchas. If you haven’t read the post, it was basically a rant detailing all the issues with captcha systems—accessibility and usability concerns primarily. My goal was to identify the problem, but quite a few people called me out for not taking the time to highlight alternatives (I actually did mention Akismet, but only in passing). The criticism was fair enough and since there appears to be interest, I thought a follow-up post pointing out three alternative solutions that don’t interrupt the user would be a good idea.Just a warning ahead of time because I know people are going to mention it—none of these solutions are 100% foolproof, just as captchas are not 100% foolproof. I acknowledge that, but that’s beside the point. While it would be nice to use a system that detects and eliminates 100% of the spam without any false positives, I don’t think that’s a realistic expectation at this point +
14年前
記事のアイキャッチ画像
Death to Captchas
Writing on Web Performance Consulting | TimKadlec.com
+A brief exchange on Twitter led me to think about one of the things I most definitely do not love about the internet—captchas. While I won’t go quite as far as to say captchas are the spawn of Satan (let’s wait for the DNA tests before we go that far) I will say that I believe they are not only the wrong solution, but an arrogant and inconsiderate one.Firstly, it is worth pointing out that captchas are nowhere near as secure as you’d like to believe. Back in 2005, the W3C pointed out that third party services had demonstrated that most captcha services could be defeated with 88%-100% accuracy by using some simple OCR. I suspect that since then captchas have probably gotten a bit better, but spam bots probably have as well.Then of course there are the accessibility issues. In particular, visitors who suffer from blindness, dyslexia or low vision will struggle greatly with a captcha system. You can aid them slightly by offering an audio alternative, but the audio used in captcha systems +
14年前
記事のアイキャッチ画像
What I Read in 2010
Writing on Web Performance Consulting | TimKadlec.com
+Continuing what I started last year, here’s the list of books I managed to read this year. I read slightly fewer books this year than last (33 compared to 38). I didn’t exactly aim high (in last year’s post I said I wanted to read at a “similar pace”) so I guess I didn’t fail that miserably. I’m slowly reducing the amount of movies and TV I watch, so hopefully that will provide a little more room to read a bit more in 2011.As I stated last year, I don’t finish books that I am not enjoying, so each book in the list below I’d recommend to varying degrees. If I’m picking favorites, I’d have to go with Ender’s Game, The Gun Seller and Daemon for my favorite fiction reads. My top three non-fiction books this year (excluding the web-related ones) would be Amusing Ourselves to Death, Flow and Better Off.Brave New World by Aldous HuxleyAmusing Ourselves to Death by Neil PostmanWhat the Dog Saw by Malcolm GladwellI, Robot by Isaac AsimovFlow by Mihaly CsikszentmihalyiDirk Gently’s Holistic Dete +
14年前
記事のアイキャッチ画像
An Introduction to Automating Performance with Phing
Writing on Web Performance Consulting | TimKadlec.com
+A bit late to the game, but I was honored to write an article for this years Performance Calendar earlier this month. The article was a gentle introduction to using Phing to automating performance tasks. Fitting right in with the “Performance Toolbelt” posts I started adding to the site this year, it introduces yet another freely available tool that can greatly simplify the process of optimizing performance.Be sure to check it out. While you’re at it, have a look through the rest of the articles. There’s some great stuff in there about mobile performance, new tools, the state of WPO in general, response and request headers, etc. Definitely worth browsing through.
14年前
記事のアイキャッチ画像
A Series of Trade-offs
Writing on Web Performance Consulting | TimKadlec.com
+Jeremy Keith recently wrote a post about some of the false dichotomies in web development. When faced with two options, we are often presented with a solution that paints one option black and one white as if there was no middle ground. I’ve attempted to write a post along a similar lines many times, though to be perfectly honest, none of my drafts painted the scene quite as well as Jeremy did:In the world of web development, there are many choices that are commonly presented as true or false, black and white, Boolean, binary values, when in fact they exist in a grey goo of quantum uncertainty.What prompted my thoughts on the subject (at least recently) was a post on Simply Accessible entitled Speed vs. Accessibility. In the post, Derek Featherstone tells a story of someone who went so far as to change their markup, in a manner that made it significantly less semantic, in order to save a few bytes in file size and therefore improve performance. The result? They saved about 50 bytes, but +
14年前
記事のアイキャッチ画像
Announcing Breaking Development 2011
Writing on Web Performance Consulting | TimKadlec.com
+So technically the site has been live for a month or so now, but since we just finalized our speaker lineup, I thought now would be a good time to “announce” Breaking Development 2011—a conference I’m helping to organize in Dallas, TX on April 11-12th.Breaking Development is a two day conference dedicated to mobile web design and development. I’m incredibly proud of the speakers we were able bring on board—with presenters like Peter-Paul Koch, Luke Wroblewski, Jonathan Snook, Nate Koechley and Jason Grigsby (just to name a few—the full list of speakers is available on the site) I think we’ve created an event chockfull of quality content.I am also pretty excited about the format of the event. Often, the most valuable experience of a conference is the informal conversations and friendships that are formed in between sessions. We really wanted to encourage that type of discussion among the speakers and attendees so we molded the event around that idea: attendance is small (there will only +
14年前
記事のアイキャッチ画像
The Color of Speed
Writing on Web Performance Consulting | TimKadlec.com
+Three seconds does not always equal three seconds. Our perception of time is greatly skewed by a variety of seemingly unrelated factors, making it easy for us to perceive 3 seconds as 5 seconds, or as 1 second. Since ultimately it is how fast the user thinks our site is that matters, regardless what the stats say, we need to be very aware of these extraneous factors that influence their perception.One such factor is color. Different hues, values and saturation levels can all influence how a person perceives time. Typically, this can be linked to how “relaxed” or “stressed” a user feels during the wait. The more relaxed they feel, the shorter the wait will feel. It’s entirely possible that a stressed user may feel as though a site is very slow, while a relaxed user may feel that same site is very responsive.So how do we induce a feeling of relaxation using color? For starters, we can choose blue hues as they elicit the most relaxed feeling state. In sharp contrast, yellow and red hues g +
14年前
記事のアイキャッチ画像
The Peril of Busyness
Writing on Web Performance Consulting | TimKadlec.com
+I was reading an excellent post by Jonathan Harris entitled “Our Digital Crisis” and one section in particular jumped out at me. Harris was talking about how our online tools are better for breadth than depth and generally increase noise.We trade self-reflection for busyness, gorging ourselves on it and drowning in it, without recognizing the violence of that busyness, which we perpetrate against ourselves and at our peril.Of course this isn’t exactly a new issue. Henry David Thoreau was lamenting our propensity to clutter our lives way back in 1854 when he wrote in Walden that “Our life is frittered away by detail.” It’s just that now it’s become easier for us to clutter our lives.In fact, it would seem that our busyness is one of the greatest personal challenges that we face in the digital age. Our always connected lifestyle means that while we always have quick access to our email, Facebook messages and tweets, we rarely have moments of quiet, uninterrupted reflection and relaxation +
14年前
記事のアイキャッチ画像
Performance Mythbusters
Writing on Web Performance Consulting | TimKadlec.com
+Performance optimization is the Rodney Dangerfield of web development–it “don’t get no respect”. In spite of its great importance in the overall user experience, it is all too often pushed aside and treated as an afterthought. In my conversations with designers and developers who don’t optimize, a few of the same myths are constantly brought up.Performance optimization isn’t that necessary. This misconception doesn’t stem from a lack of caring–most of the people I talk to truly care about crafting a good user experience for their visitors. I think this myth stems more from a lack of awareness. Most of us work on connections that are typically quite a bit faster than that of the average internet user. As a result, we experience the web differently than our users. In addition, most of the people I talk to just haven’t heard about the studies that have come out regarding the effect of performance on the user experience.Performance optimization is too difficult and takes too much time. The +
14年前
記事のアイキャッチ画像
The Problem With Happiness
Writing on Web Performance Consulting | TimKadlec.com
+In an interesting post on the Harvard Business Review, Tony Schwartz argues that happiness is overrated:…when we seek happiness as the ultimate state, we’re destined to be disappointed. Absent unhappiness, how would we even recognize it? If we’re fortunate, happiness is a place we visit from time to time rather than inhabit permanently. As a steady state, it has the limits of any steady state: it’s not especially interesting or dynamic.He goes on to talk about how our desire for happiness is derived from our impulses to avoid pain and to seek gratification, and the problem with taking those impulses too far:But it also turns out that pain and discomfort are critical to growth, and that achieving excellence depends on the capacity to delay gratification.When we’re living fully, what we feel is engaged and immersed, challenged and focused, curious and passionate. Happiness — or more specifically, satisfaction — is something we mostly feel retrospectively, as a payoff on our investment. A +
14年前
記事のアイキャッチ画像
Intuition and Intimacy in Design
Writing on Web Performance Consulting | TimKadlec.com
+In an old, but still relevant, article from Wired, Brian Eno talks about the value of designing with limited options:Designers struggle endlessly with a problem that is almost nonexistent for users: “How do we pack the maximum number of options into the minimum space and price?” In my experience, the instruments and tools that endure (because they are loved by their users) have limited options.He further elaborates, explaining our desire for intimacy with our tools:With tools, we crave intimacy. This appetite for emotional resonance explains why users - when given a choice - prefer deep rapport over endless options. You can’t have a relationship with a device whose limits are unknown to you, because without limits it keeps becoming something else.It’s not a revolutionary concept, designing and building only what is necessary, but it’s a good one to keep in mind. With tools, it’s often better to be the master of few than the jack of all trades.
14年前
記事のアイキャッチ画像
Teach A Man To Fish
Writing on Web Performance Consulting | TimKadlec.com
+Twitter is abuzz (and not in a good way) over an article that was posted yesterday at econsultancy.com on HTML5. The issue is that the article is passing around inaccurate information about what HTML5 actually is. Like this little tidbit:Those cool bouncing Google homepage balls everyone was talking about last week were an example of HTML5, but if you want to see an example of what the format can really do, take a look at this.When the first couple of commentors questioned the accuracy of the information, she responded by stating that:According to numerous sources, the balls were indeed in HTML5, specifically CSS3, part of the standard.Now as most developers will tell you, CSS3 is most certainly not a part of the HTML5 spec. They’ll also be quick to tell you that Google didn’t actually use HTML5 for that logo—it was in fact just a series of divs (a poor structural decision).Here’s the thing though—she’s right. There were articles that said that Google was using HTML5 for the logo. Ther +
14年前
記事のアイキャッチ画像
When The User Comes First
Writing on Web Performance Consulting | TimKadlec.com
+Far too many projects and marketing campaigns today start by answering the question “What value does this have for our company?” The question shouldn’t center around the company, the question should center around the users. What we should be asking is “What value does this have for our users?”It’s a very simple concept, but it is one that, if adhered to, would fundamentally alter the priorities of a project. If the user comes first, SEO takes a backseat to content strategy. Accessibility and performance cease being afterthoughts and become crucial components of a site. More time is given to user research to determine what users expect to find on your site, and where they expect to find it.The irony is that by putting the users first, the success of the project would greatly be improved. Build something that users care about and want to use and they’ll reward you with their loyalty.Imagine if every company took the time to ask, and more importantly to answer, this question before launch +
14年前
記事のアイキャッチ画像
Quick Optimization Using Webgrind
Writing on Web Performance Consulting | TimKadlec.com
+I was recently working on a site whose code I was inheriting and the pages took much longer to process than I would’ve liked. Caching helped, but I wanted to get to the underlying issue so I fired up Webgrind to see if I could trace the problem.Webgrind is a freely available PHP profiling frontend that sits on top of XDebug. Using it, you can see how many times different functions are called and find what functions called them. You can also quickly see the inclusive cost (time spent inside a function plus calls to other functions) and self cost of each function.Viewing the logs for the last page load, I could see that mysql_query was called a whopping 52 times and accounted for 84.93% of the processing time (which was at an unacceptable ~3.1ms).Using the Webgrind frontend, I was able to trace back 23 of those calls to one function. In turn, this function was called by one other function 17 times. I decided to focus there first.Again, with the help of Webgrind, I could see that this fun +
14年前
記事のアイキャッチ画像
SXSW Panel Pimping
Writing on Web Performance Consulting | TimKadlec.com
+The SXSW panel picking madness started last Wednesday. After attending the conference twice, I finally got around to submitting a talk this time around. If you’re interested in web performance, neuroscience, and in particular how those two areas intersect, feel free to give it the old thumbs up. Either way I’ll be attending (already registered and got the flight and hotel booked) but I’d love to get the opportunity to hear myself talk share some information while I’m there as well.Enough self promotion. After having taken a look through the options, here’s a few more talks that I’m really hoping make the cut. Again, if they sound interesting to you, please give them a thumbs up in the PanelPicker.PHP Performance on a BudgetMaking the New Yahoo! Homepage Fast!“Performance Enhancing Drugs”… for the web!Nothing is True, Everything is Permitted. Not!Understanding Humans: New Psychology and the Social WebSeductive Design: Creating Sites Your Users LoveAll Our Yesterdays: Digital Cultural Pr +
14年前
記事のアイキャッチ画像
Performance Toolbelt: CSSEmbed
Writing on Web Performance Consulting | TimKadlec.com
+One of the biggest keys to improving the load time of your site is minimizing the number of HTTP requests. There’s a lot of overhead involved with each request, and many requests can very quickly slow down your site. One great way to eliminate extra requests is to use data URIs instead of images. If you want the nitty-gritty on what data URIs are, and how to use them, there are a few excellent posts by Stoyan Stefanov and Nicholas Zakas that walk you through the details.Data URIs can be tricky to implement efficiently however. Since they are a Base64-encoded representation of an image, there is a built-in level of obfuscation that can make manual maintenance tedious. Thankfully, Nicholas put together a command line tool called CSSEmbed which takes the pain out of using them.CSSEmbed is a very straightforward tool that parses a stylesheet and converts all references of images to their data URI equivalents. Installation is as simple as downloading the .jar file and placing it where you’d +
15年前
記事のアイキャッチ画像
Another New Addition
Writing on Web Performance Consulting | TimKadlec.com
+A short week ago (June 30th), my wife and I were lucky enough to welcome our second healthy baby girl into the world. Just like her big sister, Jessica Claire weighed in at a healthy 8 lbs 15 oz.Her big sister, thankfully, thinks Jessica is at least somewhat interesting so far and likes to come and “talk” to her. Both girls, as well as their mother, are doing well (if not a bit tired).I’m sure there’s going to be plenty of barbies and tea parties in the future (heck, there’s already some “Ring Around the Rosie”) but I’m sure I won’t mind. I’m just a happy dad whose two little girls have him firmly wrapped around their fingers.
15年前
記事のアイキャッチ画像
Who's Stupid?
Writing on Web Performance Consulting | TimKadlec.com
+Andy Rutledge wrote a post that is frighteningly on target. He argues that the “quality of your client experiences is directly proportional to the quality of your professionalism”. He goes on to state that if your clients are “stupid” you may want to take a step back and consider who may truly be responsible for these failed interactions. He starts by pointing out how you can set yourself up for failure before you even start on a project:If you don’t research and vet your potential client before asking them to sign your contract, stop being stupid. If you bid on projects even though the potential client doesn’t know much about you or why you’d be a good (or bad) choice for them (they “just need a web designer”), stop being stupid.He continues by analyzing how web designers can continue to lay the groundwork for “stupid” clients by failing to have a proper workflow in place:If you aren’t the one defining the project process, stop being stupid. If you don’t define, police, and unfailingl +
15年前
記事のアイキャッチ画像
Version 3.0
Writing on Web Performance Consulting | TimKadlec.com
+For the second time this year, I’m launching a redesign of this site. Shortly after putting the last redesign live, I started wishing I’d have allowed for a little more flexibility in the types of content I produced. While I still enjoy writing full, detailed posts at times, there are a lot of times I just want to share a quick thought, or pass along a quote from an article I found particularly good.I gave Tumblr a try for a little bit, and I loved the freedom it gave me to post content I found important, regardless of how much detail I felt it warranted at the moment. Really, the only thing I didn’t like was the fact that I was now blogging in two different places - this site and my Tumblr blog. Since Tumblr had no easy way to import all my old posts from Wordpress, I decided to make use of the custom post type capabilities in Wordpress to build my own version of a tumblelog.Since the frequency of posts will undoubtedly be picking up with the additions of these shorter post types, let +
15年前
記事のアイキャッチ画像
Mobile User Behavior Groups
Writing on Web Performance Consulting | TimKadlec.com
+According to an article on Information Week, Google classifies mobile users into three behavior groups:The “repetitive now” user is someone checking for the same piece of information over and over again, like checking the same stock quotes or weather. Google uses cookies to help cater to mobile users who check and recheck the same data points.The “bored now” are users who have time on their hands. People on trains or waiting in airports or sitting in cafes. Mobile users in this behavior group look a lot more like casual Web surfers, but mobile phones don’t offer the robust user input of a desktop, so the applications have to be tailored.The “urgent now” is a request to find something specific fast, like the location of a bakery or directions to the airport. Since a lot of these questions are location-aware, Google tries to build location into the mobile versions of these queries.I think it’s a pretty accurate categorization, and a good thing to keep in mind when you’re building your mo +
15年前
記事のアイキャッチ画像
To comment, or not to comment...
Writing on Web Performance Consulting | TimKadlec.com
+Derek Powazek shares his thoughts on turning off comments:I turned off comments in the last redesign of powazek.com because I needed a place online that was just for me. With comments on, when I sat down to write, I’d preemptively hear the comments I’d inevitably get. It made writing a chore, and eventually I stopped writing altogether. Turning comments off was like taking a weight off my shoulders. It freed me to write again.I too have been trying to decide whether to continue using comments on my main blog. On the one hand, I can sympathize with Derek. I often “hear” the comments I’ll get, or won’t get, and ultimately allow that to either adjust the content in a post, or don’t publish the post at all.On the other hand, I truly do enjoy the good discussion that can sometimes takeplace, and I don’t want to lose that. Perhaps a reply by Twitter option (as Jon Hicks is considering) is a decent option to generate that discussion without the feeling of obligation?
15年前
記事のアイキャッチ画像
On delinkification...
Writing on Web Performance Consulting | TimKadlec.com
+Nick Carr makes a very interesting and compelling argument for “delinkification”:Links are wonderful conveniences, as we all know (from clicking on them compulsively day in and day out). But they’re also distractions. Sometimes, they’re big distractions - we click on a link, then another, then another, and pretty soon we’ve forgotten what we’d started out to do or to read. Other times, they’re tiny distractions, little textual gnats buzzing around your head. Even if you don’t click on a link, your eyes notice it, and your frontal cortex has to fire up a bunch of neurons to decide whether to click or not. You may not notice the little extra cognitive load placed on your brain, but it’s there and it matters. People who read hypertext comprehend and learn less, studies show, than those who read the same material in printed form. The more links in a piece of writing, the bigger the hit on comprehension.I like the approach taken by Readability. They generate a list of footnotes from the lin +
15年前
記事のアイキャッチ画像
The Great Mobile Debate
Writing on Web Performance Consulting | TimKadlec.com
+There’s been an ongoing debate in the world of mobile development as to how mobile apps should be distributed, via an open system or a closed system, and consequently, how one should approach mobile development. We could probably also call this debate “Apple versus everyone else”.The issue has been brought up many times, usually right after Apple announces some change in the way they accept applications into their store. With each change, invariably some apps, and some companies who have built a living off of those apps, get the short end of the stick and are no longer deemed acceptable for Apples’ standards (whatever they may be at that particular minute).Disclaimer first - I’m generally an Apple fan. I don’t care what you say - they know how to package an awesome user experience in their devices, and they do it better than anyone else I’ve seen. Honestly, I don’t even fault them for being so dictatorial in the policing of their app store. There are benefits in a controlled system, am +
15年前
記事のアイキャッチ画像
Performance Toolbelt: Page Speed
Writing on Web Performance Consulting | TimKadlec.com
+Like it’s older brother YSlow, Page Speed, released by Google in in mid-2009, is primarily a tool to audit and analyze the performance of your site. However a closer looks shows that there is in fact a lot more that Page Speed can do.What Does It TestPage Speed analyzes the performance of a page based on a set of 26 rules (as of version 1.7) that Google has documented. Each rule is given a priority code based on how great the potential impact would be on the page load time. Once Page Speed has determined which rules are broken, it gives the page a score between 0 and 100, which can be exported in JSON format, or sent straight to ShowSlow.com - a tool for recording YSlow and Page Speed scores over time.The rules range from common rules like optimize your images, to lesser known techniques like defining a character set early. A complete list of the rules Page Speed checks for is below:Combine external CSSMinimize DNS lookupsLeverage browser cachingRemove unused CSSLeverage proxy cachingM +
15年前
記事のアイキャッチ画像
Jobs Has Spoken
Writing on Web Performance Consulting | TimKadlec.com
+Most likely you’ve heard by now about Steve Job’s open letter about why their mobile devices do not support Flash, and why they don’t intend on changing that. Everyone and their mother has an opinion about it, but I still couldn’t resist posting a few quick thoughts I had while reading it.The Pot Calling the Kettle BlackI generally really like Apple products. They really know how to polish up a beautiful user experience, probably better than any other company I know of. So while I wouldn’t go so far as to call myself a fanboi, I will say that I drool heavily over most of their devices. Yet despite my generally positive view towards Apple, even I have to admit I found it funny when Jobs was calling out Flash for being “100% proprietary”. It’s true of course, but Apple has little room to talk.What made the point even funnier was how he said in one paragraph that Apple believes “that all standards pertaining to the web should be open”, and two paragraphs later, talks about Apple’s support +
15年前
記事のアイキャッチ画像
Performance and Beauty
Writing on Web Performance Consulting | TimKadlec.com
+By now I’m sure that most of you have heard about the recent announcement by Google that speed is officially a factor in their rankings. This seems to have caused a little bit of panic amongst some people in the web community.One web guru who you may have heard of, Jeffrey Zeldman, posted an article on Sunday wherein he describes the choice he feels designers are now faced with:So now we face a dilemma. As we continue to seduce viewers via large, multiple background images, image replacement, web fonts or sIFR, and so on, we may find our beautiful sites losing page rank.It’s a fair enough point to make - sometimes a designer will need to make a decision between additional aesthetic effects and improved performance (but not that often). What followed in the comments was disturbing though - many people were actually viewing Google’s move as a negative thing and seemed to be very worried about it’s effects. Some felt Google was simply abusing their power, others believed they’d have to sa +
15年前
記事のアイキャッチ画像
Performance Toolbelt: SpriteMe
Writing on Web Performance Consulting | TimKadlec.com
+As I mentioned in a prior post, there are a lot of really good tools available to developers to aid in making performance optimization quick and easy. I’ve decided to highlight some of my favorite tools that I’ve come across and thought I’d kick things off with Steve Souders excellent SpriteMe bookmarklet.Having a lot of images in a page can be very costly. Each image requires an HTTP request, and each HTTP request comes with plenty of overhead. I’ve seen pages with 20+ icons, each requiring their own request - that’s a serious hinderance to performance.A way of combatting the issue is to use sprites. For the uninitiated, an image sprite is simply one big image that includes many smaller images. This allows you to make one HTTP request, and using CSS, still make use of a variety of different images. If you plan ahead and do this while initially building the site, it’s rather simple to do. How do you quickly implement this strategy in an existing site though?That’s where SpriteMe comes +
15年前
記事のアイキャッチ画像
What I Read in 2009
Writing on Web Performance Consulting | TimKadlec.com
+For 2009, I decided to start actively reading again (something I had done very little of since high school). I managed to get through 38 books and while I’m not exactly setting a goal, I’d like to at least maintain a similar pace this year.If you just want the highlights, I’d say that Neverwhere, Replay and The Road are at the top of my list as far as fiction is concerned. For non-fiction, Brain Rules, Blink and Trade-Off probably top the list.Not to say the other books aren’t good - I typically only finish books I enjoy on some level. With as many books as I’d like to read, I don’t see the point in wasting time on a book that doesn’t manage to hold my interest on some level.Shadows Linger by Glen CookThe White Rose by Glen CookThe Dad in the Mirror by Pat MorleyThe Rosetta Key by William DietrichThe Road by Cormac McCarthyThe Tipping Point by Malcolm GladwellWikinomics by Don TapscottBlink by Malcolm GladwellMade to Stick by Chip and Dan HeathOutliers by Malcolm GladwellConvergence Cu +
15年前
記事のアイキャッチ画像
Performance Optimization Made Quick and Simple
Writing on Web Performance Consulting | TimKadlec.com
+Optimizing your site’s performance doesn’t have to be very difficult. Take this site for example. Typically, I take care of optimization as part of the build process. However, for the sake of demonstration, I thought this time around I’d take care of each step by itself, using freely available tools where applicable.First off was setting expires tags and turning gzipping on. Since I’ve done this in too many .htaccess files to count, this was simply a copy/paste job with very little tweaking necessary.Then, I decided to optimize the images (what few there are). I ran Smush.It from the YSlow tool in Firefox. That compressed the images which I then downloaded to my computer and then promptly pushed right back up to the server. It took me 5, maybe 10 minutes and it cut the image size by about 33% total.The icons for the RSS, Twitter and LinkedIn links in the footer were separate images - each requiring its own HTTP request. By using the SpriteMe bookmarklet, I was able to generate a new sp +
15年前
記事のアイキャッチ画像
Changing Things Up
Writing on Web Performance Consulting | TimKadlec.com
+After a very long, drawn out design/build process, I finally decided to just get it over with and push the new design live (as anyone not reading this in their RSS reader can see). There’s a few bits of code and a little bit of styling I’ve not quite fine-tuned yet, but if I keep waiting, the design would never get put up. As it is, it’s been sitting on my computer in virtually the same state it appears now for the last month or so without being touched.In addition to a new look, the underlying code has changed. I used to blog on a home-brewed VBScript based system. This incarnation of the blog, however, is built on Wordpress. It’s also built using HTML5 and makes use of some CSS3 selectors for presentation. The idea was to simplify the publishing process to encourage more writing, and as part of that, I also wanted to simplify the look a little bit. Using HTML5 and CSS3 just give me an excuse to play around with those technologies a bit.Finally, with a new design, comes slightly diffe +
15年前
記事のアイキャッチ画像
The Power of Dissonance
Writing on Web Performance Consulting | TimKadlec.com
+People tend to associate with people most like them. We hang out with people with similar hobbies, career paths, social circles and viewpoints. There’s a certain level of comfort in surrounding yourself with people like yourself.Comfort, however, is not often equal to progress. When it comes to expanding your mind to new possibilities and advancing your knowledge and skills, a little dissonance goes a long way.One popular phrase you hear thrown around is the “wisdom of crowds” - the many are smarter than the few. However, it is important to note that the wisdom of crowds does not equal crowd psychology (the power of people acting collectively). Instead, the wisdom of crowds is only true when the crowd consists of a variety of people with different viewpoints, opinions and backgrounds.Why is it that we need this diversity to excel and grow? It’s because as we become certain that something is true, our mind locks onto that idea. We have a tendency to filter out any information that may c +
15年前
記事のアイキャッチ画像
Learning From Monkeys
Writing on Web Performance Consulting | TimKadlec.com
+While browsing YouTube diligently working, I stumbled upon a video showing how to open a banana like a monkey. I like bananas, and who doesn’t like monkeys, so I gave it a watch. Turns out, I’ve been opening bananas the wrong way my entire life.Basically, for those of you who haven’t seen it, it shows how a typical person opens a banana using the stem. As we all know sometimes this method works just fine and sometimes the stem is tough and we have to struggle a bit to peel it, smashing the top of our banana in the meantime.A monkey, meanwhile, simply pinches the other end of the banana, which causes a split in the banana peel, and then smoothly peels the banana. It works amazingly well.What’s the point? The point is, this morning I thought I knew all there was to know about peeling bananas. I would never have expected that there was a better, more efficient technique I could be using. I was very confident that my method was the best one out there.How many times do we take that approach +
16年前
記事のアイキャッチ画像
One Step Forward, Two Steps Back
Writing on Web Performance Consulting | TimKadlec.com
+Microsoft made great leaps forward with IE8, and just when I start thinking they deserve a nice pat on the back for embracing standards, they give me another reason to lose faith in them.The recent announcement is that Outlook 2010, like Outlook 2007, will use Microsoft Word for it’s rendering engine. No…you read that right…Word’s rendering engine. A rendering engine that doesn’t support simple CSS statements like float, width or height. Here’s their stance on why they’re opting to use the Word rendering engine again:We’ve made the decision to continue to use Word for creating e-mail messages because we believe it’s the best e-mail authoring experience around, with rich tools that our Word customers have enjoyed for over 25 years. Our customers enjoy using a familiar and powerful tool for creating e-mail, just as they do for creating documents. Word enables Outlook customers to write professional-looking and visually stunning e-mail messages.William KennedyCorporate Vice President, Off +
16年前
記事のアイキャッチ画像
Developing Smarter with Progressive Enhancement
Writing on Web Performance Consulting | TimKadlec.com
+Progressive enhancement is not only a smart idea, but it’s the right idea for anyone looking to produce cost-effective websites. It is alright if your site doesn’t look exactly the same in every browser. In fact, because of factors like font rendering, it’s impossible to maintain the exact same appearance across all browsers. Getting clients to accept that fact is important because it can save them both time and money (not to mention save you a few headaches).Let’s take an example. Let’s say that our client, Great Sprockets Inc., wants a design with a few rounded corners and semi-transparent backgrounds sprinkled in. We decide not to use progressive enhancement. Everybody should get these rounded corners and semi-transparent backgrounds.So, we oblige. We create some 24-bit PNGs for the backgrounds. IE6 doesn’t support PNG24 transparency natively, so we add in a call to a script to fix that. We create a few images for the rounded corners, add a couple of extra element to our markup to p +
16年前
記事のアイキャッチ画像
A Big Day for Microformats
Writing on Web Performance Consulting | TimKadlec.com
+Today was a big day for Microformats - very big. First, they announced that the new value-class-pattern is ready for implementation. The value-class-pattern is a great step forward, as it provides needed accessiblity improvements, and in my opinion, gives the developer a bit more flexibility over how to structure their markup.That was a pretty big announcement in its own right, and I was very pleased to see the new pattern approved and garnering a bit of buzz. That announcement, however, was trumped by Google announcing that they will be starting to index Microformats and RDFa and using that data to enrich their search results.Microformats has been around since 2003, but the adoption has been a bit sluggish. While overall quite easy to implement, it can been difficult to demonstrate the value of using Microformats at times due to a lack of major support, and therefore, major incentive. That shouldn’t be a problem anymore, because Google is definitely providing that major incentive.How +
16年前
記事のアイキャッチ画像
Building a Stronger DOM
Writing on Web Performance Consulting | TimKadlec.com
+In Nate Koechley’s excellent talk on Frontend Engineering, he talks about the importance of building a “stronger DOM”. By marking up your site with meaningful elements and attributes, you give your markup more value and provide a richer experience for both users and machines.In addition, a strong DOM provides you with numerous attributes and elements that you can make use of to style the content to your hearts desire. This gives you much more power and control with your CSS, and helps to greatly decrease your usage of extraneous divs and classesA very quick way to improve your markup skills, and therefore the value of your content, is to expand your knowledge of HTML elements, and start making use of a few you might not have been aware of.andThe fieldset element is used to group related controls and labels within a form. They are a great way to help make your form easier to understand, and more accessible for speech-navigated user agents.It should be used in conjunction with the legend +
16年前
記事のアイキャッチ画像
Ideas and Alibis
Writing on Web Performance Consulting | TimKadlec.com
+Ideas and alibis are very much alike. Everyone has plenty of both. Some are good, and some are bad. The big difference is that while no one has a problem using alibis, very few are willing to consistently act on their ideas (me included).Excuses, ExcusesThere are several reasons why people tend to pass on acting on their own ideas. Some of the major ones are fear of criticism, fear of failure, self-doubt, or the feeling that there is not enough time. Based on these reasons, we can come up with a multitude of alibis for not pursuing these ideas.One that I commonly use is that the “time is not right”. I often tell myself that I should wait on acting on my ideas until sometime where the circumstances are better aligned for it. Sometime in the future when I have more of the knowledge necessary or where I have more time available to me; that’s when I’ll move forward on my ideas.The fact though, is that postponing ideas quickly becomes a habit. The truth is, there will always be more researc +
16年前
記事のアイキャッチ画像
Book Review: Object-Oriented Javascript
Writing on Web Performance Consulting | TimKadlec.com
+Who Wrote It?Object-Oriented Javascript is written by Stoyan Stefanov, a web developer at Yahoo. Stoyan’s thoughts on all things web can be found at phpied.com. He also runs a blog on iPhone development, and a site dedicated to Javascript design patterns at JSPatterns.com (it’s been quiet for quite awhile now, but I’m hoping to see it brought out of retirement).What’s Covered?Exactly what you’d expect given the title….object-oriented Javascript! Actually, the book covers a lot of information, starting with the basics (variables, loops, functions, etc.) all the way through to a few basic, albeit useful, design patterns.The book is very well written and its discussions precise. Stoyan doesn’t take a lot of time going through complex examples. Instead, he gives bite-size chunks for you to play with and expand upon. If you’re someone who prefers playing with concepts yourself over going through expanded examples in books, this book is right up your alley.While the book has chapters on the +
16年前
記事のアイキャッチ画像
We're Going Streaking
Writing on Web Performance Consulting | TimKadlec.com
+It’s April. The weather is starting to get nicer, Easter is around the corner…and hundreds of people are going streaking! No, you don’t have to be nervous about heading outside today. This kind of streaking is completely un-offensive (hopefully). Once again it’s time for the annual CSS Naked Day.CSS Naked Day is a way of promoting web standards by stripping off all the CSS on a site to show that by structuring your HTML in a way that is semantic and makes sense, your content is still useful even without all the pretty design. If you want more information, you can check out the official CSS Naked Day site, and the almost 400 participants.Don’t worry, this site will return to its regular design and layout on the 10th.
16年前
記事のアイキャッチ画像
SXSW 2009: In 350 Words or Less
Writing on Web Performance Consulting | TimKadlec.com
+I started working on a recap post of this year’s SXSW, and every time I did, it turned into a short novel. There’s a lot of exciting stuff that goes on there. Since few people, other than say…my mother, want to read about my trip in that much detail, I thought I should trim it down. So here is my recap, in 350 words or less:SXSW 2009If you’re going to talk about SXSW, the discussion will inevitably revolve around three topics: presentations, parties and people.PresentationsThis year, whether due to incredible content or the broadening of my interests, there were multiple presentations I wanted to see each session. Thankfully I feel like I chose wisely, as I can honestly say I enjoyed every presentation. Not equally necessarily, but each presentation had value that I could glean from it, and each held my attention.Parties EventsAs always, the parties were a fantastic opportunity to let loose and mingle with fellow web developers and designers. I always hesitate to call them parties thou +
16年前
記事のアイキャッチ画像
A Better Way to Get Educated
Writing on Web Performance Consulting | TimKadlec.com
+As you may remember, secondary education for web development and design is something that interests me greatly. I’ve mentioned before that the curriculum taught in most colleges tends to be dated and in need of definite help. Opera published their Web Standards Curriculum, and that was a great step in the right direction, but The Web Standards Project (WaSP) has taken it to an all new level with their recently launched InterAct Curriculum.WaSP’s InterAct Curriculum was specifically developed to help take some of the pressure off current educators in creating and maintaining a curriculum based on current industry standards. Thanks to the work of numerous educators and industry professionals, the InterAct Curriculum accomplishes that. The current, and initial, release contains 11 courses that fall into one of six general tracks:FoundationsFront-end DevelopmentDesignUser ScienceServer-side DevelopmentProfessional PracticesA Complete PackageThere’s a lot of work that went into the developm +
16年前
記事のアイキャッチ画像
Love It or Leave It
Writing on Web Performance Consulting | TimKadlec.com
+One of the highlights of SXSW this year for me personally, was being able to see a panel with Andy Budd of Clearleft, a person and company for whom I have the utmost respect. The panel was about usability testing and the tools you can use to better know your users, but one of the major takeaways I got had more to do with how to approach your job in general.The discussion that led to Budd’s little slice of wisdom revolved around how to get a company’s designers and developers together and interested in usability testing. One response was to entice a team with pizza and soda and make a day out of it. Budd’s response was that if you have to bribe your developers for them to take an interest in improving their products, then “hire better people”. As Budd said, “It’s everyones job to build better ****!” (Profanity excluded but I think it still makes the point!)Budd’s passion on the topic was inspiring, and the point he raised was an excellent one. Continually improving your skills, and ther +
16年前
記事のアイキャッチ画像
New Arrival
Writing on Web Performance Consulting | TimKadlec.com
+Things have been a bit silent around here lately, but I feel for a pretty good reason.As many of you who are on Facebook or Twitter no doubt already know, on February 7th my wife and I had our first child, a little baby girl. Little is a bit relative here…Naomi Adalyn was an ounce shy of 9 lbs and was 21” long. I wanted to get this post up a bit earlier, but as you can probably guess, she’s kept us quite busy.She’s very healthy, and both my wife and I are very happy (and a little tired!). Hopefully as we continue to get accustomed to our new schedules, I can get back to fairly regular postings.
16年前
記事のアイキャッチ画像
That Time of Year Again…
Writing on Web Performance Consulting | TimKadlec.com
+Last year I attended SXSW for the first time. I had said that I would try to recap the conference, but never really did that. Best laid plans of mice and men and all that. I haven’t really attended any other major conferences, so I don’t have much to compare it with, but the experience was fantastic.So fantastic, in fact, that thanks to the generosity of my employer and a little good luck, I am going to be attending again this year. There were a few lessons I learned while attending last years conference that I’m going to keep in mind this year, to hopefully glean even more value from SXSW.Plan LooselyLast year, I made the attempt to plot out, hour by hour, every panel that I was going to attend. The truth is, of all the panels I attended, maybe 50% were those that I had planned on. The rest of the time, whether due to how I was feeling at that particular instant, recommendations of people I met, or interests kindled by earlier conversations, I attended panels that in some cases, didn’ +
16年前
記事のアイキャッチ画像
SocialCorp: Social Media Goes Corporate
Writing on Web Performance Consulting | TimKadlec.com
+Who Wrote It?SocialCorp is written by Joel Postman, currently the Chief Enterprise Social Business Strategist at Intridea, a social app development company. Joel frequently blogs on social media marketing and other related topics at www.socializedpr.com.What’s Covered?In today’s web, a company’s online presence extends far beyond their website. Thanks to the rise of social communities like Facebook and Twitter, and the incredible reach a simple blog post can have, consumers are discussing company products and services, both positively and negatively, all over the web. This presents an incredible opportunity for companies to interact with their customers in ways that can feel a bit foreign to people accustomed to traditional marketing.That’s where SocialCorp comes in. Joel has written a fantastic book to give to anyone looking to get started in, or relatively new to using social media for marketing for corporate companies. Joel writes in a very engaging, conversational tone, and covers +
16年前
記事のアイキャッチ画像
Exploring Cross Document Communication
Writing on Web Performance Consulting | TimKadlec.com
+One of the new features that HTML5 offers web developers is a way to send information between documents on different sites via Javascript. Currently for security and privacy reasons, browsers prevent cross site scripting but with HTML5’s Cross Document Messaging, the intention is to allow documents to communicate with each other without sacrificing security.To experiment with these methods and events, you’ll need to be running either IE8, Firefox 3 or the WebKit Nightlies. Opera 9+ provides support as well, but they use an older version of the spec which required the postMessage method to be called from the document object instead of the window object.There are two key steps involved with HTML5 Cross Document Messaging. The first is posting the message. You do this by calling the window’s postMessage() function. The postMessage function takes two arguments: the message to be sent, and the target origin.Then, to receive the message in the other window, you need to watch for the window’s +
16年前
記事のアイキャッチ画像
Manageable CSS with CSSDOC
Writing on Web Performance Consulting | TimKadlec.com
+I’ve been very interested in finding better ways to create CSS stylesheets that are easy to navigate, understand and maintain. After leaving a stylesheet alone for awhile, if you didn’t take the time to organize the stylesheet originally, it’s really easy to forget why certain rules are being used, or where you defined styles for an area. One way of managing your stylesheets that’s got my attention is CSSDOC.CSSDOC was an idea apparently conceived sometime in 2007, and the Second Public Draft of the spec was just released on November 16th. The intent behind CSSDOC is to provide a standardized way of commenting CSS making use of the very well known DocBlock way of commenting source-code.DocBlock is a very common form of documenting source code in programming that has proven to be very popular for both PHP and Javascript. The beauty of the method is that it’s so simple to use DocBlock to organize your code and since it’s a standardized format, other developers will be familiar with it an +
16年前
記事のアイキャッチ画像
Microsoft Gives Microformats a Little Oomph!
Writing on Web Performance Consulting | TimKadlec.com
+Historically, it hasn’t been very often that I’ve been able to tip my hat to Microsoft for open web innovation. Today though is one of those times that I get to do so. John Allsopp, one of Microformats’s biggest supporters, mentioned today that Microsoft’s designer/developer community, Mix Online, has developed a IE toolbar called Oomph.Oomph, much like Operator in Firefox, pulls microformatted information from a page and allows the user to make use of this data by offering options like being able to export contact information, map addresses, and add events to your calendar.That would be enough in itself to get my attention…Microsoft has not typically been the most open of companies, and despite Gates’ declaration that the web needs Microformats, they really hadn’t done much to advance its’ use. Seeing their developer community get behind Microformats with the toolbar and a couple of nice Microformats articles is very encouraging.However, there’s more to this story. In addition to the +
16年前
記事のアイキャッチ画像
Font Equality for Everyone
Writing on Web Performance Consulting | TimKadlec.com
+One of the areas that web design is lacking in, is a way to reliably provide beautiful fonts for our designs. There’s a very limited amount of fonts that are actually safe to use on the web, because not everyone is a designer with lots of nice fonts installed on their machine. Sure, with font stacking we can help ease the pain a bit, but it’s still a small amount of people that will see the fonts we intend, with everyone else getting boring alternates.There are a few solutions currently being utilized across the web. The simplest, and also probably the worst option of them, is to use background images to display our custom fonts. This is not very ideal at all…every time we want to change the text on the site, we have to edit the appropriate background image. A couple less “needy” options are sIFR and FLIR. In both cases, Javascript is utilized to deliver the text in our desired font. sIFR uses Flash to make this happen and FLIR uses PHP. But we are still relying on Javascript to load t +
16年前
記事のアイキャッチ画像
Book Review: Mobile Web Development
Writing on Web Performance Consulting | TimKadlec.com
+Who Wrote It?Mobile Web Development is written by Nirav Mehta, the head of Magnet Technologies a software development firm in India. He blogs about a variety of business and tech topics at www.mehtanirav.com.What’s Covered?Mobile Web Development covers a wide variety of topics related to…guess what….mobile web development. Nirav does a fantastic job of introducing a wide variety of technologies needed to begin mobile web development including sending and receiving SMS and MMS messages, optimizing your site for mobile devices and using AJAX on the mobile web.The book, from Packt Publishing, takes a very solution-based approach. Each chapter, with the exception of the first and last, has a very specific task that it is concerned with accomplishing. Usually, I’m not too awful fond of the format. It often feels like such books aren’t teaching me a topic so much as giving me snippets of code I am comfortable with manipulating.This book, however, is an exception to that rule. Each chapter, i +
16年前
記事のアイキャッチ画像
The Canvas Element: Starting to Draw
Writing on Web Performance Consulting | TimKadlec.com
+Last time around, we took a general look at the canvas element and how it is supported (or not) in various browsers. This time, we’ll start to go into the element in a bit more detail and start to look at some the things we can do with it.A Quick Look at AttributesWe’ve already seen how to set up the canvas element in HTML:You’ve probably noticed that we’ve included an id attribute on our canvas element to make it easier for us to access the element in our Javascript. You can also apply other standard attributes like class, title or tabindex. Two other attributes, height and width, will also be used fairly regularly.You can define the height and width as attributes in the canvas element, or you can use CSS to define the dimensions of your element. If you use CSS, however, your canvas will scale to meet the dimensions you define instead of simply resizing the area. Neither height nor width are necessary, however. If you choose to not define the size of the canvas element, then it defaul +
16年前
記事のアイキャッチ画像
Getting Started with the Canvas Element
Writing on Web Performance Consulting | TimKadlec.com
+There’s a lot of really exciting and interesting features arriving just around the corner in the world of web development. One of the new features that is receiving a lot of attention, and for good reason, is the new canvas element. The canvas element offers a lot of power to web developers, but can take a bit for some people to get comfortable with. So, I’m going to run a series of posts introducing this powerful new feature, and showing some of the ways it can be utilized.What Is It, and Who Supports It?The canvas element was originally implemented in Safari, and then became standardized in the HTML5 specification. The element allows developers to dynamically draw onto a blank ‘canvas’ in a website. Thankfully, you don’t have to wait to play around with this element. Currently, you can find support for it in Firefox (version 1.5 and newer), Safari, or Opera (version 9 and newer). In addition, you can twist IE’s arm a bit thanks to Google and Mozilla. Google has created ExplorerCanvas +
16年前
記事のアイキャッチ画像
Living In Harmony
Writing on Web Performance Consulting | TimKadlec.com
+The big news in the Javascript community for the last week has been the announcement of ECMAScript Harmony. A lot of news is really just overblown, but this is a big development, and one that any Javascript developer should be following.Some BackgroundThere’s been a lot of talk in the Javascript community over the past 9 years or so about the development of ECMAScript 4, what was to be the foundation for what was being called Javascript 2. It was a controversial and fairly dramatic change from ECMAScript 3 (Javascript). There was going to be support for classes, inheritance, type annotations, namespaces…the whole flavor of the language was going to dramatically change.ECMAScript 4 was being developed primarily by Adobe, Mozilla, Opera and Google and was primarily based on the features those organizations wished to implement. Others, including Microsoft and Yahoo, found the proposed changes in ES4 to be to dramatic, and instead wanted to implement minor changes and bug fixes to ES3, lab +
16年前
記事のアイキャッチ画像
Undermining the Industry
Writing on Web Performance Consulting | TimKadlec.com
+It’s no secret that the web design industry is often not given the respect it deserves. People treat it as if it’s a much simpler task than it really is. Forgive me if I come off sounding a bit arrogant, but it seems like people seriously underestimate the work involved in creating a quality web site.One issue, for example, is people expecting to see comps of work without payment. It happens quite a bit, but it’s a ridiculous request. Do people ask mechanics to make the first couple of repairs on their car for free so they can get a feel for how they like working with them and then, based on that, decide whether or not to go with that mechanic and pay them? So why ask a web design company to create a few mock-ups first before deciding to actually pay them for their work?Then there’s beautiful journalism like the article posted yesterday in the Wall Street Journal telling companies how to build their own site with 8 hours of work and $10. Brilliant…because that’s all that goes into a qu +
16年前
記事のアイキャッチ画像
New Way to Store Custom Data
Writing on Web Performance Consulting | TimKadlec.com
+There’s a lot of interesting new features being suggested for HTML5 and XHTML2. Some of them are extremely useful, some of them seem to be more questionable additions. One feature being implemented in HTML5 that I do like is the addition of custom data attributes to HTML elements.Manage Your DataA custom data attribute is simply any attribute starting with the string “data-”. They can be used to store data that you want kept private to the page (not viewable by the user) in cases where there is no appropriate attribute available. Every element can have any number of custom data attributes.For example, consider a form validation script. The script needs to know what form of validation is required for each field. Currently, many of these scripts will use the class attribute to signal that.Making use of the new HTML5 custom data attributes, we might choose to store the information like this instead:To gain access to the value of the data-validation attribute, there are two options. First, +
16年前
記事のアイキャッチ画像
Excuses, Excuses
Writing on Web Performance Consulting | TimKadlec.com
+I did what I said I told myself I would never do…I only posted one item the entire month. I always told myself that if I was going to have a blog going, I was going to commit to it and ensure that the blog never went stale…there would always be fresh content on my site. I think I may have underestimated the wonderful curves that life throws out there!I do have what I feel are a few fairly good excuses for being quiet lately. I just recently purchased my first home, which my wife and I are quite excited by. It has kept us both busy moving and making some quick touch-ups and improvements. Even more exciting, we found out that my wife is pregnant with what will be our first child. Again…extremely excited, but I am finding that I am spending a fair amount of time ensuring that things are in place for when the little one arrives.Finally…I started a new job in June. It’s much more development heavy than my prior position and I’m enjoying it greatly. That being said, there was some time spent +
17年前
記事のアイキャッチ画像
Improving Web-Ed
Writing on Web Performance Consulting | TimKadlec.com
+One topic that I have been interested in for quite some time now is secondary education when it comes to web development and design. It is a very unfortunate truth that when it comes to web development, the curriculum is in serious need of some help.As a recently graduated student, I can reflect on both my training and the training of other people my age who attended other colleges for web development that I interacted with. Unfortunately, the majority of the people I’ve communicated with stated the same thing: standards based development was not presented as a priority. CSS was glossed over and there was little to no mention of the DOM and unobtrusive scripting techniques in the Javascript courses.Why Colleges Can’t Keep UpA large part of this is due to the fact that our industry moves so quickly. Progress is made at such an incredible pace and new technologies soon emerge while old ones fade away. In contrast, changing the curriculum at a college usually takes awhile, making it very +
17年前
記事のアイキャッチ画像
Elsewhere on the Web
Writing on Web Performance Consulting | TimKadlec.com
+Test Driven DevelopmentThere was a nice article at Sitepoint about Test Driven Development. The author, Chris Corbyn, walks through the TDD process using PHP examples, and describes some of the benefits he has discovered in the TDD process.Firefox 3 Memory Benchmarks and ComparisonWith both Firefox 3 and Opera 9.5 being freshly released, here’s a nice memory performance comparison of those browsers, as well as the IE Beta version 1 and Flock. The memory tests are computed by a custom built .NET application, and provide a good look at how these browsers compare in memory management on the Windows operating system.Sketching in Code: the Magic of PrototypingThe folks over at A List Apart offer us yet another excellent write-up. David Verba, Technology Advisor for Adaptive Path, takes a look at using prototypes in the web application development process, and what prototyping can offer that wireframes cannot.Same DOM Errors, Different Browser InterpretationsHallvord R. M. Steen of Opera off +
17年前
記事のアイキャッチ画像
A Better Way To Globalize
Writing on Web Performance Consulting | TimKadlec.com
+Lately I’ve been working quite a bit with some PHP code that made heavy use of global variables. It made the code quite rigid to work with…when changes were made in one function it had a ripple effect on many other key functions and more than once, made me curse global scope.But sometimes it’s necessary to share information between different functions, so what’s a programmer to do? Global variables certainly make that possible, but they also create some problems. Heavy reliance on global variables makes it difficult to reuse code. Rarely can we uproot functions with a large dependency on global variables and insert them into different contexts or scripts without problem.Debugging code also becomes difficult. When a variable is global in scope, it could be being instantiated virtually anywhere making it tough to track down. What’s even worse is coming back to that code after a year, or as it was in my case, trying for the first time to decipher code that relies on global variables.Lucki +
17年前
記事のアイキャッチ画像
Javascript: The Good Parts
Writing on Web Performance Consulting | TimKadlec.com
+Who Wrote It?When I first heard Douglas Crockford was writing Javascript: The Good Parts (let’s just call it JTGP from here on out) I was anxiously awaiting the release. Crockford has been responsible for many highly regarded articles and presentations, as well as for his incredible work with JSON, JSLint and much more. While Brendan Eich may be the father of Javascript, Crockford is probably the Godfather. Even Eich himself called Crockford “the Yoda of Lambda JavaScript programming.”What’s Covered?JTGP does as promised…it brings to attention the best parts of the Javascript language. Topics like Objects, Inheritance, Arrays, Functions and Regular expressions are discussed throughout the book. While focusing on the “good parts” of Javascript, Crockford also points out the not-so good parts and explains why these other parts don’t fall into the good category by pointing out caveats and pitfalls.I’ve seen it mentioned before that people complained about the book being a bit short. It we +
17年前
記事のアイキャッチ画像
Libraries and Frameworks
Writing on Web Performance Consulting | TimKadlec.com
+A question I get asked often through emails and other discussions is how I feel about frameworks and libraries, both for scripting and for CSS. I’ve been meaning to share my thoughts on it for awhile, and now that I see NetTuts.com has posted an article about choosing a CSS framework, I figured now is as good a time as any.Any of you who have been reading my site since the beginning might remember I wrote a post about the importance of forcing yourself to reinvent the wheel. I still stand by that, but that doesn’t mean I am entirely against all frameworks. In fact, in the case of scripting libraries, I can definitely see the value in using them. The key point is to be able to tell when to use a library and when not to.Why Should You?One nod for using libraries and frameworks is that reusable code is a good thing. It saves you time and money, and I think most developers have at least some amount of code that they reuse on various projects. I am all for that. We programmers are lazy…errr +
17年前
記事のアイキャッチ画像
Behavior in Your Presentation
Writing on Web Performance Consulting | TimKadlec.com
+I’ve spent some time lately playing around with the WebKit Nightly Build. In addition to having advanced CSS support, the nightly build also introduces a few new proprietary CSS properties (though the plan is to eventually get W3C to implement them in the CSS specification). There are some really cool features being implemented, including CSS gradients, masks and transforms. One new feature, CSS transitions, has me a little on the fence though.CSS transitions are definitely a cool idea. Using one simple line of CSS, we can specify how we want a particular style to change. For example, a very common thing to do with CSS is change a link’s color when hovered over. To do so, you just use the :hover pseudo-class like so:a{ color: blue;}a:hover { color: red;}Browsers make the color change immediately when a user hovers over the link. Using WebKit’s transition property, we can tell the browser to instead make a smooth transition. For example, to make the color slowly change from blue to red +
17年前
記事のアイキャッチ画像
Elsewhere on the Web
Writing on Web Performance Consulting | TimKadlec.com
+line-height: abnormalEric Meyer has a great write-up about how diverse the rendering of line-height: normal is across browsers. Complete with a test page that allows you to see what happens to the value of line-height normal as different fonts and font-sizes are selected.What’s Next in jQuery and JavaScriptJohn Resig of jQuery fame posted a nice 11 minute video where he talks about what is coming up for jQuery, Javascript, and some changes that are being made in browsers. Nice overview of what we have to look forward to on all counts.Initial Impressions of SilverbackA nice review of Silverback, the new user testing development tool created by the geniuses over at Clearleft. Personally, I haven’t had a chance to play with it yet, as it is only available for Macs and I am still laboring away on a PC. From everything I’ve heard though, looks like a fantastic tool.Content InventoryJust a bit more Clearleft love here. Andy Budd continues his series of posts looking at design artifacts with +
17年前
記事のアイキャッチ画像
Not As Clear As It Seems: CSS3 Opacity and RGBA
Writing on Web Performance Consulting | TimKadlec.com
+One of the many things CSS lets us control is the opacity of elements, starting in CSS3. The opacity property is in fact one of the earliest and most widely implemented CSS3 properties. It has its problems though, but CSS3 also defines a more powerful way to control an element’s transparency: RGBA values.The Opacity PropertyTo change the opacity of an element using the opacity property, you simply give it a value between 0 and 1 to determine the elements’ opacity. For example, if I want a div to be 50% transparent, I would give it the following style:`div {opacity: .5;color: #fff;background-color: #000;}This works fine in Safari, Opera, and Firefox. Internet Explorer, however, doesn't yet support the opacity property. Instead, we have to use their proprietary property Alpha Filter. It's really not any more difficult than the opacity selector. One key thing to note hear though is that the Alpha Filter requires you specify the opacity on a scale of 0 to 100. There's even a catch to that +
17年前
記事のアイキャッチ画像
An Objective Look at Javascript 2.0: Strong Typing
Writing on Web Performance Consulting | TimKadlec.com
+In our first look at the new features of Javascript 2.0, we will focus on the new typing system. We are just going to highlight some of the major changes and potential uses. For a more detailed look, take a look at the ECMAScript 4.0 Language Overview.Traditionally, Javascript is a loosely-typed language, meaning that variables are declared without a type. For example:`var a = 42; // Number declarationvar b = “forty-two”; // String declaration`Since Javascript is loosely typed, we can get away with simple ‘var’ declarations…the language will determine which data type should be used. In contrast, Javascript 2.0 will be strongly typed, meaning that type declarations will be enforced. The syntax for applying a given type will be a colon (:) followed by the type expression. Type annotation can be added to properties, function parameters, functions (and by doing so declaring the return value type), variables, or object or array initializers. For example:`var a:int = 42; //variable a has a t +
17年前
記事のアイキャッチ画像
Phantom CSS
Writing on Web Performance Consulting | TimKadlec.com
+At the heart of CSS, of course, are its selectors. They are after all what allow us to apply styles to a given element in our (X)HTML. Sometimes though, there is a desire to apply a style based on an elements state. That is where pseudo-classes come into play. You’ve probably all used them at some point…but there may be more there than you realize. Their value makes it worth taking a closer look.Static Pseudo-ClassesPseudo-classes allow us to apply an invisible, or “phantom”, class to an element in order to style it. For example, let’s look at the element most often styled using pseudo-classes: the anchor tag (). Some anchor tags point to locations a user has already viewed, and some point to locations the user has not yet visited. Looking at the document structure, we can’t tell this. No matter if the link is viewed or not, it looks the same in (X)HTML. However, behind the scenes, a “phantom” class is applied to the link to differentiate between the two. We can access this “phantom” c +
17年前
記事のアイキャッチ画像
An Objective Look at Javascript 2.0: Looking Back
Writing on Web Performance Consulting | TimKadlec.com
+There has been no shortage of debate over Javascript 2.0, based on ECMAScript 4.0. Some people are extremely excited about some of the new features being discussed, and some feel that Javascript 2.0 is shaping up to look a bit too much like Java or even C++ for their tastes.Whether you like the new features being proposed, think they’re silly and unnecessary, or have no idea what the heck I am talking about, I think it’s important to have a firm grasp on some of the changes being proposed. Doing so will help you to better understand both sides of the debate, and also help to prepare you for when Javascript 2.0 becomes available for use.There’s far too many changes and fixes to discuss them in one post, so this will be an ongoing serious of posts. I’ll be taking a look at what the new language provides us and why. Hopefully by taking a closer look at all the changes, we can get a better feel for how those changes affect both web developers and javascript in general. First though, we sho +
17年前
記事のアイキャッチ画像
Spring Cleaning
Writing on Web Performance Consulting | TimKadlec.com
+Overall, I’ve been quite happy with the feedback gotten about the site so far. It’s still quite young however, and therefore, there are a few changes that I thought needed to be made to help it continue to grow, and hopefully make it easier for readers to find and use the content here. For anyone interested, I thought I would highlight the changes.First off, I’ve increased the focus on past posts. I decided to add a listing of the latest posts to each page, as well as a listing of the most popular posts on the site in terms of views. The idea here is to hopefully make it easier for you to find earlier posts that you may have missed that may still be worth a look.I also decided to add full RSS feeds. I have heard a lot about the debate between partial and full feeds and wasn’t sure at first how to proceed with them. Up to now, I had just been offering partial feeds. I am still keeping those, for any of you who do prefer them but I am also offering an RSS feed with the full posts in them +
17年前
記事のアイキャッチ画像
It’s Good to Be Wrong
Writing on Web Performance Consulting | TimKadlec.com
+Being wrong is a good thing. I know…I know…we’ve been told our entire lives that it’s better to be right than wrong. I think, though, that in the design/development industry, it’s good to be wrong sometimes.Always being right means we’re not challenging ourselves enough. It means that either we’ve become comfortable and content with where we are at with our skills, or that there is no one challenging us to improve those skills. In either case, we’re not progressing.If we’re wrong, it means we’re pushing ourselves to explore our limits, to continue to expand our skill set. Being wrong opens the door for constructive criticism, which in turn leads to opportunities to learn. People who are willing to tell us when we’re wrong are the kind of people we should be surrounding ourselves with…they’re the kind of people who challenge us to become better designers and developers.One quote, that I believe sums it up pretty well, is by Bill Buxton a Principal Researcher at Microsoft. In his book “S +
17年前
記事のアイキャッチ画像
Book Review: Pro JavaScript Design Patterns
Writing on Web Performance Consulting | TimKadlec.com
+NOTE: This is the first book review to be featured here. The idea is that I will frequently review web-related books to hopefully help give you an idea of whether or not a book is right for you. The books reviewed will all be somehow related to web development or design so you will never hear me tell you how much I enjoyed Stephen King’s Dark Tower series or Napoleon’s Pyramids by William Dietrich….except for right now of course.Who Wrote It?Pro JavaScript Design Patterns is written by Ross Harmes and Dustin Diaz. Ross is a front-end engineer from Yahoo! and blogs (albeit not for awhile) about random tech topics at techfoolery.com. Dustin works for Google as a user interface engineer. You can find Dustin’s musings about web development topics at dustindiaz.com. This is the first book by either author.What’s covered?Pro Javascript Design Patterns is about…well, applying design patterns in Javascript of course. Design patterns are reusable solutions to specific, common problems that occu +
17年前
記事のアイキャッチ画像
More Manageable, Efficient Code Through 5S
Writing on Web Performance Consulting | TimKadlec.com
+Sometimes code turns ugly. We add quick fixes or enhancements and our code starts to become a big tangle of functions that aren’t laid out in any sort of organized fashion. Over time, our code becomes bloated, difficult to maintain and what should be simple little fixes can quickly turn into long walks through messy syntax. One way of combating this is by implementing the 5S System.The 5S System is actually a Japanese improvement process originally developed for the manufacturing industry. Each of the five words when translated to English began with ’S’ hence we call it the 5S System. Like many good philosophies however, the 5S System can apply to a variety of topics. For example, the 5S System has been applied by the Hewlett-Packard Support Center in a business context and has resulted in improvements like reduced training time for employees and reduced call-times for customers. By using the system applied to coding, we can make our code more efficient and much easier to maintain.Seir +
17年前
記事のアイキャッチ画像
Hats Off To Opera
Writing on Web Performance Consulting | TimKadlec.com
+Well that didn’t take long. It was just announced today that Opera’s developers have received the first 100⁄100 test score on the new Acid 3 test. There is apparently a small rendering glitch they still need to take care of, but this is really incredible progress considering the test was just formally announced on March 3rd.The Acid test, for those unaware, is a test page set up by the Web Standards Project (WASP) to allow browsers to test for compliance with various standards. The test runs 100 little mini-tests, and to score 100, you need to obviously pass all 100 of the tests. The first Acid test was set up in 1998 and checked for some basic CSS 1.0 compliance. Acid 2 came around in April of 2005 and tested for support for things like HTML, CSS2.x and transparent PNG support. The new Acid 3 test checks for support for CSS3 selectors and properties, DOM2 features and Scalable Vector Graphics (SVG) among other things.It should come as no surprise that Opera was one of the first to suc +
17年前
記事のアイキャッチ画像
Getting Started With ARIA
Writing on Web Performance Consulting | TimKadlec.com
+Finding purely static websites today is becoming harder and harder. The line between website and web application blurs more and more as clients want more interactivity and real-time interaction on their site. This rich experience raises accessibility concerns though.To create a lot of these dynamic interfaces, we often have to use (X)HTML elements outside of their semantic meaning. For example, navigation is marked up using list-items. That is all fine and well for a sighted visitor…we can see that the list is meant to be navigation. However, to a non-sighted user who is relying on a screen reader to determine the usage of elements on a site, it is difficult at best to determine that the list is used as a navigation structure.That is where Accessible Rich Internet Applications (ARIA) come into play. ARIA offers attributes that we can use to add semantic meaning to elements. One of those is the role attribute.Add Some InformationRoles provide information on what an object in the page is +
17年前
記事のアイキャッチ画像
Respecting What You Don't Understand
Writing on Web Performance Consulting | TimKadlec.com
+While at SXSW, I had the privilege of attending a panel called Respect! During the panel, Jason Santa Maria made a comment that really struck me. He said that it’s “difficult to respect what I don’t understand”.How very true. Respecting what we don’t understand is if not impossible then extremely hard to do. Without some sort of knowledge of the process and steps involved in arriving at the solution, how can we really respect the work required to make the solution? I think this comes into play when working with both clients and co-workers.As far as clients go, the solution involves making sure good communication takes place between you and the client. I think involving the client early and often helps to build respect and knowledge of what you do. If we meet with the client about a project, then hand them a design some time later, they are not going to have any idea of the process involved. To them, it’s like delayed magic…they ask us to come up with a design, and viola, we come up wit +
17年前
記事のアイキャッチ画像
Quicker DOM Traversing with CSS Selectors
Writing on Web Performance Consulting | TimKadlec.com
+After looking at XPath and how it can be used to quickly traverse the document tree, I also thought I’d take a look at the W3C Selectors API as it kind of falls in that same line. At this point, it none of the major browsers support it. However, any WebKit build (Safari’s engine) since February 7th supports it, and it looks like IE8 will be supporting it as well. I’d be eager to hear if anyone knows where Opera and Firefox stand on getting it going here in the future.The Selectors API allows us to utilize CSS (1-3) selectors to collect nodes from the DOM. This is actually quite a common enhancement in a lot of Javascript libraries….CSS selectors are a very efficient and powerful way to quickly look up nodes, and since most people are familiar with CSS syntax, it is very user friendly. The Selectors API offers native browser support for CSS selectors using the querySelector and querySelectorAll methods.The querySelector method as defined by the W3C returns the first element matching the +
17年前
記事のアイキャッチ画像
SXSW Anticipation and Twitter
Writing on Web Performance Consulting | TimKadlec.com
+After having been signed up to attend since early October, it just dawned on me yesterday that I only have one full “work week” left until SXSW. This will be my first major web conference, and to say I am excited about going is a vast understatement. I believe my wife is probably looking forward to it as much as I am, if only for the fact that once it is over she no longer has to hear every little update from me about panel programming and new social events.I can only imagine that being surrounded by that many people who are passionate about the web for 5 days will be quite inspiring and reinvigorating. While this is the first conference I will be attending, I hope that there will be many more.In fact, ideally I’d like to go to several each year. Listening to the presentations and having the chance to mingle with other web-minded folk seems to me an incredible way to keep in tune with the trends of the industry, and an effective way to find new techniques or skills to pursue.After havi +
17年前
記事のアイキャッチ画像
XPath in Javascript: Predicates and Compounds
Writing on Web Performance Consulting | TimKadlec.com
+Welcome to the second part of my look at XPath and how it can be used in Javascript. Part one served as a real basic introduction to what XPath is, how it can traverse the document tree, and an introduction to using XPath expressions in Javascript using the evaluate method. So far what we have seen is really basic. There is some value in it, but we can build much more robust expressions with a bit more knowledge.Getting More Detailed with CompoundsSo far, we haven’t dealt with any compound location paths…each of our expressions has just gotten nodes that are direct children of the context node. However, we can continue to move up and down the document tree by combining single location paths. One of the ways we can do this (and this should look quite familiar to anyone who has moved through directories elsewhere) is by using the forward slash ‘/’. The forward slash continues to move us one step down in the tree, relative to the preceding step.For example, consider the following:myXPath +
17年前
記事のアイキャッチ画像
XPath in Javascript: Introduction
Writing on Web Performance Consulting | TimKadlec.com
+As reported by John Resig, Prototype, Dojo, and Mootools have all switched their CSS Selector engines to be using XPath expressions instead of traditional DOM methods. With the attention being placed on XPath expressions, now is a good time to get familiarized with them and what they can accomplish.This is going to be a multi-post series, as there is just so much you can accomplish by using XPath expressions that if I tried putting it into one post, no one would have the time to sit and read the whole thing.What is XPath?Any of you out there who are familiar with XSLT will no doubt be familiar with the XPath language. For the rest of you, XPATH is used to identify different parts of XML documents by indicating nodes by position, relative position, type, content, etc.Similar to the DOM, XPath allows us to pick nodes and sets of nodes out of our XML tree. As far as the language is concerned, there are seven different node types XPath has access to (for most Javascript purposes the first +
17年前
記事のアイキャッチ画像
Share Your Site with the Masses
Writing on Web Performance Consulting | TimKadlec.com
+Originally, it was never going to get this complex. The internet was never meant to be this popular. However, as time has gone by and this wonderful beast of resource has evolved, it is becoming important to be able to provide our content to a wide variety of devices. In addition to simply viewing a site on a computer screen, or printing it, our information may be accessed by Braille feedback devices, speech synthesizers, handheld devices, etc. More often than not, one set of styles will not be adequate to provide our content optimally to each of these devices. That is where media types come into play.Media types can be extremely useful. For example, there is very little reason to display a site’s navigation on a print-out. Using the print media type, we can then set up a style that hides our navigation section. Handheld devices which have very small screens and often low-bandwidth, may benefit from not displaying a bunch of images.CSS 2 offered us 10 media types as a way to designate +
17年前
記事のアイキャッチ画像
It's All in the Details
Writing on Web Performance Consulting | TimKadlec.com
+When coding and designing there are a lot of steps and techniques that may seem trivial and appear to have little importance in the grand scheme of things. Does it really matter if we are using meaningful names for our variables in our code, or for our CSS id’s and classes? Who really cares if we use deprecated elements in our X/HTML so long as browser recognize them? So what if I am not consistently formatting my code the same way?I am a huge fan of basketball, and find the history of the game particularly enjoyable. One of the basketball figures from the past that I have always admired the most was John Wooden, who coached the UCLA basketball team to 10 NCAA national titles, including 7 in a row at one point. He had four 30-0 seasons, and at one point his team won 88 consecutive games. Point being…the man was quite good at his job.Each year, Wooden started out his season by having all of his players come into the locker room for his first lesson. He’d sit them all down, then pull out +
17年前
記事のアイキャッチ画像
Detailed Look at Stacking in CSS
Writing on Web Performance Consulting | TimKadlec.com
+Using the z-index to affect stacking order in CSS is a much deeper topic than it may appear at first. The idea seems quite simple, but if we take a look we can see that there is actually quite a bit going on here that warrants a closer examination.Most of the time, stacking order just kind of works behind the scenes and we don’t really pay any attention to it. However, once we use relative or absolute positioning to move an object around the screen, we will end up with several elements occupying the same space. Which element is displayed on top is determined by the elements stacking order. We can adjust an elements stacking order by using the z-index property.The z-index is so named because it affects an elements position along the z-axis. The z-axis is the axis that goes from front to back from the user. If we think of the x-axis and y-axis as height and width, then z-axis would be the depth. The higher the z-index of an element, the closer it becomes to the user, and the lower the z- +
17年前
記事のアイキャッチ画像
Develop for the Next Guy
Writing on Web Performance Consulting | TimKadlec.com
+All developers at one point or another will have to work with code that they didn’t develop. Whether we are replacing the person who created the application, or simply trying to work on a project developed by someone else in house, this is always a bit of an interesting experience. It becomes necessary to familiarize ourselves with the existing coding techniques used on the project so that we can quickly edit and maintain it for our purposes.Unfortunately, this is often a total mess of a job. The code we have to work with is often quite long, poorly documented, looks like ancient Greek, and leaves us angrily spewing silent (perhaps in some cases not so silent) insults at whoever the poor person was who created this mess. Not only does this leave us frustrated, but it also can frustrate our employers, as projects that should’ve been easily taken care of now require much more time and effort.Here then, are a few practices you can start using now to ensure that the next guy working on you +
17年前
記事のアイキャッチ画像
IE's Questionable Version Targeting
Writing on Web Performance Consulting | TimKadlec.com
+There has been an awful lot of talk around the web community about Microsoft’s new feature in IE8 - version targeting. Initially, I hated the idea. However, instead of jumping in blindly, I thought it deserved a more detailed look on my part.What Is It?Version targeting, as proposed by Microsoft, will use a X-UA-Compatible declaration, either via a META tag or as a HTTP header on the server, to determine which rendering engine the page will be displayed in. For example, the META tag below will tell IE to use the IE8 rendering engine to display the page:If IE8 comes across a site that doesn’t have this declaration either in a META tag or as a HTTP header, than it will render the page using IE7’s rendering engine. This idea is not entirely new. DOCTYPE declarations have been switching IE browsers from ‘quirks mode’ to Web Standards mode since, I believe, IE6. There were some limitations with this. While using a DOCTYPE ensured standards mode, there is a definite difference in what standa +
17年前
記事のアイキャッチ画像
Display a Link's Href When Printing
Writing on Web Performance Consulting | TimKadlec.com
+Using print stylesheets are a nice way to enhance a user’s experience of a site. Our screen stylesheets don’t necessarily turn out that nicely when printed out, so using a few different CSS rules on our print stylesheet we can increase readability and usability.One of those nice features we can add is to display a link’s href directly after the link on our print-outs. This will allow someone who has printed out the page to still be able to know where the links on the page are pointing to. We can do this with CSS by using the :after psuedo-class and some generated content. a[href]:after{ content: " [" attr(href) "] ";}There are really four important parts of the statement above:a[href]: Here, we use an attribute selector to select all links in our page with an href attribute.:after: The :after pseudo-class allows us to insert some content after the links and style it if necessary.content: This is what actually generates the content. We could just insert, for example, the letter “a” with +
17年前
記事のアイキャッチ画像
Branching Out
Writing on Web Performance Consulting | TimKadlec.com
+Utilizing branching in Javascript can allow us to create more efficient code. Branching essentially allows us to create “conditional” functions at run-time so we don’t have to keep running the same verifications each time a function is called. That last sentence is probably as clear as mud, so let’s take a look at an example.A very common check to perform is whether a browser supports the getElementById() method, like so: if (!document.getElementById) return;var myContainer = document.getElementById('container');That is just a very simple verification. We check to see if the browser recognizes the getElementById() method. If it doesn’t, we quit what we are doing and don’t go any further. If it does, we continue on with our code. It can be quite annoying to have to type out document.getElementById each time you have to use it, so let’s create a shorter helper function. var id = function(attr){ if (!document.getElementById) return undefined; return document.getElementById(attr);}var myCo +
17年前
記事のアイキャッチ画像
Don't Be Ashamed of Your Code
Writing on Web Performance Consulting | TimKadlec.com
+I came across a post the other day by Guy Davis about 3 Levels of Programmers. In it, he stated that programmers fall into one of 3 Levels, the Good, the Lazy, and the Bad. According to his post, the bad are those that say “I can do that myself!”, and then create a solution that is rather messy. The lazy are those that don’t build from scratch and instead find existing solutions. The good are those who are the ones creating the frameworks and libraries.While he admits in his comments that he was mainly venting against as he calls them “weak build-it-yourselfers” I thought it brought up an unfortunate opinion that at times seems to rise up in this industry. Now please note, I am not trying to pick on Guy Davis at all. There are some very valid points raised in his post, and as I stated before, he does admit he was mainly venting. I am sure all of us have vented about such things before.Developers sometimes give a cold shoulder to developers whose code is not up to par. This is an unfair +
17年前
記事のアイキャッチ画像
Getting Specific With CSS
Writing on Web Performance Consulting | TimKadlec.com
+One very fundamental and integral part of CSS is understanding specificity. Understanding this basic concept can help to make your CSS development, and more specifically (no pun intended) your troubleshooting go more smoothly.Every rule in CSS has a specificity value that is calculated by the user agent (the web browser for most web development purposes), and assigned to the declaration. The user agent uses this value to determine which styles should be assigned to an element when there are more than one rule for that particular element.This is a basic concept most of us have at least a general understanding of. For example, most developers can tell you that the second declaration below carries more weight than the first: h1{color: blue;}h1#title{color: red;}If both styles are defined in the same stylesheet, any h1 with an id of ‘title’ will of course be red. But just how is this determined?Calculating SpecificitySpecificity in CSS is determined by using four number parts. Each type of +
17年前
記事のアイキャッチ画像
Using Prototypes in Javascript
Writing on Web Performance Consulting | TimKadlec.com
+As mentioned in my previous post, I think using prototypes is powerful enough to deserve a more detailed explanation. To start off, let me say we are talking about the prototype method here, not the JavaScript library.Prototypes allow you to easily define methods to all instances of a particular object. The beauty is that the method is applied to the prototype, so it is only stored in the memory once, but every instance of the object has access to it. Let’s use the Pet object that we created in the previous post. In case you don’t remember it or didn’t read the article (please do) here is the object again: function Pet(name, species){ this.name = name; this.species = species;}function view(){ return this.name + " is a " + this.species + "!";}Pet.prototype.view = view;var pet1 = new Pet('Gabriella', 'Dog');alert(pet1.view()); //Outputs "Gabriella is a Dog!"As you can see, by using simply using prototype when we attached the view method, we have ensured that all Pet objects have access t +
17年前
記事のアイキャッチ画像
An Introduction to Classy Javascript
Writing on Web Performance Consulting | TimKadlec.com
+Let me first tell you the why and then I will explain the what. By using classes in Javascript, you will notice a couple immediate benefits:Custom classes make your code more reusable. If many of your applications use a similar functionality, you can define a class to help and facilitate that functionality. Now you can just use your new class in multiple projects to provide the common functionality. For example, let’s say you create a custom accordion effect. If you use classes to define the effect you can use the same code to provide the same effect on another page simply by utilizing the class you created.Using classes helps to organize your code. If you are using classes, you will see that instead of just one really long piece of code, your code will become broken into smaller pieces of related methods and properties. This will make your coding easier to maintain and troubleshoot.So what is this terrific sounding little tool and how do we use them? A class is used to define a common +
17年前
記事のアイキャッチ画像
A Less Painful CSS Experience
Writing on Web Performance Consulting | TimKadlec.com
+CSS can be a tricky little fellow. It’s easy to learn, but difficult to master. There are, after all, 122 CSS Level 2 Properties. Add to that pseudo-classes, selectors, inheritance, and specificity, and you have yourselves quite a bit of information to try and remember. Here are a few things that have made CSS development a little smoother for me, and hopefully they can do the same for you.Know the common bugsDifferent browsers will handle CSS differently. This is something every CSS developer learns early on, sometimes painfully. Make sure when you come across a bug you force yourself to take a few minutes to look into it and gain an understanding of what is causing the problem. You will be surprised by how few fancy CSS hacks you will have to resort to if you know how to dodge the problems in the first place.Check your work oftenAfter every couple rules you put into your stylesheet, you should be checking each browser you have access to so you can see what effect the rule had on the +
17年前
記事のアイキャッチ画像
A Microsoft Christmas Miracle
Writing on Web Performance Consulting | TimKadlec.com
+Just in time for the holiday season, Microsoft has let it be known that IE8 (due out sometime in 2008) passes the Acid 2 test in standards mode. This is excellent news for web developers, and quite refreshing to hear coming from the same people who said passing the Acid 2 test simply wasn’t a priority for IE7.For those of you who may be unaware, Acid 2 is a test page for web browser vendors set up by the Web Standards Project (WASP). The intention was for the Acid 2 test to be a tool for browser vendors to use to make sure their browsers could handle some features that we as web developers would love to use. It’s a pretty intense little test. If your curious, the WASP walks you through each of the items that Acid 2 tests for.The timing for Microsoft couldn’t have been any better. This announcement comes right after Opera announced they were filing a complaint against Microsoft for their lack of standards compliance.Now just because a browser actually passes the test doesn’t guarantee i +
17年前
記事のアイキャッチ画像
Reinvent the Wheel
Writing on Web Performance Consulting | TimKadlec.com
+A lot of people will tell you not to try and reinvent the wheel. If a script has been written, or a styling effect developed that accomplishes what you want, why spend time trying to create the effect yourself?I can see their point, and in some situations, I agree. If you are on a tight deadline for a project, you often don’t have time to develop that functionality from scratch, and it therefore makes more sense to adapt the structure already developed by someone else.I do feel, however, that web developers do need to try and create an effect from scratch when they have the opportunity. There are a couple reasons why I feel this is the case.First off, by forcing yourself to create that layout using CSS, or that form validation script in Javascript from scratch, you force yourself to analyze and learn the intricacies of the language you are dealing with. This knowledge will help to increase your understanding of both the concepts and techniques involved in arriving at a solution for the +
17年前
記事のアイキャッチ画像
One Clear to Rule Them All
Writing on Web Performance Consulting | TimKadlec.com
+One really common situation for web developers to run into is how to properly clear their floats. There are numerous approaches that have been discussed and used, but only recently have I come across a method that I believe is superior to the rest of the ones I had used up to now. In this post, we will first take a look at the problem caused by floats, and then we will look at some of the ways of fixing that problem.There are some simple styles that will stay consistent throughout the examples:The problem is that when you float an item, you are taking it out of the normal flow of the document, so other elements on the page act as if the floated element is not there. You can see this below (I am using white on black in my examples so they stand out more):As you can see, #wrap doesn’t see .main or .side because they are floated, so our border doesn’t extend down. There are numerous proposed solutions to this problem.Extra MarkupOne method that is tried and true, is to add another element +
17年前
記事のアイキャッチ画像
All For One Or One For All
Writing on Web Performance Consulting | TimKadlec.com
+Most of us who are just starting in Javascript and more specifically working with the DOM, can probably write some simple scripts using event handlers. However, there is a more memory efficient method that someone relatively new to Javascript (heck, even some people who have been doing this awhile) might not be aware of - event delegation.Lucky for us, event delegation is not overly complex, and the jump from using event handlers to using event delegation can be made relatively easily.Let’s start by creating a simple script using event handlers, and then recreate it using event delegation. What we want from our simple script, is that whenever a link is clicked on inside of a specified list, we will get the ‘href’ of the link alerted for us.First, we will set up the markup. Nothing fancy to see here, just a list with an id of ‘links’ which will serve as our hook.Now we can write a simple script that will go through and add an onclick event handler to each of the links in the list. (Note +
17年前
記事のアイキャッチ画像
CSS, XHTML and Javascript...Oh My!!
Writing on Web Performance Consulting | TimKadlec.com
+Congratulations! You have managed to stumble across my first attempt at having a personal site. While the site is admittedly a bit short on content right now, my goal is for this to eventually turn into a fairly interesting place to visit on a regular basis. Be patient, Rome as they say, was not built in a day.What can you expect…well, there will be many conversations about what I have learned or come across in the world of web development. In particular, you should eventually see information on things like CSS, XHTML, Javascript, and so on.There will be some personal updates mixed in I am sure, but I think it is fair to say that the vast majority of posts will be informative and educational in nature.This is a custom built blog system, so if anything is quirky, or some feature that you feel is seriously important is not here (other than pretty permalinks, they’ll be coming soon), please feel free to let me know.So stay tuned and hopefully I will have something a little more interestin +
17年前
\ No newline at end of file diff --git a/blogs/6914faa6b1a415efd14ddfb898c006ff/index.html b/blogs/6914faa6b1a415efd14ddfb898c006ff/index.html new file mode 100644 index 000000000000..1f13648743c5 --- /dev/null +++ b/blogs/6914faa6b1a415efd14ddfb898c006ff/index.html @@ -0,0 +1,11 @@ +vlt /vōlt/ - blogのフィード|JSer.info Watch List RSS

vlt /vōlt/ - blog

https://blog.vlt.sh

Dedicated blog for vlt design, engineering & thoughts

フィード

記事のアイキャッチ画像
HalfStack Phoenix Recap
はてなブックマークアイコン 1
vlt /vōlt/ - blog
Recapping the HalfStack Phoenix conference.
4日前
+
記事のアイキャッチ画像
NodeConf EU and Collab Summit Recap
vlt /vōlt/ - blog
Recapping the vlt team's week in Ireland.
3ヶ月前
記事のアイキャッチ画像
+Introducing the vlt Package Manager & Serverless Registry
vlt /vōlt/ - blog
Announcing our foundational Package Manager Client & Serverless Registry.
3ヶ月前
記事のアイキャッチ画像
Making Open Source More Sustainable
vlt /vōlt/ - blog
vlt joins Sentry, Astral, Val Town & more in contributing back to the open source ecosystem!
4ヶ月前 +
記事のアイキャッチ画像
vlt i @lukekarrys
vlt /vōlt/ - blog
Luke Karrys joins vlt!
8ヶ月前
記事のアイキャッチ画像
Collision Conf 2024: Join vlt in Toronto!
+vlt /vōlt/ - blog
Join vlt in Toronto for Collision Conf 2024!
8ヶ月前
記事のアイキャッチ画像
Introducing our team, investors & more...
vlt /vōlt/ - blog
We put together an incredible team, with top-notch investors & a bold product vision.
1年前
記事のアイキャッチ画像
The massive bug at the heart of the npm ecosystem
vlt /vōlt/ - blog
An article detailing the massive bug at the heart of the npm ecosystem; encompassing a lack of validation by the public registry, package manifest inconsistancies & assumptions about package managers & security products
2年前
\ No newline at end of file diff --git a/blogs/6a7d16fd8d9bf28f9e7144d19ed1588d/index.html b/blogs/6a7d16fd8d9bf28f9e7144d19ed1588d/index.html new file mode 100644 index 000000000000..bb2742af35bf --- /dev/null +++ b/blogs/6a7d16fd8d9bf28f9e7144d19ed1588d/index.html @@ -0,0 +1,15 @@ +Read the Tea Leavesのフィード|JSer.info Watch List RSS

Read the Tea Leaves

https://nolanlawson.com

Software and other dark arts, by Nolan Lawson

フィード

記事のアイキャッチ画像 +
Goodbye Salesforce, hello Socket
Read the Tea Leaves
Big news for me: after 6 years, I’m leaving Salesforce to join the folks at Socket, working to secure the software supply chain. Salesforce has been very good to me. But at a certain point, I felt the need to branch out, learn new things, and get out of my comfort zone. At Socket, I’ll […]
21日前
記事のアイキャッチ画像
2024 book review
Read the Tea Leaves
2024 was another lite reading year for me. The fact that it was an election year probably didn’t help, and one of my resolutions for 2025 is to spend a heck of a lot less time keeping up with the dreary treadmill of the 24-hour news cycle. Even videogames proved to be a better use […]
1ヶ月前
記事のアイキャッチ画像
+Avoiding unnecessary cleanup work in disconnectedCallback
Read the Tea Leaves
In a previous post, I said that a web component’s connectedCallback and disconnectedCallback should be mirror images of each other: one for setup, the other for cleanup. Sometimes, though, you want to avoid unnecessary cleanup work when your component has merely been moved around in the DOM: This can happen when, for example, your component […]
2ヶ月前
記事のアイキャッチ画像
Why I’m skeptical of rewriting JavaScript tools in “faster” languages
Read the Tea Leaves
I’ve written a lot of JavaScript. I like JavaScript. And more importantly, I’ve built up a set of skills in understanding, optimizing, and debugging JavaScript that I’m reluctant to give up on. So maybe it’s natural that I get a worried pit in my stomach over the current mania to rewrite every Node.js tool in […]
4ヶ月前
記事のアイキャッチ画像
The greatness and limitations of the js-framework-benchmark
Read the Tea Leaves
I love the js-framework-benchmark. It’s a true open-source success story – a shared benchmark, with contributions from various JavaScript framework authors, widely cited, and used to push the entire JavaScript ecosystem forward. It’s a rare marvel. That said, the benchmark is so good that it’s sometimes taken as the One True Measure of a web […]
4ヶ月前
記事のアイキャッチ画像
+Web components are okay
Read the Tea Leaves
Every so often, the web development community gets into a tizzy about something, usually web components. I find these fights tiresome, but I also see them as a good opportunity to reach across “the great divide” and try to find common ground rather than another opportunity to dunk on each other. Ryan Carniato started the […]
4ヶ月前
記事のアイキャッチ画像
Improving rendering performance with CSS content-visibility
Read the Tea Leaves
Recently I got an interesting performance bug on emoji-picker-element: I’m on a fedi instance with 19k custom emojis […] and when I open the emoji picker […], the page freezes for like a full second at least and overall performance stutters for a while after that. If you’re not familiar with Mastodon or the Fediverse, […]
5ヶ月前
記事のアイキャッチ画像
The continuing tragedy of emoji on the web
Read the Tea Leaves
Pop quiz: what emoji do you see below? [1] Depending on your browser and operating system, you might see: The flag of Martinique The old flag of Martinique (which kinda looks like the Quebecois flag) The enigmatic initials “MQ” This, frankly, is a mess. And it’s emblematic of how half-heartedly browsers and operating systems have […]
5ヶ月前
記事のアイキャッチ画像
Reliable JavaScript benchmarking with Tachometer
Read the Tea Leaves
Writing good benchmarks is hard. Even if you grasp the basics of performance timings and measurements, it’s easy to fool yourself: You weren’t measuring what you thought you were measuring. You got the answer you wanted, so you stopped looking. You didn’t clean state between tests, so you were just measuring the cache. You didn’t […]
6ヶ月前
記事のアイキャッチ画像
Is it okay to make connectedCallback async?
Read the Tea Leaves
One question I see a lot about web components is whether this is okay: The answer is: yes. It’s fine. Go ahead and make your connectedCallbacks async. Thanks for reading. What? You want a longer answer? Most people would have tabbed over to Reddit by now, but sure, no problem. The important thing to remember […]
6ヶ月前
\ No newline at end of file diff --git a/blogs/6b0c8ca27383ca12dd87f40b8a670cd6/index.html b/blogs/6b0c8ca27383ca12dd87f40b8a670cd6/index.html new file mode 100644 index 000000000000..a85ad2ccdaa7 --- /dev/null +++ b/blogs/6b0c8ca27383ca12dd87f40b8a670cd6/index.html @@ -0,0 +1,75 @@ +Modern CSS Solutionsのフィード|JSer.info Watch List RSS

Modern CSS Solutions

フィード

記事のアイキャッチ画像
Providing Type Definitions for CSS with @property
Modern CSS Solutions
+A cross-browser feature as of the release of Firefox 128 in July 2024 is a new at-rule - @property - which allows defining types as well as inheritance and an initial value for your custom properties.We'll learn when and why traditional fallback values can fail, and how @property features allow us to write safer, more resilient CSS custom property definitions.Standard Use of Custom Properties#Custom properties - aka "CSS variables" - are useful because they allow creating references to values similar to variables in other programming languages.Consider the following scenario which creates and assigns the --color-blue property, which then is implemented as a class and applied to a paragraph.CSS for "Standard use case for custom properties":root { --color-blue: blue;}.color-blue { color: var(--color-blue);}I'm blue dabadeeThe paragraph renders as blue. Excellent! Ship it.Common Error Conditions Using Custom Properties#Now, you and I both know that "blue" is a color. And it also may seem +
7ヶ月前
記事のアイキャッチ画像
12 Modern CSS One-Line Upgrades
Modern CSS Solutions
+Sometimes, improving your application CSS just takes a one-line upgrade or enhancement! Learn about 12 properties to start incorporating into your projects, and enjoy reducing technical debt, removing JavaScript, and scoring easy wins for user experience.Properties are explored for the following categories:Stable Upgrades: fix a hack or issue by replacing older techniquesStable Enhancements: provide an improved experience with well-supported modern propertiesProgressive Enhancements: provide an upgraded experience when these properties are supported without causing harm in unsupporting browsersStable Upgrades#The following well-supported properties can help fix a hack or long-standing issue by replacing older techniques.aspect-ratio#Have you ever used the “padding hack” to force an aspect ratio such as 16:9 for video embeds? As of September 2021, the aspect-ratio property is stable in evergreen browsers and is the only property needed to define an aspect ratio.For an HD video, you can +
1年前
記事のアイキャッチ画像
How Custom Property Values are Computed
Modern CSS Solutions
+Custom properties - aka “CSS variables” - seem fairly straightforward. However, there are some behaviors to be aware of regarding how the browser computes the final values. A misunderstanding of this process may lead to an unexpected or missing value and difficulty troubleshooting and resolving the issue.To help you use custom properties confidently and troubleshoot efficiently, we’ll review:how the browser determines values for any propertythe impact of “computed value time”pitfalls around using custom properties with cutting-edge CSSwhy inheritance should inform your custom property architecturestrategies to prevent invalid computed valuesComputed, Inherited, and Initial Values#When the browser parses CSS, its goal is to calculate one value per property per element in the DOM.Something you learn early on about CSS is that you can change a property’s value multiple times from multiple rules that may select the same element.Given the HTML <h2 class="card__title">, all of the following +
1年前
記事のアイキャッチ画像
Modern CSS For Dynamic Component-Based Architecture
Modern CSS Solutions
+The language of CSS has had an explosion of new features and improvements in the last few years. As a result, feature parity between browsers is at an all-time high, and efforts are being made to continue releasing features consistently and synchronously among evergreen browsers.Today, we will explore modern project architecture, emphasizing theming, responsive layouts, and component design. We'll learn about features to improve code organization and dig into layout techniques such as grid and container queries. Finally, we'll review real-world examples of context-aware components that use cutting-edge CSS techniques. You're sure to be inspired to expand your CSS skills and ready to create scalable, future-friendly web projects.CSS Reset Additions#Since the early days of CSS, a convention to tame cross-browser styling inconsistencies has been the CSS reset. This refers to a group of rules that do things like to remove default spacing attributes or enforce inheritance of font styles. It +
2年前
記事のアイキャッチ画像
Testing Feature Support for Modern CSS
Modern CSS Solutions
+The pace of the CSS language can be challenging to keep up with! Browsers release features and fixes monthly, and the CSS Working Group is constantly working on specifications. So, how do you know using a new feature is "safe" to use? And what are the considerations around making that choice?Let's review how to:find information on new featurestest for supportdetermine when to use a featuredecide whether a fallback is neededuse build tools and polyfillsFinding Out About New CSS Features#Here is a list of ways you can find out about new and upcoming CSS features:following the developer relations folks from various browser makers, like Una Kravets and Jen Simmonsreviewing and starring issues you're interested in being added to CSS in the public GitHubsubscribe to the CSS Working Group (CSSWG) blog feedcheck the release notes and feature blogs from browser enginesWebkit (Safari)FirefoxChromeconsume materials from publications and individuals who focus a lot on CSSCSS IRL by Michelle Barker +
2年前
記事のアイキャッチ画像
Container Query Units and Fluid Typography
Modern CSS Solutions
+Fluid typography is the term for designing font-size rules that responsively adapt the size based on the amount of available inline space. Before the availability of container query units, techniques usually relied on the viewport width - vw - unit. The viewport method is excellent for main page type, such as article headlines. However, viewport-based fluid typography doesn't quite work for narrower spaces that flex independently of the viewport, such as a grid of cards.We'll explore three ways to create dynamic fluid typography rules by leveraging container query units and CSS custom properties. You'll learn more about:creating mixins using custom propertiesmax(), min(), calc() and clamp()container queries and units:is() and :where()Previously here on ModernCSS, I presented a method that relied on using Sass to perform some calculations and produce the rules to apply viewport-based fluid typography. You may still be interested in some of the other information including tips on prevent +
2年前
記事のアイキャッチ画像
Contextual Spacing For Intrinsic Web Design
Modern CSS Solutions
+The user's browsing environment is not predictable. Tell other developers, and for goodness sakes, tell your designers. Let's learn how to coexist with that unpredictability by using adaptive, contextual spacing techniques.In 2018, Jen Simmons introduced the term "Intrinsic Web Design" in her talk "Everything You Know About Web Design Just Changed." She also shared the principles of intrinsic web design that we'll use as guidance:Contracting & Expanding - the way we consider how our design will adapt to a change in available spaceFlexibility - using primarily flexbox and grid in combination with newer units and functions in a way that enables our layouts to adapt at various rates to the available spaceViewport - the ability to use all four sides of the viewport as well as take advantage of viewport unitsUsing adaptive layout techniques is a trust exercise between designers, developers, and the browser.Properties and functions for intrinsic design#Let's start with a review of the founda +
3年前
記事のアイキャッチ画像
Practical Uses of CSS Math Functions: calc, clamp, min, max
Modern CSS Solutions
+There are currently four well-supported math functions in CSS. I've found each of them to be extremely useful in my daily work. These CSS functions can be used in perhaps unexpected ways, such as within gradients and color functions and in combination with CSS custom properties. We'll learn the syntax for each, view basic demos of their functionality, and explore practical use cases.calc()#Practical purpose of calc(): performing basic math operations, with the ability to interpolate between unit types (ex. rem to vw).This math function has the longest cross-browser support of the four functions we're exploring. It has a wide range of uses for any time you'd like to be able to do client-side math within your styles.For example, you may want something to take up most of the viewport height except the height of the navigation. For this purpose, you can mix units to pass a relative vh (view height) unit with an absolute pixel unit:.content { height: calc(100vh - 60px);}As the viewport resi +
3年前
記事のアイキャッチ画像
Modern CSS Upgrades To Improve Accessibility
Modern CSS Solutions
+Accessibility is a critical skill for developers doing work at any point in the stack. For front-end tasks, modern CSS provides capabilities we can leverage to make layouts more accessibly inclusive for users of all abilities across any device.This post will cover a range of topics:Focus VisibilityFocus vs. Source OrderDesktop Zoom and ReflowSizing Interactive TargetsRespecting Color and Contrast SettingsAccessibility Learning ResourcesWhat Does "Accessible" Mean?#Accessible websites are ones that are created without barriers for users of various abilities to access content or perform actions. An internationally agreed-upon standard called the Web Content Accessibility Guidelines - or WCAG - provides success criteria to help guide you towards creating accessible experiences.Common accessibility barriers include:inability to see content or distinguish interface elements due to poor color contrastreduced or removed access to non-text content such as within images or charts due to failing +
4年前
記事のアイキャッチ画像
Developing For Imperfect: Future Proofing CSS Styles
Modern CSS Solutions
+How do we plan future-proof styles in a world with an infinite degree of device and user ability variance? Let's explore how things can break and how modern CSS provides solutions.This episode will cover handling for:variable content length and overflowunpredictable media sizesinternationalizationaccessibility-related user settingsWe'll explore creating a robust comment thread component. Here's our starting point - an exact mimic of the layout you received from design, good job!CSS for "Initial Comment Thread".comment-list { list-style: none; padding: 0.5rem; margin: 0; display: grid; gap: 1.5rem;}.comment .comment-list { grid-column-start: 2; grid-column-end: -1; padding: 0;}.comment { display: grid; grid-template-columns: 64px 1fr; gap: 1rem;}.comment-body { display: grid; gap: .5rem; color: #444;}.comment-meta { color: #767676; font-size: .875rem;}.comment-body a { color: inherit;}.comment-meta a { color: mediumvioletred;} @baywriter 15 mins ago Lemon drops danish soufflé gummies dr +
4年前
記事のアイキャッチ画像
Guide to Advanced CSS Selectors - Part Two
Modern CSS Solutions
+Continuing from part one, this episode will focus on the advanced CSS selectors categorized as pseudo classes and pseudo elements and practical applications for each. We'll especially try to make sense of the syntax for nth-child.Part Two (this article):#Pseudo classes - ex: :checked / :focusPseudo elements - ex: ::before / ::afterAdditional resourcesPart One:#CSS Specificity and the CascadeUniversal selector - *Attribute selector - [attribute]Child combinator - >General sibling combinator - ~Adjacent sibling combinator - +Pseudo Classes#This is the largest category, and also the most context-dependent.Pseudo classes are keywords that are applied when they match the selected state or context of an element.These vastly increase the capabilities of CSS and enable functionality that in the past was often erroneously relegated to JavaScript.Some selectors are stateful::focus:hover:visited:target:checkedWhile others attach to the order of elements::nth-child() / :nth-of-type():first-child / +
4年前
記事のアイキャッチ画像
Guide to Advanced CSS Selectors - Part One
Modern CSS Solutions
+Whether you choose to completely write your own CSS, or use a framework, or be required to build within a design system - understanding selectors, the cascade, and specificity are critical to developing CSS and modifying existing style rules.You're probably quite familiar with creating CSS selectors based on IDs, classes, and element types. And you've likely often used the humble space character to select descendants.In this two-part mini-series, we'll explore some of the more advanced CSS selectors, and examples of when to use them.Part One (this article):#CSS Specificity and the CascadeUniversal selector - *Attribute selector - [attribute]Child combinator - >General sibling combinator - ~Adjacent sibling combinator - +Part Two:#Pseudo classes - ex: :checked / :focusPseudo elements - ex: ::before / ::afterAdditional resourcesCSS Specificity and the Cascade#A key concept to successfully setting up CSS selectors is understanding what is known as CSS specificity, and the "C" in CSS, whic +
4年前
記事のアイキャッチ画像
The 3 CSS Methods for Adding Element Borders
Modern CSS Solutions
+When it comes to CSS, sometimes a border is not really a border.In this episode, we'll cover the differences between:borderoutlinebox-shadowWe'll also discuss when you might use one over the other.Refresher on the CSS Box Model#A key difference between our three border methods is where they are placed on an element and how they affect its dimensions. This behavior is controlled by the CSS box model.the border is precisely the boundary of the element, sitting between its padding and margin, and it's width will impact the computed element dimensionsthe outline is next to but outside of the border, overlapping both box-shadow and margin, but not affecting the element's dimensionsby default, box-shadow extends out from edge of the border covering the amount of space in the direction(s) defined, and it will also not affect the element's dimensionsborder Syntax and Usage#Borders have been a standard in design since the beginning of the web.An important difference compared to the other two me +
4年前
記事のアイキャッチ画像
Pure CSS Shapes 3 Ways
Modern CSS Solutions
+Modern CSS - and modern browser support - provides us three excellent methods to create pure, basic CSS shapes. In this tutorial, we will examine how to create CSS triangles using:borderslinear gradientsclip-pathMethod 1: Borders#This is the first trick I learned to create CSS triangles, and it's still a solid standby.Given a zero width and zero height element, any values provided border directly intersect and are the only visible indication of an element. This intersection is what we can take advantage of to create a triangle shape.To illustrate how this works, we'll supply a different border color to each side:.triangle { border: 10px solid blue; border-right-color: red; border-bottom-color: black; border-left-color: green;}Which produces the following, in which you can see we've essentially already achieved 4 triangle shapes:In order to create this as a single triangle instead, we first decide which direction we want the triangle pointing. So, if we want it pointing to the right, si +
4年前
記事のアイキャッチ画像
Custom CSS Styles for Form Inputs and Textareas
Modern CSS Solutions
+We're going to create custom form input and textarea styles that have a near-identical appearance across the top browsers. We'll specifically style the input types of text, date, and file, and style the readonly and disabled states.Read on to learn how to:reset input stylesuse hsl for theming of input statesensure all states meet contrast requirementsretain a perceivable :focus state for Windows High Contrast modeNow available: my egghead video course Accessible Cross-Browser CSS Form Styling. You'll learn to take the techniques described in this tutorial to the next level by creating a themable form design system to extend across your projects.This is the fourth installment in the Modern CSS form field mini-series. Check out episodes 18-20 to learn how to style other common form field types including radio buttons, checkboxes, and selects.Common Issues with Native Input Styles#There is a bit more parity between text input styles than we saw with radios, checkboxes, and selects, but in +
4年前
記事のアイキャッチ画像
Custom Select Styles with Pure CSS
Modern CSS Solutions
+Modern CSS gives us a range of properties to achieve custom select styles that have a near-identical initial appearance for single, multiple, and disabled select elements across the top browsers.A few properties and techniques our solution will use:clip-path to create the custom dropdown arrowCSS grid layout to align the native select and arrowcustom CSS variables for flexible stylingem units for relative sizingNow available: my egghead video course Accessible Cross-Browser CSS Form Styling. You'll learn to take the techniques described in this tutorial to the next level by creating a themable form design system to extend across your projects.Common Issues with Native Selects#As with all form field types, <select> varies across browsers in its initial appearance.From left to right, here is the initial appearance for <select> in Firefox, Chrome, and Safari:The differences include box size, font-size, line-height, and most standout is the difference in how the dropdown indicator is style +
4年前
記事のアイキャッチ画像
Pure CSS Custom Checkbox Style
Modern CSS Solutions
+We'll create custom, cross-browser, theme-able, scalable checkboxes in pure CSS with the following:currentColor and CSS custom properties for theme-abilityem units for relative sizinguse of pseudo elements for the :checked indicatorCSS grid layout to align the input and labelMany of the concepts here overlap with our custom styled radio buttons from episode 18, with the addition of styling for the :disabled stateNow available: my egghead video course Accessible Cross-Browser CSS Form Styling. You'll learn to take the techniques described in this tutorial to the next level by creating a themable form design system to extend across your projects.Checkbox HTML#In the radio buttons article, we explored the two valid ways to markup input fields. Much like then, we will select the method where the label wraps the input.Here's our base HTML for testing both an unchecked and checked state:<label class="form-control"> <input type="checkbox" name="checkbox" /> Checkbox</label><label class="form- +
5年前
記事のアイキャッチ画像
Pure CSS Custom Styled Radio Buttons
Modern CSS Solutions
+Using a combination of the following properties, we can create custom, accessible, cross-browser, theme-able, scalable radio buttons in pure CSS:currentColor for theme-abilityem units for relative sizingappearance: none for full restyling accessCSS grid layout to align the input and labelHead's up: A lot of these styles overlap with the episode on custom checkbox styles which you might be interested in reading next!Now available: my egghead video course Accessible Cross-Browser CSS Form Styling. You'll learn to take the techniques described in this tutorial to the next level by creating a themable form design system to extend across your projects.Radio Button HTML#There are two appropriate ways to layout radio buttons in HTML.The first wraps the input within the label. This implicitly associates the label with the input that its labeling, and also increases the hit area to select the radio.<label> <input type="radio" name="radio" /> Radio label text</label>The second is to have the inp +
5年前
記事のアイキャッチ画像
Announcing Style Stage: A Community CSS Showcase
Modern CSS Solutions
+Dear CSS community:I invite you to participate in a new project where you have the opportunity to challenge both your CSS and web design skills while learning in public.About Style Stage#StyleStage.dev is not just an informational landing page about the project - it is the foundational HTML which is intended to be restyled by contributors - like you!Style Stage started as a wild idea to reanimate the spirit ofCSS Zen Garden which was created by Dave Shea and that provided a demonstration of "what can be accomplished through CSS-based design" until submissions stopped in 2013.Things in CSS-land have improved a lot since then, including the available properties, the tools we have available to build with, our greater understanding of addressing accessibility concerns, and increased awareness of performance impacts.If you missed the launch live stream, here's the lightly edited full recorded Twitch broadcast, or by topic in the Twitch highlight collection. We covered a lot of the things in +
5年前
記事のアイキャッチ画像
3 Popular Website Heroes Created With CSS Grid Layout
Modern CSS Solutions
+This episode explores creating website heroes - aka "headers" - with one of my favorite ways to use CSS grid layout: by turning it into a canvas.Support notice: The essential properties used in these techniques - grid-template-areas and object-fit - are not supported below IE 16. Good news - that still means they are about 96% supported!Inspired by my years in marketing, here are the three layouts we're going to create:#1: Marketing Call-to-Action (CTA) and Image#2: Text Overlay on Background Image#3: Two-Column with Copy and FormBase HTML and CSS Grid Setup#In the not-too-distant past, the way to achieve most of these layouts required the use of position: absolute.With grid, we can upgrade from that solution and gain responsive, dynamic positioning superpowers!Here's our starting point for HTML:<header> <div class="hero__content"> <h1>Product</h1> <p>You really need this product, so hurry and buy it today!</p> <a href="#" class="button">Buy Now</a> </div> <img src="http://placecorgi.c +
5年前
記事のアイキャッチ画像
3 CSS Grid Techniques to Make You a Grid Convert
Modern CSS Solutions
+CSS grid layout can feel daunting. In fact, I avoided it for several years and was a diehard flexbox fan.Then I found the following 3 powerful properties/techniques in grid that completely changed my tune.Spoiler, here's a tweet with all of them. Keep reading to learn a bit more!View tweet1: Switch the Grid Flow Axis#I first desired this behavior when I wanted X-axis alignment of variable width items, and also desired to leverage gap.The Code#grid-auto-flow: column;What it does#Default grid flow is oriented to "row" layout, which is complementary to block layout, where items flow down the page along the Y-axis.This switches that default behavior to "column" which means items default to flowing along the X-axis.Things to note#items will take as much room as needed to contain their content up until the max width of the container, at which point text will break to new linesthere is a risk of overflow because of lack of "wrapping" behavior in grid, which means assigning this property will +
5年前
記事のアイキャッチ画像
Expanded Use of `box-shadow` and `border-radius`
Modern CSS Solutions
+This episode will explore expanded usage of box-shadow and border-radius and conclude with a landing page demo using these properties to enhance the image presentation.You will learn:the expanded syntax of border-radius, and when to use which type of units to set valueshow to create multiple box-shadow layersabout the box-shadow value insethow to "hack" box-shadow with inset to apply popular image filter techniquesOverview of border-radius#Kids these days will never have to deal with creating a gif for each corner of a div that you want to appear rounded 😂 Truly, the release and eventual support of border-radius was one of the most significant milestones in CSS.For a refresher, here's how it's often used:border-radius: 50%;Which for a square element will result in a circle appearance.Or scale it back for just a slight roundedness to otherwise sharply square corners, such as for a button or card where you might use:border-radius: 8px;One way to begin to take this a bit further is to us... +
5年前
記事のアイキャッチ画像
Container Query Solutions with CSS Grid and Flexbox
Modern CSS Solutions
+True container queries are a much asked for CSS feature that would be a complement to media queries but be placed on container elements instead of the viewport.Experimental CSS container queries are here! Here's Miriam Suzanne's container queries proposal explainer which has an experimental prototype in Chrome Canary. After you download Canary, visit chrome://flags to search for and enable container queries. For more info, review my primer on container queries.Using grid and flexbox, we can create styles that respond to container and content widths and overcome some of the pain points that container queries are proposed to resolve.We'll cover:⏸ Use of CSS grid layout and flexbox to achieve container dependent adjustments from equal-width columns to row layout🏆 The "holy grail" solution to variable-width breakpoint columns🚀 Implementing CSS custom variables to make the solutions as scalable as possibleSkip to the solutions >Understanding the Problem#When Ethan Marcotte introduced the ... +
5年前
記事のアイキャッチ画像
Generating `font-size` CSS Rules and Creating a Fluid Type Scale
Modern CSS Solutions
+Let's take the mystery out of sizing type. Typography is both foundational to any stylesheet and the quickest way to elevate an otherwise minimal layout from drab to fab. If you're looking for type design theory or how to select a font, that's outside the scope of this article. The goal for today is to give you a foundation for developing essential type styles in CSS, and terms to use if you wish to explore any topics deeper.This episode covers:recommended units for font-sizegenerating ratio-based font-size values with Sassrecommended properties to prevent overflow from long words/names/URLsdefining viewport-aware fluid type scale rules with clamp()additional recommendations for dealing with typeDefining "Type Scale"#The simplified definition: "type scale" for the web refers to properties such as font-size, line-height, and often margin, that work together to create vertical rhythm in your design. These can be arbitrarily selected ("it just looks good"), or be based on the idea of a "m +
5年前
記事のアイキャッチ画像
Resource: The Complete Guide to Centering in CSS
Modern CSS Solutions
+How could I write a series called "Modern CSS Solutions to old CSS problems" without covering the classic question:"How do I center a div?"Well, this new resource has you covered! We'll look at 3 categories:Vertically and Horizontally (XY)Vertical (Y)Horizontal (X)Each category shows solutions that explore using grid, flexbox, and block element layout.Check out the full guide or jump to one of the following sections:Vertically and Horizontally (XY)XY Grid SolutionXY Flexbox SolutionXY Alternative Flexbox SolutionXY Centering for Block ElementsVertical Centering (Y)Y Grid SolutionY Flexbox SolutionY Centering for Block ElementsHorizontal Centering (X)X Grid SolutionX Flexbox SolutionX Centering for Block ElementsX Centering for Dynamically Positioned Elements
5年前
+記事のアイキャッチ画像
Icon Button CSS Styling Guide
Modern CSS Solutions
+This guide will build on the previous episode "CSS Button Styling Guide" to explore the use case of icon buttons. We'll cover icon + text as well as icon-only buttons.Note: With SVG now having excellent support, the preferred practice is to use it for icon systems vs. icon fonts. We will not dive into SVGs specifically, but we will assume SVG icons are in use.Icon + Text Button#First, let's do the easier extend from our current buttons, and drop an svg icon next to the text:<a href="javascript:;" class="button"> <svg class="button__icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" aria-hidden="true" focusable="false" > <path d="M32 12.408l-11.056-1.607-4.944-10.018-4.944 10.018-11.056 1.607 8 7.798-1.889 11.011 9.889-5.199 9.889 5.199-1.889-11.011 8-7.798z" ></path> </svg> Button Link</a>There are 3 key features about the SVG for the icon + text use case:Use of a new button__icon classThe viewBox value is tight to the icon boundaries, ideally a square for best results across +
5年前
記事のアイキャッチ画像
CSS Button Styling Guide
Modern CSS Solutions
+This guide will explore the ins and outs of styling an accessible, extensible button appearance for both link and button elements.Topics covered include:reset styles for a and buttondisplay, visual, size, and text stylesaccessible styling considerationsextended styles for common scenariosOh, the button (or is it a link?). I've battled the button since the days of hover delay from waiting for a second image to load, through image sprites, and then was immensely relieved when border-radius, box-shadow and gradients arrived on the scene.But... we took button styling too far, and somewhere along the way completely lost sight of what it really means to be a button, let alone an accessible button (or link).STOP! Go read this excellent article: Links vs. Buttons in Modern Web Applications to understand when it's appropriate to use a versus buttonWe'll look at what properties are required to visually create a button appearance for both a and button, and additional details required to ensure th +
5年前
記事のアイキャッチ画像
Solutions to Replace the 12-Column Grid
Modern CSS Solutions
+Let's create simplified responsive grid systems using both CSS grid and flexbox and ditch the bulk of 12-column grid systems from heavy frameworks.If you haven't really looked into grid, or rely on frameworks to think about flexbox for you, this will help you level up your understanding 🚀Looking across the web, you will often see content laid out in a few select flavors:fullwidth of its containertwo equal-width columnsthree equal-width columnsfour equal-width columnsUsually, this is accomplished by a considerable amount of utility classes setting widths across breakpoints.Between CSS grid and flexbox, and with the aforementioned layouts in mind, we can greatly reduce the setup of responsive grid columns.For both solutions, we will create just two classes and be able to handle from 1-4 columns of content that responsively resizes equally 🙌Note: These solutions as-is work best for defining primary page layout containers, but we'll end with some suggestions on filling the gap for other ... +
5年前
記事のアイキャッチ画像
CSS-Only Accessible Dropdown Navigation Menu
Modern CSS Solutions
+This technique explores using:Animation with CSS transition and transformUsing the :focus-within pseudo-classCSS grid for positioningdynamic centering techniqueAccessibility considerations for dropdown menusIf you've ever pulled your hair out dealing with the concept of "hover intent", then this upgrade is for you!Before we get too far, while our technique 100% uses only CSS, there is a need to add some Javascript for a more comprehensively accessible experience. There is also a polyfill needed for a key feature to make this work - :focus-within - for the most reliable support. But we've still greatly improved from the days of needing one or more jQuery plugins to accomplish the visual effects.Accessibility update - 08/18/20: A huge thanks to Michael Fairchild of Deque (and creator of the excellent resource a11ysupport.io) for testing the original solution across various assistive technology. The CSS-only method needs some Javascript to fully meet WCAG 2.1. In particular, javascript ne +
5年前
記事のアイキャッチ画像
Responsive Image Gallery With Animated Captions
Modern CSS Solutions
+.demo .demo--content { background-color: transparent; padding: 1rem; }Responsively resizing images is a common need, and modern CSS provides tools for ensuring a consistent aspect-ratio while not distorting the images. And grid gives us flexibility for a gallery layout as well as positioning multiple elements in a shared space.This responsive gallery technique explores using:object-fit for responsive image scalingaspect-ratio for consistent image sizesA CSS Grid trick to replace absolute positioningCSS transforms for animated effectshandling for touch devicesrespecting reduced motionGallery HTML#Here is our initial HTML, which is an ul where each li contains a figure with the image and figcaption:<ul class="gallery" role="list"> <li> <figure> <img alt="" src="https://picsum.photos/550/300" /> <figcaption>Candy canes ice cream</figcaption> </figure> </li> <li> <figure> <img alt="" src="https://picsum.photos/400" /> <figcaption>Ice cream biscuit</figcaption> </figure> </li> <li> <figure> +
5年前
記事のアイキャッチ画像
Totally Custom List Styles
Modern CSS Solutions
+This tutorial will show how to use CSS grid layout for easy custom list styling in addition to:Data attributes as the content of pseudo elementsCSS counters for styling ordered listsCSS custom variables for per-list item stylingResponsive multi-column listsUpdate: The ::marker pseudo selector is now well supported in modern browsers. While this tutorial includes handy CSS tips for the items listed above, you may want to jump to the ::marker solutionList HTML#First we'll setup our HTML, with one ul and one li. I've included a longer bullet to assist in checking alignment, spacing, and line-heihgt.<ul role="list"> <li>Unordered list item</li> <li>Cake ice cream sweet sesame snaps dragée cupcake wafer cookie</li> <li>Unordered list item</li></ul><ol role="list"> <li>Ordered list item</li> <li>Cake ice cream sweet sesame snaps dragée cupcake wafer cookie</li> <li>Ordered list item</li></ol>Note the use of role="list". At first, it may seem extra, but we are going to remove the inherent lis +
5年前
記事のアイキャッチ画像
Pure CSS Smooth-Scroll "Back to Top "
Modern CSS Solutions
+"Back to top" links may not be in use often these days, but there are two modern CSS features that the technique demonstrates well:position: stickyscroll-behavior: smoothI first fell in love with "back to top" links - and then learned how to do them with jQuery - on one of the most gorgeous sites of 2011: Web Designer Wall.The idea is to provide the user with a "jump link" to scroll back to the top of the website and was often used on blogs of yore.Here's what we will learn to achieve:About position: sticky#This newer position value is described as follows on caniuse:Keeps elements positioned as "fixed" or "relative" depending on how it appears in the viewport. As a result, the element is "stuck" when necessary while scrolling.The other important note from caniuse data is that you will need to offer it prefixed for the best support. Our demo will fallback to position: fixed which will achieve the main goal just a bit less gracefully.About scroll-behavior: smooth#This is a very new prop +
5年前
記事のアイキャッチ画像
CSS-Only Full-Width Responsive Images 2 Ways
Modern CSS Solutions
+In the not to distant past when jQuery was King of the Mountain and CSS3 was still worth being designated as such, the most popular tool for responsive background images was the Backstretch jQuery plugin.I used this plugin on ~30 sites prior to the following property becoming more supported (aka IE < 9 dropping in total market share):background-size: cover;According to caniuse.com, this property and value have been well supported for over 9 years! But websites that are intertwined with using Backstretch or another homegrown solution may not yet have updated.The alternative method makes use of the standard img tag, and uses the magic of:object-fit: cover;Let's look at how to use each solution, and learn when to select one over the other.Using background-size: cover#A decade of my background was creating highly customized WordPress themes and plugins for enterprise websites. So using the example of templated cards, here's how you might set up using the background-size: cover solution.Fir +
5年前
記事のアイキャッチ画像
Equal Height Elements: Flexbox vs. Grid
Modern CSS Solutions
+Once upon a time (approximately 2013), I wrote a jQuery plugin to calculate equal height columns. It ensured that the very specific scenario of a row with three columns would keep the content boxes equal height no matter the length of the content they contained. The dominant layout method at the time - floats - did not handle this problem.Flexbox Solution#When flexbox arrived on the scene, this became possible with:.flexbox { display: flex;}Amazing! By default, direct children line up in a row and have a "stretch" applied so they are equal height 🙌But then you add two .column divs as children and... the contents of the columns appear unequal again 😔The fix is:.flexbox { display: flex; // Ensure content elements fill up the .column .element { height: 100%; }}Now the columns will appear equal height and grow with the content of .element.Join my newsletter for article updates, CSS tips, and front-end resources!Don’t fill this out if you're human: Email Subscribe Grid Solution#With grid,... +
5年前
記事のアイキャッチ画像
Keep the Footer at the Bottom: Flexbox vs. Grid
Modern CSS Solutions
+For many years, I constantly referred to this article by Matthew James Taylor for a method to keep a webpage footer at the bottom of the page regardless of the main content length. This method relied on setting an explicit footer height, which is not scalable but a very good solution BF (Before Flexbox).If you mostly deal with SPA development, you may be confused about why this problem is still around, but it's still a possibility to find your footer floating up for:login pagesblog/news articles (with no ads...)interstitial pages of a flow like confirming actionsproduct listing pagescalendar event detailsThere are two ways to handle this with modern CSS: flexbox and grid.Here's the demo, defaulted to the flexbox method. If you open the full Codepen, you can swap the $method variable to grid to view that alternative.Read on past the demo to learn about each method.By Stephanie Eckles (@5t3ph)Flexbox Method#This method is accomplished by defining:body { min-height: 100vh; display: flex; +
5年前
\ No newline at end of file diff --git a/blogs/6b55886089b772386def300e92bede0c/index.html b/blogs/6b55886089b772386def300e92bede0c/index.html new file mode 100644 index 000000000000..59113670e438 --- /dev/null +++ b/blogs/6b55886089b772386def300e92bede0c/index.html @@ -0,0 +1,313 @@ +Firebase Blogのフィード|JSer.info Watch List RSS

Firebase Blog

https://firebase.blog/

News, tutorials, and updates from the Firebase team.

フィード

記事のアイキャッチ画像
Year-end recap for Data Connect
Firebase Blog
2ヶ月前
記事のアイキャッチ画像
Generated SDKs for Data Connect
Firebase Blog
2ヶ月前
記事のアイキャッチ画像
Data Connect Pricing
Firebase Blog
3ヶ月前
+記事のアイキャッチ画像
Data Connect and GraphQL
Firebase Blog
3ヶ月前
記事のアイキャッチ画像
Firebase at I/O Connect 2024
Firebase Blog
4ヶ月前
記事のアイキャッチ画像
Firebase App Hosting: July Update
Firebase Blog
6ヶ月前
記事のアイキャッチ画像
Introducing Gemini in Firebase
Firebase Blog
8ヶ月前
記事のアイキャッチ画像
What's new in Firebase at I/O 2024
Firebase Blog
9ヶ月前
記事のアイキャッチ画像
Introducing Firebase Data Connect
Firebase Blog
9ヶ月前
記事のアイキャッチ画像
Introducing Firebase Genkit
Firebase Blog
9ヶ月前
記事のアイキャッチ画像
Introducing Vertex AI for Firebase
Firebase Blog
9ヶ月前
記事のアイキャッチ画像
Introducing Firebase App Hosting
Firebase Blog
9ヶ月前
記事のアイキャッチ画像
Firebase at Cloud Next '24
Firebase Blog
10ヶ月前
記事のアイキャッチ画像
VueFire is now stable
Firebase Blog
1年前
記事のアイキャッチ画像
What's new at Google I/O 2023
Firebase Blog
2年前
記事のアイキャッチ画像
Firebase 2022 Recap!
Firebase Blog
2年前
記事のアイキャッチ画像
Changes in Game Center Sign-In
Firebase Blog
2年前
記事のアイキャッチ画像
#FirebaserFriday Marina Coelho
Firebase Blog
2年前
記事のアイキャッチ画像
#FirebaserFriday Charlotte Liang
Firebase Blog
+
2年前
記事のアイキャッチ画像
#FirebaserFriday Andrea Wu
Firebase Blog
2年前
記事のアイキャッチ画像
Come join us at ViteConf 2022!
Firebase Blog
2年前
記事のアイキャッチ画像
#FirebaserFriday Malcolm Deck
Firebase Blog
3年前
記事のアイキャッチ画像
#FirebaserFriday Caitlin Chen
Firebase Blog
3年前
記事のアイキャッチ画像
#FirebaserFriday Peter Friese
Firebase Blog
3年前
+
記事のアイキャッチ画像
New features in App Check beta
Firebase Blog
4年前
記事のアイキャッチ画像
Building Firebase Quickdraw
Firebase Blog
4年前
記事のアイキャッチ画像
Announcing Firebase Live
+Firebase Blog
5年前
記事のアイキャッチ画像
Firebase Hosting for Cloud Run
Firebase Blog
6年前
記事のアイキャッチ画像
Handle FCM messages on Android
Firebase Blog
6年前
記事のアイキャッチ画像
Firebase is at GDC 2018!
Firebase Blog
7年前
記事のアイキャッチ画像
Which type of hacker are you?
Firebase Blog
7年前
記事のアイキャッチ画像
Updates to the Firebase console
+Firebase Blog
7年前
記事のアイキャッチ画像
Hamilton App Takes the Stage
Firebase Blog
7年前
記事のアイキャッチ画像
AppShip3000: A Firebase Game
Firebase Blog
8年前
記事のアイキャッチ画像
Making Dynamic Links Easier
Firebase Blog
8年前
記事のアイキャッチ画像
Firebase Phone Auth
Firebase Blog
8年前
記事のアイキャッチ画像
What's new with Analytics?
Firebase Blog
8年前
記事のアイキャッチ画像
Welcoming Fabric to Google
Firebase Blog
8年前
記事のアイキャッチ画像
Announcing Firebase for Unity
Firebase Blog
8年前
記事のアイキャッチ画像
+5 tips for Firebase Storage
Firebase Blog
9年前
記事のアイキャッチ画像
Firebase and React Native
Firebase Blog
9年前
+
記事のアイキャッチ画像
Introducing Firebase Analytics
Firebase Blog
9年前
記事のアイキャッチ画像
What's new in AngularFire 1.2
Firebase Blog
9年前
記事のアイキャッチ画像
Social login with Ionic
Firebase Blog
9年前
記事のアイキャッチ画像
A Host of Improvements
Firebase Blog
9年前
記事のアイキャッチ画像
Divshot has joined Firebase!
Firebase Blog
9年前
記事のアイキャッチ画像
EmberFire 1.5.0
Firebase Blog
10年前
記事のアイキャッチ画像
ReactFire 0.5.0
Firebase Blog
10年前
記事のアイキャッチ画像
Introducing Firebase Queue
Firebase Blog
10年前
記事のアイキャッチ画像
Fireside Chat With Testlio
Firebase Blog
10年前
記事のアイキャッチ画像
New Features in EmberFire
Firebase Blog
10年前
記事のアイキャッチ画像
Introducing AngularFire 1.0
Firebase Blog
10年前
記事のアイキャッチ画像
[Video] Firebase at GCP Live
Firebase Blog
10年前
記事のアイキャッチ画像
Firebase is Joining Google!
Firebase Blog
10年前
記事のアイキャッチ画像
Firepad & Firechat Reach 1.0
Firebase Blog
10年前
記事のアイキャッチ画像
GeoFire Goes Mobile
Firebase Blog
10年前
記事のアイキャッチ画像
One Million
Firebase Blog
11年前
記事のアイキャッチ画像
Fireside Chat with Pathwright
Firebase Blog
11年前
記事のアイキャッチ画像
GeoFire 2.0
Firebase Blog
11年前
記事のアイキャッチ画像
Introducing Firebase Hosting
Firebase Blog
11年前
記事のアイキャッチ画像
Using Firebase with ReactJS
Firebase Blog
11年前
記事のアイキャッチ画像
Our New Home
Firebase Blog
11年前
記事のアイキャッチ画像
Firebase Turns Two Today!
Firebase Blog
11年前
記事のアイキャッチ画像
OpenSSL Security Update
Firebase Blog
11年前
記事のアイキャッチ画像
Firebase at ng-conf 2014
Firebase Blog
11年前
記事のアイキャッチ画像
Happy New Year from Firebase
Firebase Blog
11年前
記事のアイキャッチ画像
Fireside Chat with Nitrous.IO
Firebase Blog
11年前
+
記事のアイキャッチ画像
Firebase Leaves Beta Today
Firebase Blog
11年前
記事のアイキャッチ画像
How To Build a Presence System
Firebase Blog
12年前
記事のアイキャッチ画像
Firebase at AngelHack SF 2013
Firebase Blog
12年前
記事のアイキャッチ画像
We won a UserVoice Award!
Firebase Blog
12年前
記事のアイキャッチ画像
The New Firebase iOS SDK
Firebase Blog
12年前
記事のアイキャッチ画像
npm install firebase
Firebase Blog
12年前
記事のアイキャッチ画像
Moving into Our New Office
Firebase Blog
12年前
記事のアイキャッチ画像
The New Firebase Security API
Firebase Blog
12年前
記事のアイキャッチ画像
RealtimeConf in Portland
Firebase Blog
12年前
記事のアイキャッチ画像
The First Firebase Drink Up!
Firebase Blog
12年前
記事のアイキャッチ画像
Firebase Launch Party [Video]
Firebase Blog
13年前
記事のアイキャッチ画像
Developers, meet Firebase!
Firebase Blog
13年前
\ No newline at end of file diff --git a/blogs/6c5a9274ce5e0616af49a7102a5db240/index.html b/blogs/6c5a9274ce5e0616af49a7102a5db240/index.html new file mode 100644 index 000000000000..51bf792949b8 --- /dev/null +++ b/blogs/6c5a9274ce5e0616af49a7102a5db240/index.html @@ -0,0 +1,15 @@ +Bram.usのフィード|JSer.info Watch List RSS

Bram.us

フィード

記事のアイキャッチ画像
View Transitions Applied: More performant ::view-transition-group(*) animations
はてなブックマークアイコン 1
Bram.us
+If the dimensions of the ::view-transition-group(*) don’t change between the old and new snapshot, you can optimize its keyframes so that the pseudo-element animates on the compositor.
12時間前
記事のアイキャッチ画像
View Transitions Snippets: Keeping the page interactive while a View Transition is running
はてなブックマークアイコン 1
Bram.us
The ::view-transition root overlay captures all clicks … but you can undo that.
10日前
記事のアイキャッチ画像
MPA View Transitions Deep Dive
Bram.us
Back in December I joined Kevin J Powell on his channel to talk about Cross-Document View Transitions
13日前
記事のアイキャッチ画像
CSS attr() gets an upgrade
Bram.us
You can now use `attr()` with any CSS property — not just content – and it can parse values into data types other than <string>.
19日前
記事のアイキャッチ画像
Move elements around the DOM while preserving their state with moveBefore
Bram.us
Unlike the classic way of moving a node by removing+reinserting it, the moveBefore method preserves the element’s state!
23日前
記事のアイキャッチ画像
View Transitions Snippets: Keeping track of the old and new positions of a transitioned element
Bram.us
+By calling getBoundingClientRect before and after the snaphots are taken, you can get the before and after positions of the transtioned elements.
1ヶ月前
記事のアイキャッチ画像
View Transitions Snippets: Getting all Animations linked to a View Transition
Bram.us
A few lines of JavaScript to get all animations linked to an active View Transition.
1ヶ月前
記事のアイキャッチ画像
Experiment: Automatically trigger a View Transition when a JavaScript Property of an Element changes
Bram.us
Tricking a MutationObserver into observing changes to IDL attributes by syncing the IDL attributes to their Content Attribute counterparts.
1ヶ月前
記事のアイキャッチ画像
Misconceptions about View Transitions
Bram.us
Post I wrote a while ago for Chrome for Developers, about some misconceptions about View Transitions that are making rounds.
1ヶ月前
記事のアイキャッチ画像
Animatable Accordions (2024.11.27 @ devs.gent)
Bram.us
Talk on animating the <details> element with transition-behavior: allow-discrete , interpolate-size: allow-keywords, and ::details-content.
1ヶ月前
\ No newline at end of file diff --git a/blogs/6d487b3e1d348982a4664e9da431c405/index.html b/blogs/6d487b3e1d348982a4664e9da431c405/index.html new file mode 100644 index 000000000000..68444abb468c --- /dev/null +++ b/blogs/6d487b3e1d348982a4664e9da431c405/index.html @@ -0,0 +1,51 @@ +marmooo&#39;s blogのフィード|JSer.info Watch List RSS

marmooo's blog

フィード

記事のアイキャッチ画像
JavaScript で使えるタイマーのベンチマークを作った
marmooo's blog
+JavaScript で使えるタイマーのベンチマーク js-timer-benchmark を作りました。タイマー関数として setTimeout, setInterval がよく知られていて、画像処理などをやっている人はこれに加えて requestAnimationFrame も知っていることでしょう。ただ音声処理の実装をしていると、これらではうまくいかないことに気付いたので、あまり知られていない他のタイマー機能を紹介します。それは AudioBufferSourceNode, OscillatorNode, ConstantSourceNode を使う方法です。これらは音声データや正弦波、定数値を再生するためのノードですが、これらには s秒後に再生を開始し、t秒後に再生を止める機能が備わっています。js-timer-benchmark はこちら。Audio 関連のコードは Node/Deno では動かないのでブラウザ上で確認するしかありません。まずはフォアグラウンドで初回起動時の結果がこちら。method1sec error2sec errorsetTimeout0.9ms0.6mssetInterval (10)0.8ms0.4mssetInterval (100)0.6ms0.4msAudioBufferSourceNode106.1ms2.2msOscillatorNode6.2ms14.3msConstantSourceNode6.6ms20.2msrequestAnimationFrame9.7ms8.8ms method1sec error2sec errorsetTimeout0.7ms0.4mssetInterval (10)0.6ms0.4mssetInterval (100)0.4ms0.5msAudioBufferSourceNode8.6ms5.8msOscillatorNode9.3ms19.1msConstantSourceNode10.1ms20.4msrequestAnimationFrame1.0ms0.1ms method1sec error2sec errorsetTimeout998.9ms900.6mssetInterval (10)0.5ms999.7mssetInterval (100)998.8ms999.5msA +
10日前
記事のアイキャッチ画像
動画や画像の同時視聴アプリ「ぺたぺた」を作った
marmooo's blog
+動画や画像を画面内にぺたぺた貼ることで、たくさんのデータを同時に視聴するためのアプリを作りました。画面全体に等間隔で並べたり、サムネイル形式で表示したり、自由配置で表示したり、様々な表示形式に対応しています。ぺたぺたたとえばこんな感じの UI で動画や画像を見れます。割とサクッと作れましたが、なかなかいい感じです。D & D での貼り付け、Ctrl + V での貼り付けに対応しており、スムーズに動画や画像を追加できます。動画サイトの同時視聴などもできると嬉しい人がいるかなと思って、HTML タグの貼り付けにも対応しておきました。HTML タグが貼り付けられるので SVG や数式、メモの貼り付けなどもできます。ホワイトボードアプリや付箋アプリとしても使えるかも知れません。ちなみに YouTube だったら共有用の embed タグをコピーして貼り付ければ良いだけです。ただ YouTube などの動画サイトはウィンドウサイズによって色々挙動を変えているので、コツを掴まないとリサイズ処理がスムーズにいかないのが欠点です。たぶんどうしようもない。
2ヶ月前
記事のアイキャッチ画像
画像を SVG に変換する image2svg を作った
+marmooo's blog
以前作った @marmooo/imagetracer のフロントエンドアプリとして image2svg を作りました。image2svg の名前で利用したかったので分離しただけです。image2svgたとえばこんな感じの変換ができます。デフォルトで使いやすいようにオプションは設定していますが、画像サイズに合わせて多少の調整は必要な気がします。画像サイズが小さくなると lineTolerance/splineTolerance が大きくなったときに穴ができてしまうので、閾値を小さくすると良いです。といって小さくしすぎると圧縮率が下がるので strokeWidth で調整すると良いというのがだいたいのイメージです。しかし改めてオプションを弄ってみても、ほとんど出力が変わらないケースが多いです。それだけ洗練されたとも言えるのですが、なかなか難しい。
3ヶ月前
記事のアイキャッチ画像
画像を SVG に変換する @marmooo/imagetracer を作った
marmooo's blog
+画像を SVG に変換する @marmooo/imagetracer を作りました。他の有名なツールとしては vtracer, potrace, SVGcode, imagetracerjs があります。これは imagetracerjs の改良・高速化版です。OpenCV の限界次に dilate で詳細な輪郭を抽出して 2値化し、RETR_TREE の findContours して、輪郭ごとに平均色を算出する方法を考えました。しかしこれは処理時間の大半を平均色の算出に持っていかれて、ボツとなりました。findContours の処理で生成される内部配列を使えれば、平均色の算出は理論上はかなり早くできるのですが、現実では使えないので駄目でした。輪郭数は数万程度には抑えられる利点はありましたが、自作しないと早いものは厳しそうでした。詰まるところ、findContours の実装などに色々と課題があるのですよね。OpenCV はデファクトでしょうが、こういう問題は他にも結構あると思っています。imagetracerjs の改良imagetracerjs を見つけました。ラスター画像をベクター画像に変換することを bitmap tracing ということを、いまさら知りました。普通は image2svg だと思うじゃん…。先に述べたライブラリもその後見つかったのですが、imagetracerjs は他より高速・高精度に動作するように見えます。ただいかんせん実装が古くて使いにくいことが気になりました。そこで、(1) 一部の不要な実装を削除して API を簡素化し、(2) 減色と blur を外部化して汎用性を持たせ、(3) Deno で使いやすいように ESM 化し、(4) テストをたくさん書いて完璧な移植をし、(5) ベンチマークをたくさん書いて高速化し、(6) 減色処理をライブラリ化して複数選択可能にし、(7) 生成 SVG を minify して出力するようにしたものを、@marmooo/imagetracer として公開しました。オプションの改善layering 廃止mergePaths 追加pathomit/linefilter 廃止 → filterHoles 追加TODO にも書いてあった課題です。issue #15 などでも報告されていました。ただ no +
3ヶ月前
記事のアイキャッチ画像
様々な言語で作った Wasm をベンチマークした (2)
marmooo's blog
+以前作ったお手軽ベンチマークを高度化してベンチマークの種類を増やしました。減色処理では色のカウントアップの後に色のリストアップを行うのですが、そのリストアップ処理までのベンチマークです。前回 (countColors) は色のカウントアップ、そのリストアップをして返す getColors、リストアップした結果は返却せず内部に保持する initColors の 3種類にしました。getColors は動的配列は使わなくても実装できるのですが、面倒なのでアルゴリズム上の変更はしません。クラスや構造体や動的配列に対応していない言語、明らかに遅いとわかっている言語は実装しませんでした。実装は @marmooo/wasm-bench にあります。getColors ベンチマークの追加 CPU | Intel(R) Core(TM) i5-6200U CPU @ 2.30GHzRuntime | Deno 1.46.3 (x86_64-unknown-linux-gnu)benchmark time/iter (avg) iter/s (min … max) p75 p99 p995------------------------------------------- ----------------------------- --------------------- --------------------------JavaScript, Deno 1.46.3 192.0 ms 5.2 (189.7 ms … 201.7 ms) 192.0 ms 201.7 ms 201.7 msAssemblyScript 0.27.30 (Number) 286.1 ms 3.5 (233.6 ms … 322.7 ms) 307.5 ms 322.7 ms 322.7 msAssemblyScript 0.27.30 (Class) 319.3 ms 3.1 (279.6 ms … 370.7 ms) 334.2 ms 370.7 ms 370.7 msRust 1.81.0, wasm-bindgen 0.2.93 (Simple) 2.2 s 0.5 ( 2.2 s … 2.2 s) 2.2 s 2.2 s 2.2 sRust 1.81.0, wasm-bindgen 0.2 +
4ヶ月前
記事のアイキャッチ画像
様々な言語で作った Wasm をベンチマークした (1)
marmooo's blog
+Wasm は様々な言語から作ることができますが、その実行速度が気になったので調査しました。計測に使ったのは減色処理をする時に必要な、画像内にある色のカウントアップ処理です。実用的です。WasmGC を使うとまた特性が変わるような気もするのですが、ひとまず現状チェックです。実装は @marmooo/wasm-bench にあります。独断と偏見により AssemblyScript, C/C++, Rust を調査しました。本当は Go も確認はしていて、int 処理くらいならできたのですが、Uint8Array を引数として渡すことができなくて諦めました。最近は TinyGo がかなり小さな Wasm を生成できるようになっていて (70KB〜)、速度が出るなら十分候補になるような気がします。しかし Uint8Array などの型変換がまったくわからない…。ベンチマーク結果 CPU | Intel(R) Core(TM) i5-6200U CPU @ 2.30GHzRuntime | Deno 1.46.3 (x86_64-unknown-linux-gnu)benchmark time/iter (avg) iter/s (min … max) p75 p99 p995----------------------------------- ----------------------------- --------------------- --------------------------JavaScript, Deno 1.46.3 166.8 ms 6.0 (164.1 ms … 171.8 ms) 169.6 ms 171.8 ms 171.8 msAssemblyScript 0.27.29 (Wrap) 153.8 ms 6.5 (150.1 ms … 155.0 ms) 154.4 ms 155.0 ms 155.0 msAssemblyScript 0.27.29 (Shift) 175.2 ms 5.7 (174.1 ms … 175.8 ms) 175.4 ms 175.8 ms 175.8 msAssemblyScript 0.27.29 (DataView) 156.5 ms 6.4 (156.0 ms … 157.8 ms) 156.5 m +
5ヶ月前
記事のアイキャッチ画像
画像減色ツール Color Reducer を作った
marmooo's blog
+減色ツール Color Reducer を作りました。Color Reducerたとえばこんな感じの減色ができます。 特にひねりのないツールですが、D&D やクリップボードからコピー (Ctrl+V) など、結構使いやすいようには作っているので、普段使いのツールとして重宝します。opencv.js を使うと手軽に高速な実装ができるかなと思って作り始めたのですが、今なら porffor に期待したほうがビルドサイズを抑えられて良いかも知れません。減色アルゴリズムは 均等量子化、k-means、Median cut、Octree などがあるらしいです。意外と少ない。良い感じのソフトで使っているのは Median cut が多いようです。Median cut は細分化量子化法 (Tapered quantization) の一種で他にも色々あるようですが、最初に雑に考えて作ったものは均等量子化 (uniform quantization) でした。Median cut も最適化すると結構早いできる限り高速化してみると、たいていの画像は細分化量子化法と遜色ないレベルで動作しました。Median cut や Octree の JS 実装としては鬼のように早いと思う。JavaScript もきちんと書けばできる子です。一番の気付きは、RGB ずつカウント処理するより同時に Uint32Array で処理するほうが圧倒的に早いということです。ただ RGB の平均色を求めようとしたりソートするときは変換コストが高いのか Array のほうが早かったりします。難しい。結構色々な高速化を試したのでインパクトが大きかったものをまとめると以下です。 String Map → int Map (x3)int Map → 2^24 Array (x2)2^24 Array → 2^24 Uint32Array (x2)Array.sort() → bucket sort (x1.5)Object → Array (+30%)色数のキャッシュ (+30%)一番難しいと思ったのは、要素数が少ない時には通常の配列のほうが TypedArray の数倍くらい早いので、小さなデータは多少のコストを支払ってでも通常の配列にしたほうが早いということです。たとえば Uint32Array に入っている RGB +
5ヶ月前
記事のアイキャッチ画像
画像を線画に変換する Lineart Converter を作った
marmooo's blog
+AIを使わないで写真を線画へ変換するアプリ Lineart Converter を公開しました。絵柄が変わることなく高速・省メモリに動作します。線画以外も生成できます。素材生成にご利用ください。Lineart Converter何も設定しないでもこれくらいの変換はできます。設定するともっと色々できます。 最近の AI は高性能なのでみんなが色々なことをやっていますが、私はメインマシンのメモリが 4GB なので GPU ゴリゴリの話はあんまりなあと思っています。ただ AI を使って色々やっている人のを見ていて、画像から線画を作るくらいなら OpenCV で十分じゃないのと思ったので、お手軽な線画変換ツールを作ってみました。色塗りで遊ぶくらいならこれで十分そうです。アルゴリズムCanny計算過程を可視化した良いエントリがありました。線画に適したものは初期段階で十分抽出できていますが、途中で大量に drop することがわかります。線画には使えそうにないかな。adaptiveThresholddilateTODO作ってみて改めて思ったのは、AI を使わないで漫画風やアニメ風の画像を用意するのが、すごく大変ということでした。雑にどこかの著作物である画像をサンプルに載せるのは簡単なのですが、きちんと権利関係を処理しながら載せようとすると、サンプルを用意するだけでも大変でした。AI を使うとそのへんの問題がサクッとしてしまうので、うーんという気分です。
6ヶ月前
記事のアイキャッチ画像
簡易的な暗視カメラ Nocto Camera を作った
marmooo's blog
+OpenCV の練習で簡易的な暗視カメラ Nocto Camera を作りました。暗視カメラと書いていますが、露出不足の環境でも綺麗に撮影ができるカメラアプリです。画像のコントラストを補正する画像アプリとしても使えます。暗視カメラとか使ったことないし、使う人もそんなにいない気がするのですが、今回は OpenCV のアルゴリズムの精度と速度を確認する勉強目的で作ったので、まあ良いです。Nocto Cameraたとえばこんな感じになります。 アルゴリズムは CLAHE ヒストグラム平均化を利用しています。類似アルゴリズムとしては ToneMap を使った HDR (High Dynamic Range Imaging) があります。TonemapWeb 上だとカメラ撮影でも複数の撮影データを自動で用意するのはなかなか難しいです。iPhone/Android の 自動 HDR はおそらく ToneMap を利用していますが、カメラが 1つしかない iPhone 7 時代から HDR 機能はあるので、露出時間を変えたものを同時に撮影して ToneMap をしていると予想できます。ただこれと同じようなことを Web 上で実現しようとすると、まずは exposureTime を設定してカメラを起動する必要があります。iOS では exposureTime の設定自体が存在しないので、現状できません。iOS 以外だとカメラの設定変更と撮影を繰り返せば実現はできそうですが、切替に多少時間が掛かるため撮影に時間が掛かりそうです。CLAHEただ表示の綺麗さを求めなければ、clip limit を 0 にしたとき良い感じの暗視カメラとして動作します。これは輝度値が 0/1 の差しかなくても反応するモードなのでノイズが非常に多いですが、物体も発見しやすくなります。パソコンの黒画面程度の光しかない環境でも、近場にあるものは非常に綺麗にカラー判別できることがわかりました。ちなみにパソコンの白画面程度の光があれば、数メートル離れたところにあるものは何となく判別できる、くらいの精度では動作します。equalizeHist, Gamma correctionTODO
+7ヶ月前
記事のアイキャッチ画像
難読漢字一覧を作った
marmooo's blog
+難読漢字辞書を作りました。念のため書いておくと、地名・人名などの固有名詞を含まない辞書です。それらを含むとキラキラネームで酷いことになるからね…。まず問題意識としては、漢検準1級からは表外読みもテストに出題される仕組みがあります。このとき準1級と1級のどちらにその漢字を載せるかの問題があります。準1級に載せると数が多くなり過ぎてしまうので、レベル別に分けた難読漢字辞書があると良いなと思って作りました。他にはない基準で辞書を作っていて、小学生にとっての難読漢字、中学生にとっての難読漢字、高校生にとっての難読漢字、大人にとっての難読漢字の 4種類で分けています。このほうがわかりやすいでしょ?難読漢字一覧作り方納得(ナットク) 格子(コウシ)手綱(タヅナ) 金物(カナモノ)音頭(オンド) 夫婦(フウフ)順応(ジュンノウ)因縁(インネン)春雨(ハルサメ)上例で難しいのは音韻変化のカナモノ、音韻添加のハルサメです。このような読み方の変化は予測できないので難読漢字です。他にも転音・音便・音韻脱落・音韻融合などは変化が不明瞭で、たぶん正確には予測できません。他に難しいのは「取引、入口、場合、組合、立場、引換」などの送り仮名を省略した語句です。この処理はたぶん形態素解析の知識を入れないと無理だと思うのですよね。yomi-dict を使えば漢字一字の特殊読みを取得できるので一応は対処できましたが、わかりやすいルールで処理できないので、日本語は本当に難しいなあと感じさせられました。まとめまた思ったより難読漢字は数が少ないこともわかりました。先の条件だと 8,000 くらい。Unihan Database に登録されている音訓を表内と見なした場合は 3,000 くらい。Unihan Database の音訓もまあまあ使えるんだなとわかります。
7ヶ月前
記事のアイキャッチ画像
Photo Scanner を大幅に改善した
marmooo's blog
+スマホをスキャナーにできるアプリ Photo Scanner を大幅に改善しました。気付けばスキャンアプリも色々できていたので、改めて色々考え直してすべて再実装しました。もはやコンセプト以外は原形を留めてませんが、まあ仕方ない。Photo Scanner1. 自動矩形探索の廃止→手動設定の追加2. 矩形予測機能を追加他の方法では Canny Edge Detecttion と HoughLines を組み合わせる方法を見つけました。未確認ですが複数のプリントを読み込む場合には良いかも知れません。3. Wasm SIMD/Threads 対応速度面ではまったく不満がなくなりましたが、現状ではファイルサイズの課題があります。おそらくその原因は一つの関数に大量のオプション実装が含まれているからです。cv.findContours() → 最大領域を cv.minAreaRect() するだけでも 1.4MB 必要です。OpenCV.js を使うのが癪で JavaScript での実現も一瞬だけ考えましたが、画像処理は Wasm のほうが明らかに高速なのでつらい。今回は諦めポイントの 1つですが、この記事を参考にして C/C++ でコードを書いて Wasm 化すると、コンパイラが非常に強力なこともあって、インライン展開による最適化が期待できそうです。4. Deep Denoise の廃止→様々な手動加工に対応たとえば cv.adaptiveThreshold() は C が超重要なことも今さら知りました。その結果を活かして矩形探索の処理も安定化させたので、何事も作って見るものです。それ以外のフィルター処理は glfx.js を利用しているだけなので、実のところ実装は簡単でした。glfx.js は前から知ってはいたのですが、こんなに便利だとは気付いていなかった。深層学習による影の除去はまた取り組んでみたい気持ちはありますが、みんな脳死で深層学習なので、最近は深層学習しないほうが面白そうと思ってます。5. Modal 廃止→画像編集ソフトっぽく他の細かな改善点を上げるとキリがないですが、実装をコンポーネント化したり、高速化したり、細かなバグフィックスをしたり、設定項目を削減して代わりに手動設定できるようにしたり、かなり色々やりました。実装もほとんどやり直して、わかりやすいものに +
8ヶ月前
記事のアイキャッチ画像
ぬりえもじを作った
marmooo's blog
+ぬりえもじ を作りました。塗り絵+絵文字でぬりえもじ。シンプルな塗り絵教材はそれなりにあるので、完成品を横に置いて色を見比べながら色を塗ってもらうアプリにしました。つまり色の感性を鍛えるアプリになっています。ぬりえもじ色彩アプリと色覚異常だいたい完成してから遊んでみると、色数が 8色以上になるとキツイと感じました。8色以上になる頻度はそんなに多くないですが、私も色に強くないので…。また、えもじパズルの時と同様に面積が小さすぎる部分がたまにあるので、面積が全体の 5% 未満なら最初から色を塗っておくことにしました。面積 5% 未満にあらかじめ色を塗っておくと、複雑な問題の均一化ができて、8色以上になる確率もかなり減って、なかなか良い感じです。作り方採点の時にも完全に隠されているノードは問題になります。具体的には完全に合っているのに 100点が取れなくなります。ノードごとに色を採点するのが簡単なので、比較すると冗長な処理になってしまいますが、やはりピクセル単位で採点するのが一番安全と思います。直感的な得点にはなるので、そこは良いところです。
9ヶ月前
記事のアイキャッチ画像
Ubuntu デスクトップ比較: 24.04 は波乱の予感
+marmooo's blog
+Ubuntu 24.04 がリリースされたので、いつも通り Ubuntuデスクトップ比較をしてみました。比較条件は 22.04 のときと一緒で、以下。22.04 の時と条件は一緒ですが、言語は明示的に英語で固定しています。これはインストーラで日本語を選べるものと、選べないものがあるからです。普通は日本語の環境を比較したい人のほうが多いと思いますが、英語表示のほうがメモリ使用量には優しいため、一部のフレーバーが有利になってしまいます。たとえば Lubuntu は日本語表示にすると 100MB くらいメモリ使用量が増えます。 VirtualBox でクリーン環境を比較検証時の最大メモリサイズは 2GB起動→安定後のメモリ使用量を free --mega で比較言語は英語悲しいお知らせとしてどのフレーバーもメモリ使用量がかなり増えました。どのフレーバーも 300MB ほど確実に増加し、MATE, Kubuntu の増加量はさらに大きいです。MATE くらいのメモリ使用量だと、最適化した Windows 11 と大差ない気がします。メモリ 4GB の PC だとそろそろ辛そうなので、これからは 8GB のほうが良いかも知れません。今のところ Lubuntu, Xubuntu が鉄板であることは変わらないですが、新しく登場した Unity が Xubuntu 並で健闘しています。 Lubuntu: 644MB〜650MB (最軽量)Xubuntu: 842MB〜857MBUbuntu Unity: 890MB〜911MBKubuntu: 980MB〜1021MBUbuntu Budgie: 1043MB〜1059MBUbuntu MATE: 1115MB〜1197MBUbuntu: 1135MB〜1262MBUbuntu Cinnamon: 1221MB〜1228MB (最重量)Ubuntu 24.04 で一番の更新点は、おそらくインストーラの更新です。最初はなんか意味あるのか? と思いましたが、Lubuntu などを日本語でインストールできるのが大きいかも。まだ初期画面が英語のほうが多いですけど、シェア獲得のために本気を出し始めたのかも知れません。GUI に不満が見つからないのも、そういった理由から細かな改善を行ったのかも知れません。 Lubuntu Xubuntu Ubu +
9ヶ月前
記事のアイキャッチ画像
fontconv で ligatures font をサポートした
marmooo's blog
+fontconv を大幅に更新して、ligatures font をサポートしました。ligatures font の解析の仕方は Read ligature from a font #384 が参考になります。他にも Ligatures #194 が参考になるのですが、getLigatures() は low level 実装のため、応用的な解析には使いにくい問題があります。addLigature() は参考になります。svg2ttf は空だとバグるので、その修正で多少時間が掛かりました。ligature 文字列の中でまだ登録されていない Glyph を空の Glyph として登録する利用する Glyph をリストアップして登録するGlyph に適用する ligature 文字列をリストアップするligature 文字列のインデックスを利用して ligature を登録するttf2svg の実装が ligatures font を想定していなかったので改良しました。そして機能を使いやすくするために --remove-ligatures オプションを付けました。オプションなしだと ligatures は残しますが、付けるとファイルサイズを考慮して削除します。ついでなので、さらなる最適化を考慮して以下のオプションを加えました。--ligature <str> (ligature を利用したサブセット化)--ligature-file <path> (ligature を利用したサブセット化)--name <str> (glyph-name を利用したサブセット化)--name-file <path> (glyph-name を利用したサブセット化)
9ヶ月前
記事のアイキャッチ画像
フォントを様々な形式に変換する fontconv を作った
marmooo's blog
+フォントを様々な形式に変換する fontconv を作りました。.ttf, .otf, .svg, .woff, .woff2 の相互変換とサブセット化に対応しています。.eot も出力だけは対応しています。なぜ作ったかというと、フォントを Web 上で利用するための woff2 最適化に苦労したからです。私の場合は以前 ttf2svg を自作したので、ttf2svg -> svg2woff2 の2回で woff2 は最適化できるようにしていたのですが、巷のアイコンは woff2 形式でしか配布されていないことがあることに気付きました。これがなかなか強敵で、woff2 をロードして最適化した後、woff2 へ再変換できるライブラリが見つかりませんでした。具体例を上げれば Material Icons の最適化は大変で、びっくりしました。さすがにこれはおかしいなと思い、様々な形式に対応したフォントコンバーターを作りました。pyftsubset は動きますが、Python でインストールがやや面倒で、異体字に対応していない問題があります。 fontminfont-carrierfont-extractorweb-font-converter pyftsubsettdewolff/font が出てきました。拡張子ごとにパーサをフル実装しているようで凄いですが、私のおきらく実装でも選択肢が増えるのは良いんじゃないかな…。OTF からの変換が難しすぎる!!!opentype.js を使っていますが、代替になるライブラリは現状存在しないので、OTF をベースに実装することは絶対条件です。最初は、唯一きちんとした otf2ttf 実装に見えた fonteditor-core を試してみました。しかし glyph-name の情報をバッサリ切り捨ててしまう実装だったので、とてもフォント最適化には使えないとわかりました。ttf2svg を使って font→svg→ttf で変換するのが、一番仕様がわかりやすくて良いとわかりました。ただ ttf2svg の実装も色々と問題があるのがわかっていたので、良い機会なのでバッサリ書き直し、fontconv と同じオプションで動くようにしました。EOT 形式についてfonteditor-core に eot2ttf が付いていたので試してはみまし +
10ヶ月前
記事のアイキャッチ画像
えもじパズルを作った
marmooo's blog
+えもじパズル を作りました。完成図と見比べながらパーツを並び替えて、福笑いみたいに絵文字を作るゲームです。細部まで見比べる力を鍛えるので、特に美術や算数や漢字の学習へ応用しやすいかな。えもじパズル最近は アイコン点描写、漢字点描写 を作っていて、絵文字点描写も作っていたのですが、ボツ案となりました。絵文字は (1) 複雑すぎる、(2) 直感的な描画ではないことが多い、の2つが厳しかったです。1 は左右に絵文字を表示することで自然と表示サイズが小さくなるため、思っていたより点が密集してしまい、複雑に感じることがわかりました。スキップアルゴリズムを付ければ複雑性は緩和できますが、パーツの重なりを活かして作成されていることが多いので点の直感性とズレていることが多く、本質的な厳しさを感じました。描画の直感性は点つなぎだと誤魔化せるけど、点描写は誤魔化せないからなあ。作り方パズル部分の作り方は簡単なのですが、様々な絵文字で動くようにするのが一苦労でした。たとえば drag & drop のためにはピースごとに transform 属性を除去して新たな transform 属性を付与する必要があります。ブラウザだと階層的な transform を getCTM() で解析できるので良いですが、非ブラウザだと解析はなかなか大変で対応ライブラリはないと思います。getCTM() を使っても元々の path データに transform: matrix() があると移動用の transform 属性と混じってしまうので、まだ面倒なことあります。これは元の transform の matrix を逆変換しながら座標変換を行い (参考1、参考2)、正しい移動距離を算出し、matrix を更新する必要があります。意外と難しい。DOMMatrix や SVGMatrix、getCTM() は初めて使いましたが、なかなか便利です。やはりブラウザの API は最強です。
10ヶ月前
記事のアイキャッチ画像
drop-inline-css でインライン化レベルを最適化する
marmooo's blog
+CSS 最適化ツール drop-inline-css を更新し、drop-inline-css でインライン化レベルを最適化できるようにしました。一部分だけ不要 CSS をチェックしたり、一部分だけはチェックをせずそのまま inline 化できたりします。めちゃくちゃ便利な気がしますが、まあ私だけかな…。どんなことができるなったかというと、こんな感じの HTML を、<html> <head> <link class="drop-inline-css" rel="stylesheet" href="inefficient.css"></link> <link class="inline-css" rel="stylesheet" href="efficient.css"></link> <link rel="stylesheet" href="keep.css"></link> </head> <body> <p>styled</p> </body></html><html> <head> <style>p { text-decoration: underline; }</style> <style>pre { color: red; }</style> <link rel="stylesheet" href="keep.css"></link> </head> <body> <p>styled</p> </body></html>静的な HTML から要不要が判断できる CSS動的な HTML ではあるものの事前記述で要不要が判断できる CSSJavaScript をよく見ないと要不要が判断しにくかったり設定が面倒な CSSBootstarp の CSS だけで動く大部分のコードBootstrap の JavaScript が必要なコンポーネントautocompletr や simple-keyboard などのライブラリまた上記 2-3 の CSS は遅延ロードが可能で、その最適化は 3種類に分けられます。 <link rel="stylesheet" href="base.css" media="print" onload="this.media='all';this.onload=null;">template タグ内で style を loadtempla +
10ヶ月前
記事のアイキャッチ画像
アイコン点描写と漢字点描写を作った
marmooo's blog
+アイコン点描写 と 漢字点描写 を作りました。アイコン点描写漢字点描写作り方上記が作り方の基本ですが、実際はもう少し必要です。たとえば点と点の隣接状態は Z/z/M/m コマンドを解析しながら行なう必要があり、重複する座標に点があったときのイベント処理を考慮する必要があります。この 2つがかなり面倒でした。アイコンの調整アイコン点つなぎ や 漢字点つなぎ と同じものが使えます。ただアイコンのほうはやや苦労しました。具体的には アイコン点描写 は解答を先に表示しているので、プロットするときと差があると面白くありません。このとき、透明な外枠を付けている Tabler Icon の違和感が大きい問題が起きました。透明な枠はプロットする必要ないですからね。アイコンセットを変えることも検討して結構色々なアイコンセットを試したのですが、透明な外枠を付けているアイコンが意外と多かったので、Tabler Icon は中身を少し弄ることで対処しました。こういう細かな調整が必要な時もあるので、アイコンセットはライセンスが緩くないと難しいなと感じました。今のところ MIT / Apache-2.0 / CC-BY / SIL-OFL-1.1 に限定しています。アイコン点つなぎ では線を引く仕組みを作るのは困難でしたが、これなら線を引く練習にも使えます。ただしスマホでプレイするのは難しいので、タブレットか PC でプレイするほうが良さそう。またほとんど同じ位置に点がある時は二回なぞらないといけないのは注意点でしょうか。こういうのをどこまでチェックするかは割と難しい問題です。
1年前
記事のアイキャッチ画像
えもじ点つなぎを作った
marmooo's blog
えもじ点つなぎ を作りました。アイコン点つなぎ はアイコンを使っているので、モノクロでシンプルなものがほとんどでした。逆に 漢字点つなぎ は難しすぎる子もいるでしょう。絵文字ならカラフルで難易度はほどほどのものが多いので、新鮮なものになります。プレイ感覚は絵を書いている感覚に近くなり、デジタルデータの仕組みを学ぶのにも使えます。えもじ点つなぎ今のところ、カラフル版は Noto Emoji, Twemoji, Fluent Emoji (Color)、Blobmoji、Emoji Two (Color)、モノクロ版は Noto Emoji Twotone, Fluent Emoji (High Contrast)、Emoji Two (Twotone) をサポートしています。初期リリースでのサポート数は 2万個 ほどです。作り方アイコン点つなぎ、漢字点つなぎ では数字の再配置アルゴリズムだけで十分に遊べるものになりましたが、絵文字は絵の複雑性に一貫性がないため、問題によっては再配置で対処できないケースがたまにあります。同じ地点を何度も通ったり、局所的に複雑なケースがあり得るということですね。再配置で対処できない点を一時的に消すのが楽そうと思いましたが、局所的に問題が発生したときにわかりにくいし、紙に印刷できないのが気になりました。そこで密集度の高すぎる領域をスキップする実装を取り入れました。
1年前
記事のアイキャッチ画像
漢字点つなぎを作った
marmooo's blog
+漢字点つなぎを作りました。書き順は考慮する必要がないのでいい感じのフォントさえあれば作れます。とはいえそこがハードルで、思ったより考えることがありました。漢字点つなぎフォント選びNoto Serif JP 以外に良いフォントがないか、改めて色々なフォントを見ました。シンプルで良いなあと思うのはゴシック形式の Noto Sans JP で、これはサポートしておきました。ただ Noto 以外で点つなぎに使えそうなもの、と考えるとなかなかちょうど良いものはない気がしています。ttf2svg@marmooo/ttf2svg を使っていますが、細かな調整が必要になったので、ついでに改良しておきました。具体的には、文字を仕様上表示され得る領域にSVG化するのと、ぴったり拡大して最大領域に SVG 化するのは微妙に違い、対応しにくい問題があったので、細かな調整ができるようにしました。たいていの絵文字やフォントは advancedWidth と linespace = ascent - descent + linegap を見れば、SVG の viewport を決定できます。ただ漢字にこの条件を当てはめると、特に descent の影響が大きすぎて不自然な余白が生まれます。とはいえ descent だけを無視する訳にもいきません。なぜならフォントの作者によって、ascent, descent はバラバラの意味を持っているからです。そこで units-per-em を使うと、ぴったりになることが多いです。ただ units-per-em も壊れたデータが入力されていたり、縦横比が壊れていると意味をなさなかったりします。仕方ないのでオプションで数字調整できるようにしました。そんな訳でサポートしているのは約 1万1000種類×2=2万2000個のグリフです。これだけあれば量で困ることはないでしょう。アイコン点つなぎと違ってそれなりに歯ごたえがあります。
1年前
記事のアイキャッチ画像
アイコン点つなぎを作った
marmooo's blog
アイコン点つなぎ を作りました。アイコン点つなぎ幼児教育では点つなぎやグリッド点つなぎが有名です。それらは線を書く練習や、簡易的に認識力を向上させる練習として便利ですが、題材を作ったり探すのが大変です。そこで自動生成してゲーム化すると面白そうだなと思って作りました。難しいところ作り方svgpath を使って配列の座標にします。path 配列から text で数字を表示します。あとは text を順番にタッチしたときに path の線を復元するようなコードを書けば完成です。アイコンにも色々あるアイコンセットによっては、稀に外枠と内枠を一つの線で書いているもの (Line Icon?) があります。これが世の中の点つなぎに一番近いもので重要と考えています。ただそのような書き方をしているアイコンセットは多くありません。また地道にソースコードを見る以外で見分けが付かないので確認が大変です。今のところ Line Icon として使えて数が多いものは Iconoir、Solar icon set、Majesticons、Lucide くらいと思っています。これらは優先的にサポートしました。Material Line Icons も使えそうでしたが、animateMotion タグの解析が大変そうだったので見送りました。
1年前
記事のアイキャッチ画像
Unicode の部首を一意にする
marmooo's blog
+@marmooo/kanji の部首データを Unicode 全漢字に対応させました。@marmooo/kanji では画数データは一意になるように設計しているのですが、Unihan Database の部首は Unicode 15.1 では 183 件の重複登録があり、この解決に苦労が伴ったのでメモを残しておきます。ちなみに Unihan Database では画数の管理で int を諦めて string を使っているのですが、情報が不確かな漢字のために int を放棄するのは嫌なので int にしています。具体的なコードはこちらを参照してください。漢字データベースプロジェクトのようなチェック が必要になるのでしょうね。将来的にはやってみるかも知れませんが、IDS も更新しないといけないので時間が掛かります。同じように中国では簡体字を作ったときのことをよく考えないといけない漢字が多々あります。たとえば日本だと「卧」はそのままの字形で理解されていて Unihan Database では「卜部」です。ただ中国だと「臥」が元字で、簡化によって「卧」になったので、康煕字典に合わせた部首は「臣部」なんですよね。康煕字典に記載があるからといって、合わせすぎるのも難しそうです。新しい漢字と古い漢字は分けて考えないといけません。「厼」のように康熙字典網にも文字情報基盤にも登録されていない漢字も、データがどこから来たのかよくわからないで困ります。ネットで調べてもほぼ情報がなく、なぜか一番詳しいのが 日本語の Wiktionary みたいなケースがチラホラあります。当然ながら部首がわかるはずもないので、Unicode に従うしか方法はないでしょう。ちなみに「厼」の本字は「彌」のようで、そこから様々な異体字と新字体が生まれているようです。異体字はどれも部首がバラバラでちょっと笑えます。文字を簡単にしようとすると部首が崩壊するんだなあ。つまり本字以外の部首は深く考えたら負けで、特徴的なパーツを選び、Unicode 配列に従っておけば良さそうです。また本字以外は部首より、異体字をたどったり、IDS で検索するほうが良さそう。追記: Unicode® Standard Annex #38 の画数の説明 を読んでいると、一意にしようとはしているみたいですね。あまり手を出さないようにしつつなるべ +
1年前
記事のアイキャッチ画像
SVG の描画要素を path に変換する shape2path を作った
marmooo's blog
+SVG の描画要素 (rectangle, circle, ellipse, line, polyline, polygon) を path に変換する shape2path を作りました。以下の類似ライブラリが存在することはわかっているのですが、Web 上で動かなかったり、実装不足があったり、XML パーサが巨大すぎるので、依存なしでシンプルに動くものを作りました。依存がキツかったり fs module 依存が邪魔なときに毎回ゼロから作り直しているのですが、どうするのが良いのかなあ。たぶんどうしようもないので、Node.js / Deno / Bun に依存するコードはなるべく使わないのが鉄則でしょうね。 svgo convertPathSVGPathConvertersvg-flattenブラウザとオフラインの実装を分けるのが難しいすべてを諦めて DOM を再現するライブラリを使うのが楽ではあるのですが、バンドルサイズは大きくなります。この路線でいくなら linkeDOM は互換性が高く、速度もまあまあなので良さそうです。とはいえ 300KB くらい増えてしまうので依存性をゼロにしたいなと思い、HTMLDocument は無理やり使わないようにして、関連するオブジェクトとメソッドを引数で渡す実装にしました。これなら依存性が引数として与えられる外部の HTMLElement だけになり、かなり動かしやすくなります。ただこの路線での実装は、ブラウザと完璧な互換性を持っているライブラリがほとんどない問題があります。たとえば私がよく使っている node-html-parser は HTMLElement.cloneNode() をサポートしていないので、多少ながら違和感が残る実装になりました。ただこういう違和感はブラウザに慣れ過ぎているからで、ESM 的な観点から考えると普通なのかも知れません。DOM の API を使ったライブラリは作り方が難しいですね。円/楕円の変換方式SVG の <circle> を <path> で描く を利用しています。描画パターンを選択できると嬉しいと思ったので、すべてサポートしています。私のお気に入りは「8本の2次ベジェ曲線で描画」です。描画精度は低い反面、応用性が高いです。
1年前
記事のアイキャッチ画像
都道府県タイピングを作った
marmooo's blog
都道府県タイピングを作りました。似たようなものはいくつかありますが、やはり自分用のものが欲しかったので車輪の再発明をしました。都道府県タイピング何分くらいでできるかなと思って試してみたところ、5.0 key/sec だと 1分くらいでクリアできるみたいです。考慮時間を含めると 100秒くらいでしょうか。小学 4 年生〜小学 6年生の子が遊ぶことを想定すると、早い子が 3.0 key/sec くらいと予想できます。1.5〜3.0 key/sec の子ならクリアできるように 5分間のゲームとして作りました。1.0 key/sec 以下はもう少しタイピングの練習をする必要があります。遊んでみると、意外と文字数が少ないので初期の学習には良いかも。ただこの手のタイピング、昔からどうにも HARD モードは苦手なんだよなあ。たぶん私は言語中枢をメインに使って都道府県を覚えている訳じゃないんだろうな。
1年前
記事のアイキャッチ画像
漢字の情報取得ライブラリ kanji を作った
marmooo's blog
+今さらですが、欲しくなったので漢字の情報取得ライブラリ @marmooo/kanji を作りました。漢字の情報と言っても色々ある訳ですが、レベルごとの漢字のリストを取得し、文章のレベルを取得するライブラリです。特に教育指導要領をチェックするコードは何十回も書いているので、そろそろライブラリが欲しいと思って自作しました。ついでにかなり色々な機能を付けたので、つよつよです。漢字の処理は非常に難しいので、このような誰も作らない基盤ライブラリの整備が必要です。import { Kanji, JKAT } from "@marmooo/kanji";const kanji = new Kanji(list);const jkat = new Kanji(JKAT); // 教育指導要領 / 日本漢字能力検定jkat.getGrade("学校"); // --> 0jkat.getGrade("漢"); // --> 2jkat.getGrade("うどん"); // --> -1JISCode: JIS 漢字コード (第 1 水準〜第 4 水準)Jinmei: 人名用漢字 (常用漢字, 常用漢字の異体字, 人名用漢字)JKAT: 教育指導要領 / 日本漢字能力検定 (10級〜1級)Unicode1Radical: Unicode 1.1 の康熙字典 214 部首コードUnicode1RadicalStrokes: Unicode 1.1 の康熙字典 214 部首の画数データJoyoRadical: 常用漢字の康熙字典 214 部首コードJoyoRadicalStrokes: 常用漢字の康熙字典 214 部首の画数データJoyoStrokes: 常用漢字の画数データJIS4UnihanStrokes: JIS 第 4 水準の Unihan_IRGSources.txt に基づく画数データ漢字の画数を調査した漢字の部首を調査したライブラリ化するときにはとにかく扱いの難しい漢字として「𠮟」があります。「𠮟」は新しい常用漢字ですが、[音訓の小・中・高等学校段階別割り振り表(平成29年3月)]を見ると、「𠮟」じゃなくて「叱」で書かれているんですよねえ。漢字検定の漢字一覧も表記は「𠮟」なのですがコピペすると「叱」になったりして困ります。他にも間違いがいくつかあって紛らわしい。そう... +
1年前
\ No newline at end of file diff --git a/blogs/71f3d0986dbc25f1181dfa29a010e109/index.html b/blogs/71f3d0986dbc25f1181dfa29a010e109/index.html new file mode 100644 index 000000000000..454ddcc7695d --- /dev/null +++ b/blogs/71f3d0986dbc25f1181dfa29a010e109/index.html @@ -0,0 +1,15 @@ +Official jQuery Blogのフィード|JSer.info Watch List RSS

Official jQuery Blog

https://blog.jquery.com

jQuery: The Write Less, Do More, JavaScript Library

フィード

記事のアイキャッチ画像
Second Beta of jQuery 4.0.0
Official jQuery Blog
Last February, we released the first beta of jQuery 4.0.0. We’re now ready to release a second, and we expect a release candidate to come soon™. This release comes with a major rewrite to jQuery’s testing infrastructure, which removed all deprecated or under-supported dependencies. But the main change that warranted a second beta was a … Continue reading →
7ヶ月前
記事のアイキャッチ画像
Upgrading jQuery: Working Towards a Healthy Web
Official jQuery Blog
jQuery’s influence on the web will always be evident. When it was first introduced in 2006, jQuery became a fundamental tool for web developers almost immediately. It simplified JavaScript programming, making it easier to manipulate HTML documents, handle events, perform animations, and much more. Since then, it has played and continues to play a major … Continue reading →
10ヶ月前
記事のアイキャッチ画像 +
jQuery 4.0.0 BETA!
Official jQuery Blog
jQuery 4.0.0 has been in the works for a long time, but it is now ready for a beta release! There’s a lot to cover, and the team is excited to see it released. We’ve got bug fixes, performance improvements, and some breaking changes. We removed support for IE<11 after all! Still, we expect disruption … Continue reading →
1年前
記事のアイキャッチ画像
jQuery 3.7.1 Released: Reliable Table Row Dimensions
Official jQuery Blog
jQuery 3.7.1 has been released! This release fixes a regression from jQuery 3.6.0 that resulted in rounded dimensions for <tr /> elements in Chrome and Safari. Also, a (mostly) internal Sizzle method, jQuery.find.tokenize that was on the jQuery object was accidentally removed when we removed Sizzle in jQuery 3.7.0. That method has been restored. As … Continue reading →
1年前
記事のアイキャッチ画像
jQuery 3.7.0 Released: Staying in Order
Official jQuery Blog
jQuery 3.7.0 is now available! This release has it all: bug fixes, a new method, and a performance improvement! We even dropped our longtime selector engine: Sizzle. Or, I should say, we moved it into jQuery. jQuery no longer depends on Sizzle as a separate project, but has instead dropped its code directly into jQuery … Continue reading →
2年前
記事のアイキャッチ画像
jQuery 3.6.4 Released: Selector Forgiveness
Official jQuery Blog
If you’ve been following along with recent jQuery releases, we have been working on how to address the recent addition of some new selectors in browsers, especially :has. jQuery 3.6.3 settled on the strategy of using native CSS.supports to determined whether a selector should be passed directly to querySelectorAll or instead go through jQuery’s selector … Continue reading →
2年前
記事のアイキャッチ画像
jQuery 3.6.3 Released: A Quick Selector Fix
Official jQuery Blog
Last week, we released jQuery 3.6.2. There were several changes in that release, but the most important one addressed an issue with some new selectors introduced in most browsers, like :has(). We wanted to release jQuery 3.6.3 quickly because an issue was reported that revealed a problem with our original fix. More details on that … Continue reading →
2年前
記事のアイキャッチ画像
jQuery 3.6.2 Released!
Official jQuery Blog
You probably weren’t expecting another release so soon, but jQuery 3.6.2 has arrived! The main impetus for this release was the introduction of some new selectors in Chrome. More on that below. As usual, the release is available on our cdn and the npm package manager. Other third party CDNs will probably have it soon … Continue reading →
2年前
記事のアイキャッチ画像
jQuery 3.6.1 Maintenance Release
Official jQuery Blog
jQuery 3.6.1 has been released! It’s been a while since our previous release. We were looking at fixing some elusive edge cases related to focus and blur, but we never quite got the fix right. If there’s any area of jQuery that’s hard to change, it’s likely related to focus somehow. We’re leaving those as-is … Continue reading →
2年前
記事のアイキャッチ画像
jQuery maintainers continue modernization initiative with deprecation of jQuery Mobile
Official jQuery Blog
By: Michal Golebiowski-Owczarek, Felix Nagel, and the jQuery team Editor’s Note: the following blog post was originally published to the OpenJS Foundation Blog. jQuery maintainers are continuing to modernize its overall project that still is one of the most widely deployed JavaScript libraries today. The team announced that the cross-platform jQuery Mobile project under its … Continue reading →
3年前
\ No newline at end of file diff --git a/blogs/74e14640aa9413d2d397a5ba86ef6d69/index.html b/blogs/74e14640aa9413d2d397a5ba86ef6d69/index.html new file mode 100644 index 000000000000..5f87bdb7f91c --- /dev/null +++ b/blogs/74e14640aa9413d2d397a5ba86ef6d69/index.html @@ -0,0 +1,17 @@ +Sass Blogのフィード|JSer.info Watch List RSS

Sass Blog

https://sass-lang.com/blog

Syntactically Awesome Style Sheets

フィード

記事のアイキャッチ画像
Request for Comments: Indented Syntax Improvements
Sass Blog
+For users of the indented syntax (.sass), there has been a long standingrequest for the ability to have line breaks that don't end a statement. CertainCSS syntaxes like grid-template and @font-face src declarations are long,and line breaks can greatly increase the readability of the styles.There have been many suggestions, several attempts, and numerous workarounds toaddress this pain point. We are proposing several new syntax options in theindented syntax that add considerable flexibility and look to address this aspart of the language.Multiline statementsMultiline statements permalinkWe propose allowing statements in the indented syntax to span multiple lines, aslong as line breaks occur in places where the statement can't end.A common way of using this syntax will be wrapping lists with line breaks inparentheses. This allows for a grid-template declaration on multiple lines..grid display: grid grid-template: ( "header" min-content "main" 1fr )As usual, these parentheses will not be +
2ヶ月前
記事のアイキャッチ画像
`@import` is Deprecated
Sass Blog
+Back in 2019, we released the Sass module system, adding new @use and@forward rules to the language that were designed to replace @import andmake stylesheets more maintainable and less error-prone. We can now announcethat @import is officially deprecated as of Dart Sass 1.80.0.The module system ensures that it's easy for both developers and tooling todetermine where a given Sass member is defined, adds namespacing to prevent theneed to manually add long, awkward namespaces to names, and allows libraryauthors to ensure their private helpers can't be accessed by downstream users.Additionally, since each module is only ever loaded once, depending on the samestylesheet multiple times no longer results in duplicated CSS.With 4.5 years since we released the module system and more than a year sincewe passed the 80% Dart Sass usage share threshold we set for starting thisdeprecation, we feel comfortable making this move. However, we understand thatthis is a big change to the language and not a +
4ヶ月前
記事のアイキャッチ画像
Sass color spaces & wide gamut colors
Sass Blog
+Wide gamut colors are coming to Sass!I should clarify. Wide gamut CSS color formats like oklch(…) and color(display-p3 …) have been available in all major browsers since May, 2023. But even before that, these new color formats were allowed in Sass. This is one of my favorite features of Sass: most new CSS just works, without any need for "official" support or updates. When Sass encounters unknown CSS, it passes that code along to the browser. Not everything needs to be pre-processed.Often, that's all we need. When Cascade Layers and Container Queries rolled out in browsers, there was nothing more for Sass to do. But the new CSS color formats are a bit different. Since colors are a first-class data type in Sass, we don't always want to pass them along as-is. We often want to manipulate and manage colors before they go to the browser.Already know all about color spaces? Skip ahead to the new Sass features!The color format trade-offThe color format trade-off permalinkCSS has historically +
5ヶ月前
記事のアイキャッチ画像
Node Sass is end-of-life
Sass Blog
+The time has finally come to retire Node Sass. This Node.js wrapper for LibSasswas the first official Sass compiler available in the JavaScript ecosystem andwas a huge part of Sass growing beyond the scope of the Ruby community where itoriginated, but it hasn't received a new release in a year and a half and themost recent set of maintainers no longer have the bandwidth to continue updatingit.The npm package has been marked as deprecated, and the GitHub repository hasbeen archived to mitigate confusion about which Sass repositories are stillbeing developed. If you're still using Node Sass, we strongly recommend you takethis opportunity to migrate to the primary implementation, Dart Sass, instead.The LibSass implementation that Node Sass used remains deprecated but not yetend-of-life, as its maintainer Marcel Greter continues to make occasional fixes.However, there is no longer an officially-supported way to use thisimplementation from Node.js.I want to take this opportunity to thank ev +
6ヶ月前
記事のアイキャッチ画像
Announcing `pkg:` Importers
Sass Blog
+Several months ago, we asked for feedback on a proposal for a new standard forimporters that could load packages from various different package managers usingthe shared pkg: scheme, as well as a built-in pkg: importer that supportsNode.js's module resolution algorithm. Today, I'm excited to announce that thisfeature has shipped in Dart Sass 1.71.0!No longer will you have to manually add node_modules to your loadPathsoption and worry about whether nested packages will work at all. No longer willyou need to add ~s to your URLs and give up all portability. Now you can justpass importers: [new NodePackageImporter()] and write @use 'pkg:library' andit'll work just how you want out of the box.What is a pkg: importer?What is a pkg: importer? permalinkThink of a pkg: importer like a specification that anyone can implement bywriting a custom importer that follows a few rules. We've implemented one forthe Node.js module algorithm, but you could implement one that loads Sass filesfrom RubyGems or +
1年前
記事のアイキャッチ画像
Request for Comments: Package Importer
Sass Blog
+Sass users often need to use styles from a dependency to customize an existingtheme or access styling utilities. Historically, Sass has not specified astandard method for using packages from dependencies. This has led to a varietyof domain-specific solutions, including the ~ prefix in Webpack, and addingnode_modules to loadPaths.This has been a common pain point, and can make it difficult to rely ondependencies. It can also make it more difficult to move your project to a newbuild process.Package ImportersPackage Importers permalinkWe are proposing a new type of importer that allows users to use the pkg: URLscheme to direct Sass to resolve the dependency URL using the resolutionstandards and conventions for a specific environment.To address the largest use case, we are proposing a built-in Package Importerfor the Node ecosystem. Our recommendation is for package authors to define asass conditional export for entry points to their package in theirdistributed package.json. For example, a +
1年前
\ No newline at end of file diff --git a/blogs/77a5695dabbd88ba7494d5ee343b14e8/index.html b/blogs/77a5695dabbd88ba7494d5ee343b14e8/index.html new file mode 100644 index 000000000000..cd76334a8890 --- /dev/null +++ b/blogs/77a5695dabbd88ba7494d5ee343b14e8/index.html @@ -0,0 +1,11 @@ +Practica.js Blogのフィード|JSer.info Watch List RSS

Practica.js Blog

フィード

記事のアイキャッチ画像
About the sweet and powerful 'use case' code pattern
Practica.js Blog
Intro: A sweet pattern that got lost in time
10ヶ月前
記事のアイキャッチ画像
A compilation of outstanding testing articles (with JavaScript)
Practica.js Blog
What's special about this article?
2年前
記事のアイキャッチ画像
Testing the dark scenarios of your Node.js application
Practica.js Blog
Where the dead-bodies are covered
2年前
記事のアイキャッチ画像
Practica v0.0.6 is alive
Practica.js Blog
Where is our focus now?
2年前
記事のアイキャッチ画像
Is Prisma better than your 'traditional' ORM?
Practica.js Blog
Intro - Why discuss yet another ORM (or the man who had a stain on his fancy suite)?
2年前
記事のアイキャッチ画像
Which Monorepo is right for a Node.js BACKEND now?
Practica.js Blog
As a Node.js starter, choosing the right libraries and frameworks for our users is the bread and butter of our work in Practica.js. In this post, we'd like to share our considerations in choosing our monorepo tooling
2年前
記事のアイキャッチ画像
Popular Node.js patterns and tools to re-consider
Practica.js Blog
Node.js is maturing. Many patterns and frameworks were embraced - it's my belief that developers' productivity dramatically increased in the past years. One downside of maturity is habits - we now reuse existing techniques more often. How is this a problem?
3年前
記事のアイキャッチ画像
Practica.js v0.0.1 is alive
Practica.js Blog
🥳 We're thrilled to launch the very first version of Practica.js.
3年前
\ No newline at end of file diff --git a/blogs/78127e150460c59416fe602de2dcea38/index.html b/blogs/78127e150460c59416fe602de2dcea38/index.html new file mode 100644 index 000000000000..03dd08a38ed2 --- /dev/null +++ b/blogs/78127e150460c59416fe602de2dcea38/index.html @@ -0,0 +1,112 @@ +bun.shのフィード|JSer.info Watch List RSS

bun.sh

https://bun.sh

Bundle, install, and run JavaScript & TypeScript — all in Bun. Bun is a new JavaScript runtime with a native bundler, transpiler, task runner, and npm client built-in.

フィード

記事のアイキャッチ画像
Bun v1.2.2
はてなブックマークアイコン 1
bun.sh
+Fixes 38 bugs (addressing 129 👍). JavaScript idle memory usage drops by 10–30%. Fixes regression impacting vite build. Reliability improvements to Bun.SQL, Bun.S3Client, Bun's CSS parser. Node.js compatibility improvements: fs.glob, fs.globSync, fs.promises.glob, bugfixes for fs.Dir, fs.accessSync, node:http WebSocket exports
7日前
記事のアイキャッチ画像
Bun v1.2.1
はてなブックマークアイコン 1
bun.sh
Fixes 32 bugs. S3 storage class support, X25519 support in crypto.generateKeyPair. fs.stat uses less memory. node:fs, node:child_process, and node:process compatibility improvements. CSS parser bugfixes. Zero-filled buffers with `--zero-fill-buffers` flag. Indented inline snapshots in bun test. Improved: String GC Reporting Accuracy. Fixed memory leaks in Bun.serve(), Bun.pathToFileURL, and with some strings. Disable minification in HTML imports.
12日前
記事のアイキャッチ画像
Bun 1.2
bun.sh
Built-in Postgres client with Bun.sql, built-in S3 object support with Bun.s3, a new text-based lockfile: bun.lock, Express is 3x faster, and a major update on Node.js compatibility.
17日前
記事のアイキャッチ画像
Bun v1.1.45
bun.sh
Fixes 13 bugs (addressing 50 👍) 82% of the 'streams' module tests from Node.js' test suite now pass in Bun. node:crypto now implements diffieHellman, getCipherInfo, and X509Certificate. The checkServerIdentity object now matches Node.js' format. Bugfixes in Bun's fs.mkdirSync method, importing with query string
22日前
記事のアイキャッチ画像
Bun v1.1.44
bun.sh
+Fixes 43 bugs. > 90% of the 'dns' module tests from Node.js' test suite now pass in Bun. You can now build frontend applications on-demand in Bun.serve(). Adds xxHash support to Bun.hash(). Adds support for reading bun.lock using import. Adds --no-install flag to bunx. Improves console.warn output. Fixes bugs in Bun's S3 client, HTMLRewriter, and node:fs compatibility improvements, and more.
23日前
記事のアイキャッチ画像
Bun v1.1.43
bun.sh
+Bun v1.1.43 introduces 1st-class S3 support, HTML bundling, bun install --filter, V8 heap snapshots, bun install --lockfile-only, bun add --peer, 100% of `node:path` module Node.js test pass, 98% of `node:zlib` tests pass, Bun.file(path).stat(), Bun.file(path).delete(), along with many reliability improvements and bugfixes.
1ヶ月前
記事のアイキャッチ画像
Bun v1.1.42
bun.sh
Fixes 1 regression from Bun v1.1.41 involving 'use strict' in empty files that impacted Prisma
2ヶ月前 +
記事のアイキャッチ画像
Bun v1.1.41
bun.sh
Fixes 12 bugs (addressing 196 👍). JSDOM & happy-dom work more reliably due to node:vm compatibility improvements. Single-file executables on Windows now support custom icons and hiding the console. throw: true in Bun.build throws an error instead of returning errors. bun install gets the --omit=dev|optional|peer options and in .npmrc. A hoisting edgecase in bun install is fixed
2ヶ月前
記事のアイキャッチ画像
Bun v1.1.40
bun.sh
Fixes 14 bugs. Adds `install.saveTextLockfile` option in bunfig.toml to make the text lockfile format the default. Fixes a bug in package-lock.json migration when manually changing npm URLs to git URLs. Fixes a regression in process.on from Bun v1.1.39. Fixes an issue with BigInt in napi APIs impacting DuckDB. Improves reliability of installing git/github dependencies in bun install. Upgrades WebKit with security & reliability improvements.
2ヶ月前
記事のアイキャッチ画像
Bun's new text-based lockfile
bun.sh
We're introducing a new text-based lockfile format for bun install. It's GitHub & git-friendly, and makes it easier for teams to migrate from npm, yarn, and pnpm to bun install
2ヶ月前
記事のアイキャッチ画像
+Bun v1.1.39
bun.sh
Fixes 61 bugs (addressing 99 👍). bun.lock is bun's new text-based lockfile. Cached bun install gets 30% faster. fetch() request body streams. 100% of string_decoder, punycode and querystring Node.js tests pass. Native plugin API for Bun.build() and Rust crate. Implemented expect().toMatchInlineSnapshot(). More accurate heap snapshots. WebSocket server memory reduction. WebKit Upgrade with Error.isError, faster String.prototype.at.
2ヶ月前
記事のアイキャッチ画像
Bun v1.1.38
+bun.sh
Fixes 7 bugs (addressing 14 👍). Fixes debugger bug causing Bun to hang in VSCode terminal. Fixes crash in `postgres` npm package. Fixes TypeScript minification bug, console.log improvements, updated SQLite and c-ares. Adds `reusePort` option to `Bun.listen` and `node:net`, and fixes a bug in `Bun.FileSystemRouter.reload()`. Fixes rare crash in `fetch()`. Fixes assertion failure when re-assigning global modules in `--print` or `--eval`
2ヶ月前
記事のアイキャッチ画像
Bun v1.1.37
bun.sh
+Fixes 62 bugs (addressing 109 👍). Realtime error reporting & test runner in VSCode, self-referencing `import` & `require`, package.json `config` environment variables, improved CSS parser errors, fixes for a Prisma memory leak, a `bun install` regression, `expect.toMatchSnapshot` quote escaping, `node:net` regression impacting `http2-wrapper`, and several other bugfixes and improvements.
2ヶ月前
記事のアイキャッチ画像
Bun v1.1.35
bun.sh
+Fixes 46 bugs (addressing 570 👍). Musl LibC support, JUnit XML test output, 6 MB binary size reduction, `Worker` `preload` option, faster `fs.readFile` for small files, deep equality support for `Headers` and `URLSearchParams`, `node:net` compatibility improvements, unicode import bugfixes, several `bun install` fixes
3ヶ月前
記事のアイキャッチ画像
How Bun supports V8 APIs without using V8 (part 2)
bun.sh
+Rearranging JavaScriptCore types to match V8 code's assumptions
3ヶ月前
記事のアイキャッチ画像
Bun v1.1.34
bun.sh
Fixes 64 bugs (addressing 62 👍). `Bun.randomUUIDv7`, reduced memory usage for long-running processes, `napi_type_tag_object` and `napi_check_object_type_tag`, redacted secrets from config logs, `ReadableStream` and HTTP/1.1 spec fixes, several `bun install` and Node.js compatibility improvements
3ヶ月前
記事のアイキャッチ画像
Bun v1.1.33
bun.sh
Fixes 8 bugs. Fixes JSX symbol collisions with imports, fixes a `bun install` slowdown, skips optional dependency, fixes optional dependency postinstall failures, and fixes an assertion failure in the CSS parser.
3ヶ月前
記事のアイキャッチ画像
Bun v1.1.32
bun.sh
Fixes 7 bugs and adds crypto.hash() in node:crypto. Warnings in Next.js 15 are fixed. A regression in ESM CJS interop impacting Vite config objects is fixed. A crash in Bun.serve() when passing invalid TLS certificates at start is fixed.
4ヶ月前
記事のアイキャッチ画像
Bun v1.1.31
bun.sh
+Fixes 41 bugs (addressing 595 👍). node:http2 server and gRPC server support, ca and cafile support in bun install, Bun.inspect.table, bun build --drop, iterable SQLite queries, iterator helpers, Promise.try, Buffer.copyBytesFrom, and several Node.js compatibility improvements and bugfixes.
4ヶ月前
記事のアイキャッチ画像
Bun v1.1.30
bun.sh
+Fixes 57 bugs (addressing 150 👍) Bun's CSS bundler is here (and very experimental). `bun publish` is a drop-in replacement for `npm publish`. `bun build --bytecode` compiles to bytecode leading to 2x faster start time. Bun.color() formats and normalizes colors. `bun pm whoami` prints your npm username. bun install reads $HOME/.npmrc. bun build --format=cjs outputs CommonJS modules. bun build --target=node now supports Node.js native addons. 30x faster crypto.privateEncrypt() & crypto.publicDecrypt(). Zombie process killer in bun test. --banner and --footer options in bun build. Bun.serve().stop() returns a promise. CryptoHasher now supports HMAC. Bugfixes for node:zlib, node:module, and node:buffer. Lots more bugfixes and Node.js compatibility improvements.
4ヶ月前
+記事のアイキャッチ画像
How Bun supports V8 APIs without using V8 (part 1)
bun.sh
Bun is built on JavaScriptCore, not V8. Here's how we're implementing V8's C++ API on top of it.
4ヶ月前
記事のアイキャッチ画像
Bun v1.1.29
bun.sh
Fixes 21 bugs (addressing 22 👍). Fixes issue with proxying requests with axios. N-API (napi) support in compiled C. Faster typed arrays in `bun:ffi` with 'buffer' type. Fixes issue with bundling imported .wasm files in `bun build`. Fixes regression with `bun build` from v1.1.28. Fixes snapshot regression in `bun test`. Fixes bug with argument validation in `Bun.build` plugins.
5ヶ月前
記事のアイキャッチ画像
Bun v1.1.28
bun.sh
+This release fixes 40 bugs (addressing 51 👍). Compile & run C from JavaScript. 30x faster path.resolve. Named pipes on Windows. Several Node.js compatibility improvements and bugfixes.
5ヶ月前
記事のアイキャッチ画像
Compile and run C in JavaScript
bun.sh
Bun now supports compiling and running C from JavaScript to make using systems libraries easier.
5ヶ月前
記事のアイキャッチ画像
Bun v1.1.27
bun.sh
Fixes 130 bugs (addressing 250 👍). `bun pm pack`, faster `node:zlib`. Static routes in Bun.serve(). ReadableStream support in response.clone() & request.clone(). Per-request timeouts. Cancel method in ReadableStream is called. `bun run` handles CTRL + C better. Faster buffered streams. `bun outdated` package filtering. Watch arbtirary file types in --hot and --watch. Fixes to proxies on Windows. Several Node.js compatibility improvements.
5ヶ月前
記事のアイキャッチ画像
Bun v1.1.26
bun.sh
Fixes 9 bugs (addressing 652 👍). `bun outdated` shows outdated dependencies. Bun.serve() gets a new `idleTimeout` option and `subscriberCount(topic: string)` for a count of websocket clients subscribed to a topic. `test.only` in bun:test now skips tests before and after instead of only after. expect.assertions(n) in async functionn is fixed. "use strict" in CommonJS modules is now preserved. Plus, more node.js compatibility improvements and bug fixes.
5ヶ月前
記事のアイキャッチ画像
Bun v1.1.25
bun.sh
Fixes 42 bugs (addressing 470 👍). Support for `node:cluster` and V8's C++ API. Faster WebAssembly on Windows with OMGJIT. 5x faster S3 uploads with @aws-sdk/client-s3, Worker in standalone executables, and more Node.js compatibility improvements and bug fixes.
6ヶ月前
記事のアイキャッチ画像
Bun v1.1.23
bun.sh
Support for `TextEncoderStream` and `TextDecoderStream`, 50% faster `console.log(string)`, support for `Float16Array`, Node.jsBun IPC on Windows, truncate large arrays in `console.log()`, and many more bug fixes and Node.js compatibility improvements.
6ヶ月前
記事のアイキャッチ画像
Bun v1.1.22
bun.sh
+Fixes 79 bugs (addressing 93 👍). Express is now 3x faster in Bun, ES modules load faster on Windows, 10% faster Bun.serve() at POST requests, source maps in `bun build --compile`. Memory usage reductions to `--hot`, Bun.serve(), and imports. `Uint8Array.toBase64()`, `Uint8Array.toHex()`, and lots of Node.js compatibiltiy improvements and bugfixes.
6ヶ月前
記事のアイキャッチ画像
Bun v1.1.21
bun.sh
+Fixes 72 bugs (addressing 63 👍). 30% faster fetch() decompression, New --fetch-preconnect flag, improved Remix support, Bun gets 4 MB smaller on Linux, bundle packages excluding dependencies, many bundler fixes and node compatibility improvements.
6ヶ月前
記事のアイキャッチ画像
Bun v1.1.19
bun.sh
+Fixes 54 bugs (addressing 248 👍). JavaScript gets faster on Windows. Raspberry Pi 4 support returns. `_auth` support in `.npmrc`. `bun install` preserves package.json indentation. `aws-cdk-lib` support. Memory leak fixes in `new Response(request)` and `fs.readdir`. Several reliability improvements. Statically linked UCRT on Windows.
7ヶ月前
記事のアイキャッチ画像
Bun v1.1.18
bun.sh
+Fixes 55 bugs (addressing 493 👍). Support for npmrc. Improved constant folding & enum inlining. Improved console.log output for functions. Fixes patching dependencies in workspaces. Fixes several bugs in `bun install` when linking binaries. Fixes a crash in `dns.lookup`, and normalizes DNS errors to better match Node. Fixes an assertion failure in `Bun.escapeHTML`. Upgrades JavaScriptCore.
7ヶ月前
記事のアイキャッチ画像
Bun v1.1.17
bun.sh
+Fixes 4 bugs. Fixes a crash in bun repl. Makes fs.readdirSync 5% faster on macOS in small directories. Fixes "ws" module not calling the callback in "send" method. Fixes a crash when reading a corrupted lockfile in bun install. Makes macOS event loop a smidge faster.
7ヶ月前
記事のアイキャッチ画像
Bun v1.1.16
bun.sh
+Fixes 41 bugs (addressing 221 👍). lcov code coverage reports in bun test, Install dependencies from private git repositories including Gitlab and Bitbucket. `Buffer.from(string, "base64")` gets 6x - 30x faster on large input. Bug fixes to `bun patch`, `bun install`, N-AIi addons, transpiler bugfixes and Node.js compatibility improvements.
8ヶ月前
記事のアイキャッチ画像
Bun v1.1.14
bun.sh
+Fixes 63 bugs (addressing 519 👍). Patch node_modules with bun patch. ORM-less object mapping in bun:sqlite. Log fetch() calls as curl commands. Node.js compatibility improvements. bun install bugfixes, bun:sqlite bugfixes, WebSocket fixes, Windows bugfixes
8ヶ月前
記事のアイキャッチ画像
Bun v1.1.13
bun.sh
+Fixes 97 bugs (addressing 211 👍). Reliability improvements to bun install, WebSocket server, fetch, worker_threads. worker_threads now supports eval. `URL.createObjectURL`, stack trace error location improvements, several `bun install` fixes, and many crashes and bugs fixed.
8ヶ月前
記事のアイキャッチ画像
Bun v1.1.11
bun.sh
+Fixes 36 bugs (addressing 362 👍). bun update saves dependency updates to package.json. A peer dependencies resolution bug in bun install is fixed. setTimeout gets 5x faster throughput on Linux. Node.js compatibility improvements to fs, zlib, timers, http, dgram and module. Event loop improvements on macOS. Windows reliability improvements.
8ヶ月前
記事のアイキャッチ画像
Bun v1.1.10
bun.sh
+Fixes 20 bugs. 2x faster uncached bun install on Windows. fetch() uses up to 2.8x less memory. Several bugfixes to bun install, sourcemaps, Windows reliability improvements and Node.js compatibility improvements
8ヶ月前
記事のアイキャッチ画像
Bun v1.1.9
bun.sh
+Fixes 67 bugs (addressing 150 👍). Fixes to: workspaces in `bun install`, sourcemaps in bun build, IPv6 & VPN connectivity, Loading UNC paths, junctions, symlinks, and pnpm on Windows, `fetch()` gets faster, added `dns.prefetch()` API, `atob()` gets 8x faster, `toString('base64url')` gets 5x faster, expect().toBeReturned() matcher, Node.js compatibility improvements, Bun Shell fixes, and lots more bugfixes.
9ヶ月前
記事のアイキャッチ画像
Bun v1.1.8
bun.sh
+Fixes 54 bugs (addressing 184 👍). Support for `process.on("uncaughtException")` and `process.on("unhandledRejection")`, Brotli support in `node:zlib`, Faster JSON.parse, `[Symbol.dispose]` in Bun APIs, fixes lots of crashes on Windows, and many other bugfixes.
9ヶ月前
記事のアイキャッチ画像
Bun v1.1.7
bun.sh
+Fixes 28 bugs (addressing 11 👍). Glob workspace names in bun install. Asymmetric matcher support in expect.extends() equals. bunx --version. Bugfixes to JSX transpilation, sourcemaps, cross-compilation of standalone executables, bun shell, RegExp, Worker on Windows, and Node.js compatibility improvements.
9ヶ月前
記事のアイキャッチ画像
Bun v1.1.6
bun.sh
+Fixes 10 bugs (addressing 512 👍). UDP sockets! node:dgram! DataDog and ClickHouseDB! Fixes a bug impacting SvelteKit. Array#sort gets 15% - 135% faster. Fixes a regression in node:http from v1.1.5. Node.js compatibiltiy improvements and bugfixes.
9ヶ月前
記事のアイキャッチ画像
Bun v1.1.5
bun.sh
+Fixes 64 bugs (addressing 101 👍). Cross-compile standalone JavaScript & TypeScript executables to other platforms with bun build --compile. import any file as text via the `type: 'text'` import attribute. Introduces a new crash reporter. package.json with comments and trailing commas. Fixes a bug where `bun run --filter` exited with 0. Fixes a bug in bun install with file: dependencies. Fixes bugs in `node:tls`, `node:crypto`, `node:readline`, `node:http`, `node:worker_threads`
9ヶ月前
記事のアイキャッチ画像
bun.report is Bun's new crash reporter
bun.sh
How we built an anonymous Zig/C++ crash reporter that doesn't require debug symbols to be shipped with the application.
9ヶ月前
記事のアイキャッチ画像
Bun v1.1.4
bun.sh
+Fixes 40 bugs (addressing 84 👍 reactions). `bun run --filter ` lets you run multiple workspace scripts in parallel. Reinstalls get up to 50% faster in bun install. Important reliability fixes to bun install. bun:sqlite supports `using` for resource cleanup and has a few bugfixes. Memory leak impacting Next.js Standalone & Web Streams is fixed. Node.js compatibility improvements to fs and child_process. Fix for 'Connection closed' in fetch(). A few bugfixes for Bundows.
10ヶ月前
記事のアイキャッチ画像
Bun v1.1.3
bun.sh
+Fixes 5 bugs. bun install gets 50% faster on Windows. A bug that could cause bun install to hang in rare cases has been fixed. A bug where some errors in bun install would not produce a non-zero exit code has been fixed. A bug that could cause specific certain combinations of dependencies to fail to install has been fixed. A bug on Windows where CTRL + C on cmd.exe after exiting bun would not behave as expected has been fixed. A bug where missing permissions on Windows for reading a directory could lead to a crash has been fixed.
10ヶ月前
記事のアイキャッチ画像
Bun v1.1.2
bun.sh +
Fixes 4 bugs (addressing 44 👍 reactions). EBUSY on Windows in vite dev, next dev, and saving bun.lockb has been fixed. Object cloning gets 6x faster. Bun Shell gets support for seq, yes, basename and dirname. A TypeScript parsing edgecase has been fixed. A bug causing 'unreachable code' errors has been fixed. fs.watch on Windows has been rewritten to improve performance and reliability.
10ヶ月前
記事のアイキャッチ画像
Bun v1.1.1
bun.sh
+Fixes 20 bugs (addressing 60 👍). Add subshell and positional argument support to Bun Shell, fixing an issue with bun install + sharp on Windows. Printed source code in errors no longer fill up your terminal. Upgrades JavaScriptCore, which includes performance improvements to RegExp, typed arrays, String indexOf and String replace. Error objects and JIT'd function calls use less memory. Fixes several bugs with bun install on Windows. Fixes a bug with Bun.serve() on Windows. Fixes a TOML parser bug impacting escape sequences and windows paths in .toml files
10ヶ月前
記事のアイキャッチ画像
Bun 1.1
bun.sh
Bun now supports Windows!
10ヶ月前
記事のアイキャッチ画像
Bun v1.0.36
bun.sh
Fixes 13 bugs. Adds support for `fs.openAsBlob` and `fs.opendir`, fixes edgecase in bun install with multiple `bin` entries in `package.json`, fixes `bun build --target bun` encoding, fixes bug with process.stdin & process.stdout, fixes bug in http2, fixes bug with .env in bun run, fixes various Bun shell bugs and improves Node.js compatibility.
10ヶ月前
記事のアイキャッチ画像
Bun v1.0.34
bun.sh
Fixes 7 bugs, bunx uses less memory, bun install gets faster on Docker & WSL, a conflicting devDependency hoisting bug is fixed, a cyclical CommonJS & ESM import crash is fixed, cross-mount fs.cp & fs.copyFile get 50% faster on Linux, and reliability improvements for bun install & bun's runtime
1年前
記事のアイキャッチ画像
Bun v1.0.32
bun.sh
Fixes 13 bugs, including 3 I/O regressions from v1.0.31. Improves Node.js compatibility. 'ws' package can now send & receive ping/pong events. util.promisify'd setTimeout setInterval, setImmediate work now. FileHandle methods have been implemented
1年前
記事のアイキャッチ画像
Bun v1.0.33
bun.sh
Fixes 2 bugs, including a bug with the mv command in Bun Shell and an error in node:crypto when verifying signatures
1年前
記事のアイキャッチ画像
Bun v1.0.31
bun.sh
+Fixes 54 bugs (addresses 113 👍 reactions), introduces `bun --print`, ` | bun run -`, `bun add --trust`, `fetch()` with Unix sockets, fixes macOS binary size regression, fixes high CPU usage bug in spawn() on older linux, adds `util.styleText`, Node.js compatibiltiy improvements, bun install bugfixes, and bunx bugfixes
1年前
記事のアイキャッチ画像
Bun v1.0.30
bun.sh
+Fixes 27 bugs (addressing 103 👍 reactions), fixes an 8x perf regression in Bun.serve(), adds a new `--conditions` flag to `bun build` and Bun's runtime, adds support for `expect.assertions()` and `expect.hasAssertions()` in Bun's test runner, fixes crashes and improves Node.js compatibility
1年前
記事のアイキャッチ画像
Bun v1.0.29
bun.sh
+Fixes 8 bugs. Bun.stringWidth(a) is a ~6,756x faster drop-in replacement for the popular 'string-width' package. bunx checks for updates more frequently. Adds expect().toBeOneOf() in bun:test. Memory leak impacting Prisma is fixed. Shell now supports advanced redirects like '2>&1', '&>'. Reliability improvements to bunx, bun install, WebSocket client, and Bun Shell
1年前
記事のアイキャッチ画像
Bun v1.0.28
bun.sh
+Fixes 6 bugs (addressing 26 👍 reactions). Fixes bugs impacting Prisma and Astro, 'events', 'readline', and 'http2'. Fixes a bug in Bun Shell involving stdin redirection and fixes bugs in bun:test with test.each and describe.only
1年前
記事のアイキャッチ画像
Bun v1.0.27
bun.sh
+Fixes 72 bugs (addressing 192 👍 reactions), Bun Shell supports throwing on non-zero exit codes, stream Response bodies using async generators, improves reliability of fetch(), http2 client, Bun.Glob and Bun Shell. Fixes a regression with bun --watch on Linux. Improves Node.js compatibility
1年前
記事のアイキャッチ画像
Bun v1.0.26
bun.sh
+Fixes 30 bugs (addressing 60 👍 reactions), adds support for multi-statement queries in bun:sqlite, makes bun --watch more reliable in longer-running sessions, Bun.FileSystemRouter now supports more than 64 routes, fixes a bug with expect().toStrictEqual(), fixes 2 bugs with error.stack, improves Node.js compatibility
1年前
記事のアイキャッチ画像
Bun v1.0.25
bun.sh
Fixes 4 bugs, adds vm.createScript. Fixes a crash in fs.readFile, a crash in Bun.file().text(), a crash in IPC, and a transpiler bug involving loose equals
1年前
記事のアイキャッチ画像
Bun v1.0.24
bun.sh
Fixes 9 bugs and adds Bun Shell, a fast cross-platform shell with seamless JavaScript interop. Fixes a socket timeout bug, a potential crash when socket closes, a Node.js compatibility issue with Hapi, a process.exit bug, and bun install binlinking bug, bun inspect regression, and bun:test expect().toContain bug
1年前
記事のアイキャッチ画像
The Bun Shell
bun.sh
The Bun Shell is a cross-platform shell that allows you to run shell scripts in JavaScript & TypeScript
1年前
記事のアイキャッチ画像
Bun v1.0.23
bun.sh
+Fixes 40 bugs (addressing 194 👍 reactions). import & embed sqlite databases in Bun, Resource Management ('using' TC39 stage3) support, bundler improvements when building for Node.js, bugfix for peer dependency resolution, semver bugfix, 4% faster TCP on linux, Node.js compatibility improvements and more
1年前
記事のアイキャッチ画像
Bun v1.0.22
bun.sh
+Fixes `bun install` issues on Vercel, adds `performance.mark()` APIs, adds `child_process` support for extra pipes, makes `Buffer.concat` 10% - 400% faster, adds `toBeEmptyObject` and `toContainKeys` matchers, fixes `console.table` width using emojis, and adds support for `argv` and `execArgv` options in `worker_threads`.
1年前
記事のアイキャッチ画像
Bun v1.0.21
bun.sh
+Fixes 33 bugs (addressing 80 👍 reactions). console.table() support. Bun.write, Bun.file, and bun:sqlite use less memory. Large file uploads with FormData use less memory. bun:sqlite error messages get more detailed. Memory leak in errors from node:fs fixed. Node.js compatibility improvements, and many crashes fixed
1年前
記事のアイキャッチ画像
Bun v1.0.20
bun.sh
+Reduced memory usage for fs.readlink, fs.writeFile, fs.stat and HTMLRewriter. Fixes a regression where setTimeout caused high CPU usage on Linux. Bun.spawn shows how much CPU & memory the process used. HTMLRewriter.transform now supports strings and ArrayBuffer. fs.writeFile() and fs.readFile() now support hex & base64 encodings
1年前
記事のアイキャッチ画像
Bun v1.0.19
bun.sh
+Fixes 26 bugs (addressing 92 👍 reactions). Use @types/bun instead of bun-types. Fixes --frozen-lockfile bug. bcrypt & argon2 packages now work. setTimeout & setInterval get 4x higher throughput. module mocks in bun:test resolve specifiers. Optimized spawnSync() for large stdio on Linux. Bun.peek() gets 90x faster, expect(map1).toEqual(map2) gets 100x faster. Bugfixes to NAPI, bun install, and Node.js compatibility improvements
1年前
記事のアイキャッチ画像
Bun v1.0.18
bun.sh
+Fixes 27 bugs (addressing 28 👍 reactions). A hang impacting create-vite & create-next & stdin has been fixed. Lifecycle scripts reporting "node" or "node-gyp" not found has been fixed. expect().rejects works like Jest now, and more bug fixes
1年前
記事のアイキャッチ画像
Bun v1.0.17
bun.sh
+Fixes 15 bugs (addressing 152 👍 reactions). bun install postinstall scripts run for top 500 packages, `bunx supabase` starts 30x faster than `npx supabase`, `bunx esbuild` starts 50x faster than `npx esbuild` and bugfixes to bun install
1年前
記事のアイキャッチ画像
Bun v1.0.16
bun.sh
+Fixes 49 bugs (addressing 38 👍 reactions). Concurrent IO for Bun.file & Bun.write gets 3x faster and now supports Google Cloud Run & Vercel, Bun.write auto-creates the parent directory if it doesn't exist, `expect.extend` inside of preload works, `napi_create_object` gets 2.5x faster, bugfix for module resolution impacting Astro v4 and p-limit, console.log bugfixes
1年前
記事のアイキャッチ画像
Bun v1.0.15
bun.sh
+Fixes 23 bugs (addressing 117 👍 reactions), `tsc` starts 2x faster, prettier 40% faster. Stable `WebSocket` client, syntax-highlighted errors, cleaner stack traces, add custom test matchers with `expect.extend()`, TensorFlow.js support, fs.readdir recursive is 40x faster than in Node, and more.
1年前
記事のアイキャッチ画像
Bun v1.0.14
bun.sh
+Introduces `Bun.Glob` - a fast glob matcher, fixes a race condition when extracting dependencies during `bun install`, improves TypeScript module resolution in `node_modules`, makes error messages easier to read, and more fixes.
1年前
記事のアイキャッチ画像
Bun v1.0.13
bun.sh
+Fixes 6 bugs (addressing 317 👍 reactions). 'http2' module & gRPC.js work now. Vite 5 & Rollup 4 work. Implements process.report.getReport(), improves support for ES5 'with' statements, fixes a regression in bun install, fixes a crash when printing exceptions, fixes a Bun.spawn bug, and fixes a peer dependencies bug
1年前
記事のアイキャッチ画像
Bun v1.0.12
bun.sh
+Fixes 24 bugs, makes bun's CLI help menus easier to read, adds support for `bun -e`, `bun --env-file`, `server.url`, `import.meta.env`, `expect.unreachable()`, improves support for module mocks, allows importing builtin modules at bundle-time, and improves Node.js compatibility
1年前
記事のアイキャッチ画像
Bun v1.0.11
bun.sh
Fixes 5 bugs, adds Bun.semver, fixes a bug in bun install and fixes bugs impacting astro and @google-cloud/storage
1年前
記事のアイキャッチ画像
Bun v1.0.10
bun.sh
Fixes 14 bugs (addressing 102 👍 reactions), node:http gets 14% faster, stability improvements to Bun for Linux ARM64, bun install bugfix, and node:http bugfixes
1年前
記事のアイキャッチ画像
Bun v1.0.9
bun.sh
Fixes a glibc symbol version error, illegal instruction error, a Bun.spawn bug, an edgecase with peer dependency installs, and a JSX transpiler bugfix
1年前
記事のアイキャッチ画像
Bun v1.0.8
bun.sh
Fixes 138 bugs (addressing 257 👍 reactions), makes `require()` use 30% less memory, adds module mocking to `bun test`, and improves reliability of `bun install` and Bun.spawn
1年前
記事のアイキャッチ画像
Bun v1.0.7
bun.sh
Fixes 59 bugs (addressing 78 👍 reactions), support for optional `peerDependencies`, improvements to Node.js compatibility, and more stability for `bun install`.
1年前
記事のアイキャッチ画像
Bun v1.0.6
bun.sh
Fixes 3 bugs (addressing 85 👍 reactions), implements support for the 'overrides' & 'resolutions' fields in package.json and a regression impacting Docker usage with Bun
1年前
記事のアイキャッチ画像
Bun v1.0.5
bun.sh
+Fixes 41 bugs + a memory leak in `fetch()`, `KeyObject` support in `crypto` module, import package-lock.json, install peer dependencies, bun pm migrate subcommand, bun install bugfixes, and `toEqualIgnoringWhitespace` matcher in `bun:test`
1年前
記事のアイキャッチ画像
Bun v1.0.4
bun.sh
Bun v1.0.4 fixes 62 bugs, adds `server.requestIP`, supports virtual modules in runtime plugins, fixes many bun install bugs, and reduces memory consumption in `Bun.serve()`
1年前
+
記事のアイキャッチ画像
Bun v1.0.3
bun.sh
emitDecoratorMetadata, Nest.js support, better private registry support, bunx bugfix, console.log() depth 8 -> 2, silence .env loaded message, and many bugfixes
1年前
記事のアイキャッチ画像
Bun v1.0.2
bun.sh
Faster watch mode, bunx @latest bugfix, Bun uses V8's date parser, bugfixes to node:readline, node:dns, bun run, http streaming, transpiler, node:tty and more
1年前
記事のアイキャッチ画像
Bun v1.0.1
bun.sh
Named imports for .json & .toml files, bugfixes to bun install, node:path, Buffer. Support for NODE_TLS_REJECT_UNAUTHORIZED=0
1年前
記事のアイキャッチ画像
Bun 1.0
bun.sh
Bun is stable and ready for production.
1年前
記事のアイキャッチ画像
Bun v0.8.1
bun.sh
+Bun.serve() gets unix domain socket support, a performance regression has been fixed, and bugs in bun install, node:http and napi have been fixed
1年前
記事のアイキャッチ画像
Bun v0.8.0
bun.sh
Bun gets debugger support, fetch streaming, and `bun update`. ReadStream and WriteStream from `node:tty` are implemented, including raw mode on `process.stdin`. SvelteKit now works in Bun. Plus bug fixes and stability improvements.
1年前
記事のアイキャッチ画像
Bun v0.7.3
bun.sh
bun test gets code coverage reporting. bun test -t pattern lets you filter tests to run by regex pattern. Fixes a crash in bun:sqlite, node.js compatiblity improvements, and more.
2年前
記事のアイキャッチ画像
Bun v0.7.2
bun.sh
worker_threads, BroadcastChannel, diagnostics_channel, Node.js compatibility improvements, bun ., bugfixes and 2 memory leaks fixed
2年前
記事のアイキャッチ画像
Bun v0.7.1
bun.sh
Node.js compatibility improvements for Vite & frameworks. Better workspace support in bun installl & a bugfix for private registries. ES Modules load 30% faster. `vite dev` starts 90% faster on Linux. Transpiler bugfixes. fetch() file urls. MessagePort & MessageChannel.
+
2年前
記事のアイキャッチ画像
Bun v0.7.0
bun.sh
vite dev support, Workers, bun --smol, WebSocket.ping(), structuredClone(), serialize() and better Node.js compatibility
2年前
記事のアイキャッチ画像
Bun v0.6.14
bun.sh
Better support for Node.js `process` and lots of fixed bugs.
2年前
記事のアイキャッチ画像
Bun v0.6.13
bun.sh
Mock `Date`, 10x faster base64 encoding, WebSocket client reliability improvements, support for postgres tls and nodemailer, and various bug fixes.
2年前
記事のアイキャッチ画像
CommonJS is not going away
bun.sh
CommonJS is here to stay, and that's okay. Better tooling will solve today's developer experience issues.
2年前
記事のアイキャッチ画像
Bun v0.6.12
bun.sh
Sourcemapped stack traces at runtime, Node.js compatibility improvements, Bun.file(path).exists, minifier and bundler bugfixes
2年前
記事のアイキャッチ画像
Bun v0.6.10
bun.sh
Reduced memory usage, fs.watch(), better CommonJS support, improvements to `bun test`, `bun install`, and many bugfixes.
2年前
記事のアイキャッチ画像
Bun v0.6.9
bun.sh
Memory usage reductions in Bun.serve(), bun install, module imports, and crypto hashing. Crash in CommonJS modules fixed, plus additional bugfixes.
2年前
記事のアイキャッチ画像
Bun v0.6.8
bun.sh
+Password hashing, function mocking, debugging, and bug squashing
2年前
記事のアイキャッチ画像
Bun v0.6.7
bun.sh
Discord.js, Prisma, and Puppeteer support, faster node:crypto hashing, and lots of bug fixes
2年前
記事のアイキャッチ画像
Bun v0.6.6
bun.sh
Lots of improvements to `bun test`, including Github Actions support, `bun test --only`, `test.if()`, `describe.skip()`, and more matchers
2年前
記事のアイキャッチ画像
JavaScript Macros in Bun
bun.sh
Call JavaScript functions at bundle-time and inline results into the AST
2年前
記事のアイキャッチ画像
Bun v0.6.5
bun.sh
Native CommonJS support, $npm_lifecycle_event, bugfix for Bun.serve() with streaming files, bugfix for Node.js createConnection and a bundler bugfix
2年前
記事のアイキャッチ画像
Bun v0.6.4
bun.sh
Up to 80% faster bun test, test timeouts, timezone support, bundler bugfixes, console.log() improvements, node:http bugfixes, and more
2年前
記事のアイキャッチ画像
Bun v0.6.3
bun.sh
Introducing `node:vm` support, support for `socket.io` and `mongodb`, `test.todo()`, and many bug fixes for the bundler.
2年前
記事のアイキャッチ画像
Bun v0.6.2
bun.sh
Up to 20% faster JSON.parse, 15% faster JSON.stringify, and Proxy gets faster. A couple bugfixes to the minifier and bundler
2年前
記事のアイキャッチ画像
The Bun Bundler
bun.sh
+The Bun toolkit gets a new addition. Bun's fast native bundler is now in beta.
2年前
記事のアイキャッチ画像
Bun v0.6.0
bun.sh
A new JavaScript bundler, standalone executables, and lots of new features and improvements
2年前
記事のアイキャッチ画像
Bun v0.5.9
bun.sh
Introducing watch mode using `bun --watch`, tarball dependencies in `bun install`, and lots of bug fixes and compatibility improvements.
2年前
記事のアイキャッチ画像
Bun v0.5.8
bun.sh
+Introducing `expect()` snapshots in `bun test`, preloading modules using `bun --preload`, basic glob star support in bun install, improvements to Web & Node.js compatibility, lots of bug fixes, and a teaser of what's next.
2年前
記事のアイキャッチ画像
Bun has docs now
bun.sh
Bun has docs now? Bun has docs now.
2年前
記事のアイキャッチ画像
Bun v0.5.7
bun.sh
Support for `FormData` and `git` dependencies, better `setTimeout()` compatibility, `bun wiptest` is now `bun test`, and better support on AWS Lambda and GitHub Actions.
2年前
記事のアイキャッチ画像
Bun v0.5.6
bun.sh
+Support for `Bun.sleep`, improved Docker support, and improvements to Node.js and npm compatibility
2年前
記事のアイキャッチ画像
Bun v0.5.5
bun.sh
Improved compatibility for `node:http`, support for `http.request()` and `stripe-node`, and fixed various bugs.
2年前
記事のアイキャッチ画像
Bun v0.5.2
bun.sh
MongoDB support, `github:` dependencies in `bun install`, faster `Buffer`, `bun run` for WebAssembly, express' `body-parser` package, and many bug fixes.
2年前
記事のアイキャッチ画像
Bun v0.5.1
bun.sh
+Support for aliasing package.json dependencies, a better error message when a workspace is not found, and a few important bug fixes.
2年前
記事のアイキャッチ画像
Bun v0.5
bun.sh
Support for npm workspaces, DNS lookups, database drivers, and lots of improvements to bun install.
2年前
記事のアイキャッチ画像
Bun v0.4
bun.sh
Introducing bunx. Install and run an executable from npm, 100x faster than npx.
2年前
記事のアイキャッチ画像
Bun v0.3.0
bun.sh
Massive reduction in memory usage, faster text encoding, improved Jest compatibility, file-system routing, automatic package installs, and a lot more
2年前
記事のアイキャッチ画像
Bun v0.2.2
bun.sh
Release notes for Bun v0.2.2
2年前
記事のアイキャッチ画像
Bun v0.2.1
bun.sh
+Release notes for Bun v0.2.1
2年前
記事のアイキャッチ画像
Bun v0.2.0
bun.sh
Release notes for Bun v0.2.0
2年前
記事のアイキャッチ画像
Bun v0.1.12
bun.sh
Release notes for Bun v0.1.12
2年前
記事のアイキャッチ画像
Bun v0.1.11
bun.sh
Release notes for Bun v0.1.11
2年前
記事のアイキャッチ画像
Bun v0.1.10
bun.sh
Release notes for Bun v0.1.10
2年前
記事のアイキャッチ画像
Bun v0.1.9
bun.sh
Release notes for Bun v0.1.9
2年前
記事のアイキャッチ画像
Bun v0.1.8
bun.sh
Release notes for Bun v0.1.8
2年前
記事のアイキャッチ画像
Bun v0.1.7
bun.sh
Release notes for Bun v0.1.7
3年前
記事のアイキャッチ画像
Bun v0.1.6
bun.sh
Release notes for Bun v0.1.6
3年前
記事のアイキャッチ画像
Bun v0.1.5
bun.sh
Release notes for Bun v0.1.5
3年前
記事のアイキャッチ画像
Bun v0.1.4
bun.sh
Release notes for Bun v0.1.4
3年前
記事のアイキャッチ画像
Bun v0.1.3
bun.sh
Release notes for Bun v0.1.3
3年前
記事のアイキャッチ画像
Bun v0.1.2
bun.sh
Release notes for Bun v0.1.2
3年前
記事のアイキャッチ画像
Bun v0.1.1
bun.sh
+Release notes for Bun v0.1.1
3年前
\ No newline at end of file diff --git a/blogs/7978b47fde53b6e4380181e45d2aa61f/index.html b/blogs/7978b47fde53b6e4380181e45d2aa61f/index.html new file mode 100644 index 000000000000..4f67f0f9ba85 --- /dev/null +++ b/blogs/7978b47fde53b6e4380181e45d2aa61f/index.html @@ -0,0 +1,26 @@ +WebdriverIO Blogのフィード|JSer.info Watch List RSS

WebdriverIO Blog

フィード

記事のアイキャッチ画像
WebdriverIO v9 Released
WebdriverIO Blog
The whole Webdriverio development team is stoked and proud to release WebdriverIO v9 today!
6ヶ月前
記事のアイキャッチ画像
Interacting with Chrome DevTools from WebDriverIO
WebdriverIO Blog
+WebdriverIO is build to test various types of applications, from web or mobile applications towards native desktop apps or even VS Code extensions. But what about Chrome DevTools plugins? In this blog post we explore how one could interact with an extension build for Chrome Devtools.
6ヶ月前
記事のアイキャッチ画像
Introducing Major Updates to WebdriverIO's Visual Testing Module
WebdriverIO Blog
+We are thrilled to announce the latest update to the WebdriverIO Visual Testing module. This release brings two significant enhancements: making the Visual Testing Module a pure JS module and the introduction of a new CLI argument for automatic baseline updates.
8ヶ月前
記事のアイキャッチ画像
Introducing DOM and Visual Snapshot Testing for Component, End-to-End and Mobile Testing
WebdriverIO Blog
+We're excited to announce support for DOM and Visual snapshot tests using a common set of primitives supporting all testing environments WebdriverIO offers. Our vision has always been to provide a comprehensive, versatile testing tool that simplifies your workflow. This update is a step towards creating a 'Swiss Army Knife' for unit and visual testing, catering to diverse requirements across platforms and extending our support to native mobile applications, making your testing process more efficient and seamless.
1年前
記事のアイキャッチ画像
A New Contributor Stipend Program for WebdriverIO
WebdriverIO Blog
The WebdriverIO community is on the verge of an exciting new era, supported by strategic partnerships with BrowserStack and Sauce Labs, along with continuous support from other sponsors like LambdaTest. This collective endeavor signifies a crucial milestone for the WebdriverIO project, as we utilize these additional resources to foster the growth and enrichment of our ecosystem.
1年前
記事のアイキャッチ画像
Sauce Labs joins WebdriverIOs Partnership Program as Premium Sponsor
WebdriverIO Blog
We are thrilled to announce an exciting development in our journey towards innovation in software testing and quality assurance. Sauce Labs, a pioneering force in the continuous testing arena, is joining forces with us through our Partnership Program. This collaboration marks a significant milestone in our quest to expand our development fund, enabling us to enhance our work on major releases and introduce groundbreaking features yet to be unveiled.
1年前
記事のアイキャッチ画像
Exciting Partnership Announcement: WebdriverIO Teams Up with BrowserStack
WebdriverIO Blog
We are thrilled to share some fantastic news: WebdriverIO and BrowserStack have embarked on a groundbreaking partnership, set to significantly boost the development and community engagement of our project!
1年前
記事のアイキャッチ画像
Enhanced Test Automation with WebdriverIO
WebdriverIO Blog
Embark on a transformative journey into the dynamic landscape of test automation with the compelling and instructive guide, "Enhanced Test Automation with WebdriverIO - Unlock the Superpowers of Hybrid Testing Frameworks." Authored with the dual purpose of empowering both newcomers and seasoned developers, this comprehensive book serves as an indispensable manual for mastering advanced WebdriverIO concepts, specifically tailored for end-to-end testing of web applications.
1年前
Take a seat, WebdriverIO is driving for you!
WebdriverIO Blog
Since its inception, WebdriverIO has been a powerful tool for automating browsers through the WebDriver protocol. As many of you know, WebDriver is the web standard for automating real browsers, not just browser engines, allowing you to closely simulate the environment used by your users and customers.
2年前
記事のアイキャッチ画像
TypeScript Support for WebDriver Bidi
WebdriverIO Blog
With the release of WebdriverIO v8 we introduced the ability to connect with the WebDriver Bidi protocol directly. This allowed users to access the new capabilities of the protocol in a rudimental way as its development progresses. Today, with every browser release more capabilities will be enabled, so it is time for WebdriverIO to step up its integration and make these easier accessible to the user.
2年前
記事のアイキャッチ画像
Guide for Cross Platform E2E Test For Native Mobile APP
WebdriverIO Blog
This article is a must-read for those experiencing headaches with mobile automation testing in the context of Continuous Integration and Continuous Deployment (CICD), particularly when it involves native mobile Apps for Android and iOS. It’s quite challenging to find sufficient resources that cover this specific topic.
2年前
記事のアイキャッチ画像
Our Approach to Interactive and Tested Documentation
WebdriverIO Blog
The WebdriverIO framework is a versatile tool that offers a lot of features for you to play around with. The goal of our project documentation is to communicate these features well and give you an understanding, on how they could be applied in your project. A central contributor to this are code examples. Many times they can convey the principle idea of a feature like a picture that is worth a thousand words.
2年前
記事のアイキャッチ画像 +
WebdriverIO v8 Released
WebdriverIO Blog
While it took a bit longer than expected the WebdriverIO team is excited to announce that we finally released v8 today! 🎉 🎉 🎉
2年前
記事のアイキャッチ画像
Keep Your Apps Accessible and Your e2e Tests Stable With WebdriverIOs New Accessibility Selector
WebdriverIO Blog +
Fetching elements within e2e tests can sometimes be very hard. Complex CSS paths or arbitrary test ids make them either less readable or prone to failures. The disappointment we experience when our test fail is by far not comparable to a the bad experience people have when they need to use assistent devices like screen readers on applications build without accessibility in mind.
2年前
記事のアイキャッチ画像
WebdriverIO, meet Serenity/JS
WebdriverIO Blog
WebdriverIO is one of the most popular test frameworks and an excellent Web integration tool.
3年前
記事のアイキャッチ画像
Sync API Deprecation
WebdriverIO Blog
+For many years one of the selling features of the WebdriverIO framework was its synchronous API. Especially for folks coming from more synchronous oriented languages such as Java or Ruby, it has helped to avoid race conditions when executing commands. But also people that are more familiar with Promises tend to prefer synchronous execution as it made the code easier to read and handle.
4年前
記事のアイキャッチ画像
Case Study - How WebdriverIO facilitated faster releases and better code quality for an online video company
+WebdriverIO Blog
JW Player is an embeddable, online video player which generates over a billion unique views every day. In order to sustain and grow this scale, the player needs to be able to function on a multitude of different web and mobile platforms. This increases the importance of automated testing to improve confidence in our releases when deploying to so many different targets. After a lengthy project of converting our legacy test framework, which comprised over 6,000 tests, the Test Engineering team at JW Player has been able to deliver more timely releases with fewer regressions. We have experienced no major rollbacks, and increased the confidence we have in the quality of our own product, thanks to WebdriverIO.
4年前
記事のアイキャッチ画像
WebdriverIO Opens an OpenCollective
WebdriverIO Blog
Today the WebdriverIO team announced in their OpenJS Foundation Q&A session that the project opens an OpenCollective to allow users and companies to donate to the development of the project and support community members to run WebdriverIO workshops and other types of events. This allows everyone to be paid to work on features and bug fixes as well as help the community to pay for pizza or rental space when hosting WebdriverIO workshops or meetups.
4年前
記事のアイキャッチ画像
Grouping Specs for Execution in a Single Instance
WebdriverIO Blog
Until now, WebdriverIO has created a separate instance to run each of the spec files. So, if we have a directory structure that looks something like this:
4年前
記事のアイキャッチ画像
WebdriverIO v7 Released
WebdriverIO Blog
+It's the time of the year where the WebdriverIO project is releasing a new major update. It’s almost become a tradition for us to rewrite the complete code base to further grow the project. When we announced the v5 update, we moved from a multi-repository setup to a mono-repo. This time, the rewrite of the code base is just as important and impactful, but comes with almost no implications for the end user. As more and more contributors have joined the project, we've noticed that using pure JavaScript can be helpful to keep the entry barrier for contributions low, but that it ultimately decreases the quality of contributions overall. With the growing size of the code in the project, keeping up with all the different types that were thrown around was becoming more difficult for us as core contributors. Since we already had a lot of TypeScript fans among us, we decided to move to TypeScript quickly after meeting at the OpenJS Collaborator Summit.
4年前
\ No newline at end of file diff --git a/blogs/79dc00de4cb93b4a78519ae00c6dd098/index.html b/blogs/79dc00de4cb93b4a78519ae00c6dd098/index.html new file mode 100644 index 000000000000..3aa85f2f278a --- /dev/null +++ b/blogs/79dc00de4cb93b4a78519ae00c6dd098/index.html @@ -0,0 +1,12 @@ +Rspack Blogのフィード|JSer.info Watch List RSS

Rspack Blog

https://rspack.dev

Fast Rust-based web bundler

フィード

記事のアイキャッチ画像
Announcing Rspack 1.2
Rspack Blog
18日前
記事のアイキャッチ画像
Announcing Rspack 1.1
Rspack Blog
3ヶ月前
記事のアイキャッチ画像
Announcing Rspack 1.0 alpha
Rspack Blog
7ヶ月前
記事のアイキャッチ画像
Announcing Rspack 1.0
Rspack Blog
7ヶ月前
記事のアイキャッチ画像
Announcing Rspack 0.7
Rspack Blog
8ヶ月前
記事のアイキャッチ画像
Announcing Rspack 0.6
Rspack Blog
10ヶ月前
記事のアイキャッチ画像
Announcing Rspack 0.5
Rspack Blog
1年前
記事のアイキャッチ画像
Announcing Rspack 0.4
Rspack Blog
1年前
記事のアイキャッチ画像
Announcing Rspack 0.3
Rspack Blog
1年前
記事のアイキャッチ画像
Announcing Rspack 0.2
Rspack Blog
2年前
記事のアイキャッチ画像
Announcing Rspack 0.1
Rspack Blog
2年前
記事のアイキャッチ画像
Overview
Rspack Blog
数秒前
\ No newline at end of file diff --git a/blogs/7a980c72f00a7c85e5f0731da2feac5a/index.html b/blogs/7a980c72f00a7c85e5f0731da2feac5a/index.html new file mode 100644 index 000000000000..9c243c84a6f8 --- /dev/null +++ b/blogs/7a980c72f00a7c85e5f0731da2feac5a/index.html @@ -0,0 +1,10 @@ +rviscomi.devのフィード|JSer.info Watch List RSS

rviscomi.dev

フィード

記事のアイキャッチ画像
Breaking Up with Long Tasks or: how I learned to group loops and wield the yield
rviscomi.dev
Arrays are in every web developer’s toolbox, and there are a dozen ways to iterate over them. Choose wrong, though, and all of that processing time will happen synchronously in one long, blocking task. The thing is, the most natural ways are the wrong ways. A simple for..of loop that processes each array item is synchronous by default, while Array methods like forEach and map can ONLY run synchronously. You almost certainly have a loop like this waiting to be optimized right now.The post Breaking Up with Long Tasks or: how I learned to group loops and wield the yield appeared first on rviscomi.dev.
1ヶ月前
記事のアイキャッチ画像
A faster web in 2024
rviscomi.dev
The web is getting faster. In fact, according to HTTP Archive, more websites than ever before are passing the Core Web Vitals assessment, which looks at three metrics that represent different aspects of page performance: loading speed, interaction responsiveness, and layout stability. Earlier this week, the Chrome team published a retrospective on the Web Vitals […]The post A faster web in 2024 appeared first on rviscomi.dev.
1年前
記事のアイキャッチ画像
You probably don’t need http-equiv meta tags
rviscomi.dev
Until recently, I just assumed you could put anything equivalent to an HTTP header in an http-equiv meta tag, and browsers would treat it like the header itself. Maybe you thought the same thing—why wouldn’t you, with a name like that. But as it turns out, there are actually very few standard values that you […]The post You probably don’t need http-equiv meta tags appeared first on rviscomi.dev.
2年前
記事のアイキャッチ画像
Origin trials and tribulations
rviscomi.dev
Origin trials are a way for developers to get early access to experimental web platform features. They’re carefully controlled “beta tests” run by browsers to ensure that the feature works and is worth more time on implementation and standardization. Check out Getting started with origin trials to learn more. What’s interesting to me is seeing […]The post Origin trials and tribulations appeared first on rviscomi.dev.
2年前
+
記事のアイキャッチ画像
Querying parsed HTML in BigQuery
rviscomi.dev
A longstanding problem in the HTTP Archive dataset has been extracting insights from blobs of HTML in BigQuery. For example, take the source code of example.com: If you wanted to extract the link text in the last paragraph, you could do something relatively straightforward like this: But in BigQuery, we don’t have the luxury of […]The post Querying parsed HTML in BigQuery appeared first on rviscomi.dev.
2年前
+
\ No newline at end of file diff --git a/blogs/7c54d401a8d4fc92f7274cd637d4d5cc/index.html b/blogs/7c54d401a8d4fc92f7274cd637d4d5cc/index.html new file mode 100644 index 000000000000..5c2046de5dea --- /dev/null +++ b/blogs/7c54d401a8d4fc92f7274cd637d4d5cc/index.html @@ -0,0 +1,62 @@ +Assetnote Researchのフィード|JSer.info Watch List RSS

Assetnote Research

https://www.assetnote.io

Fundamentally change how you secure your attack surface. Assetnote's industry-leading Attack Surface Management Platform gives security teams continuous insight and control over their ever-evolving exposure.

フィード

記事のアイキャッチ画像
How an obscure PHP footgun led to RCE in Craft CMS
Assetnote Research
Craft CMS is one of the most popular PHP-based CMSes globally, boasting over 150,000 sites worldwide. This blog post details a pre-authentication RCE vulnerability affecting Craft CMS versions below 4.13.1 and 5.5.1.
2ヶ月前
+記事のアイキャッチ画像
Citrix Denial of Service: Analysis of CVE-2024-8534
Assetnote Research
An analysis of CVE-2024-8534, a memory safety vulnerability leading to memory corruption and Denial of Service in NetScaler ADC and Gateway.
2ヶ月前
記事のアイキャッチ画像
Leveraging An Order of Operations Bug to Achieve RCE in Sitecore 8.x - 10.x
Assetnote Research
Local file disclosure in Sitecore 8.x to 10.x that can lead to RCE (CVE-2024-46938) due to an order of operations bug within a handler responsible for reading local files.
3ヶ月前
記事のアイキャッチ画像
Insecurity through Censorship: Vulnerabilities Caused by The Great Firewall
Assetnote Research
We detail several practical client-side attacks that can result from DNS poisoning observed for domains hosted in China. These attacks impact every domain on the Internet that uses a nameserver located in China, and it's estimated that more than 30 million domains are vulnerable to this.
4ヶ月前
記事のアイキャッチ画像
Chaining Three Bugs to Access All Your ServiceNow Data
Assetnote Research
Through the course of 3/4 weeks, we were able to find a chain of vulnerabilities that allows full database access and full access to any MID servers configured. This resulted in 3 separate CVE's.
6ヶ月前
記事のアイキャッチ画像
Why nested deserialization is harmful: Magento XXE (CVE-2024-34102)
Assetnote Research
A critical, pre-authentication XML entity injection issue in Magento / Adobe Commerce (CVE-2024-34102), which Adobe rated as CVSS 9.8.
7ヶ月前
記事のアイキャッチ画像
Digging for SSRF in NextJS apps
Assetnote Research +
At Assetnote, we encounter sites running NextJS extremely often; in this blog post we will detail some common misconfigurations we find in NextJS websites, along with a vulnerability we found in the framework.
9ヶ月前
記事のアイキャッチ画像
Advisory: Next.js SSRF (CVE-2024-34351)
Assetnote Research
+Assetnote Security Advisory: A Server-Side Request Forgery (SSRF) vulnerability was identified in Next.js Server Actions. If the Host header is modified, and the below conditions are also met, an attacker may be able to make requests that appear to be originating from the Next.js application server itself. An attacker is able to read the full HTTP response when successfully exploiting this SSRF issue.
9ヶ月前
記事のアイキャッチ画像
Advisory: Progress WS_FTP RCE (CVE-2023-40044)
Assetnote Research
Assetnote Security Advisory: An attacker can exploit this vulnerability without authentication, to execute arbitrary commands on the Progress WS_FTP server through the deserialization of untrusted data. An attacker must be able to access the WS_FTP web server and the Ad Hoc Transfer application in order to exploit this issue.
9ヶ月前
記事のアイキャッチ画像
+Two Bytes is Plenty: FortiGate RCE with CVE-2024-21762
Assetnote Research
Early this February, Fortinet released an advisory for an "out-of-bounds write vulnerability" that could lead to remote code execution. The issue affected the SSL VPN component of their FortiGate network appliance and was potentially already being exploited in the wild. In this post we detail the steps we took to identify the patched vulnerability and produce a working exploit.
1年前
記事のアイキャッチ画像
Citrix Bleed: Leaking Session Tokens with CVE-2023-4966
Assetnote Research
It's time for another round Citrix Patch Diffing! Earlier this month Citrix released a security bulletin which mentioned "unauthenticated buffer-related vulnerabilities" and two CVEs. These issues affected Citrix NetScaler ADC and NetScaler Gateway.
1年前
記事のアイキャッチ画像
Continuing the Citrix Saga: CVE-2023-5914 & CVE-2023-6184
Assetnote Research
While most of the attention for vulnerabilities within Citrix has been on their NetScaler VPN product, we noticed that there were several other products offered by Citrix that require an on-premise deployment of a web application, that is sometimes internet facing. This piqued our interest and led us to investigate the security of these self-hosted applications.
1年前
記事のアイキャッチ画像
Ivanti's Pulse Connect Secure Auth Bypass Round Two
Assetnote Research
The Ivanti excitement continues! After an authentication bypass and command injection to kick off the year, Ivanti are following with a second authentication bypass and a privilege escalation. On January 22 Ivanti released this advisory describing the two new vulnerabilities in Ivanti Connect Secure, CVE-2024-21888 (privilege escalation) and CVE-2024-21893 (authentication bypass).
1年前
記事のアイキャッチ画像
RCE in Avaya Aura Device Services
Assetnote Research
1年前
記事のアイキャッチ画像
Reversing Citrix Gateway for XSS
Assetnote Research
1年前
記事のアイキャッチ画像
H2C Smuggling in the Wild
Assetnote Research
1年前
記事のアイキャッチ画像
High Signal Detection and Exploitation of Ivanti's Pulse Connect Secure Auth Bypass & RCE
Assetnote Research
Last week, Ivanti disclosed two critical vulnerabilities affecting Ivanti Pulse Connect Secure - CVE-2023-46805 (Authentication Bypass) & CVE-2024-21887 (Remote Command Execution).
1年前
記事のアイキャッチ画像
RCE in Progress WS_FTP Ad Hoc via IIS HTTP Modules (CVE-2023-40044)
Assetnote Research
Over the last year or so, we've seen the mass exploitation of managed file transfer software. From GoAnywhere MFT, MOVEIt, and our own work on Citrix Sharefile. The threats towards enterprises through managed file transfer software has really hit home after the recent ransomware attack by Cl0p, leveraging a series of vulnerabilities in Progress MOVEIt.
1年前
Leaking File Contents with a Blind File Oracle in Flarum
Assetnote Research
Our security researchers identified a critical vulnerability inside Flarum (popular forum software) which allows attackers to read local files from the system.
1年前
記事のアイキャッチ画像
Advisory: Flarum LFI - CVE-2023-40033
Assetnote Research
Security Advisory: Our security researchers identified a critical vulnerability inside Flarum (popular forum software) which allows attackers to read local files from the system.
1年前
記事のアイキャッチ画像
A Glossary of Blind SSRF Chains
Assetnote Research
1年前
記事のアイキャッチ画像
Exploiting GraphQL
Assetnote Research
1年前
\ No newline at end of file diff --git a/blogs/7ed6df025d104b7c70047ef463c232e3/index.html b/blogs/7ed6df025d104b7c70047ef463c232e3/index.html new file mode 100644 index 000000000000..d2529c5e2a84 --- /dev/null +++ b/blogs/7ed6df025d104b7c70047ef463c232e3/index.html @@ -0,0 +1,559 @@ +Vercel Newsのフィード|JSer.info Watch List RSS

Vercel News

フィード

記事のアイキャッチ画像
Enhanced firewall data now available in Monitoring
Vercel News
+Monitoring now has better firewall support, offering insights into your firewall rules:These metrics are available for all and customers.Observability PlusMonitoringMonitoring recently became .part of Observability PlusRead moreFilter blocked requests by actions and custom firewall rulesMore fields are now displayed when available:IP CountryUser AgentRouteRequest PathRegion
19時間前
記事のアイキャッチ画像
New execution duration limit for Edge Functions
Vercel News
Starting on March 1st, 2025, we will begin the rollout of a new execution duration limit of 300 seconds for using the Edge runtime.Vercel Functions Previously, Edge Functions had no fixed timeout for streaming responses, leading to unpredictable behavior based on system resources and traffic. With this update, Edge Functions will consistently allow streaming responses for up to 300 seconds, including post-response tasks like .waitUntil()Learn more about .Vercel Functions using the Edge runtimeRead more
2日前
記事のアイキャッチ画像
Faster deploy times for large builds
Vercel News
+We optimized the deploy step of the to reduce build times by 2.8 seconds at P99, 760ms at P75, and 410ms on average.build processFor customers with a large number of Vercel Functions (100+), builds are more than 50 seconds faster. Several customers have time savings of over 2 minutes.Check out to learn more about builds.the documentationRead more
2日前
記事のアイキャッチ画像
Dark mode, expanded search, and more repositories in Grep
Vercel News
We've made improvements to , our tool for quick code search. Grep. Try Grep todayRead more You can now search across 1,000,000 public git repositoriesThe app has been rebuilt with , improving performance with Next.js 15Partial PrerenderingSupport for dark mode
3日前
記事のアイキャッチ画像
Deployment pages now display key configuration settings
Vercel News
+Project Overview and Deployment Details pages now include a Deployment Configuration section under the deployment card. Expand to view snapshots of , , , , and settings.Fluid ComputeFunction CPUDeployment ProtectionSkew ProtectionSecure ComputeThis section is available for all new deployments moving forward. It will appear on your Project Overview page after your next production deployment.Read more
3日前
記事のアイキャッチ画像
Introducing Fluid compute
はてなブックマークアイコン 3
Vercel News
+While dedicated servers provide efficiency and always-on availability, they often lead to over-provisioning, scaling challenges, and operational overhead. Serverless computing improves this with auto-scaling and pay-as-you-go pricing, but can suffer from cold starts and inefficient use of idle time.It’s time for a new, balanced approach. evolves beyond serverless, trading single-invocation functions for high-performance mini-servers. This model has helped thousands of early adopters maximize resource efficiency, minimize cold starts, and reduce compute costs .Fluid computeby up to 85%Read more
4日前
+記事のアイキャッチ画像
Vercel Functions can now run on Fluid compute
Vercel News
+Vercel Functions can now run on , bringing improvements in efficiency, scalability, and cost effectiveness. . Fluid computeFluid is now available for all plans or learn more in our and .Enable Fluid todayblogdocumentationRead moreWhat’s New Functions can handle multiple requests per instance, reducing idle time and lowering compute costs by for high-concurrency workloadsOptimized concurrency:up to 85% Fewer cold starts with smarter scaling and pre-warmed instancesCold start protection: Functions scale before instances, moving beyond the traditional 1:1 invocation-to-instance modelOptimized scaling: Use to run background tasks after responding to the clientExtended function lifecycle:waitUntil Detects and stops infinite loops and excessive invocationsRunaway cost protection: Requests are routed to the nearest of your selected compute region for better performanceMulti-region execution: No restrictions on native modules or standard librariesNode.js and Python support:
4日前
記事のアイキャッチ画像
Enterprise teams can now ship faster without build queues
Vercel News
On-demand concurrent builds automatically and dynamically scale builds, increasing build capacity and shipping velocity.Starting today, new projects in Enterprise teams will use on-demand concurrency by default to eliminate build queue bottlenecks. You can turn this feature on for existing projects at any time with or enable it at the .urgent on-demand concurrent buildsproject levelYou are charged for on-demand concurrency based on the number of 10-minute build slots required to allow the builds to proceed as explained in .usage and limits to learn more about on-demand concurrent builds .Check out the documentationRead more
8日前
記事のアイキャッチ画像
ISR on Vercel is now faster and more cost-efficient
Vercel News
+When in 2020, it changed how developers build for the web. ISR combines the speed of static generation with the flexibility of dynamic rendering, enabling sites to update content without requiring full rebuilds.Next.js introduced Incremental Static Regeneration (ISR)Vercel has supported ISR from day one, making it easy for teams at , , and to serve fresh content while keeping page loads fast.The Washington PostAlgoliaSonosRead more
9日前
Edge Function metrics now available in Monitoring
Vercel News
+Monitoring now includes three new metrics for Edge Functions to provide a comprehensive view of your Edge Function activity and performance:These metrics are available for all and customers.Observability PlusMonitoringMonitoring .recently became part of Observability PlusRead moreTracks the total number of times your Edge Functions are invoked, including both successful and errored callsEdge Function Invocations: Measures the CPU time your Edge Functions use, calculated in 50ms incrementsEdge Function Execution Units: (Incoming and Outgoing)Track data transfer rates to and from your origin serversFast Origin Transfer:
9日前
記事のアイキャッチ画像
Incremental Static Regeneration (ISR) is now faster and more cost-efficient
Vercel News
+enables you to update content in the background without needing to redeploying your application. You can scale CMS or content-backed applications to millions of pages without having slow builds.Incremental Static Regeneration (ISR)We've optimized our infrastructure to make ISR faster and more cost-efficient:Redeploy your project to apply these updates or learn more about .ISRUpdate: The rollout of this change completed on February 5th, 2025 around 8am PST.Read more: ISR cache writes are now compressed by default, using fewer ISR write and read units (8KB chunks) per update and lowering Fast Origin Transfer (FOT) costs. Both reads and writes are now compressed.Smaller writes: The ISR cache is now available in all regions and automatically aligns with your functions' region. If your project spans multiple regions, the most cost-effective location is chosen automatically. This improves performance, especially for traffic outside North America, and regional pricing applies.Region-aware cac +
9日前
記事のアイキャッチ画像
Filter for your own requests in Logs
Vercel News
+You can now filter logs to display only requests made from your browser. This simplifies debugging by isolating your requests in high-traffic environments. It matches your IP address and User Agent to incoming requests.Visit and toggle the user filter to get started or learn more about .your project's Logs tabruntime logsRead more
10日前
記事のアイキャッチ画像
Clients blocked by persistent actions now receive a 403 Forbidden response
Vercel News
Starting today, when the blocks a client with a persistent action, it will respond with a 403 Forbidden status instead of failing silently. This change now makes it clear that the connection is being intentionally denied. Vercel Web Application Firewall (WAF)Persistent actions in the WAF help reduce edge request load and stop malicious traffic earlier, cutting down unnecessary processing for your applications. Learn more about . persistent actionsRead more
11日前
記事のアイキャッチ画像
Working with Figma and custom design systems in v0
Vercel News
+v0’s ability to import existing Figma files allows designers and developers to bridge the gap between design tools and AI-driven development. This feature extracts context from Figma files, along with any supplementary visuals, and passes them into v0's generation process.Read more
12日前
記事のアイキャッチ画像
Mitigating Denial of Wallet risks with Vercel
Vercel News
+Unlike traditional cyberattacks that target code or infrastructure vulnerabilities, Denial of Wallet (DoW) attacks focus on draining a service's operational budget.At Vercel, we're building controls and anomaly detection to help you defend against these threats and protect your applications.Read more
15日前
記事のアイキャッチ画像
Preview your site's Firewall status and Web Analytics from the Project Overview
Vercel News
The now shows a preview of your production traffic and firewall status. project overview pageThe Vercel Firewall automatically mitigates DDoS attacks for all Vercel deployments. You can further secure your site with , and by turning on when under high-volume attacks. On the project overview page you'll see the status of the firewall, requests blocked and challenged in the past 24 hours, and a warning if a is inhibiting Vercel's ability to protect your site.custom rules and IP blockingAttack Challenge Modereverse proxyVercel Web Analytics gives you insight into your site's visitors and traffic. When the feature is , you'll see your site's traffic on the project overview page.enabledLear more about and .Vercel Web AnalyticsVercel FirewallRead more
15日前
記事のアイキャッチ画像
Firefox extension for Vercel Toolbar
Vercel News
The Vercel Toolbar extension is now available for , in addition to . FirefoxChromeWith this extension you can use the Vercel Toolbar on your production deployments, set preferences for when the toolbar appears and activates, and drag and release to add a screenshot of a selected area to a comment. Install the Firefox extension from the to get started or visit our documentation to learn more about the and . Firefox Browser Add Ons pageVercel Toolbar browser extensionsRead more
+15日前
記事のアイキャッチ画像
Project settings are now searchable
Vercel News
You can now search within project settings in the , making it easier to quickly find a specific setting.Vercel DashboardTo get to :your project settingsLearn more about .project settingsRead moreSelect a project from your pageTeam OverviewSelect the tab.Settings
15日前
記事のアイキャッチ画像
Vercel acquires Tremor to invest in open source React components
Vercel News
+is an open source library built on top of React, Tailwind CSS, and Radix. It consists of 35 unique components and 300 blocks that can be copy-pasted to build visually rich and interactive dashboards. The Tremor community has seen impressive growth with over 16,000 stars, 300,000 monthly downloads, and 5,500,000 installs to date.TremorToday, Tremor and its cofounders and are joining Vercel’s Design Engineering team where they'll be working on UI components for the Vercel Dashboard, v0, and more. Severin LandoltChristopher KindlThis acquisition strengthens our commitment to open source and providing developers with the best tools for building exceptional user interfaces.Read more
17日前
Self-serve domain renewals and redemptions now available
Vercel News
+Self-serve domain renewals and redemptions are now available in the Vercel dashboard.Previously limited to automatic renewals to ensure uninterrupted service, domains can now be manually renewed at your convenience with just a few clicks, directly from the dashboard.To renew your domains directly:Additionally, you may click the button on any domain detail page.Renew DomainFor expired domains with a redemption period (typically 30 days), you can now recover them directly in the dashboard:Read our for more information.domains renewal documentationRead moreDomain renewalsDomain redemptionsNavigate to tabyour team's DomainsClick the next to the domain you want to renewthree dotsSelect RenewStart the redemption process on the domain detail pageA redemption fee will be applied, depending on the domain registry
18日前
記事のアイキャッチ画像
AI SDK 4.1
Vercel News
The is an open-source toolkit for building AI applications with JavaScript and TypeScript. Its unified provider API allows you to use any language model and enables powerful UI integrations into leading web frameworks such as and .AI SDKNext.jsSvelteRead more
19日前
記事のアイキャッチ画像
Claim Deployments now available for fast and secure deployment transfers
Vercel News
, like AI agents and visual building apps, can now easily transfer deployment ownership directly to users or teams.Multi-tenant platformsHow it works: to learn more.Check out our documentationRead moreAny third-party can create a new deployment or using the Vercel API: and Deployment creation: using the Vercel CLIPOST /filesPOST /deploymentsThe Vercel API endpoint is then used to generate a URL for that deployment.Initiate transfer: claim-deploymentThe user selects their Vercel team and completes the transfer.User confirms their team:
19日前
記事のアイキャッチ画像
Audit logs with SIEM integration now generally available
Vercel News
+Audit logs are now generally available for Enterprise customers, and can be integrated with SIEMs for real-time export.Audit logs provide an auditable trail of key events and changes within your Vercel team. With an immutable record, you can track who performed an action, what was done, and when—with access to up to 90 days of historical data.Enterprise customers can also configure a to their existing Security Information and Event Management (SIEM) tools, such as Datadog or Splunk. Additionally, logs can be sent to durable object storage solutions like Amazon S3, Google Cloud Storage, or a custom HTTP endpoint.real-time audit log stream POSTFor more details, check out the or contact your account manager.Audit Log documentationRead more
23日前
記事のアイキャッチ画像
Node.js 18 is being deprecated on August 1, 2025
Vercel News
+Following the Node.js 18 end of life on April 30, 2025, we are deprecating Node.js 18 for Builds and Functions on August 1, 2025.Will my existing deployments be affected?No, existing deployments with Serverless Functions will not be affected.When will I no longer be able to use Node.js 18?On August 1, 2025, Node.js 18 will be disabled in . Existing projects using 18 as the version for Functions will display an error when a new deployment is created.project settingsHow can I upgrade my Node.js version?You can configure your Node.js version in or through the field in .project settingsenginespackage.jsonHow can I see which of my projects are affected?You can see which of your projects are affected by this deprecation with:Read more
23日前
Flags SDK 3.0
Vercel News
+The is a library that gives developers tools to use feature flags in Next.js and SvelteKit applications.Flags SDKThe Flags SDK version 3.0 adds:With this release, is now open source and under the MIT License, providing more transparency and allowing for community contributions and integrations. the repositoryCheck out the with updated examples to learn more.new Flags SDK documentationRead morePages Router support so feature flags can be used in App Router and Pages RouterNew adapters architecture that allows the SDK to integrate with various data sources and feature flag providersA new concept that allows you to establish an evaluation context for your feature flags. With this addition, you can tailor flags and experiments for individual users or groupsidentify
23日前
記事のアイキャッチ画像
CLI archive deployments are now up to 30% faster with split-tgz archive option
Vercel News
+The was introduced for CLI deployments hitting rate limits like the . commonly use archive uploads as they generate thousands of files at build time.archive optionlimit on the maximum amount of filesPrebuilt deploymentsPreviously, archive deployments were always compressed into one large file with the only existing option, . Deployments using may hit the . Additionally, uploading one large archive file is slower than uploading multiple file parts.--archivetgztgzfile size upload limitThe resolves these issues by splitting large archives into smaller parts. avoids the static file upload limit and uploads large prebuilt projects .beta split-tgz format split-tgzup to 30% fasterExample usage: vercel deploy --archive=split-tgzLearn more about .CLI deploymentsRead more
23日前
記事のアイキャッチ画像
Bun's text lockfile is now supported with zero configuration
Vercel News
Projects using Bun's new text lockfile can now be deployed to Vercel with zero configuration.bun.lockWhile Vercel , Bun v1.1.39 introduces a new lock file with . Bun plans to make this the default in v1.2.already supports Bun's binary lockfilebun.lockbtext-based bun install --save-text-lockfileLearn more about .package managers supported by VercelRead more
23日前
記事のアイキャッチ画像
Mux joins the Vercel Marketplace
Vercel News
+The Vercel Marketplace has a new category for tools that allow developers to integrate video functionality into any project.VideoThe first integration in the category is , an API-first platform for video. With the first-party , Vercel users can:VideoMuxMux integrationGet started with , available to customers on all plans.Mux on the Vercel MarketplaceRead moreAdd video streaming and playback capabilities with minimal setupAccess real-time video performance data and analyticsLeverage integrated billing through Vercel
23日前
記事のアイキャッチ画像
+Bounce rate support in Web Analytics
Vercel News
You can now see the bounce rate of your visitors in Web Analytics. With bounce rate, you're able to see the percentage of users visiting a single page without navigating any further.When filtering for a route or path, the bounce rate adapts and shows how many users bounced on a specific page.Learn more about .filtering in Web AnalyticsRead more
24日前
記事のアイキャッチ画像
Upgraded PCI DSS version 3.2.1 to 4.0
Vercel News
We have completed our Self-Assessment Questionnaire Attestation of Compliance (SAQ-D AOC) for Service Providers under PCI DSS v4.0.A copy of our PCI DSS compliance documentation can be obtained through our . For additional information about our SAQ-D AOC report or Responsibility Matrix, please .Trust Centercontact usLearn how we support ecommerce customers who require .PCI compliance for payment processingRead more
24日前
記事のアイキャッチ画像
Python support added to in-function concurrency beta
Vercel News
+is now supported in the ongoing .Pythonin-function concurrency public betaIn-function concurrency optimizes functions to handle multiple invocations simultaneously, improving resource efficiency. By reusing active instances instead of creating new ones, it reduces idle compute time and associated costs.In-function concurrency is particularly beneficial for workloads with external API or database calls, such as AI models, where functions often sit idle while waiting for responses.The in-function concurrency public beta is available to Pro and Enterprise customers using Standard or Performance Function CPU, and can be . Real-time tracking of resource savings is available in .enabled through your dashboardObservabilityLearn more in our and , or get started with by enabling In-function concurrency in your .blog postdocumentationour templateproject settingsRead more
25日前
記事のアイキャッチ画像
The Vercel Toolbar is now more compact and dynamic
Vercel News
+The Vercel Toolbar has a new compact design, making it easier to access the tools you use most.Learn more about the and its features.Vercel Toolbar Read moreThetoolbar is now smaller and only runs when you click or tap to activate it or when visiting from a link that contains a comment thread, draft link, or flag overrideCompact design: ​Your most recently used tools will pin to the top of your menu for easy accessShortcuts: When visitingprojects and deployments from the dashboard, you'll see a "Visit" button that gives you the option to load the toolbar upon openingVisit with Toolbar: ​Users with the browser extension enabled can control when the toolbar is active or hidden under "Preferences" in the toolbar menuBrowser extension controls:
25日前
記事のアイキャッチ画像
Improved log visibility for function durations and memory
Vercel News
Logs now indicate when Vercel Functions reach (or near) their maximum duration or memory allocation for each request.Logs also include quick links to configure function maximum duration, CPU & memory, region, and Node.js Version directly from requests.View .your project's logsRead more
1ヶ月前
記事のアイキャッチ画像
Improvement to how dates display in the dashboard
Vercel News
Dates across the dashboard now provide more precision.This builds on a recent update where hovering over dates reveals more information, including the exact timestamp.Read moreFor the first three days, dates are displayed as relative (e.g. "10m ago")After three days, they switch to absolute values (e.g. "Jan 3")
1ヶ月前
記事のアイキャッチ画像
Transforming how you work with v0
Vercel News
With , Vercel's AI-powered pair programmer, anyone can participate in prototyping, building on the web, or expressing new ideas.v0While v0 was initially created by developers for developers, now v0's capabilities extend far beyond coding, offering benefits to professionals across various industries. Let's explore how v0 can enhance productivity and creativity in different roles.Read more
1ヶ月前
記事のアイキャッチ画像
Requester's public IP postal code now available in Vercel Functions
Vercel News
+The header is now part of , providing the postal code associated with the requester’s public IP address. This complements existing headers like , , and .x-vercel-ip-postal-codex-vercel-ip-countryx-vercel-ip-cityx-vercel-ip-country-regionVercel’s geolocation capabilitiesThe header is accessible in Vercel Functions, including . Here's a TypeScript example:x-vercel-ip-postal-codeEdge MiddlewarePostal codes are also available via the package:@vercel/functionsFor more information on headers and geolocation, see Vercel’s request header documentation.Read more
1ヶ月前
記事のアイキャッチ画像
Updated logging limits for Vercel Functions
Vercel News
The limits for have been increased, allowing for significantly larger log entries. These updates replace the previous 4KB-per-line restriction, and they are now live for all projects.runtime logVercel FunctionsThe runtime log limits are now:Learn more about our logs in .our documentationRead more Up to 256KB per log line.Log line size: Up to 256 individual log lines per request.Log line count: Up to 1MB (sum of all log lines in a single request).Total log size per request:
1ヶ月前
AI-enhanced search for Next.js documentation
Vercel News
You can now get AI-assisted answers to your questions from the Next.js docs search:Start searching with (or on Windows) menu on .⌘KCtrl+Knextjs.org/docsRead moreUse natural language to ask questions about the docsView recent search queries and continue conversationsEasily copy code and markdown outputLeave feedback to help us improve the quality of responses
1ヶ月前
記事のアイキャッチ画像
Headless Salesforce: An incremental migration from monolith to composable
Vercel News
For ecommerce teams running Salesforce Commerce Cloud, the platform's monolithic design can feel like a double-edged sword. While its out-of-the-box capabilities promise rapid deployments, they often hinder frontend flexibility and innovation. But what if you could unlock a new level of performance—without risking your core business?That’s exactly what a global sportswear brand achieved. Their headless Salesforce migration strategy halved their load times, cut cart abandonment by 28%, and increased mobile conversion rates by 15%. All without a disruptive, big-bang migration.Here’s how they did it and how you can too.Read more
1ヶ月前
記事のアイキャッチ画像
Speed Insights usage can now be viewed by Project
Vercel News
You can now view your Speed Insights traffic broken down by project in the tab.UsageLearn more about .Speed InsightsRead more
1ヶ月前
記事のアイキャッチ画像
Runtime logs can now be filtered by request type and Vercel resource
Vercel News
+The "Contain Types" filter in has been replaced by two new filters for better clarity:runtime logsThese updates provide more granular insights into how your requests are processed. Both filters are available on all plans starting today.Learn more about .how Vercel processes requestsRead more: Filters which infrastructure resource within the Vercel Edge Network was used to serve the request. Examples include Serverless Functions, Edge Cache, and Edge MiddlewareResource: Filters which framework-defined mechanism or rendering strategy was used by the request. Examples include API routes, Incremental Static Regeneration (ISR), and cron jobsRequest Type
1ヶ月前
記事のアイキャッチ画像
Python Vercel Functions now have streaming enabled by default
Vercel News
is now enabled by default for all Vercel Functions using the , completing the rollout plan . Python functions can now send data to the client as it’s generated, rather than waiting for the entire response—particularly beneficial for use cases like AI applications and real-time updates.StreamingPython runtimeannounced last yearThe environment variable is no longer necessary, as streaming is now applied automatically in your new deployments.VERCEL_FORCE_PYTHON_STREAMINGWith streaming responses, the runtime log format and frequency have been updated.For more details, visit or get started with .our documentationour templateRead more
1ヶ月前
記事のアイキャッチ画像
Building the Black Friday-Cyber Monday live dashboard
Vercel News
+This year, we built a to celebrate the success of our customers through the busy retail weekend. The dashboard gave a real-time look inside Vercel's infrastructure, showing live metrics for deployments, requests, blocked traffic, and more. Black Friday-Cyber Monday (BFCM) dashboardBuilding a data-heavy, real-time dashboard with a good user experience comes with challenges. Let's walk through how we overcame them. Read more
1ヶ月前
記事のアイキャッチ画像
+Vercel Firewall now supports bypassing system mitigations for specific IPs
Vercel News
+Pro and Enterprise customers can now configure firewall rules to bypass system mitigations, including DDoS protection, for specific IPs and CIDR ranges.We strongly recommend against bypassing protections. However, if you feel like the protections are blocking legitimate traffic, this feature presents a break-glass option. This may be particularly applicable if you have a proxy in front of Vercel that provides DDoS protection and which may interfere with Vercel's protection.To configure system bypass rules:Pro customers can set up to 3 bypass rules and Enterprise customers can set up to 5.Learn more about .Vercel Firewall's automatic DDoS mitigationRead moreNavigate to the in the Vercel dashboardFirewallClick at the top right to access the configuration pageConfigure Use the section at the bottom to specify the IP address or CIDR range to bypass mitigations for your production domainsSystem Bypass Rules
2ヶ月前
+
記事のアイキャッチ画像
Vercel Remote Cache is now free
Vercel News
+is now free for all plans, resulting in immediate savings for over 43,000 existing teams.Vercel Remote CacheVercel Remote Cache speeds up developer and CI workflows by storing build outputs and logs for your team's Turborepo or Nx tasks, ensuring you never do the same work twice.Fees accrued for usage prior to the change must be paid. Going forward, users will not see usage fees for Remote Cache. Your use of Remote Cache remains subject to our Fair use Guidelines.Learn more about .Vercel Remote CacheRead more
2ヶ月前
記事のアイキャッチ画像
Optimizing secure builds with Hive and Secure Compute
Vercel News
In our previous blog post, we , powering all of our builds. However, some builds come with unique security requirements. For these, Hive integrates seamlessly with Vercel's , which enables teams to securely connect with their backends through private connections without compromising performance.introduced Hive as Vercel’s low-level compute platformSecure ComputeSince , provisioning times have dropped from and build performance has improved by an , delivering both speed and reliability for even the most sensitive workloads.moving Secure Compute to Hive90 seconds to 5 secondsaverage of 30%Read more
2ヶ月前
記事のアイキャッチ画像
The rise of the AI crawler
Vercel News
+AI crawlers have become a significant presence on the web. OpenAI's GPTBot generated 569 million requests across Vercel's network in the past month, while Anthropic's Claude followed with 370 million. For perspective, this combined volume represents about 20% of Googlebot's 4.5 billion requests during the same period.After with , we turned our attention to these AI assistants. Our new data reveals how Open AI’s ChatGPT, Anthropic’s Claude, and other AI tools crawl and process web content.analyzing how Googlebot handles JavaScript renderingMERJWe uncovered clear patterns in how these crawlers handle JavaScript, prioritize content types, and navigate the web, which directly impact how AI tools understand and interact with modern web applications.Read more
2ヶ月前
記事のアイキャッチ画像
Technical audits: Optimizing cost, performance, and productivity
Vercel News
Every 100ms of latency can cost ecommerce applications up to . At scale, this can cost millions in revenue.8% in sales conversionComplexity compounds as applications grow, making these performance issues harder to diagnose and fix. Audits help teams navigate these challenges systematically. This article covers strategies we've developed across hundreds of real-world audits.Read more
2ヶ月前
+記事のアイキャッチ画像
Vercel Observability is now generally available
Vercel News
+Vercel Observability is now available to all Vercel customers, delivering framework-aware insights to optimize infrastructure and application performance.Included with all plans, Observability offers visibility—at both the and levels—into key metrics aligned with your app's architecture, such as:teamprojectIn addition to the above, customers on Pro and Enterprise plans can upgrade to for:Observability PlusPricing for Observability Plus starts at $10/month, with pro-rated on-demand usage at $1.20 per million events.Observability Plus. Existing Monitoring users benefit from the new lower rate of $1.20 per million events without taking action, and can migrate to Observability Plus for access to the complete suite.Monitoring is now part of Learn more about .Vercel ObservabilityRead more Invocations, durations, and error ratesVercel Functions usage: Resource and cost-savings for customers with in-function concurrency enabledIn-function concurrency: Outgoing API calls by hostnameExternal API +
2ヶ月前
記事のアイキャッチ画像
Monitoring pricing reduced up to 87%
Vercel News
+Monitoring pricing has been reduced to $1.20 per million events. This new pricing is effective immediately, with no action required.Monitoring is also now part of Observability Plus, which can be enabled in . This enhanced suite builds on the Monitoring query engine, offering deeper insights into request handling, caching, compute, and build infrastructure.Vercel Observability—now generally availableTo ensure uninterrupted workflows, both Monitoring and Observability remain visible in the dashboard for current Monitoring users.Read more about , , and .Monitoring for existing usersObservabilityObservability PlusRead more
2ヶ月前
記事のアイキャッチ画像
Extra Space Storage's build times became 17x faster with Vercel
Vercel News
As the largest self-storage company in the U.S., manages over 3,800 stores nationwide. Delivering a consistent, high-quality digital experience to their customers is essential, and their engineering team recognized the need for faster iteration and more stability in their customer acquisition channels—public websites and kiosks.Extra Space StorageHowever, their legacy architecture was creating bottlenecks, impacting time-to-market for new features, and slowing down development. By partnering with Vercel, Extra Space Storage was able to achieve their vision of improving their DevOps processes for their website and enable quicker customer feedback.Read more
2ヶ月前
記事のアイキャッチ画像
Custom Environments are now available on Vercel
Vercel News
+are now available on Vercel. With this feature, you can define an additional pre-production environment, such as staging or QA, directly within the Vercel dashboard, without relying on external workarounds or multiple projects.Custom EnvironmentsThis functionality allows you to reshape your release workflow by separating it from code management. Environments can now operate independently of branches, offering greater flexibility for specific organizational workflows, targeted deployments, and managing multiple development environments across teams.Customers on the Pro plan have the ability to configure one Custom Environment and customers on the Enterprise plan can configure up to 12 from the dashboard..Learn more about Custom EnvironmentsRead more
2ヶ月前
+記事のアイキャッチ画像
Vercel Firewall now stops DDoS attacks up to 40x faster
Vercel News
The —enabled by default on all plans—now features upgraded network analysis powered by real-time stream processing of web traffic. This enhancement stops volumetric DDoS attacks 40x faster and low-and-slow attacks 10x faster.Vercel FirewallBy blocking malicious traffic and earlier, the Firewall further reduces costs by preventing threats from reaching your applications and backends.mitigating DDoS attacksThis improvement is live for all Vercel customers today with no action required.Learn more about how .Vercel Firewall protects your appsRead more
2ヶ月前
記事のアイキャッチ画像
Vercel and AWS partner on AI tools and experiences
Vercel News
+Last week at AWS re:Invent 2024, the Vercel team met with thousands of builders in the Developer Solutions Zone, celebrated v0's launch on AWS Marketplace, and hosted hundreds of customers and partners with various event activations. Now, we're taking our AWS Partnership further: Vercel has been selected for a Strategic Collaboration Agreement (SCA) with AWS—to deliver the next generation of AI-enabled developer tooling and experiences.This collaboration underscores the value of Vercel and AWS together as a one-stop shop for teams building AI experiences.Read more
2ヶ月前
記事のアイキャッチ画像
Introducing the Vercel TypeScript SDK
Vercel News
We’ve published a TypeScript-native SDK for working with the Vercel API.This SDK includes:This SDK can be used to automate every part of Vercel’s platform including: or .View the docsexplore the repoRead moreFull type safety for accessing the Vercel REST API with Zod schemasNew documentation for every function, argument, and typeBetter tree-shaking support with optional standalone functionsIntuitive error handling and detailed error messagesConfigurable retry strategies (including backoffs)Deployment automation and managementProject creation and configurationDomain managementTeam and user administrationEnvironment variable managementLogs and monitoringIntegration configuration
2ヶ月前
記事のアイキャッチ画像
Nile and MotherDuck join the Vercel Marketplace
Vercel News
and are now available as first-party integrations on the Vercel Marketplace. NileMotherDuckYou can integrate or leverage directly from the Vercel dashboard, complete with integrated billing and CLI provisioning.Nile's database servicesMotherDuck's data analysis capabilitiesGet started with the , available to customers on all plans.Vercel MarketplaceRead more
2ヶ月前
+
記事のアイキャッチ画像
Life of a request: Securing your app's traffic with Vercel
Vercel News
+In any given week, Vercel Firewall blocks over one billion malicious connections—proactively safeguarding your app before the first request arrives. Defining access rules ensures your infrastructure scales only for legitimate traffic, keeping resources secure and associated costs in check.With Vercel, application protection is integrated into every step of the request lifecycle. It starts with the platform-wide Vercel Firewall—active by default for all users—and extends to Deployment Protection and the Web Application Firewall (WAF) which give you granular security control and defense-in-depth.Read more
2ヶ月前
記事のアイキャッチ画像
Lower prices for domains on Vercel
Vercel News
We have lowered the prices for purchasing domains by .up to 50%Vercel offers hundreds of top-level domains (TLDs) for purchase, including the most popular TLDs like and of domains..com.aiour most recent additionVercel automatically configures and manages nameservers and SSL certificates for your domain, with fast domain search and automatic DNS setup for easy deployment of your next idea. or .Buy your first domainexplore all supported domainsRead more
2ヶ月前
Runtime logs now show event sequences for Vercel requests
Vercel News
now offer a request-centric interface to streamline debugging and provide deeper traffic insights:Runtime logsThese are available on all plans starting today.Learn more about .how Vercel processes requestsRead more: Visualize each request’s lifecycle in a sequential view, from the firewall through middleware and function execution. Gain a full picture of how your app processes traffic at every stage.Request anatomy UI: A full-width design enhances readability, grouping all log lines for a request into one panel, including middleware and function invocations.Improved log viewer
2ヶ月前
記事のアイキャッチ画像
Billions of dollars, billions of requests: Black Friday-Cyber Monday 2024
Vercel News
The Black Friday-Cyber Monday (BFCM) stakes are high. Billions of dollars are on the line with consumers racing to save money over the biggest shopping days of the year.This year, Vercel celebrated the success of our customers by building a showing activity across the platform for BFCM.live dashboardRead more
2ヶ月前
記事のアイキャッチ画像
Retailer sees $10M increase in sales on Vercel
Vercel News
+Founded 30 years ago, this top global retailer has established itself as a leader in the sportswear and apparel industry. With a diverse product range that includes athletic performance gear, footwear, accessories, and casual apparel, the company is renowned for its commitment to innovation and quality. Listed on the NYSE, the retailer reported a revenue of almost 6 billion in 2024 and employs approximately 16,000 people worldwide. Despite a challenging retail environment, it continues to excel in ecommerce, showcasing a 3% growth in direct-to-consumer revenue to 2.3 billion, with ecommerce accounting for 41% of this segment.Read more
2ヶ月前
記事のアイキャッチ画像 +
Temporarily disable Vercel Firewall system DDoS mitigations
Vercel News
+Pro and Enterprise customers now have the ability to temporarily disable all automatic system mitigations, including DDoS mitigations, by the Vercel Firewall.We strongly recommend against disabling protections. However, if you feel like the protections are blocking legitimate traffic this feature presents a break-glass option. This may be particularly applicable if you have a proxy in front of Vercel that provides DDoS protection and which may interfere with Vercel's protection.To temporarily disable system mitigations, visit the within the Vercel dashboard and click the ellipsis menu at the top right to access additional options. Once you confirm that you would like to temporarily disable all system mitigations, all traffic to your project will bypass Vercel Firewall system DDoS mitigations for a period of 24 hours.Firewall tabVercel Firewall's system defenses are automatically enabled for all projects on all plans, , and preventing resource abuse. Customers must exercise extreme caut +
2ヶ月前
記事のアイキャッチ画像
From minutes to seconds: How Meter accelerates delivery with Vercel and Next.js
Vercel News
+provides a full-stack networking solution that makes it easy for any business, organization, or school—of any size—to get access to the internet. They have two application layers built on top of their vertically integrated technical architecture: Meter , a generative UI for IT and Networking teams, and Meter , their main web interface. Meter’s adoption of Vercel has enhanced performance, simplified workflows, and empowered their team to iterate rapidly—not only across Command and Dashboard, but throughout their interconnected stack of hardware, software, and operations.MeterCommandDashboardRead more
2ヶ月前
記事のアイキャッチ画像
How Notion powers rapid and performant experimentation
Vercel News
is a connected workspace that allows users to write, plan, and organize, all enhanced with built-in AI. With a platform as flexible as Notion, the challenge for their website team lies in communicating the vast range of use cases—from personal projects like planning trips to enterprise-level tasks like managing company documentation. That’s a huge total addressable market that attracts many millions of diverse visitors to their website every week. As these numbers continue to rapidly grow and personas expand, Notion needed a website capable of rapid iteration and experimentation to help their message resonate with more people.NotionRead more
2ヶ月前
+
記事のアイキャッチ画像
Node.js 22 LTS is now generally available for builds and functions
Vercel News
+Starting today, Node.js version 22 is available as the runtime for your and leveraging Node. To use version 22, go to and select . This is also the default version for new projects.buildsfunctions > > Project SettingsGeneralNode.js Version22.xNode.js 22 highlights:The current version used by Vercel is and will automatically update minor and patch releases. Therefore, only the major version () is guaranteed.22.11.0 22.xRead our to learn more.Node.js runtime documentationRead more: higher default water mark provides performance boosts across the board at the cost of slightly higher memory usageImproved Stream performance: optimized AbortSignal creation improves performance in fetch and the test runnerImproved AbortSignal performance: significant improvements to the and methods lead to overall performance boostImproved Buffer performanceBuffer.copyBuffer.write: added support for ing synchronous ESM module graphsImproved CJS interop with ESMrequire()
3ヶ月前
記事のアイキャッチ画像
Streaming is now supported in Vercel Functions for the Python runtime
Vercel News
+is now supported and will soon be enabled by default in Vercel Functions for the , allowing functions to send data to the client as it’s generated rather than waiting for the full response. This is particularly useful for AI applications.StreamingPython runtimeThis change will be rolled out progressively. Starting today, . On this date, projects using will be migrated, and streaming responses .it will apply to all new projects and will take effect for all existing projects on January 5, 2025Log Drainswill impact the format and frequency of runtime logsTo enable streaming as the default for your Vercel Functions using Python, add the environment variable in your project. Streaming will then be enabled on your next production deployment.VERCEL_FORCE_PYTHON_STREAMING=1For more information, read the or get started with .Python streaming documentationour templateRead more
3ヶ月前
記事のアイキャッチ画像
Life of a Vercel request: Navigating the Edge Network
Vercel News
+Vercel’s provisions cloud resources while providing full transparency, from the initial build to every incoming request. Developers can track how static assets are distributed globally, functions handle ISR revalidation, and resources manage routing, server-side rendering, and more.framework-defined infrastructure, granular metrics reveal which resources were leveraged to serve their request. This series unpacks the Vercel Edge Network and associated resource allocation, exploring each stage of a request, and how Vercel streamlines the process.As users visit your appWith a clear understanding of these metrics and optimization strategies, you can deliver better user experiences while improving resource consumption and reducing costs.Read more
3ヶ月前
記事のアイキャッチ画像
Vercel acquires Grep to accelerate code search
Vercel News
allows developers to quickly search code across over 500,000 public git repositories. With the acquisition, founder Dan Fox will also be joining Vercel’s AI team to continue building Grep to enhance code search for developers.GrepRead more
3ヶ月前
記事のアイキャッチ画像
Vercel Blob now supports file upload progress
Vercel News
Vercel Blob can now track file upload progress, enabling for a better user experience when uploading files.With the latest package, you can use the new callback to display progress during file uploads. In the Dashboard, you'll also see the upload progress for your files.@vercel/blobonUploadProgress or .Try it outlearn more about Vercel BlobRead more
3ヶ月前
記事のアイキャッチ画像
Pro customers can now configure up to 3 regions for Vercel Functions
Vercel News
+can now set up to three regions for their Vercel Functions, enabling compute to run closer to distributed data sources for faster responses and improved performance. When multiple Vercel Function regions are configured, user requests that require compute will be routed to the closest specified region.Pro customersPreviously, functions for Pro customers were restricted to a single region. Increasing to three regions enables:This also adds an extra layer of redundancy, complementing the built-in redundancy of Vercel Functions.multi-Availability ZoneTo configure additional , add a property to your .regionsregionsvercel.jsonRedeploy your project for the changes to take effect. Learn more about .configuring regionsRead moreGlobal low-latencyMaintaining high compute density leading to higher cache hit rates and lower cold startsCompatibility with standard database replication like Postgres read replicas
3ヶ月前
+
記事のアイキャッチ画像
Skew Protection is now enabled by default for new projects
Vercel News
+eliminates version differences between web clients and servers—available for Pro and Enterprise customers. Starting today, new projects will have Skew Protection enabled by default.Skew ProtectionExisting projects will not be changed, however you can manually enable Skew Protection in the project's settings.Skew Protection ensures client-side code matches the server-side code for the corresponding deployment for a period of time or until a hard page refresh. This protects from version mismatch errors when creating a new deployment, such as file name changes from hashed bundles or even post backs from Server Actions.Learn more about .Skew ProtectionRead more
3ヶ月前
記事のアイキャッチ画像
AI SDK 4.0
Vercel News
The is an open-source toolkit for building AI applications with JavaScript and TypeScript. Its unified provider API allows you to use any language model and enables powerful UI integrations into leading web frameworks such as and .AI SDKNext.jsSvelteRead more
3ヶ月前
記事のアイキャッチ画像
Accelerating partner success: Vercel’s new Partner Program benefits
Vercel News
At Vercel, we believe in the power of partnership and collaboration to drive innovation and mutual success. One in two sales and project delivery is done in collaboration with our partners. Last month, sponsored and supported —our annual open-source conference—where over 1,000 people gathered in San Francisco and tens of thousands online from around the world. From championing an open web, , to developing joint features that enhance customer and user experiences, we're achieving more together.over 35 partnersNext.js Confsupporting industry alliancesRead more
3ヶ月前
記事のアイキャッチ画像
Web Analytics now has route support
Vercel News
With the 1.4.0 release of , you can see route-level insights when you filter in . This update includes:@vercel/analyticsWeb AnalyticsThis feature is available to all Web Analytics customers.Learn more about .filtering in Web AnalyticsRead more Dynamic route segments are now supported in frameworks like Next.js, SvelteKit, and Remix with the latest version of the packageSupport for frontend frameworks:Apply filters based on routes to see page views and custom events per defined routeAdvanced filtering:
3ヶ月前
記事のアイキャッチ画像
Neon now available on Vercel Marketplace
Vercel News
+joins the Vercel Marketplace with its Postgres solution, offering integrated billing and automated account provisioning, directly from the Vercel Dashboard.NeonThis integration replaces the existing Vercel Postgres, allowing new users to immediately create Neon databases right from Vercel Marketplace. Current Vercel Postgres users will retain uninterrupted access to their databases and can continue creating new stores with Vercel Postgres until the migration is complete, after which new store creation will shift to the Neon Marketplace integration.In the coming months, we’ll begin a zero-downtime migration for all existing stores, requiring no action from users and with no change in pricing.The is available to customers on all plans.Vercel MarketplaceGet started with . Neon on VercelRead more
3ヶ月前
記事のアイキャッチ画像
Vercel now supports one-click Bluesky DNS configuration
Vercel News
is now a preset DNS option for domains, simplifying the process to set your Bluesky handle to a Vercel domain. Upon updating your domain's DNS, you will need to visit to complete domain verification. BlueskyBluesky settingsRead our for a complete walkthrough or learn more about .Bluesky domain guideDNS PresetsRead more
3ヶ月前
記事のアイキャッチ画像
Life of a Vercel request: What happens when a user presses enter
Vercel News
+When developers push code, Vercel’s analyzes the codebase and intelligently provisions cloud resources. When requests come in, Vercel’s infrastructure instantly routes them to the nearest data center over a high-speed, low-latency network, delivering a response right back to the user.framework-defined infrastructureVercel handles all of this behind the scenes. But understanding how your framework code powers the infrastructure—from deployment to request handling—gives you insight into how Vercel’s components work together, and enables you to further optimize user experiences. Here’s how Vercel manages requests at every stage.Read more
3ヶ月前
記事のアイキャッチ画像
Introducing Vercel Firewall DDoS mitigation notifications
Vercel News
You can now receive alerts when the Vercel Firewall detects and automatically mitigates a DDoS attack on your Vercel project. With these alerts, you can get notified immediately when traffic to your application is blocked or challenged, so that you can review attack traffic and take any further action in a timely manner.To get started, you can either to get notified through a defined HTTP endpoint, or use the to receive notifications in your Slack workspace.set up a webhookVercel Slack appThese alerts are available on Pro and Enterprise plans.Learn more about .Vercel FirewallRead more
3ヶ月前
記事のアイキャッチ画像
Vercel named a Visionary in 2024 Gartner® Magic Quadrant™ for Cloud Application Platforms
Vercel News
The Frontend Cloud is designed for developers and teams that care deeply about user experiences. Whether you're serving billions of users or building your first project, the Frontend Cloud helps you remove friction from the development and delivery process. This allows you to focus on building your product instead of managing and configuring the infrastructure required to make it work.Read more
3ヶ月前
記事のアイキャッチ画像
Improvements to Vercel Secure Compute builds provisioning time
Vercel News
+for builds has decreased from 1-2 minutes to under 5 seconds—a 20x speed improvement.Provisioning timeVercel Secure ComputeThese builds require provisioning of build containers with custom configurations for each customer’s security needs. Now, this tailored container-generation process is significantly faster, reducing overall deployment times. Additionally, builds are consolidated closer to the Secure Compute regions such as Frankfurt, Sao Paulo, Oregon, N. Virginia, Sydney, or Ireland, enhancing efficiency even further.Learn more about .Vercel Secure ComputeRead more
3ヶ月前
記事のアイキャッチ画像
MotorTrend: Shifting into overdrive with Vercel
Vercel News
—a Warner Bros. Discovery company and the world’s leading media company on all things automotive—needed a digital experience as powerful as the vehicles they showcase. Bogged down by a legacy tech stack, their development team faced frustratingly long build times and a cumbersome release process. They knew a complete redesign wasn't the answer—they needed a platform upgrade.MotorTrendRead more
3ヶ月前
記事のアイキャッチ画像
Next.js AI Chatbot Template 3.0
Vercel News
The has been updated to use , React 19, and the Next.js AI Chatbot templateNext.js 15Auth.js for Next beta.The template's UI has also been redesigned to include a model switcher to make it easier for users to experiment with different models. The new side-by-side UI keeps your users' output and chat messages on screen simultaneously. or .Try the demodeploy your ownRead more
3ヶ月前
記事のアイキャッチ画像
+Track build metrics and resource consumption with Observability
Vercel News
Users in the can now get additional metrics related to builds, including:limited beta of ObservabilityObservability is in for current users and can be accessed from the new Observability tab in your Vercel projects.limited betaMonitoringRead more: Understand your build time across time, identifying changes to longer build times faster.Build time: See how effective your builds are by viewing your average memory and disk usage.Memory and disk usage: Explore P50 and P90 durations of each build step.Build steps
3ヶ月前
記事のアイキャッチ画像
Break the news, not the site: Leading news organizations upgrade their infrastructure ahead of the election
Vercel News
When major political developments unfold, millions rush to news websites, putting immense pressure on digital infrastructure. With global audiences, slow-loading websites or crashes during a major event can be catastrophic for a news organization.Read more
3ヶ月前
記事のアイキャッチ画像
A deep dive into Hive: Vercel’s builds infrastructure
Vercel News
+Hive is Vercel’s low-level untrusted and ephemeral compute platform—designed to give us the control needed to securely and efficiently manage and run builds. Since November 2023, Hive has powered Vercel’s builds, enabling key improvements like enhanced build machines and a 30% improvement in build performance.The platform operates on the fundamental assumption that we’re executing potentially malicious code on multi-tenant machines, requiring it to be safe, reliable, performant, and cost-effective. It’s architected to handle multiple use cases and can be composed in different ways depending on what’s needed. Most recently, Hive allowed us to reduce customers from 90 seconds to 5 seconds, while also improving their build speeds.provisioning times for Secure ComputeWe built Hive because we needed finer control and more granular management to continuously improve Vercel’s infrastructure, to meet the growing demands of our customers and to fulfill our vision of delivering the best developm +
3ヶ月前
記事のアイキャッチ画像
View advanced function metrics with Observability
Vercel News
+Users in the can now view advanced insights for serverless Vercel Functions. Explore low level metrics about function execution, including:limited beta of ObservabilityObservability is in for current users and can be accessed from the new Observability tab in your Vercel projects.limited betaMonitoringRead more: Understand CPU usage and memory consumption and see if you could benefit from upgrading the function to more resourcesCPU throttle and memory usage: See how quickly your function responds to requests by sending the first bytes of the responseTime to First Byte (TTFB): View cold start and pre-warmed function invocation ratesFunction start type
3ヶ月前
記事のアイキャッチ画像 +
Improved support for pnpm, Corepack, and monorepos
Vercel News
+We've improved the experience of deploying projects using pnpm, Corepack, and Turborepo together. Previously, combinations of these tools could result in unexpected behavior or complex build errors. Clear error and warning messages have been added, explaining how to fix problems when incompatibilities exist. For example, a project with Corepack enabled, specifying , and a lockfile of version would previously see the warning: . Now, this is handled with a clearer error message: pnpm@9.0.06.0Ignoring not compatible lockfileDetected lockfile "6.0" which is not compatible with the intended corepack package manager "pnpm@9.0.0". Update your lockfile or change to a compatible corepack version.Additionally, each package previously had to define its own . The root is now detected in monorepo projects with and applied to all packages.packageManagerpackage.json#packageManagerCorepack enabledRead more
3ヶ月前 +
記事のアイキャッチ画像
Filter by custom date ranges in Speed Insights
Vercel News
You can now filter by custom date ranges in Speed Insights. Select any custom time periodin the date range picker, or drag across the graph to quickly focus on specific period. Learn more about or for your project.Speed Insightsenable Speed InsightsRead more
3ヶ月前
記事のアイキャッチ画像
Device type support and improved breakdowns in Web Analytics
Vercel News
+You can now inspect and filter device types in , and apply filters to view page views and custom events for each device.Vercel Web AnalyticsAdditionally, we updated the overview by showing percentages instead of absolute numbers to see the overall distribution. You can still explore the total numbers when expanding a certain panel by clicking the "View all" button.These features are available to Web Analytics users on all plans.Check out to learn more.our documentationRead more
3ヶ月前
記事のアイキャッチ画像
Recap: Next.js Conf 2024
+Vercel News
Our fifth annual finished yesterday, where we shared our research and upcoming improvements to the framework, as well as what's new in the community and Next.js ecosystem. Over 1,000 people in the Next.js community gathered in San Francisco and tens of thousands around the world watched online to see what's new with Next.js.Next.js ConfRead more
3ヶ月前
記事のアイキャッチ画像
Maximizing outputs with v0: From UI generation to code creation
Vercel News
is a powerful tool for generating high-quality UIs and code, and it's also an educational asset for designing and creating on the web. It leverages deep integrations with libraries and modern frameworks like Next.js and React. Whether you're looking to scaffold a new project, fetch data, or create , v0 is designed to meet all your frontend development needs.v03D graphicsTo get the highest quality generations, you need to be able to craft input prompts to guide v0 well. The better you guide v0 and understand its strengths, the more accurate and relevant the responses you'll get. In this post, we’ll look at how you can get the most out of v0’s core features, UI generation abilities, code generation, and developer support.Read more
4ヶ月前
記事のアイキャッチ画像
What's new in Svelte 5
Vercel News
With its compiler-first approach, fine-grained reactivity, and ability to integrate with any JavaScript project, Svelte stands apart from other frameworks.At Vercel, we're big fans of Svelte—deeply invested in its success and constantly working to make our platform the best place to build and deploy Svelte apps., let's explore what makes this release exciting.With the arrival of Svelte 5Read more
4ヶ月前
記事のアイキャッチ画像
OpenID Connect (OIDC) Federation now generally available
Vercel News
+Vercel's OpenID Connect (OIDC) Federation is now generally available. Strengthen your security by replacing long-lived environment variable credentials with short-lived, RSA-signed JWTs for builds and Vercel Functions.Use Vercel’s OIDC Identity Provider (IdP) to issue tokens for cloud providers and services like AWS, Azure, Firebase, and Salesforce.With general availability, we are also introducing a new Team Issuer mode, which mints OIDC tokens with a URL unique to your team. This allows you to configure your cloud environment with stricter zero trust configurations.To enable Vercel OIDC, update your and integrate it using the package. If you're already using Vercel OIDC, we recommend opting into Team Issuer mode in those .project's security settingssettings@vercel/functionsCheck out the and to learn more.documentationblog postRead more
4ヶ月前
記事のアイキャッチ画像
BNP Paribas Open: Serving up scores and experiences in real time with Work & Co and Vercel
Vercel News
The prestigious BNP Paribas Open, held annually in Indian Wells, California, attracts top tennis talent and a global audience. To match its world-class status, the tournament required a significant digital upgrade, enabling dynamic, real-time tracking and engagement with hundreds of players for their fanbase of millions.Read more
4ヶ月前
記事のアイキャッチ画像
How Vercel adopted microfrontends
Vercel News
Vercel's main website, once a single large Next.js application, serves both our website visitors and logged-in dashboard. But, as Vercel grew, this setup revealed opportunities for improvement. Build times grew, dependency management became more intricate, and workflows needed optimization. Minor changes triggered full builds, affecting isolated development and CI pipelines.It was clear a change was needed.Read more
4ヶ月前
記事のアイキャッチ画像
Upstash joins the Vercel Marketplace
Vercel News
+has joined the Vercel Marketplace with three of its core products: KV, Vector, and QStash. These services offer integrated billing, automated account provisioning, and direct access to the Upstash console from directly within the Vercel Dashboard.UpstashThis integration replaces Vercel KV, and in the coming months, we will begin a zero-downtime migration for all existing stores with no action required and no change in price.Existing Vercel KV users will continue to have full access to their current stores without any changes during the transition, and new stores can be created via the Upstash Marketplace Integration.Get started with the , available to customers on all plans.Vercel MarketplaceRead more
4ヶ月前
Choose IP visibility for Log Drains
Vercel News
Since IP addresses can be considered personal information under certain data privacy laws, we're giving you the ability to configure whether Vercel forwards IP addresses to your Log Drains. Now, similar to , you can disable this forwarding in the security settings of your Team.MonitoringThis can be done by roles on .Owner and AdminPro and Enterprise plansRead more
4ヶ月前
記事のアイキャッチ画像
Eval-driven development: Build better AI faster
Vercel News
AI changes how we build software. In combination with developers, it creates a positive feedback loop where we can achieve better results faster.However, traditional testing methods don't work well with AI's unpredictable nature. As we've been building AI products at Vercel, including v0, we've needed a new approach: eval-driven development.This article explores the ins and outs of evals and their positive impact on AI-native development.Read more
4ヶ月前
記事のアイキャッチ画像
v0 plans for teams are here
Vercel News
+Last October we —a generative user interface system powered by natural language and AI. Users generated over four million designs, creating everything from sophisticated dashboards to polished marketing pages.introduced v0Now, is like having an expert programmer sitting next to you. It's an assistant that specializes in web technologies and frameworks to help you generate functional code and UI from best practices, migrate or debug existing code, or learn to code for the first time.v0Starting today, v0 is available to teams of all sizes, with plans designed to help you collaborate and scale securely. and plans offer security features like SSO and, for Enterprise, the ability to opt out of data training, while helping you share and reuse knowledge and generations across your whole team.v0 Teamv0 EnterpriseRead more
4ヶ月前
記事のアイキャッチ画像
Updated default retention policy for canceled deployments
Vercel News
+the ability to manage deployment retention—a way to automatically clean up your project's deployments after a set period of time. We recently introducedStarting November 18, 2024, we are changing the default retention policy for .Canceled deployments will be automatically deleted after for all projects, unless your project has a . There will be no impact to deployments that are not canceled.canceled deployments only 30 dayscustom deployment retention settingLearn more about. Deployment RetentionRead more
4ヶ月前
記事のアイキャッチ画像
Deployment Protection now supports protected rewrites
Vercel News
+We've improved how handles rewrites between protected deployments. If you have access to the deployment and it belongs to the same team as the original deployment, we now automatically grant access to the rewritten deployment. Vercel AuthenticationPreviously, when rewriting to a protected deployment, would redirect through to authenticate the user, causing the rewrite to become a redirect.Vercel Authenticationvercel.comAutomatic access between protected rewrites is only applicable if you are already authenticated with Vercel on the original deployment. This new behavior does not apply to rewrites when you authenticate using , , or .Shareable LinksProtection Bypass for AutomationPassword ProtectionRead more about in our docs.Deployment ProtectionRead more
4ヶ月前
記事のアイキャッチ画像
How Emburse increased site performance by 4x with Vercel
Vercel News
manages travel and expense for over 12 million users in 120 countries. They were operating a legacy stack and needed to modernize, so they partnered with , a leading digital transformation consultancy and .EmburseRangleVercel ExpertTogether with Rangle, Emburse implemented Vercel, Next.js, and Sanity, significantly improving the site’s performance and speed while addressing key concerns for their marketing team.Read more
4ヶ月前 +
記事のアイキャッチ画像
Add 3D to your web projects with v0 and React Three Fiber
Vercel News
+(R3F) is a powerful React renderer for that simplifies building 3D graphics using React's component-based architecture. Whether you're building complex environments, animations, or interactive scenes, R3F makes it accessible—even if you're not an expert at math or physics.React Three Fiberthree.jsWith R3F support in , our AI-powered development assistant, you can incorporate 3D designs in your projects by chatting with v0 using natural language. Let's explore how to use v0 and R3F to create interactive 3D scenes to elevate your web designs.v0Read more
4ヶ月前
記事のアイキャッチ画像
Improved monorepo support in Recent Previews
Vercel News
When you make a commit to a monorepo, the Recent Previews section on your team overview page will now show an expandable row containing preview, source, and deployment links for all deployments triggered by your commit, across all projects. Recent Previews gives you easy access to the previews you have viewed or deployed recently. Learn more in the documentation.dashboard overviewRead more
4ヶ月前
記事のアイキャッチ画像
How Chatbase scaled rapidly with Vercel's developer experience and AI SDK
Vercel News
+helps companies build chat-based AI agents that are trained on their data to chat with users and perform tasks. It handles customer support, sales, lead generation, and more.ChatbaseFrom the beginning, they prioritized building a platform that could move fast in the competitive market. To achieve this, they chose Vercel and Next.js as the tech stack for their app and marketing website, along with Vercel's AI SDK, which enabled them to quickly iterate and deliver AI-driven features. By prioritizing iteration speed, Chatbase grew to 500K monthly visitors and $4M ARR in 1.5 years. Vercel's developer experience (DX) allows the team to focus on innovation, not infrastructure. The AI SDK enables rapid implementation of custom chats and model optimizations.Read more
4ヶ月前
記事のアイキャッチ画像
Leveraging Vercel and the AI SDK to deliver a seamless, AI-powered experience as a solo founder
Vercel News
+is an AI co-pilot designed for product managers, enabling them to write product requirements documents, brainstorm roadmaps, and improve overall efficiency around product work. As a solo founder, built ChatPRD from the ground up. In just nine months, the platform has garnered 20,000 users and is now focusing on expanding its features to support team collaboration.ChatPRDClaire VoCentral to this rapid growth and development has been the on Vercel.AI SDKRead more
4ヶ月前
記事のアイキャッチ画像
+How Supabase increased signups through the Vercel Marketplace
Vercel News
The on the Vercel Marketplace provided a frictionless onboarding experience, ensuring zero loss in fidelity or developer experience. Developers can easily set up and manage databases directly from the Vercel CLI or dashboardSupabase integrationSupabaseSince the launch, Supabase has seen a notable increase in new signups, as the Marketplace has become their largest partner channel. Based on Supabase’s increased business and early success, we’re excited for what’s next and the future of Vercel Marketplace.Read more
4ヶ月前
記事のアイキャッチ画像
Navigating Web3 dynamism: Ledger's solution to traffic spike stability with Vercel
Vercel News
In the world of crypto, market surges and unexpected events create unpredictable traffic spikes, like Gunna wearing a diamond-encrusted Ledger at the Met Gala. For —a leading provider of hardware wallets—capturing this no-notice interest becomes crucial for Ledger’s online presence, which may see traffic fluctuate from 1-5 million users monthly. Navigating the dynamism of the crypto market requires a technical infrastructure as resilient and secure as Ledger’s hardware products.LedgerRead more
4ヶ月前
記事のアイキャッチ画像
Vercel Terraform Provider now supports Vercel Firewall resources
Vercel News
+The now allows you to customize and control the through Infrastructure as Code (IaC).Vercel Terraform ProviderVercel FirewallKey resources and their capabilities include:For example, to create a new rule that challenges requests where the contains :user_agentcurlGet started with the today. If you already have Terraform installed, upgrade by running:Terraform provider for VercelRead moreResource: vercel_attack_challenge_modeToggle .Attack Challenge ModeResource: vercel_firewall_configAttribute block: —Define and adjust .rulescustom rulesAttribute block: —Manage a list of .ip_rulesblocked IP addresses
4ヶ月前
記事のアイキャッチ画像
Serverless servers: Efficient serverless Node.js with in-function concurrency
Vercel News
We’re sharing a first look at a new version of with that brings the best of servers to serverless functions.Vercel Functionssupport for in-function concurrencyWe’ve been testing this new version with customers and are seeing a without latency impact.20%-50% reduction in compute usage and respective cost reductionIt’s a serverless product optimized specifically for interactive workloads such as server-rendering of web pages, APIs, and AI applications. Vercel Functions continue to offer native Node.js support with and instance pre-warming for production workloads.accelerated cold-start performance based on V8 bytecodeRead more
4ヶ月前
+
記事のアイキャッチ画像
In-function concurrency now in public beta
Vercel News
+In-function concurrency is now in , and allows a single function instance to handle multiple invocations concurrently, improving resource utilization by taking advantage of idle time in existing function instances.public betaTraditionally, serverless architecture maps one function instance to a single invocation. With in-function concurrency, overlapping invocations can increase efficiency by 20%-50%, reducing gigabyte-hours and lowering costs.​As part of the beta, we’re limiting the number of concurrent invocations per instance, and will be gradually increasing the limit based on feedback. Note, this capability may increase latency for purely CPU-bound workloads.In-function concurrency public beta is available for all customers using , you can and track resource savings in real time.Pro and EnterpriseStandard or Performance Function CPUenable it through your dashboardRead our and for more information.blog postdocumentationRead more
4ヶ月前
記事のアイキャッチ画像
Vercel WAF upgrade brings persistent actions, rate limiting, and API control
Vercel News
+At Vercel Ship, the new , an application-layer firewall that complements our platform-wide firewall. This enables our customers to implement custom or managed rulesets, such as protection against the OWASP Top 10 risks.we introducedWeb Application Firewall (WAF)Since its release, Vercel’s WAF has blocked billions of malicious requests, demonstrating its resilience and reliability across a wide variety of use cases, from small startups to large enterprise deployments.Read more
4ヶ月前
記事のアイキャッチ画像
+Vercel WAF now supports persistent actions
Vercel News
Vercel now supports persistent actions to block repeat offenders who trigger firewall rules.Web Application Firewall (WAF)These persistent actions enforce specific responses—such as blocking—against clients for a defined period, ranging from 1-60 minutes. While active, these actions prevent unnecessary processing by blocking requests earlier in their lifecycle, reducing edge request load.You can apply persistence to existing rules for actions like deny, challenge, and rate-limiting, adding an extra layer of control to your firewall logic.Learn more about .persistent actionsRead more
4ヶ月前
記事のアイキャッチ画像
Application-aware Observability now in limited beta
Vercel News
+We're beginning to roll out new Observability capabilities which will give enhanced insights into your application's performance and behavior in the Vercel dashboard.This will provide detailed analytics across functions, data transfer, caching, and API requests to bring further observability to Vercel's .framework-defined infrastructureNew insights include:Observability is now in limited beta for current Monitoring customers and can be accessed from the new Observability tab in your Vercel projects.For advanced platform observability, with Sentry, Datadog, Honeycomb, and more.explore our integrationsRead more: Monitor function behavior and external requests, including invocations, durations, and error ratesVercel Functions and external API requests: Track data transfer, ISR usage, and edge requests with detailed insights into cache success, revalidations, and geo-based performanceVercel Edge Network
4ヶ月前
+
記事のアイキャッチ画像
Vercel WAF rate limiting now generally available
Vercel News
+Vercel Web Application Firewall (WAF) rate limiting is now generally available, giving you precise control over request volumes to your applications.With over 15 parameters, including target path, headers, method, and cookies, you can define the business logic for rate limiting. Then, apply a rate-limiting algorithm tied to IP, JA4 digest, headers, or user agent to control the frequency of matching traffic within your set limits.When paired with , rate limiting can help reduce resource abuse across Edge Requests, Middleware, Data Transfer, and Function execution.persistent actionsRate limiting with a fixed-window algorithm is available today for Pro customers, with an additional token-bucket algorithm available to Enterprise customers. is regional starting at $.50 per 1 million allowed requests.Pricing for rate limiting Add rate limiting or read the to learn more.using a templaterate limiting documentationRead more
4ヶ月前 +
記事のアイキャッチ画像
Streaming now enabled by default for all Node.js Vercel Functions
Vercel News
+is now enabled by default for all for Pro and Enterprise teams, marking the final step in . This means Vercel Functions can now send data to the client as it’s generated, instead of waiting for the entire response.StreamingVercel Functions running on Node.jsthe plan we published on July 8th, 2024The environment variable is no longer required—streaming is now applied automatically upon deployment.VERCEL_FORCE_NODEJS_STREAMINGStreaming responses . If you are using Log Drains, check that your ingestion pipeline can process the new log format and increased log frequency.Logging changes: will alter the format and frequency of your runtime logsRead our and for more information.blog postdocumentationRead more
4ヶ月前
記事のアイキャッチ画像
Accelerating developer velocity and creating high-impact web teams
Vercel News
+High-performing web teams focus on innovation, not infrastructure. Vercel's framework-defined infrastructure accelerates developer velocity, allowing teams to build faster and more efficiently.By handling the heavy lifting of cloud infrastructure, Vercel's empowers teams to focus on coding user interfaces and logic. This enables them to meet the six core principles of web delivery: speed, global presence, scalability, reliability, security, and dynamism. With infrastructure managed, teams can streamline workflows and collaboration, delivering impactful products.Frontend CloudRead more
4ヶ月前
記事のアイキャッチ画像
Purchase .ai domains directly on Vercel
Vercel News
You can now purchase .ai domains on Vercel. Secure your new domain and use the to create an application, or check out our AI for inspiration.Vercel AI SDKtemplatesFor a comprehensive list of all supported domains, check out the documentation .hereRead more
4ヶ月前
記事のアイキャッチ画像
+VPC Peering now available as self-service for Vercel’s Secure Compute
Vercel News
+We’ve introduced major improvements to Secure Compute, now offering self-service capabilities for Enterprise customers, along with increased flexibility and control over Secure Compute networks.Key updates include:This update simplifies network management and enhances secure, self-service connections between Vercel and AWS environments. Check out the to learn more.documentationRead moreVPC peering connections can be initiated from AWS and accepted directly through the Vercel dashboard. Pending connections are clearly displayed for review and approval.VPC Peering management: Failover regions can now be configured in the dashboard. If the active region is unavailable, Vercel will switch to a network in the failover region. Failover regions: A new networks page provides detailed information and configuration which includes peering connections, IP addresses, and projects.Improved UI for networks:
4ヶ月前
記事のアイキャッチ画像
Preventing infrastructure abuse with Vercel Firewall
Vercel News
+In any given week, blocks around 1 billion suspicious TCP connections, with some days seeing upwards of 7 billion malicious HTTP requests. Vercel's platform is designed to automatically , blocking thousands of these threats every day to keep your site secure and operational without user intervention. Vercel is built to minimize disruptions and safeguard your resources from unnecessary costs by serving only legitimate traffic.Vercel Firewallmitigate DDoS attacksRead more
4ヶ月前
記事のアイキャッチ画像
AI SDK 3.4
Vercel News
+The is an open-source toolkit for building AI applications with JavaScript and TypeScript. Its unified provider API allows you to use any language model and enables powerful UI integrations into leading web frameworks such as and .AI SDKNext.jsSvelteRead more
5ヶ月前
記事のアイキャッチ画像
From CDNs to Frontend Clouds
Vercel News
+Web apps today are judged on six core principles: , , , , , and . Users and businesses now expect excellence in all six categories, making them non-negotiable.speedglobal presencescalabilitydynamismreliabilitysecurityAs user experiences have become more engaging and dynamic, the limitations of Content Delivery Networks (CDNs) and Infrastructure as Code (IaC)—once the industry standards for application delivery—are becoming increasingly apparent.CDNs, designed for static content, fail to meet the demands of modern, interactive and real-time web applications. At the same time, while IaC enables programmatic management, its use for web applications often leads to building undifferentiated tooling and systems rather than dedicating those resources to more bespoke, complex infrastructure challenges.These technologies have not kept pace with the evolving web, leading to an emerging and compelling solution: that abstract away complex infrastructure, enabling next-generation content, experienc +
5ヶ月前
記事のアイキャッチ画像
Improvements to Vercel Toolbar: Shrinking when inactive, removal of avatars, and more
Vercel News
+We have made a number of improvements to ensure the Vercel Toolbar is there when you need it but stays out of the way when you don't: To quickly toggle the toolbar you can use on MacOS or on Windows. You can also drag it to a different side of your page, and it will remember to spawn there next time.⌘ + .Ctrl + .See the documentation for more information about the . Vercel ToolbarRead more​The shrunken toolbar shows the comment, share (or flags), and menuicons. The full toolbar will show on hover. You can turn off shrinking in the toolbar menu under Preferences. Shrinks when inactive: We removed the avatars of team members who viewed the deployment.This reduces visual noise and quiets the toolbar's presence in the network tab.No Longer Shows Avatars: The toolbar no longer adds its own highlight or opens the thread editor when text is selected. It shows a small comment indicator which can be clicked to start drafting a comment on the selected text.Normal Text Selection:
+
5ヶ月前
記事のアイキャッチ画像
Install Marketplace Integrations from the Vercel CLI
Vercel News
+You can now install integrations from the Vercel Marketplace directly through the Vercel CLI.The offers that allow you to use provider products —currently Supabase, Redis, and EdgeDB—directly from the Vercel dashboard without leaving the platform or creating separate accounts.Vercel Marketplacenative integrationsRunning the command will:vc iCheck out the to learn more.documentationRead moreInstall the integration (e.g. to install Supabase)vc i supabaseAutomatically provision resources as part of the integration installation, as required by the provider productsGet enhanced error messages in the terminal for troubleshooting of any installation issues
5ヶ月前
記事のアイキャッチ画像 +
Content Link can now be used with Contentful
Vercel News
With , previously known as Visual Editing, you can click-to-edit content on your Vercel site, with a direct link to exactly where your content lives in your CMS.Content LinkThis functionality is now available for Pro and Enterprise customers using Contentful as their CMS and are on their Premium plan. To see all supported CMSs, . visit our docsWhen enabled, Contentful’s APIs return for certain visual fields that have links to the correct field in Contentful, such as rich text, description fields, and lists. Markdown is currently not supported. source maps to get started. Check out the documentationRead more
5ヶ月前
記事のアイキャッチ画像
Managing 275 thousand pages and 8 million assets at top speed with ISR
Vercel News
+As the world’s leading in-person car auction enterprise, has sold some of the most famous vehicles in the world. And while their digital platform had capably evolved over the years, it was hitting its limit, hindering their ability to create listings quickly. With the help of digital agency , Mecum adopted a new, composable stack—giving them confidence that their website would be fast, performant, and reliable. Mecum Auction CompanyAmericaneagle.comRead more
5ヶ月前
記事のアイキャッチ画像
ISR: A flexible way to cache dynamic content
Vercel News
Incremental Static Regeneration (ISR) is a caching strategy that combines the perks of multiple rendering techniques to bring users dynamic content at cached speeds.This guide explores how ISR fits into your overall caching strategy, how it can benefit your architecture, and how to implement it effectively. We'll compare ISR to traditional caching methods and provide real-world examples to illustrate its advantages.Read more
5ヶ月前
記事のアイキャッチ画像
+Deploying dreams: An inside look at a summer internship with Vercel
Vercel News
Hello! I’m Aryan. I am currently a student at UC Berkeley, studying Electrical Engineering and Computer Science (EECS). This summer, I had the opportunity to be an intern at Vercel. It’s been an unforgettable experience. As my internship comes to a close and I head back to school, I want to share a behind-the-scenes look at what an internship at Vercel is like.Read more
5ヶ月前
記事のアイキャッチ画像
What’s new in React 19
Vercel News
React 19 is near. The React Core Team (RC) this past April. This major version brings several updates and new patterns, aimed at improving performance, ease of use, and developer experience.announced a React 19 release candidateMany of these features were introduced as experimental in React 18, but they will be marked as stable in React 19. Here’s a high-level look at what you need to know to be ready.Read more
5ヶ月前
記事のアイキャッチ画像
+Sign up or sign in with a One-Time Password (OTP)
Vercel News
Sign up or sign in with email using one time password. This update offers three key benefits: today to get started.Sign upRead more 6-digit OTPs are single-use and short-lived, significantly reducing the risk of unauthorized access through intercepted or stolen credentials. Enhanced security:: Start on one device or window, finish on another. No need to keep the original tab open. Flexible sign-up/sign-in Avoid the hassle of clicking email links — enter the OTP to complete the process.No magic links:
5ヶ月前
記事のアイキャッチ画像
Transforming customer support with AI: How Vercel decreased tickets by 31%
Vercel News
latest AI survey shows 65% of organizations now regularly use AI — nearly double from just ten months ago, with many using it to increase efficiency in critical areas like customer support. McKinsey'sAt Vercel, we integrated AI into our support workflow. Our AI agent reduced human-handled tickets by 31%, allowing us to maintain high support standards while serving a growing customer base.Read more
5ヶ月前
記事のアイキャッチ画像
REST API for the Vercel Firewall
Vercel News
The Vercel Firewall now has a REST API, with the ability to:Learn more and get started today with the .REST API documentationRead moreRead the current Firewall configurationCreate and manage custom rulesEnable or disable Attack Challenge ModeControl and manage a list of blocked IP addresses
5ヶ月前
記事のアイキャッチ画像 +
Restrict repository deployments to specific teams
Vercel News
Enterprise customers can now restrict deployment permissions for their entire Git scope, for example their GitHub organization, to their Vercel teams.Restricted deployment permissioning ensures that all repositories in the protected Git scope can only be deployed by authorized teams on Vercel.This protects against intentional and accidental deployments of protected repositories.Learn more in our .documentationRead more
5ヶ月前
Introducing the Vercel Marketplace
Vercel News
Last year, we added to our platform, introducing our first-party Blob and Edge Config, as well as partner solutions like Postgres by Neon and KV by Upstash. We heard your feedback—you want more providers and different types of integrations.storage solutionsToday, we’re launching the first version of the Vercel Marketplace. It supports storage solutions from , , and , at the same price as going direct. These integrations come with features like integrated billing, direct connections to provider consoles, and more.SupabaseRedisEdgeDBRead more
5ヶ月前
記事のアイキャッチ画像
Enhancing security of backend connectivity with OpenID Connect
Vercel News
+In 2014, the OpenID Foundation introduced a new standard for authenticating people online, known as . This standard was initially created to simplify the authentication process for users, providing a streamlined and secure way to log into various services. Today, Vercel leverages OIDC to enhance the security of backend connectivity, enabling developers to replace long-lived credentials with more secure, temporary tokens.OpenID Connect (OIDC)Read more
5ヶ月前
記事のアイキャッチ画像
Lower pricing for Log Drains
Vercel News
Log Drains recently became with a new usage-based pricing model.generally availableFor the past three months, customers have been able to monitor their Log Drains usage on the dashboard, sample traffic, and reconfigure sources as needed.Based on your feedback, by increasing the included data transfer by 300%—from 5GB to 20GB. Log Drains will cost $10 per 20GB (previously $10 per 5GB) at the start of your next billing cycle.we've reduced the price of Log DrainsYou can view your current Log Drains usage on the .Usage pageRead more
5ヶ月前
記事のアイキャッチ画像
Integrated billing for Supabase, Redis, and EdgeDB
Vercel News
Vercel now has native integrations with Supabase, Redis, and EdgeDB.Start for free or purchase storage at the same price as going direct. Our new include integrated billing, direct access to provider consoles, and more.storage add-onsIn the coming months, we will begin a zero-downtime migration for Vercel Postgres and KV to our new marketplace. Postgres will transition to our Neon integration, and KV will transition to our Upstash integration. No action is required on your part.Get started with the , available to customers on all plans.Vercel MarketplaceRead more
5ヶ月前
記事のアイキャッチ画像
Configure retention periods for deployments
Vercel News
You can now configure the retention period for deployments through the dashboard and CLI.For example, canceled and errored deployments might be set to 30 days retention, while production deployments might be set to 1 year. Recently deleted deployments are shown in your project settings and can be instantly restored within 30 days of deletion.Learn more in our .documentationRead more
6ヶ月前
記事のアイキャッチ画像
Devolver ships game websites 73% faster with Vercel
Vercel News
+As publishers of leading independent games, the team at Devolver is never short on work. But as a small engineering team, they felt limited by their clunky infrastructure and were spending more time on system management than they needed. With Vercel, the Devolver team was able to cut time spent on system management and configuration by more than half, . Soon after adopting Vercel, the team was even able to launch five websites during a 30-minute press conference without any issues. allowing them to bring game websites to life 73% fasterRead more
6ヶ月前
記事のアイキャッチ画像
View logs over time with new time series chart
Vercel News
You can now visualize Runtime Logs with a time series chart.Learn more about .Runtime LogsRead moreObserve the distribution of info, warning, and error logs over timeAnalyze and understand your application's behavior more effectivelyUse the drag-to-select feature to filter logs for specific time ranges
6ヶ月前
記事のアイキャッチ画像
Bytecode caching for Serverless Functions by default
Vercel News
+We recently —an experimental feature built on our new Rust-based core for Vercel Functions—designed to drastically reduce start times during cold starts. Even when cold starts do occur, their impact is now minimal and barely noticeable.introduced bytecode cachingincreasingly rareAfter validating the stability and performance improvements of bytecode caching, the feature is now for all .stable and the defaultNode.js 20+ Vercel FunctionsThis change exceeding our initial benchmarks and observations. The improvement is particularly significant for functions that load a large amount of JavaScript, with smaller functions experiencing less impact.reduces global cold start times by up to 60%,Bytecode caching is automatically enabled for all functions running on (e.g., Next.js). Additionally, we're working to extend this support to include ESM for broader compatibility. Learn more in .Node.js 20 and using CommonJSour blog postRead more
6ヶ月前
記事のアイキャッチ画像
Using the AI SDK to fix edge-case errors in our code
Vercel News
Recently, there was an issue affecting our customers when trying to purchase a domain containing non-English characters. This problem became apparent when these domain purchases consistently failed, creating a significant roadblock for users wanting to expand their online presence with internationalized domain names (IDNs).Read more
6ヶ月前
記事のアイキャッチ画像
How to build scalable AI applications
Vercel News
In today's AI-driven landscape, your business's competitive edge lies in how effectively you integrate AI into your product and workflows. This guide focuses on three critical aspects of building scalable AI applications:Read more
6ヶ月前
記事のアイキャッチ画像
Update regarding Vercel service disruption on August 7, 2024
Vercel News
+On August 7, 2024, Vercel's Edge Middleware and Edge Functions experienced a significant outage affecting many customers. We sincerely apologize for the service disruption.Vercel’s platform is designed to . As standard practice, we use staggered rollouts for both code and configuration changes. Every aspect of our infrastructure is designed to gracefully fail over to the next available region in the event of an incident, and ensures no single point of failure across infrastructure components. However, on Wednesday, an upstream provider for a subset of our compute infrastructure went into a globally erroneous configuration state.minimize the risk of global downtimeThis event tested our infrastructure's resilience and how we respond to a global provider failure. Let’s break down what happened, how we responded, and the steps we’re taking to eliminate this as a possible failure mode.Read more
6ヶ月前
+
記事のアイキャッチ画像
How to integrate AI into your business
Vercel News
Implementing AI in your business can be challenging due to the rapid pace of change, the complexity of integration, and the need for specialized skills. This guide helps leaders identify and evaluate AI use cases. We'll also show you how Vercel's Frontend Cloud and AI SDK can speed up your AI projects. Companies like Tome, Chick-fil-A, Chatbase, Runway, and Suno are already using these tools to bring AI into their apps and workflows.Read more
6ヶ月前
記事のアイキャッチ画像
Vercel AI SDK 3.3
Vercel News
The is a toolkit for building AI applications with JavaScript and TypeScript. Its unified API allows you to use any language model and provides powerful UI integrations into leading web frameworks such as and .Vercel AI SDKNext.jsSvelteRead more
6ヶ月前
+記事のアイキャッチ画像
Filter by custom date ranges in Web Analytics
Vercel News
You can now choose custom date ranges in Web Analytics. Select any in the date range picker, or to quickly focus on specific period. custom time period drag across the graph or for your project.Learn more about Web Analyticsenable Web AnalyticsRead more
6ヶ月前
記事のアイキャッチ画像
Improved Live Mode in Runtime Logs
Vercel News
You can now toggle live streaming for to update every ~5 seconds without clearing existing logs or manual refreshes.Runtime LogsRuntime logs capture crucial information from server-side rendering, API routes, Vercel Functions, and more. For advanced use cases, you can export logs to external endpoints or using .integrationsLog DrainsLearn more about .Runtime LogsRead more
6ヶ月前
記事のアイキャッチ画像
Protecting your app (and wallet) against malicious traffic
Vercel News
Let's explore how to block traffic with the Firewall, set up soft and hard spend limits, apply code-level optimizations, and more to protect your app against bad actors.If you’re on our free tier, you don’t need to worry. When your app passes the included free usage, it is automatically paused and never charged.Read more
6ヶ月前
記事のアイキャッチ画像
Improved user experience for Account Settings
Vercel News
We've revamped the Account Settings with a new, intuitive navigation structure by breaking down into three different sections - Overview, Activity, and Settings.The now offers a quick snapshot of your teams and domains, including the option to request access to teams you're not part of.Overview pageThe presents a chronological list of events for the last 12 months. Activity pageThe consolidates all user-specific options, including authentication, billing, and access tokens. Settings pageThis streamlined layout aims to enhance clarity and simplify account management for all users.Read more
6ヶ月前
+記事のアイキャッチ画像
Achieving feature rollouts with ultra-low latency and zero impact to conversion
Vercel News
+Beyond Menu is a popular food delivery service in the US that connects restaurants and diners. Their Next.js app is deployed on Vercel and serves millions of hungry visitors every month.To scale their development, they decided to adopt feature flags for gradual rollouts, instant rollbacks, A/B testing, trunk-based development and easier collaboration both internally and with beta users.They knew they needed to evaluate feature flags and A/B tests on both the server and the client. And since they used the App Router, the solution needed to work with React Server Components, Client Components and different rendering modes like static, dynamic and partial prerendering.At Beyond Menu, every millisecond impacts conversion, so they turned to Vercel's Edge Config and Hypertune for seamless feature flag management without layout shifts. Read more
6ヶ月前
記事のアイキャッチ画像
How Google handles JavaScript throughout the indexing process
Vercel News
Understanding how search engines crawl, render, and index web pages is crucial for optimizing sites for search engines. Over the years, as search engines like Google change their processes, it’s tough to keep track of what works and doesn’t—especially with client-side JavaScript.Read more
6ヶ月前
記事のアイキャッチ画像
Performance improvements and setting update for the Vercel Toolbar
Vercel News
+The Vercel Toolbar now loads and uses hardware acceleration for smoother interactions. The toolbar has features like and , and developer tools like the for optimizing INP.up to 10x fastercomments feature flagsinteraction timing toolYou can also now toggle toolbar visibility based on the environment (preview or production) for your team or project from the dashboard. This is under the "Vercel Toolbar" section in general settingsWhen the toolbar is on, individual users can still hide and unhide it using the keyboard shortcut (Mac) or (Windows), or disable it for their session with the option in the toolbar menu (☰).⌘ + .Ctrl + . Learn more about . toolbar settings and functionalityRead more
6ヶ月前
FastHTML projects can now be deployed with zero configuration
Vercel News
You can now deploy Python projects on Vercel with zero configuration.FastHTMLFastHTML is a new next-generation web framework for fast, scalable web applications with minimal, compact code. It builds on top of popular foundations like and . You can now deploy FastHTML with Vercel CLI or by pushing new changes to your git repository.ASGIHTMXDeploy the or run in your terminal to get started.FastHTML templatevercel init fasthtmlRead more
6ヶ月前
記事のアイキャッチ画像
Flags as code in Next.js
Vercel News
We recently introduced a new that allows using feature flags, in Next.js and SvelteKit, and works with any feature flag provider—or when using no flag provider at all. It's not meant to be a competitor to other feature flag providers. Instead, it’s a tool that sits between your application and the source of your flags, helping you follow best practices for using feature flags and experiments, keeping your website fast. Flags SDKFollow along below to get started with the Flags SDK, beginning with a simple feature flag to more sophisticated cases, discussing tradeoffs along the way.Read more
6ヶ月前
記事のアイキャッチ画像
Elkjøp's Digital Transformation: Powering Retail Innovation with Next.js and Vercel
Vercel News
+With over $1B in revenue flowing through their digital properties, Elkjøp (Elgiganten), Nordic subsidiary of Currys PLC and leading consumer electronics retailer in the region, knew their digital presence needed to reflect their in-store commitment to innovation and excellence. Their previous ecommerce platform, built on Angular and self-hosted on Kubernetes, had become a source of frustration for both customers and internal teams. Slow page loads, SEO struggles, and inefficient developer experience were impacting the bottom line and hindering their ability to deliver the exceptional online shopping experience their customers deserved.Read more
6ヶ月前
記事のアイキャッチ画像
Instantly redirect traffic using custom Vercel Firewall rules
Vercel News
You can now redirect requests to a new page using , adding to the existing challenge and block actions.custom Firewall rulesPublishing custom rules does not require a new deployment and will instantly propagate across the global Vercel Edge Network. Therefore, using custom rule redirects in moderation could provide a fast alternative to , particularly in emergency situations.Edge Network redirectsFirewall redirects execute before Edge Network configuration redirects (e.g. are evaluated.vercel.json or next.config.js) Custom rules are available for free on all plans.Read more
6ヶ月前
+
記事のアイキャッチ画像
Improvements to command line logs
Vercel News
Vercel CLI v35 introduces new commands to access of deployment and runtime logs:You can now use the option to stream logs as JSON. This makes it easier to parse and filter logs using tools like .--jsonjqTo use these features, update to the latest version of the Vercel CLI:Read more deploys and shows vercel deploy --logsbuild logs shows for an existing deploymentvercel inspect --logsbuild logs now follows of an existing deploymentvercel logsruntime logs
6ヶ月前
記事のアイキャッチ画像
How to choose the best rendering strategy for your app
Vercel News
+Web rendering has evolved from simple server-rendered HTML pages to highly interactive and dynamic applications, and there are more ways than ever to present your app to users.Static Site Generation (SSG), Server-Side Rendering (SSR), Client-Side Rendering (CSR), Incremental Static Regeneration (ISR), and experimental Partial Prerendering (PPR) have all been developed to optimize performance, SEO, and user experience in various situations.Read more
7ヶ月前
記事のアイキャッチ画像
Turbopack updates: Moving homes
Vercel News
Turbopack is a new JavaScript/TypeScript bundler we’ve been cooking at Vercel. Building on 10+ years of learnings from webpack, we want to build a bundler that can be used with many frameworks.We’re moving the Turbopack codebase into the Next.js repository—and wanted to share an update on our progress with Turbopack so far, as well as where we’re headed.Read more
7ヶ月前
記事のアイキャッチ画像
Automatically skip unnecessary deployments in monorepos
Vercel News
Vercel now automatically skip builds for unchanged code in your monorepo. Projects without changes in their source code (or the source code of internal dependencies) will be skipped, reducing build queuing and improving the time to deployment for affected projects.This feature is powered by , and works with any . For more advanced customization, like canceling builds based on branches, you can configure an .Turborepomonorepo using workspacesIgnored Build StepLearn more about .skipping unaffected projectsRead more
7ヶ月前
記事のアイキャッチ画像
Longer history available in Speed Insights
Vercel News
We've increased the viewable history in Speed Insights for all plan types:Measure your site's performance over longer periods, at no additional cost. or for your project.Learn more about Speed Insightsenable Speed InsightsRead more: Now (up from 24 hours)Hobby7 days: Now (up from 7 days)Pro30 days: Now (up from 30 days)Enterprise90 days
7ヶ月前
記事のアイキャッチ画像
Improvements to Support Center
Vercel News
The Support Center now has an improved design to make it easier to understand the state of your support cases. You can now find cases by: is available to Pro and Enterprise customers.Support CenterRead moreSearching the subject linesFiltering by statusSorting by Last Updated, Date Created and Severity
7ヶ月前
記事のアイキャッチ画像
+New utilities to work with Vercel Functions
Vercel News
now includes new utilities:@vercel/functionsInstall the latest package to use these methods today:Learn more in the .documentationRead more: Returns location information of the incoming requestgeolocation: Returns the IP address of the incoming requestipAddress: Returns from VercelgetEnv system environment variables
7ヶ月前
記事のアイキャッチ画像
Improved CDN Performance
Vercel News
We've improved our performance by increasing the initial TCP congestion window by 300%. This enhancement allows sending more data in the initial and subsequent round-trips, resulting in faster page loads for websites of all sizes.Edge NetworkEnd users will experience significant speed improvements when first loading any site hosted on Vercel, with many sites seeing up to 3x faster initial page loads. The larger initial congestion window allows data transfer to ramp up more quickly, reaching higher speeds in fewer round-trips. This optimization is particularly beneficial for high-latency connections, such as those on mobile devices.This performance upgrade is available immediately for all Vercel customers across all plans, with no action required. Your sites will automatically benefit from these improvements without any changes needed on your part.Read more
7ヶ月前
記事のアイキャッチ画像
Log Drains now support the Vercel Firewall
Vercel News
+You can now drain actions to external providers through Log Drains.Vercel FirewallRequests denied by the Vercel Firewall will be drained with the source. This includes the following events:firewallIf a rule is set to or to , requests will not be sent to Log Drains. Firewall actions are also surfaced inside of .logbypassMonitoringLearn more about the .Log DrainsRead moreRequests blocked by a Custom RuleRequests blocked by Challenge ModeRequests blocked Managed Rules (e.g. )OWASP CRSRequests blocked by an IP Rule
7ヶ月前
記事のアイキャッチ画像
Fast Origin Transfer is now automatically compressed
Vercel News
We’ve improved Fast Origin Transfer—our Edge Network’s ability to transfer data from every region globally to the origin—to be compressed by default.Fast Origin Transfer is incurred when using any of Vercel’s compute projects, like Functions, Middleware, and Incremental Static Regeneration (ISR). Starting today, all data transfer between edge regions and the origin location is now automatically compressed. This matches the behavior of Fast Data Transfer.Learn more about and how to optimize.Fast Origin TransferRead more
7ヶ月前
記事のアイキャッチ画像
Understanding Vercel Functions
Vercel News
Vercel Functions run code in response to user traffic without the need to manage your own infrastructure, provision servers, or manage hardware.Read more
7ヶ月前
記事のアイキャッチ画像
Function streaming to be framework-agnostic on Vercel
Vercel News
In 2023, Vercel Functions added support for .streaming HTTP responsesThis feature has been enabled for frameworks like Next.js (App Router), SvelteKit, Remix, and more. We've been progressively rolling out streaming to more frameworks over the past two years, and we're beginning to roll out streaming for and compatible frameworks.all functionsRead more
7ヶ月前
記事のアイキャッチ画像
How Chick-fil-A's internal software is transforming their supply chain
Vercel News
At Chick-fil-A restaurants, the race is on to get orders to customers quickly with quality and care, which makes every efficiency gain a win. Creating software that not only solves problems but also exceeds users' expectations has transformed Chick-fil-A's internal tools.Read more
7ヶ月前
記事のアイキャッチ画像
Introducing Vercel AI SDK 3.2
Vercel News
We’ve been listening to your feedback and working hard to expand the capabilities of the while improving its existing functionality. Today, we’re launching AI SDK 3.2.AI SDKRead more
8ヶ月前
記事のアイキャッチ画像
Getting started with AI: Advice from the experts at Vercel Ship
Vercel News +
At our annual end-user conference, , we hosted a panel discussion on AI for enterprise teams featuring (Google), (Groq), (OpenAI), and moderated by (Tomorrow Talk). The panel of experts shared how customers are leveraging AI technologies to:Vercel ShipPaige BaileySunny MadraMiqdad JafferSabrina HalperRead more
8ヶ月前
記事のアイキャッチ画像
Demystifying INP: New tools and actionable insights
Vercel News
+In March 2024 Interaction to Next Paint (INP) became part of Google’s Core Web Vitals, a set of metrics reporting on user experience of web pages based on field data, and .used in Google’s search rankingRead more
8ヶ月前
記事のアイキャッチ画像
Never drop the illusion: How Frame.io builds fluid user experiences
Vercel News
When Hollywood giants and global brands collaborate on video, they demand a seamless, high-performing experience — and , an Adobe company, delivers.Frame.ioRead more
8ヶ月前
記事のアイキャッチ画像
Introducing bytecode caching for Vercel Functions
Vercel News
We recently shipped a new for Vercel Functions to improve startup times.Rust-based coreToday, we are announcing a new experimental feature to further reduce startup latency for large applications, resulting in up to .27% faster cold startsRead more
8ヶ月前
記事のアイキャッチ画像
Mintlify: Scaling a powerful documentation platform with Vercel
Vercel News
, a platform for public documentation, is a toolkit for developers to write, maintain and host documentation. The platform offers a flexible solution that can be used out of the box or customized to fit specific needs, enabling developers to create help guides, tutorials, and API references.MintlifyRead more
8ヶ月前
記事のアイキャッチ画像
Vercel Ship 2024 recap
Vercel News
Vercel Ship 2024 was all about the power of the frontend cloud, highlighting the integrations, ecosystem, and teams building the web's best products.Read more
8ヶ月前
記事のアイキャッチ画像
Introducing the Vercel Web Application Firewall
Vercel News
In any given week, Vercel blocks around 1 billion suspicious TCP connections, with some days seeing upwards of 7 billion malicious requests. The Vercel Firewall has been silently mitigating DDoS and Layer 3/4 attacks, but it's been operating as a black box with limited transparency.Read more
9ヶ月前
記事のアイキャッチ画像
+Introducing new developer tools in the Vercel Toolbar
Vercel News
Vercel’s Frontend Cloud is all about giving you and your team the tools to prioritize the user experience—so you can focus on what makes your product great and quickly iterate together with your team.Read more
9ヶ月前
記事のアイキャッチ画像
Shipping safer and smarter: Integrating feature flags deeper in the Vercel workflow
Vercel News
+Feature flags help teams to release with confidence, safely roll out changes, and test efficiently, improving collaboration and accelerating development cycles. If you use tools like , , , or to create feature flags, we're making integrating them into your Vercel workflows as easy as possible.LaunchDarklyStatsigSplitOptimizelyRead more
9ヶ月前
記事のアイキャッチ画像
Securing data in your Next.js app with Okta and OpenFGA
Vercel News
+Modern Next.js applications can have large codebases operating across multiple environments, including client components running in the browser, Server Actions executing on the server, and more.Read more
9ヶ月前
記事のアイキャッチ画像
How Vercel helped Desenio future-proof their business
Vercel News
+The merger of two of the world's largest affordable art providers, Desenio and The Poster Store, gave their developers the chance to modernize their application architecture, improve their entire process, and dismantle the monolithic approach that made for long deployment times and slow iteration. Thanks to Vercel, they went from duplicate pipelines to a unified workflow— resulting in faster builds, a 37% lower bounce rate, 48% longer sessions, and a 34% improvement in site conversions.Read more
9ヶ月前
記事のアイキャッチ画像
+7 AI features you can add to your app today
Vercel News
Imagine a customer finding the perfect item on your website in seconds—not because they know the jargon to search, but because your search bar what they're looking for.understandsThat level of convenience wasn't possible a year ago. Even getting close was a huge hassle. But now, thanks to advancements in AI and large language models (LLMs) like OpenAI’s GPT, Google’s Gemini, and Anthropic’s Claude, businesses without dedicated AI teams are rolling out impressive features in record time.And Vercel is here to help speed that process up. Let’s take a look at what’s possible.Read more
9ヶ月前
記事のアイキャッチ画像
Vercel Functions are now faster—and powered by Rust
Vercel News
Vercel Functions run code on demand without the need to manage your own infrastructure, provision servers, or upgrade hardware—and are now powered by Rust under the hood.Read more
9ヶ月前
記事のアイキャッチ画像
How Dub grew to 3,000 active domains with Vercel’s multi-tenant SaaS toolkit
Vercel News
is an open-source link management platform that helps marketing teams create marketing campaigns, link sharing features, and referral programs. Currently, Dub boasts over 3,000 active domains, growing at a remarkable 25% month-over-month rate.DubRead more
9ヶ月前
記事のアイキャッチ画像
Vercel AI SDK 3.1: ModelFusion joins the team
Vercel News
Today, we're releasing the AI SDK 3.1, with joining our team.ModelFusionThis release brings us one step closer to delivering a . It is organized into three main parts:complete TypeScript framework for building AI applicationsRead more
9ヶ月前
記事のアイキャッチ画像
Vercel supports HIPAA compliance
Vercel News
+
Vercel is committed to providing a and reliable platform for hosting websites and applications—across all industries. But this can be challenging with industry-specific regulations, especially for healthcare organizations and entities that process protected health information (PHI). secureRead more
9ヶ月前
記事のアイキャッチ画像
How Vercel helped Tonies expand into new markets and improve conversion rates
Vercel News
+‌ ‍ ​‍​‍‌‍ ‌ ​‍‌‍‍‌‌‍‌ ‌‍‍‌‌‍ ‍​‍​‍​ ‍‍​‍​‍‌‍​ ‌‍ ‌‍ ‍‌ ‌​‌‍‌‌‌‍ ‍‌ ‌​‌‍‌‍‌ ‌‌‌‍ ​​‍ ‍‌‍​ ‌‍ ‌‍ ‌​‍​‍​‍ ​​‍​‍‌‍‍​‌ ​‍‌‍‌‌‌‍‌‍​‍​‍​ ‍‍​‍​‍​‍ ‌‍​‌‌ ​​‌‍‍‌​‍ ‌‍​‍‌‍ ​‌‍ ‌‍‌ ​‍ ‌‍‌‌‌‍‌​‌‍‍‌‌ ‌​​ ‌‍‌‌​ ‌​ ‌‌‌‍ ‌‌​‌‌‌‌‌ ‌‌​‌‌‍‍‍‌​ ​​ ‌ ‌ ​‌‌​​‌​ ‌‍‌​‌​‌​‍​‌​‍​‌ ‌​​ ‌‌​ ‌​‌​​‌‌​‍‌‌​​‌‌‍ ​ ‌ ​‍‌‍‌ ‌​​ ‌‌‍‌‌​‍​‍​‍ ​​‍​‍‌ ‌​‌ ‍‌‌ ​​‌‍‌‌​‍​‍​ ‍‍​‍​‍‌ ‌​‌‍‌‌‌ ‍​‌ ‌​​‍​‍​‍ ​​‍​‍‌‍‌​‌‍​‌‌ ‌​‌‍​‌​‍​‍​ ‍‍​‍​‍‌ ​ ‌ ‌‌‌‍​‍‌ ‌​‌‍‍‌‌ ‌​‌‍ ​‌‍‌‌​‍​‍‌ ‌, creators of the smart audio system for children, sought to expand into new markets, but it became clear that their existing platform couldn't support this growth. In response, they undertook a strategic transition to a new frontend platform powered by Vercel's Frontend Cloud and Contentful's CMS.ToniesRead more
9ヶ月前
記事のアイキャッチ画像
Latency numbers every frontend developer should know
Vercel News
+Web page load times and responsiveness to user action in web apps is a primary driver of user satisfaction–and both are often dominated by network latency.Latency itself is a function of the user's connection to the internet (Wifi, LTE, 5G), how far away the server is that the user is connecting to, and the quality of the network in between.While the latency numbers may seem low by themselves, they compound quickly. For example, a of depth 3 on a 300ms link leads to a total latency of 900ms. Technologies like can move network waterfalls to the server where the same request pattern might be 100 times as fast.network waterfallReact Server ComponentsRead more
10ヶ月前
記事のアイキャッチ画像
How Global Retail Brands cut development time from months to 1 week with Vercel
Vercel News
is one of Australia’s fastest-growing retailers, specializing in homeware and kitchenware goods with over 250 physical stores throughout the country. GRB is known for its flagship brands such as , , ,, and Global Retail Brands (GRB)HouseMyHouseHouse Bed & Bath BaccaratRobins Kitchen.Read more
10ヶ月前
記事のアイキャッチ画像
Building an interactive 3D event badge with React Three Fiber
Vercel News
In this post, we’ll look at how we made the dropping lanyard for the , diving into the inspiration, tech stack, and code behind the finished product.Vercel Ship 2024 siteRead more
10ヶ月前
記事のアイキャッチ画像
Releasing safe and cost-efficient blue-green deployments
Vercel News
Blue-green deployments are a great way to mitigate the risks associated with rolling out new software versions.Read more
10ヶ月前
記事のアイキャッチ画像
Creating a robust platform for documentation with Next.js and Vercel
+Vercel News
, an open-core platform for secure infrastructure access, sought to unify and enhance their website and documentation. They needed a framework that could support dynamic content, provide a smooth developer experience, and ultimately provide a robust and up-to-date resource for their customers.TeleportRead more
10ヶ月前
記事のアイキャッチ画像
Composable AI for ecommerce: Hands-on with Vercel’s AI SDK
Vercel News
Imagine you have a great idea for an AI-powered feature that will transform your ecommerce storefront—but your existing platform stands in the way of innovating and shipping. Legacy platforms come with slow and costly updates, and you're beholden to your vendor's roadmap., that all changes. You can choose and seamlessly integrate all the best tools, shipping your ideas with maximum efficiency.With composable architectureAt Vercel, we believe composable should include AI. We want it to be as straightforward as possible within the JavaScript ecosystem to develop AI features that enrich your users’ digital experiences.Read more
10ヶ月前
記事のアイキャッチ画像
How Ruggable saw 300% more organic clicks by optimizing their frontend architecture
Vercel News
Ecommerce brands today face immense pressure to stay agile and innovate continuously. Recognizing the need to optimize site performance, enhance SEO, boost conversions, and improve developer experience, Ruggable, a leading online rug retailer, embarked on a digital transformation with Vercel and Contentful.Read more
10ヶ月前
記事のアイキャッチ画像
Improved infrastructure pricing
Vercel News
Based on your feedback, we're updating how we measure and charge for usage of our infrastructure products.Read more
10ヶ月前
記事のアイキャッチ画像
Design Engineering at Vercel
Vercel News
+Design Engineer is a new role that is gaining popularity—a role that is both confusing and exciting. Expectations for what good software looks and feels like have never been higher. Design Engineers are a core part in exceeding that expectation.Read more
10ヶ月前
記事のアイキャッチ画像
Demant achieves global scalability and 30x faster response times with Vercel
Vercel News
+, a prominent hearing healthcare and technology group, has been dedicated to improving people's health and hearing since 1904.DemantRead more
10ヶ月前
記事のアイキャッチ画像
Protecting AI apps from bots and bad actors with Vercel and Kasada
Vercel News
The growth in popularity of AI applications, and the relative high cost of the LLMs to power those calls, means AI apps have emerged as an incredibly high-value target for bots and bad actors.Read more
1年前
記事のアイキャッチ画像
Revolutionizing video editing on the web with Next.js and Vercel
Vercel News
set out to revolutionize video editing by embracing the web.OzoneRead more
1年前
+記事のアイキャッチ画像
Leonardo generates 4.5M images daily with Next.js and Vercel
Vercel News
Generating more than 4.5 million images a day, merges artificial intelligence with creativity to transform content creation across industries like gaming, marketing, and design.Leonardo.ai Read more
1年前
記事のアイキャッチ画像 +
WordPress monolith to Vercel: How Personio elevated site performance and efficiency
Vercel News
As Europe's leading all-in-one HR solution for small and midsized organizations, is committed to the highest standards of both user experience and application security.Personio Read more
1年前
記事のアイキャッチ画像
+8 advantages of composable commerce
Vercel News
A monolithic ecommerce platform, where your commerce data and user-facing storefront are bundled into one provider, can help you get your business off the ground. But as your customer base expands and your strategies become more sophisticated, you may be bumping into some of the rough edges of your provider.If you crave blazing-fast site performance, personalized experiences, and the freedom to adapt without vendor lock-in, Vercel and Next.js offer a compelling, composable solution for your storefront’s unlimited global growth.Here are the benefits composable commerce can offer.Read more
1年前
Introducing feature flag management from the Vercel Toolbar
Vercel News
+Using feature flags to quickly enable and disable product features is more than just a development technique; it's a philosophy that drives innovation and ensures that only the best, most performant features reach your users.However, when working on a new feature you need to leave your current browser tab, sign into your flag provider, switch the flag to the value you need for development—all while coordinating and communicating this change with teammates. This adds a lot of overhead and disrupts your work.Today, we’re making that workflow easier by adding the ability for team members to right from the Vercel Toolbar.override your application’s feature flagsYou can manage flags set in any provider including , , , , or —and additionally you can integrate any other provider or even your own custom flag setup. By creating overrides for your flags from the toolbar, you can stay in the flow and improve your iteration speed.LaunchDarklyOptimizelyStatsigHypertuneSplitRead more
1年前
記事のアイキャッチ画像
Introducing AI SDK 3.0 with Generative UI support
Vercel News
Last October, we launched , a generative UI design tool that converts text and image prompts to React UIs and streamlines the design engineering process.v0.devToday, we are open sourcing v0's technology with the release of the . Developers can now move beyond plaintext and markdown chatbots to give LLMs rich, component-based interfaces.Generative UIVercel AI SDK 3.0Read more
1年前
記事のアイキャッチ画像
The Frontend Cloud: Powering resiliency for global web applications
Vercel News
Modern web apps are global, omni-channel and fast. Above all else they must be Every second of website downtime translates to lost revenue and eroded customer trust.available at all times. Leveraging Vercel's Frontend Cloud allows you to:Read more
1年前
記事のアイキャッチ画像
Deploying safely on Vercel without merge queues
Vercel News
+In order to prevent issues from reaching production, repositories often have settings enabled to keep the branch green whenever any code is merged. When there are many developers contributing code, such as in a , this usually results in a slowdown in developer productivity. mainmonorepoIf branches are required to be synced to before merge, developers may have to update branch multiple times before they can merge their code, unnecessarily performing a lot of the same checks over again. A merge queue is an alternative solution to alleviate this pain, but this can also slow down productivity by forcing commits from each developer to be tested before merge in serial, even from unrelated commits.HEADWith Vercel, you can ensure the safety of production developers can merge quickly.and , without using a merge queueRead more
1年前
記事のアイキャッチ画像
Effortless high availability for dynamic frontends
Vercel News
Vercel’s Frontend Cloud is designed for high availability from the ground up, with robustness against large-scale regional cloud outages at every layer of our architecture. This includes making it extraordinarily easy for our customers to run the compute they deploy to Vercel in the same highly resilient architecture. Concretely speaking, this can make the difference between downtime or smooth operation during major sales events such as Black Friday.Read more
1年前
記事のアイキャッチ画像
Evolving Vercel Functions
Vercel News
We’ve been building a new foundation for compute, built on top of Vercel’s Managed Infrastructure, for the past year.Read more
1年前
記事のアイキャッチ画像
Vercel + WPP: World-class creativity enabled by technology
Vercel News
Today, we've announced our strategic partnership with WPP, a world leader in communications, experience, commerce, and technology. Through the years, brands have entrusted Vercel and to help them modernize their digital experience with the best creative the best technologies. Together, we serve leading organizations likeWPP’s global network of agenciesand The International Olympic Committee, James Hardie, Fluor, and Country Road Group.Read more
1年前
記事のアイキャッチ画像
Finishing Turborepo's migration from Go to Rust
Vercel News
We've finished porting , from Go to Rust. This lays the groundwork for better performance, improved stability, and powerful new features.Turborepo, the high performance JavaScript and TypeScript build systemRead more
1年前
記事のアイキャッチ画像
Introducing AI Integrations on Vercel
Vercel News
Today, we’re launching from leading AI companies.nine new AI integrations for VercelWe’ve also created a new where you can try dozens of models instantly to generate text, images, audio, and more right in your dashboard.model playgroundRead more
1年前
記事のアイキャッチ画像
PCI compliance for ecommerce
Vercel News
At Vercel, we strive to provide the best support for ecommerce customers worldwide. As a part of this work, we want to ensure that we provide support for our customers to comply with the Payment Card Industry Data Security Standard (PCI-DSS).In accordance with Vercel's , this post will walk you through our recommended approach using an to process payments—creating a secure conduit between your end users and your payment provider.shared responsibility modeliframe Read more
1年前
記事のアイキャッチ画像
+How streaming helps build faster web applications
Vercel News
Streaming is the key to and web applications.fastdynamicWhen , you can progressively send UI from server to client, without needing to wait until all of your data has been loaded. This helps your customers see content immediately, like your main call to action to add an item to the cart.streamingRead more
1年前
記事のアイキャッチ画像
How Core Web Vitals affect SEO
Vercel News
Core Web Vitals influence how your application's pages rank on Google. Here, we'll dive into what they are, how they’re measured, and how your users and search ranking are impacted by them.Read more
1年前
記事のアイキャッチ画像
Architecting a live look at reliability: Stripe's viral Black Friday site
Vercel News
+In 2023, businesses processed more than $18.6 billion on Stripe over Black Friday and Cyber Monday (BFCM).This year, just 19 days before Black Friday, Stripe asked a question: "What if?" What if they opened up Stripe's core metrics and gave a detailed look into their core business, reliability, and the reach of their products?In response, employees from across the company came together to construct a real-time, publicly accessible microsite that dynamically showcased Stripe's reliability, transaction volumes, global activity, and more, during BFCM—and they showcased it all on Vercel.Read more
1年前
記事のアイキャッチ画像
Common mistakes with the Next.js App Router and how to fix them
Vercel News
After talking to hundreds of developers and looking at thousands of Next.js repositories, I've noticed ten common mistakes when building with the Next.js App Router.This post will share why these mistakes can happen, how to fix them, and some tips to help you understand the new App Router model.Read more
1年前
記事のアイキャッチ画像
Forrester Total Economic Impact™ study: Vercel delivered a 264% ROI
Vercel News
Inefficient developer workflows. Poor user experience. Sluggish site performance. These are common woes that customers come to Vercel to alleviate. They result in costs that affect your team’s day-to-day workflow and impact your organization’s bottom line. But stakeholders still want to know the answer to a simple question: What will the ROI on Vercel be?quantifiableRead more
1年前
記事のアイキャッチ画像
The developer experience of the Frontend Cloud
Vercel News
In a large team, creating new code should never be scary. Finding where to place code shouldn't be difficult. And new code certainly shouldn't break anything.deployingIdeally, your codebase feels transparent: easy to create, adjust, and monitor.The Frontend Cloud offers a complete , so you don't have to spend so much developer time curating and maintaining systems that can be easily automated.Developer Experience (DX) PlatformInstead, you get centrally-located and collaborative tooling—Git-based workflows with automatic staging environments and more—where you can easily leverage the self-serve tools in front of you that just work by default.Read more
1年前
記事のアイキャッチ画像
AWS re:Invent 2023: Iteration velocity is the solution to all software problems
Vercel News
Recently the Vercel Team had the pleasure of sponsoring AWS re:Invent 2023. This year we attended as an official part of the AWS Marketplace, which makes it possible to onboard and build on Vercel in just a few clicks.While at re:Invent, I was able to share my thoughts on The Frontend Cloud, Generative UI, and the keys to a highly iterative team. Here’s a look at my talk.Read more
1年前
記事のアイキャッチ画像
Introducing Conformance and Code Owners: Move fast, don't break things
Vercel News
+As organizations grow, it can become hard to sustain fast release cycles without diminishing code health and letting errors slip into production. It shouldn't be this way. We should be able to move fast breaking things—making quick updates and innovating while retaining great performance, security, and accessibility.withoutToday, we're releasing new features to Vercel's to help ship higher quality code, with the same velocity even as teams and codebases scale.Developer Experience PlatformEnterprise teamsRead more
1年前
記事のアイキャッチ画像
+The user experience of the Frontend Cloud
Vercel News
The world's best websites load before you've finished this sentence.Those websites can't be static, but serving performance personalization to a global user base has historically been complex.and The is to collect industry-best practices into one easy-to-use workflow, integrating new and better solutions as they come.primary goal of Vercel's Frontend CloudIn this article, we'll look at why speed and personalization matter to your business, and how the Frontend Cloud gives you abundant options for both.Read more
1年前
Guide to fast websites with Next.js: Tips for maximizing server speeds and minimizing client burden
Vercel News
is an agency obsessed with delivering fast websites such as jewelry brand , which went from a Shopify theme to a modern website that instantly loads with 80% less JavaScript.TinloofJennifer FisherNext.jsRead more
1年前
記事のアイキャッチ画像
The power of headless: Ecommerce success with Next.js, Vercel, and Shopify
Vercel News
Translating designer brand experiences to the digital world requires putting complete control in the hands of the developer. A lack of ability to fine-tune performance optimizations and application decisions often limits UI possibilities.Read more
1年前
記事のアイキャッチ画像
+The foundations of the Frontend Cloud
Vercel News
+Core web app decisions tend to center the backend, due to its complexity and impact over huge swaths of the business.However, frontends have grown far more important and complex in their own right. When not prioritized, the intricate infrastructure around them can quickly spin out of control, dragging teams into untold amounts of tech debt.As becomes more common, developers are turning to the Frontend Cloud to automate away the behind-the-scenes hassles of creating and growing dynamic websites.decoupled architectureInstead of as a separate step of the development process, the Frontend Cloud provisions global infrastructure , . managing infrastructurebased on your existing application codefor youThis approach to web development , allowing your team to experiment safely and meet shifting market demands. Teams of all sizes can effortlessly scale global apps while maintaining the highest possible bars for performance, personalization, and security.massively increases developer velocityYou +
1年前
記事のアイキャッチ画像
How to scale a large codebase
Vercel News
Scaling a codebase is an integral, and inevitable, part of growing a software company.You may have heard many terms thrown around as answers — monoliths, monorepos, micro frontends, module federation, and more.At Vercel, we’ve helped evolve their codebases, and we have an opinion on the optimal way to build software.thousands of large organizationsRead more
1年前 +
記事のアイキャッチ画像
Partial prerendering: Building towards a new default rendering model for web applications
Vercel News
+At this year’s , we discussed the developer and user experience challenges of global delivery of dynamic web applications. How can we fetch data without expensive waterfalls and also deliver content directly from the edge?Next.js ConfThe answer to all of these current challenges: Partial Prerendering (PPR).PPR combines ultra-quick static edge delivery with fully dynamic capabilities and we believe it has the potential to become the default rendering model for web applications, bringing together the best of static site generation and dynamic delivery.Today, you can with Next.js 14 on Vercel for a first impression of PPR.try an experimental preview of PPRor visit our demoRead more
1年前
Building secure and performant web applications on Vercel
Vercel News
Web Apps are the ultimate dynamic use-case on the Web. As opposed to web, web typically require or facilitate user-to-data interactions. Applications like customer-facing dashboards, support portals, internal employee apps, and much more require up-to-date, personalized information delivered in a performant and secure way.sitesappsVercel's Frontend Cloud offers support for deploying complex and dynamic web applications with managed infrastructure so you have control and flexibility without having to worry about configuration and maintenance—and yes, this means required to serve your App.everything Read more
1年前
記事のアイキャッチ画像
Building the most ambitious sites on the Web with Vercel and Next.js 14
Vercel News
At this year's , thousands of community members tuned in to learn about updates to the framework thousands of developers deploy with everyday. Among the announcements were:Next.js ConfRead more
1年前
記事のアイキャッチ画像
Understanding cookies
Vercel News
Cookies are small pieces of data stored by web browsers on a user's device at the request of web servers. They are sent back unchanged by the browser each time it accesses that server. Cookies allow the server to "remember" specific user information, facilitating functionalities like , , and .maintaining user sessionsremembering preferencestracking user behaviorRead more
1年前
記事のアイキャッチ画像
How we optimized package imports in Next.js
Vercel News
In the , we've made improvements to optimize package imports, improving both local dev performance and production cold starts, when using large icon or component libraries or other dependencies that re-export hundreds or thousands of modules.latest version of Next.jsThis post explains why this change was needed, how we've iterated towards our current solution, and what performance improvements we've seen.Read more
1年前
記事のアイキャッチ画像
Tekla's ecommerce evolution: harnessing flexibility with Vercel and Medusa
Vercel News
+With Vercel and at the helm of their frontend stack, Copenhagen-based bedding brand can handle high traffic while providing fast, personalized digital experiences to their customers. MedusaTekla, a digital design and development agency, wants to provide the best solutions possible for their clients. When the ecommerce brand Tekla turned to the agency for additional development support, Agilo came with a plan. By upgrading Tekla’s composable setup, the agency provided Tekla with enough speed and reliability to handle their growing traffic volume and deliver personalized digital experiences.AgiloRead more
1年前
記事のアイキャッチ画像
Announcing v0: Generative UI
Vercel News
A few weeks ago, we introduced : a product that makes website creation as simple as describing your ideas. We call it Generative UI—combining the best practices of frontend development with the potential of generative AI.v0The interest in v0 has been incredible, with 100,000 people registering for the waitlist in just three weeks. Today, we’re transitioning v0 from Alpha to Beta, rolling out access to 5,000 additional users, and introducing subscription plans for those who want to unlock the full v0 feature set.Read more
1年前
記事のアイキャッチ画像
Images on the web
Vercel News
Images are the most popular resource type on the web, yet understanding the nuances of various image formats and their technical attributes can be challenging.Read more
1年前
記事のアイキャッチ画像
Introducing Spend Management
Vercel News
Serverless infrastructure can instantly and infinitely scale. While powerful, this has had tradeoffs. An unforced error or traffic spike could cause an unexpected bill.Read more
1年前
記事のアイキャッチ画像
Understanding the SameSite cookie attribute
Vercel News
+Navigating the web safely while ensuring user privacy is a top priority. When working with cookies, it’s important to ensure they are secure and serve their intended purpose without compromising user privacy. One key attribute to consider is , which dictates when and how cookies are sent in cross-site requests.SameSiteRead more
1年前
記事のアイキャッチ画像
Understanding CSRF attacks
Vercel News
+Cross-Site Request Forgery (CSRF) is an attack that tricks users into executing unwanted actions on a web application where they're currently authenticated.Read more
1年前
記事のアイキャッチ画像
First Input Delay (FID) vs. Interaction to Next Paint (INP)
Vercel News
As of March 2024, Interaction to Next Paint (INP) will replace the First Input Delay (FID) as a new Core Web Vital. Read more
1年前 +
記事のアイキャッチ画像
Optimizing web fonts
Vercel News
Web fonts are vital to branding and user experience. However, the inconsistent rendering of these fonts while they're being fetched from the server can cause unintended shifts in layout.Read more
1年前
Why Vercel and Next.js are the perfect fit for this global fashion media group
Vercel News
is a century-old fashion media group representing 10 renowned publications in more than 80 countries. Despite its global reach, the brand has a small team that maintains its 30 web properties, while also developing new features and working on special projects sold to clients. L’Officiel Inc.Read more
1年前
記事のアイキャッチ画像
How Whop improved their Real Experience Score by 200% with the Next.js App Router
Vercel News
, an online marketplace for digital products, recognized the importance of having a seamless developer and end-user experience and aimed to transform their platform with a modern tech stack. WhopTo achieve this, they focused on migrating from Ruby on Rails to , quickly followed by the incremental adoption of for even better page speed and developer experience.Next.jsApp RouterRead more
1年前
記事のアイキャッチ画像
How to create an optimal developer workflow
Vercel News
Software engineers strive to build experiences that delight and engage customers, but there are plenty of workflow roadblocks that can stand in the way of shipping great software quickly.In this blog, we'll break down the costs of poor developer experience and share some tactics that can help promote a healthy development workflow. Read more
1年前
記事のアイキャッチ画像
Vercel achieves ISO 27001:2013 certification to further strengthen commitment to security
Vercel News
Today, we’re excited to announce our achievement of the . This further strengthens our commitments to security in .ISO 27001:2013 (ISO 27001) certificationVercel’s Frontend CloudRead more
1年前
記事のアイキャッチ画像
+How the at-home workout sensation, Hydrow, cut authoring times from weeks to minutes
Vercel News
In 2022, Hydrow, celebrated for its personal rowing machines and immersive workout content, was in search of a seamless digital experience for its users.Shopify Liquid and WordPress offer robust capabilities, but Hydrow required more custom, dynamic content capabilities. Read more
1年前
記事のアイキャッチ画像
Using Zig in our incremental Turborepo migration from Go to Rust +
Vercel News
We’ve been porting , the high-performance build system for JavaScript and TypeScript, from Go to Rust. We talked about , so now let’s talk about how we began porting our two main commands: and .Turborepohow we started the porting processrunpruneRead more
1年前
記事のアイキャッチ画像
Why all application migrations should be incremental
Vercel News
+In 2023, there are few software projects that are true greenfield endeavors. Instead, migrations of existing systems are the new normal. Migrations done wrong can introduce substantial business and timeline risks into any software project. An incremental migration strategy can minimize those risks while pulling forward validation of business impact.Vercel’s product is designed to support incremental migration from the ground up. In this post you'll get a high-level overview of incremental migration strategies and considerations. Read more
1年前
記事のアイキャッチ画像
Deploying at the speed of on-demand streaming
Vercel News
With many other streaming services to choose from, standing out in the crowd—or on users’ screens—requires speed and innovation. German-based platform Joyn knows the challenge well and relies on Vercel to automate and accelerate its development workflow. Read more
1年前
記事のアイキャッチ画像
Vercel AI Accelerator Demo Day
+Vercel News
Earlier this week, we held Demo Day for the program. 28 talented AI teams showed off the impressive demos they built over the 6 weeks of the program, in 3 minutes each.Vercel AI AcceleratorWatch the .demo day recordingRead more
1年前
記事のアイキャッチ画像
Developing at the speed of sound: How Sonos amplified their DevEx
Vercel News
+As the world’s leading sound experience company with a 20-year legacy of innovation and over 3,000 patents, understands the importance of a robust digital presence that reflects the brand’s cutting-edge ethos. SonosHowever, for years, the high costs and slow builds of their web infrastructure hindered developers from making critical site updates. The solution: a transition to a headless, composable architecture using Vercel and Next.js.The switch resulted in a remarkable 75% improvement in build times, empowering developers to innovate with ease and confidence.Read more
1年前
記事のアイキャッチ画像
Konabos empowers an industry giant to deploy 50% faster with a composable stack
Vercel News
When realized their team’s productivity was being interrupted by inefficient collaboration, they turned to the full-service digital agency Konabos for help. supported American Bath Group in moving away from their monolithic setup—the cause of their lagging dev velocity—in favor of a composable stack comprised of Vercel, Next.js, and Kontent.AI. Now with Vercel’s streamlined deployments and infrastructure, American Bath Group can deploy 50% faster, shorten review cycles, and enjoy a better developer experience. American Bath GroupKonabosRead more
1年前
記事のアイキャッチ画像
Algolia cuts build times in half with ISR using Next.js on Vercel
Vercel News
Algolia helps users across industries create dynamic digital experiences through search and discovery. With a constant addition of new features and pages on their website and blog, their technical team of five needed to improve their development cycle. By adopting , Algolia reduced build times by 50% while making it easier to collaborate across teams. Next.js on VercelRead more
1年前
+
記事のアイキャッチ画像
Introducing Next.js Commerce 2.0
Vercel News
Today, we’re excited to introduce Next.js Commerce 2.0.Read more
2年前
記事のアイキャッチ画像
Understanding React Server Components
Vercel News
(RSCs) augment the fundamentals of React beyond being a pure rendering library into incorporating data-fetching and remote client-server communication within the framework.React Server ComponentsBelow, we’ll walk you through why RSCs needed to be created, what they do best, and when to use them. We'll also touch on how Next.js eases and enhances through the App Router.the RSC implementation detailsRead more
2年前
記事のアイキャッチ画像
Engineering a site at the speed of breaking news
Vercel News
Many Vercel and Next.js users deal with large swaths of data. But few wrangle data in the way The Washington Post Elections Engineering team does. Knowing their platform must be fast and visually compelling—all while handling constant updates from thousands of federal, state, and local elections—The Post moved to Next.js and Vercel for the 2022 US midterm elections.Read more
2年前
Andersen Windows’ digital transformation with Sitecore and Vercel
Vercel News
Founded in 1903, Andersen Windows started out by floating log booms down the St. Croix River to build artisan window frames. Fast forward to 2023, and they’re still harnessing the latest and greatest technology to better serve their customers while earning $3.4B in annual revenue. Read more
2年前
記事のアイキャッチ画像
Introducing React Tweet
Vercel News
Introducing – embed tweets into any React application with a single line of code, without sacrificing performance.react-tweetRead more
2年前
記事のアイキャッチ画像
How Vercel helped this popular health database increase free trials by 284%
Vercel News
+is the Web’s largest database of nutrition and supplement research—empowering their users with scientific data to inform healthier lives. ExaminePrior to adopting Vercel’s Frontend Cloud, their five-person dev team was struggling with a pile of tech debt, brought on by their monolithic architecture setup. Read more
2年前
記事のアイキャッチ画像
How Turborepo is porting from Go to Rust
Vercel News
+In , we talked about we are porting , from Go to Rust. Now, let's talk about .a previous blog postTurborepo, the high-performance build system for JavaScript and TypeScriptwhyhowToday, our porting effort is in full swing, moving more and more code to Rust. But when we were starting out, we had to make sure that porting was feasible for us to accomplish. A migration from one language to another is no small task and there's a lot of research to do up front to ensure that the end goal is attainable. Here’s how we started the process, validated our current porting strategy, and made the call to port Turborepo to Rust.Read more
2年前
記事のアイキャッチ画像
How React 18 Improves Application Performance
Vercel News
React 18 has introduced concurrent features that fundamentally change the way React applications can be rendered. We'll explore how these latest features impact and improve your application's performance.Read more
2年前
記事のアイキャッチ画像
+Iterating from design to deploy: the shape of future builders
Vercel News
In a world of accelerating digital innovation, we need tools that transform the web development landscape. In his recent , Guillermo Rauch spoke about how we at Vercel enable builders—non-developers included—to tighten the cycle of design and deploy.Figma Config keynoteBelow, we’ll dive behind the scenes of the talk and give you tangible ways to try out Vercel’s Frontend Cloud.Read more
2年前
記事のアイキャッチ画像
+Meet the Vercel AI Accelerator Participants
Vercel News
Today, we’re announcing the participants of —a program for the brightest builders and early-stage startups.Vercel’s AI AcceleratorAIWe're thrilled to include both prominent builders and rising startups solving interesting or impactful problems, like using AI for cancer detection or transforming how academic research is made available.We received from talented startups and individuals and accepted 40, which is less than 3% of applications. The 40 accepted participants are presented below.over 1500 applicationsRead more
2年前
記事のアイキャッチ画像
Introducing the Vercel Platforms Starter Kit
Vercel News
Today, we are excited to launch the all-new Vercel — a built with , , and the .Platforms Starter KitApp RouterVercel PostgresVercel Domains APIfull-stack Next.js template for building multi-tenant applications with custom domains, Read more
2年前
記事のアイキャッチ画像
+Expanding the experimentation ecosystem with Edge Config and LaunchDarkly
Vercel News
We're excited to announce a new to bring low latency, global feature flags to your favorite .LaunchDarkly integrationfrontend frameworkFeature flags help your team safely release new code and experiment with changes. helps you instantly read configuration data globally, making it a perfect match for feature flag and experimentation data.Vercel Edge ConfigRead more
2年前
記事のアイキャッチ画像
Incrementally adopting Next.js at one of Europe's fastest growing brands
Vercel News
While , pioneers of the next-generation paper tablet, can credit much of their initial success to their original website, they knew they’d need to improve key elements of their stack and workflow to reach new heights. The team opted for a composable stack—comprised of , Next.js, and Vercel—to meet the needs of their developers while empowering their content creators to deliver truly delightful digital experiences.reMarkableSanityRead more
2年前
An Introduction to Streaming on the Web
Vercel News
+The ability to process data as it streams has always been a fundamental concept in computer science. JavaScript developers had access to streaming through , but it wasn't until 2015 that it was accessible natively through the Fetch API.XMLHttpRequest provide a standardized way to continuously send or receive data asynchronously across network connections. They bring the power of streaming to the web, enabling developers to handle large data sets through "chunks", deal with congestion control (), and create highly efficient and responsive applications. Web streamsbackpressureLeveraging web streams in your web apps can enhance the performance and responsiveness of your UIs. The immediate data processing allows for real-time updates and interactions, providing a seamless user experience with quicker load times, more up-to-date information, and a smoother, more interactive interface.Due to their increasing popularity, the has become a cornerstone of many major web platforms, including web +
2年前
記事のアイキャッチ画像
Enhanced content management for your headless CMS
Vercel News
+Today we’re excited to announce updates to , making it easier to see your latest content changes before they’re published.Draft ModeDraft Mode goes hand in hand with , our real-time content editing feature for websites using headless Content Management Systems (CMSes). When you make changes through Visual Editing, you can guarantee that your edits will show up the next time the page is viewed in Draft Mode.Visual EditingRead more
2年前
記事のアイキャッチ画像
How Neo Financial cut time spent on infrastructure admin by 50%
Vercel News
is a next-generation banking app and Canada’s fastest-growing financial services company. They’re leveraging Vercel's frontend cloud to enhance their web development process, boost performance, and meet industry security standards—all while saving on resources. Neo FinancialRead more
2年前
記事のアイキャッチ画像
Introducing Skew Protection
Vercel News
+Have you ever seen a 404 for requests from old clients after a deployment? Or gotten a 500 error because the client didn’t know that a new server deployment changed an API? We're introducing a generic fix for this problem space.Vercel customers are deploying over 6 million times per month, making their businesses more successful one commit at a time. But since the dawn of the distributed computing age, each system deployment has introduced the risk of breakage: When client and server deployments aren’t perfectly in sync, and they won’t be, then calls between them can lead to unexpected behavior.We call this issue . In the worst case, version skew can break your app, and in the best case, it leads to substantial extra engineering effort as software changes crossing system boundaries must be backward and forward-compatible.version skewToday, we're introducing for deployments, a novel mechanism to eliminate version skew between web clients and servers. This technology will substantially r +
2年前
記事のアイキャッチ画像
New features for SvelteKit: Optimize your application with ease
Vercel News
+Svelte has made a name for itself in the world of web development frameworks, thanks to its unique approach of converting components into optimized JavaScript modules. This innovative way of rendering apps eliminates the overhead found in traditional frameworks, leading to more performant and efficient applications.With , developers can leverage the power of fullstack Svelte without worrying about breaking changes. Furthermore, SvelteKit continues to evolve, offering a robust set of features and seamless integration with various deployment environments, including Vercel.the release of SvelteKit 1.0Vercel, using , has embraced SvelteKit, recently adding support for for Serverless and Edge Functions, , and easier compatibility with a . In this article, we'll explore how to make your apps more performant, scalable, and user friendly.framework-defined infrastructure (FDI)per-route configurationIncremental Static Regeneration (ISR)range of Vercel productsRead more
2年前
記事のアイキャッチ画像
From idea to acquisition: How Potion.so shipped 4,000+ sites on Vercel
Vercel News
is a Notion-to-website builder powered by Next.js and Vercel. Founder and sole employee Noah Bragg leverages the and to serve 4,000 custom domains and over 100,000 pageviews. Potion.soPlatforms Starter KitVercel's Edge NetworkIn June 2023, Potion was acquired for $300,000.Read more
2年前
記事のアイキャッチ画像
Introducing the Vercel AI SDK
Vercel News
Over the past 6 months, AI companies like , , , , , and have launched with and Vercel. Vercel helps accelerate your product development by enabling you to focus on creating value with your AI applications, rather than spending time building and maintaining infrastructure.ScaleJasperPerplexityRunwayLexicaJenniNext.jsRead more
2年前
記事のアイキャッチ画像
Introducing Vercel's AI Accelerator
Vercel News
Today, we’re announcing Vercel’s AI Accelerator – a program for the brightest AI builders and early stage startups. Over a span of 6 weeks, we aim to empower 40 of the industry's top innovators to create and develop next-generation AI apps.Applications are open for two weeks – .apply todayRead more
2年前
記事のアイキャッチ画像
Visual Editing meets Markdown
Vercel News
We're excited to share that now supports in Vercel Preview Deployments.TinaCMSVisual EditingThe TinaCMS team is on a mission to bring visual editing to the headless CMS in a way that works for developers. So when we had the opportunity to collaborate with Vercel on this, we didn't hesitate and the results are stunning. Read more
2年前
記事のアイキャッチ画像
Designing the Vercel virtual product tour
Vercel News
If you've tried a new tech tool recently, this experience might sound familiar: you visit the website, skim the homepage content, but still struggle to understand what the tool will do for you.The is a key resource for prospective teams to interactively understand what Vercel can offer. It takes the breadth of information about Vercel and breaks the product down into the most relevant parts.Vercel virtual product tourFirst, we’ll talk about why we designed the tour the way we did. Then, for the technically curious, we’ll walk through some of .the most interesting howsRead more
2年前
記事のアイキャッチ画像
Celebrating 10 Years of React
Vercel News
Today marks a significant milestone for frontend development.May 29th is the 10th anniversary of , a project that has transformed the web industry and reshaped the way we build digital experiences.ReactA huge congratulations and thank you to the team at Meta, who through their stewardship and relentless innovation, have created and maintained one of the open source projects of all time.most successfulRead more
2年前
記事のアイキャッチ画像
Vercel + Sanity: Innovating on a faster, more collaborative Web
Vercel News
+We’re excited to announce a strategic partnership with . Sanity is the modern content management system companies use to meet the realities of ever-increasing content complexity and customer expectations.Sanity—the Composable Content CloudGiving developers the tools to create at the moment of inspiration is core to both Vercel and Sanity’s DNA. From enabling to the recent co-development of , we aim to challenge the status quo through joint innovation. Sanity Studio to be embedded in a Next.js appVisual EditingThe composability at every layer of Sanity's content stack combined with result in the industry’s leading Web architecture for next-generation apps—trusted by organizations like , and .Vercel’s Frontend CloudLoomMorning Brew,TakedaRead more
2年前
記事のアイキャッチ画像
What does Vercel do?
Vercel News
Vercel builds a product—they make it easy for engineers to deploy and run the user facing parts of their applications.frontend-as-a-serviceRead more
2年前
記事のアイキャッチ画像
Authentication for the frontend cloud
Vercel News
We’re in the midst of the next big platform shift. Last generation we moved from server rooms to the cloud, and today we’re moving from the traditional, backend-oriented cloud to a new frontend cloud.The frontend cloud is characterized by performance: It enables both faster application development and faster end-user interactions. Each element is critical to success in today’s ultra-competitive software market.At Clerk, we build authentication for the frontend cloud. We saw the need arise as frameworks and hosts tailored to the frontend cloud grew in popularity, especially Next.js and Vercel. Legacy authentication tools were not built frontend-first, and their technical architecture usually undermines the goal of speeding up end-user interactions, since they’re slow at the edge.Read more
2年前
記事のアイキャッチ画像
Improved support for Nuxt on Vercel
Vercel News
We've been partnering with Nuxt to further integrate the framework with Vercel and support all Vercel products. Nuxt on Vercel now supports:Read more
2年前
記事のアイキャッチ画像
+Visual Editing: Click-to-edit content for headless CMSes
Vercel News
Adding collaborative to Vercel Previews Deployments was our first step towards bringing the workflow of Google Docs and Figma to web development. commentsToday, we're bringing content editing to your Preview Deployment interface with Visual Editing. Anyone can visually edit content and experience faster iteration—from developers to marketing teams.Read more
2年前
記事のアイキャッチ画像
Quality software at scale with Vercel Spaces
Vercel News
As companies and codebases grow, it becomes hard to sustain a fast release cycle without letting errors slip in to production. It shouldn't be this way. We should be able to move fast breaking things—making quick updates while retaining great performance, security, and accessibility.withoutToday, we're introducing Vercel Spaces, the biggest evolution of Vercel's workflow yet. Introducing powerful tools and conventions designed to integrate with your setup, to help you scale efficiently while retaining quality. monorepoWith , you'll find insights on your development workflows, code health and build logs, and brand new functionality to boost efficiency and remove blockers with , , and . These products, currently available in early private beta for Enterprises, can be used with Vercel regardless of where you host your application.Vercel SpacesConformanceCode OwnersVercel RunsRead more +
2年前
記事のアイキャッチ画像
Introducing Vercel Firewall and Vercel Secure Compute
Vercel News
Finding the right balance between developer experience and robust enterprise-grade security can be challenging. Developers want tools that streamline workflows and enhance productivity, while organizations prioritize security measures to protect sensitive data and meet compliance standards. At Vercel, we believe you can have the best of both worlds—exceptional developer experience and top-tier security.Read more
2年前
記事のアイキャッチ画像
Introducing storage on Vercel
Vercel News
Data is an integral part of the web. As JavaScript and TypeScript frameworks make it easier than ever to server-render just-in-time data, it's time to make databases a first-class part of Vercel's frontend cloud. Read more
2年前
記事のアイキャッチ画像
Vercel Web Analytics is now generally available
Vercel News
Vercel Web Analytics is generally available for insights on your top pages, top referrers, and user demographics such as countries, operating systems, browser information, and more. We're also excited to announce new functionality, and .filteringcustom events is available on all plans and custom events are available for Pro and Enterprise users. Web AnalyticsRead more
2年前
記事のアイキャッチ画像
Building towards operational excellence at CORE Construction
Vercel News
Balancing the intricacies of construction management requires a keen focus on efficiency and innovation. For technology-driven construction management company,, their unique approach hinges on adhering to their set standards within a program called Operational Excellence (OPEX). To reach the pinnacle of OPEX, the CORE team relies on their developers to deliver innovative solutions that push the boundaries of the industry. CORE ConstructionRead more
2年前
記事のアイキャッチ画像
Incremental migration from WordPress for a dev-first approach
Vercel News
+Navigating the agency world can be complicated, with each agency claiming to offer the most innovative solutions. Enter , a five-person team that crafts stunning sites and apps while empowering their clients to retain complete control over their brand. The secret to their success: a "dev-first approach" that sets them apart from typical marketing and design-focused competitors.GearboxFlexible enough to power both their small team and larger brands, Next.js and Vercel are Gearbox's go-to solutions—even for clients who may not be ready to transition to a headless stack all at once.Read more
2年前
記事のアイキャッチ画像
Making Commerce-UI a trusted partner for global ecommerce brands
Vercel News
is a boutique agency focused on composable eCommerce that specializes in creating optimized, performant experiences for design-driven brands. Thanks to Next.js and Vercel, they’re able to help clients—like viral sensation Lift Foils—discover headless commerce, while providing a seamless shopping experience to users around the world.Commerce-UIRead more
2年前
記事のアイキャッチ画像
+Containing multi-site management within a single codebase
Vercel News
+Wunderman Thompson, a global digital agency, specializes in and manage their digital presence.helping brands createTheir teams based in Europe often serve multiple countries and languages, catering to the needs of various portfolio brands, each with its own unique identity.To tackle these challenges, Wunderman Thompson uses the principles of , a headless CMS, a monorepo workflow, and Vercel's serverless platform. This approach compared to their former method of PHP servers and WordPress monoliths. Atomic Designcuts development time by a factor of 10 and costs by a factor of 25In this guide, we'll discuss the importance of choosing the right framework for an efficient developer workflow, and walk you through how to use these techniques to create your own efficient design system deployed on Vercel and the headless CMS of your choice.Read more
2年前
記事のアイキャッチ画像
How Vercel helps mmm.page manage over 30,000 sites
Vercel News
+was founded to provide anyone with the tools to create their own website, regardless of their technical know-how. With fast and early success, having the whole platform as a single page application on Amazon Simple Storage Service (Amazon ) became untenable as the user base grew into the tens of thousands. That’s why they turned to Vercel. Thanks to (SSR), ease of deployment, and support for custom domains, Vercel makes it simple to manage mmm.page’s scale, monetize their offerings, and continue to innovate. mmm.pageServer-Side RenderingS3Read more
2年前
記事のアイキャッチ画像
Vercel Edge Config is now generally available
Vercel News
Configuration data is used to control everything from A/B testing and feature flags to advanced rewrites and bespoke request-blocking rules. However, traditional solutions for managing configuration data can be slow, unreliable, and difficult to scale, which can negatively impact the user experience, latency, and overall effectiveness of your website.Today we’re announcing the general availability of , a new solution for managing configuration data in the cloud designed to be ultra-fast, reliable, and scalable, which can help improve your website's performance and efficiency.Edge ConfigRead more
2年前
記事のアイキャッチ画像
Powering a serverless Web: Vercel joins AWS Marketplace
Vercel News
AWS and Vercel have always had a shared vision: accelerating innovation through the power of serverless computing—and helping customers win big in the process.Read more
2年前
記事のアイキャッチ画像
+Managing major traffic spikes during ticket drops with Vercel
Vercel News
Managing the complex scaling needs of an online ticketing platform can be challenging. For the French end-to-end ticketing solution , ticket drops used to involve stress around scaling and server provisioning. As a company dedicated to providing artists and their fans with the service, Shotgun now relies on Vercel for seamless launches. So when they drop tickets for artists like Billie Eilish, the team can rest assured their site can handle the traffic. ShotgunbestRead more
2年前
記事のアイキャッチ画像
Replacing Google Optimize with the Vercel Edge Network
Vercel News
Since 2012, Google Optimize has been helping web builders experiment with their UIs to find the most effective patterns for their applications. However, Google has that Optimize will be sunset on September 30, 2023.announcedVercel is ready to help you build a platform to by leveraging the edge.continue your research with higher performance, more control, and better dataRead more
2年前
記事のアイキャッチ画像
Custom fonts without compromise using Next.js and `next/font`
Vercel News
+As web developers, we know the importance of typography in design. Custom fonts can set the tone for a website and enhance its overall aesthetic. However, using custom fonts can often create issues with website performance and user experience.One of the biggest issues with custom fonts is the that occurs when a font takes too long to load. These Flashes of Unstyled Content (FOUC) can alter the positioning of elements already on the page and make it difficult to navigate. CLS and FOUC can also impact an application's search engine ranking.Cumulative Layout Shift (CLS)On Vercel’s external websites, we used to solve these problems with the workarounds that we’ll talk about below. However, with the release of Next.js 13, we switched to, which cut down on complex code, client-side JavaScript, and layout shift.next/fontRead more
2年前
記事のアイキャッチ画像
Streaming for Serverless Node.js and Edge Runtimes with Vercel Functions
Vercel News
+Vercel recently became the first serverless computing provider to offer stable support for HTTP response streaming in both Node.js (Lambda) and Edge runtimes. This capability helps developers architect high-performance web applications with a focus on speed, scalability, and efficient resource usage.Let’s take a look at how Vercel enables streaming for serverless Node.js environments, and how this capability can significantly boost your web app's performance and user experience.Read more
2年前
記事のアイキャッチ画像
+How to build zero-CLS A/B tests with Next.js and Vercel Edge Config
Vercel News
A/B testing and experiments help you build a culture of growth. Instead of guessing what experiences will work best for your users, you can to produce the most effective UI possible.build, iterate, and adaptwith data-driven insightsIn this article, you'll learn how we built a high-performance experimentation engine for vercel.com using and , allowing our developers to create experiments that load instantly with zero and a great developer experience.Next.jsVercel Edge ConfigCumulative Layout Shift (CLS)Read more
2年前
記事のアイキャッチ画像
Remix without limits
Vercel News
We are excited to announce our , including support for:advanced Remix integrationRead more
2年前
記事のアイキャッチ画像
Framework-defined infrastructure
Vercel News
+is the industry-standard practice for provisioning infrastructure in a repeatable and reliable way. is an evolution of IaC, where the deployment environment automatically provisions infrastructure derived from the framework and the applications written in it. Infrastructure as code (IaC)Framework-defined infrastructure (FdI)The best way to understand it is that a build-time program parses the source code written to a framework, understands the intent behind the code, and then automatically generates the IaC configuration needed to run the software. This means more predictable, lower cost, and lower risk DevOps through truly serverless—dare we say, —architecture.infrastructurelessIn this article, we’ll explain how framework-defined infrastructure fits into modern views of infrastructure definition and automation. We’ll then show examples of how framework-defined infrastructure improves the experience of developing in open-source frameworks.Read more
2年前
記事のアイキャッチ画像
+Introducing Vercel Monitoring
Vercel News
We’re excited to share some new additions to our observability suite: Monitoring, now generally available for Pro and Enterprise teams and Logs for users on all plans. These tools give teams on Vercel the ability to quickly identify and resolve issues before they become major problems with an aggregated view of web traffic and performance data.Read more
2年前
記事のアイキャッチ画像
Your guide to headless commerce
Vercel News
Adopting a headless, or composable, commerce architecture helps to ensure your digital storefront is high-performing, scalable, and increasing in conversions each year. From Parachute to Under Armour, leading ecommerce brands are choosing to go headless to stay competitive. Let’s get back to basics and explore what headless commerce is, how it compares to monolithic commerce, and what you should do once you've made the migration to outpace your competitors and reach your KPIs. Read more
2年前
記事のアイキャッチ画像
Optimizing performance for over 6M monthly visitors at CruiseCritic
Vercel News
The web is any traveler’s first stop when it comes to planning vacations. (a subsidiary of Tripadvisor) knows just how essential review sites are to today’s traveler; the company serves six million visitors every month. Growing traffic meant that Cruise Critic needed to evaluate their application stack as well as their development workflow in order to scale. Cruise CriticRead more
2年前
記事のアイキャッチ画像
The Next.js SEO Playbook: Ranking higher with Next.js on Vercel
Vercel News
Search engine optimization (SEO) lets customers find and trust you more easily. And yet, improving your application's SEO is too often an opaque process. When SEO success feels like magic, you’re not always sure how to repeat or better it.In this article, we'll demystify SEO, clarifying some of the most technical aspects of the process. SEO doesn't have to be a chore, and with Next.js on Vercel as your solid foundation, you're ready to build up best practices, seeing exponential gains in the process.So, let’s start from the beginning.Read more
2年前
記事のアイキャッチ画像
Moving from monolithic WordPress to composable gives Plenti total freedom
Vercel News
+is a technology-led consumer lending and investment company that helps borrowers bring their big ideas to life. Established in Australia in 2014, Plenti has funded over $900m of loans to over 55,000 borrowers and has attracted over 22,000 registered investors. PlentiConsumers hold financial services providers to high standards, so a Vercel and Next.js frontend was instrumental in transforming their brand and giving their users a trustworthy experience. Because of this, migrating from their WordPress-based monolithic stack and launching a composable Next.js frontend on Vercel was Plenti’s top tech priority as they approached their rebrand and IPO. And they did this all with a one-developer team. Read more
2年前
Vercel Data Cache: A progressive cache, integrated with Next.js
Vercel News
Before today, developers had to choose between either fully static or fully dynamic pages.With , we’re excited to announce the and the brand-new . This enables caching only of your page as static data, while fully dynamically rendering the rest of your application, including accessing real-time and personalized data.Next.js 13.2Next.js Cache (beta)Vercel Data Cache (beta)partRead more
2年前
記事のアイキャッチ画像
Introducing Vercel Cron Jobs
Vercel News
Vercel Cron Jobs can be used with Vercel Functions to:Read more
2年前
記事のアイキャッチ画像
How Makeswift improved CI speed by 65% with Turborepo
Vercel News
+Trusted by companies like Caterpillar and Render, prides itself on providing easy visual or no-code Next.js site builders for their clients. When their small team began struggling with lengthy build times and a subpar dev experience, they turned to . After adopting Turborepo, Makeswift .MakeswiftTurborepoimproved overall CI pipeline time by 65%Read more
2年前
記事のアイキャッチ画像
How Vercel and Next.js keep Rippling on their rising path to success
Vercel News +
After going from $13M to $100M in revenue in two years, HR platform Rippling needed a frontend stack as fast and flexible as its innovative solutions. As they scaled to over 600 pages, engineer Robert Schneiderman realized that a fullstack WordPress solution wouldn't be able to handle their stakeholders' rapid iteration needs while maintaining the performance their customers require. By leveraging Next.js and Vercel alongside their , Rippling was able to build a solution that kept developers, content creators, and customers happy.WordPress headless CMSAs the company grows, teams across Rippling are empowered to make the changes they need. Over 90% of site changes are deployed by stakeholders immediately, giving Schneiderman the freedom to keep improving Rippling’s site performance and user experience. Read more
2年前
記事のアイキャッチ画像
How a global agency built a web innovation engine in two months
Vercel News
+If you’ve experienced a new technology for the first time at an exhibit or event, the talented technologists at , an award-winning digital agency based in Toronto, might have introduced you.GlobacoreGlobacore specialized in creating interactive experiences for physical spaces, like trade shows and offices, that stretched the laws of technology and human imagination for global brands like Acura, the IEEE, Volkswagen, and Samsung.“We catch people’s attention with cutting-edge technology that they’ve never seen, much less ,” says Dave Boyle, Head of Development at Globacore.experiencedRead more
2年前
記事のアイキャッチ画像
How Indent delivers secure access with Next.js and Vercel
Vercel News
is a security company that enables teams to perform critical business operations faster and more securely. They help organizations like HackerOne, Modern Treasury, and PlanetScale manage temporary access to cloud infrastructure for engineering teams and admin escalation for IT and security teams.IndentOne of the key selling points for their customers is an easy-to-use experience for everyone at a company to request, approve, and revoke access from Slack or their web dashboard. Indent turned to to provide unparalleled developer experience and a performant end-user experience for their application and public-facing website. Next.jsRead more
2年前
+
記事のアイキャッチ画像
Runway enables next-generation content creation with AI and Vercel
Vercel News
is an applied AI research company providing next-generation creation tools to users around the world. As a small company that prioritizes speed and innovation, every second counts. RunwayRead more
2年前
記事のアイキャッチ画像
Less code, better UX: Fetching data faster with the Next.js 13 App Router
Vercel News
There's plenty to be excited about with the launch of Next.js 13, from the release of the automatically self-hosted to the highly-optimized . Today, we'll talk about the directory, and how React Server Components and nested layouts save time for developers and users alike when it comes to fetching data and serving it on Vercel.@next/font componentnext/imageappRead more
2年前
記事のアイキャッチ画像
Navigating tradeoffs in large-scale website migrations
Vercel News
“Why migrate a perfectly functioning website to a new framework? Will the end user benefit from all this, or is it just to satisfy the development team?” We recently helped a client work through this decision process during a redesign of their entire web experience. Read more
2年前
記事のアイキャッチ画像
+Faster iteration with Turborepo and Vercel Remote Cache
Vercel News
Your software delivery is only as fast as the slowest part of your toolchain. As you and your teams work towards optimizing your deployment pipelines, it's important to make sure the speed of your continuous integration (CI) automations keep pace with your developers.Read more
2年前
記事のアイキャッチ画像
Building a GPT-3 app with Next.js and Vercel Edge Functions
+Vercel News
The field of artificial intelligence continues to take the world by storm. Huge strides have been made in text and image generation through tools like ChatGPT, GPT-3, DALL-E, and Stable Diffusion. It’s spawned a wave of exciting AI startups, many of which we’re seeing .built with Vercel and Next.jsOne of the most exciting developments in the AI space is GPT-3, a cutting-edge natural language processing model developed by . With its ability to understand and generate human-like text, GPT-3 has the potential to disrupt how we perform many of our tasks.OpenAIIn this blog post, we’re going to break down how to build GPT-3 Apps with OpenAI, Next.js, and . We’ll do this by building —first with serverless functions, then rebuilding it with Edge Functions and streaming to showcase the speed and UX benefits. By the end, you should be able to build your own GPT-3-powered applications.Vercel Edge Functionstwitterbio.comRead more
2年前
記事のアイキャッチ画像
Super serves thousands of domains from a single codebase with Next.js and Vercel
Vercel News
+is the easiest way to create a website using nothing but Notion. In less than a minute, Super allows you to build a sleek, easy-to-manage site with instant page loads, SEO optimization, and zero code. SuperCEO and Founder Jason Werner switched to Next.js and Vercel from Gatsby and Netlify early on, and has never looked back. “Because Vercel is the creator and maintainer of Next.js, I know the hosting solution and features will always be perfectly integrated with the framework. It just pairs so well” says Werner. Werner uses to let his users custom domains to their Super projects. With the API, he is also able to and update it in real time.Vercel’s APIadd or remove detect any configuration changes in his users' domainsRead more
2年前
記事のアイキャッチ画像
Behind the scenes of Vercel's infrastructure: Achieving optimal scalability and performance
Vercel News
Vercel's platform provides speed, reliability, and the convenience of not having to worry about setting up and maintaining your own infrastructure. But what exactly goes on behind the scenes when we deploy our projects to Vercel, and what happens when you make a request to a site on the platform?This post will go behind the scenes, explaining how Vercel builds and deploys serverless applications for maximum scalability, performance, and fast iterations.Read more
2年前
記事のアイキャッチ画像
How Plex 6x their impressions deploying Next.js on Vercel
Vercel News
In 2021 they set out to create a new unified foundation to build their web experiences for years to come.Read more
2年前
記事のアイキャッチ画像
Deploying AI-driven apps on Vercel
Vercel News
is transforming how we build and communicate on the Web—nowhere seen more clearly than on Vercel. A stable diffusion search engine, a suite of AI-powered visual editing tools, and even a rejection generator are just a few of the .AInew projects keeping us amazedWhether you’re just starting out with AI or have experience in the field, let's explore how AI teams are building new projects, faster on Vercel. Read more
2年前
記事のアイキャッチ画像
How Supabase elevated their developer experience with Turborepo
Vercel News
is an open-source alternative to Firebase that provides all the backend features you need to ship a project in a weekend. Their growing 60-person development team has been using from the beginning to quickly ship their documentation, marketing site, and dashboard to thousands users. Yet with a user base that continues to grow, the team is ready to ship even faster. SupabaseNext.js on VercelRead more
2年前
記事のアイキャッチ画像
Improving readability with React Wrap Balancer
Vercel News
Titles and headings on websites play a crucial role in helping users understand the content and context of a webpage. Unfortunately, these elements can often be difficult to read due to typographical anti-patterns, such as a single hanging word on the last line.To tidy up these "widows and orphans," reduces the content wrapper to the minimum possible width before an extra line break is required. As a result, the lines of text stay balanced and legible, especially when the content is lengthy.React Wrap BalancerRead more
2年前
記事のアイキャッチ画像
Delivering AI analysis faster with the Vercel workflow
Vercel News
is an AI company that analyzes customer feedback and presents insights to businesses to improve products and services. With just six engineers, they’ve already processed 3.8 million data points for businesses like Latch, Uber, and AngelList. ViableRead more
2年前
記事のアイキャッチ画像
How Vercel enables Wunderman Thompson to launch global brands
Vercel News
+unlocks the potential of international brands through strategic, digital-led growth. As Web technologies rapidly evolve, the agency looks to Vercel to lay a consistent foundation for dynamic websites.Wunderman Thompson“Normally, it’s not easy to sleep when you launch a website,” says Rodrigo Barona, Engineering and Design Manager at Wunderman Thompson. “But now, it’s not my business. It’s Vercel’s.”By handling the intricacies of a global, edge-ready network, integrations for the most popular stacks, and even live on-page collaboration, Vercel lets Wunderman Thompson focus on what it does best: “moving at the speed of culture.”Read more
2年前
記事のアイキャッチ画像
Edge Functions enable Read.cv to deliver profiles globally, with near-zero latency
Vercel News
For Read.cv, showing is better than telling. The professional networking platform helps users add a more personal touch to the typical work profile—all made possible with Vercel and .Edge FunctionsRead more
2年前
記事のアイキャッチ画像
Helping Swell’s merchants provide unparalleled ecommerce experiences
Vercel News
Swell, a platform on Vercel, enables anyone to spin up their own ecommerce website using its headless, API-first backend. For them, Vercel and Next.js provide both the flexibility and accessibility they need to power their users’ storefronts around the world. The benefits are twofold: not only do Vercel and Next.js provide game-changing tools and features for the Swell team, but they ensure Swell’s merchants can create the fastest sites and the best shopping experiences for their customers. Read more
2年前
+記事のアイキャッチ画像
Hashnode runs the fastest blogs on the web with Vercel
Vercel News
, a blogging platform for the developer community built using Next.js, was born from the fundamental idea that developers should own the content they publish. A key component of that ownership is publishing articles on a custom domain—a feature the Hashnode team spent hours monitoring and maintaining themselves. That’s when they turned to Vercel. HashnodeRead more
2年前
記事のアイキャッチ画像
Sanity balances experimentation and performance with Vercel Edge Middleware
Vercel News
The Sanity Composable Content Cloud enables teams to create better digital experiences—unleashing editor creativity while reducing engineering headaches. When it comes to their own marketing site, Sanity has similarly high standards, which is why they rely on Vercel and Next.js. With and , Vercel makes it simple for Sanity’s developers to collaborate between teams, create and manage experiments, and empower their users to dream big with Edge MiddlewareServerless Functionspre-built templates.Read more
2年前
記事のアイキャッチ画像
Vercel + Sitecore: Partnering on a composable future
Vercel News
Today, we've announced a strategic partnership with Sitecore, a leading Digital Experience Platform (DXP) and Content Hub, to deliver an end-to-end composable solution for building and deploying dynamic web experiences. Combining customer data and AI to deliver personalized experiences and offering a powerful CMS to create and manage content across channels and devices, Sitecore is an ideal solution for today’s connected, omnichannel digital experience.Read more
2年前
記事のアイキャッチ画像
The Turbopack vision
Vercel News
The Turbopack team and I were excited to and we've been even more energized by the progress we've made since then.announce Turbopack's alpha release at Next.js ConfLast month, I had the opportunity to take the stage at React Day Berlin to share more about the future plans for Turbopack. Read more
2年前
記事のアイキャッチ画像
Building a global streetwear label with Next.js
Vercel News
+is a Brooklyn-based cult streetwear label and hybrid art brand with strong ties to the music, sports, and tech communities. From collaborating with the likes of Puma and Nike to co-designing Louis Vuitton's 2023 menswear collection, founder Colm Dillane and CTO Adham Foda are known worldwide for their boundary-pushing approach to fashion. KidSuperThe brand went viral in 2011 after Mac Miller wore their apparel on the cover of iTunes, and the duo knew they’d eventually require a tech solution that could keep up with their creativity. They needed to branch out from their -managed storefront and go headless, allowing them to bring their vision to life. ShopifyRead more
2年前
記事のアイキャッチ画像
Building a fast, animated image gallery with Next.js
Vercel News
+We held our biggest ever Next.js Conference on October 25, 2022 with over 110,000 registered developers, 55,000 online attendees, and hundreds attending in person in San Fransisco. We had photographers on site to capture the experience and we wanted to share the photos they took with the community. Instead of just sharing photos with a Google Drive link, we thought it’d be good idea to showcase these 350+ amazing photos in an that was fast, functional, and beautiful. We ended up building our own and , making it easy for anyone to build their own image gallery.image galleryopen sourcing the codeIn this blog post, we’re going to share the techniques we used to build a performant image gallery site that can handle hundreds of large images and deliver a great user experience.Read more
2年前
記事のアイキャッチ画像
Turbocharging Next.js: How Remote Caching decreased publish times by 80%
Vercel News
+Next.js lets developers iterate on their projects faster—but we want to iterate on faster, tooNext.js itself.This year, Next.js surpassed 4 million npm downloads for the first time. With over 2,400+ contributors, the core team here at Vercel must craft a developer experience to keep up with such a vast community to develop, test, build, and publish Next.js.Next.js had another first this year: introducing Rust to its core. While adding Rust brings greatly improved performance for developers using Next.js, the tradeoff was an increase in CI time to publish new releases due to the prolonged process of building Rust binaries.Until implementing dropped publish times by 80%.Turborepo Remote CachingRead more
2年前
記事のアイキャッチ画像
How to optimize your Next.js site: Tips from industry leaders
Vercel News
Optimizing your Next.js site for performance and efficiency can be complicated, but a good developer toolkit can help. from this year’s Next.js Conf to see how you can best use React Server Components, the latest in web UI, powerful layouts, and more to create a world-class website. Hear from some of the expertsRead more
2年前
記事のアイキャッチ画像
Enhanced Preview experience
Vercel News
When teams can easily share and comment on work in progress, big ideas happen faster. Today, we’re bringing that capability to all teams on Vercel with the ability to comment on Preview Deployments. Now, collaborating on websites and applications is as seamless as working on a Google Doc or Figma file. provide a shareable, production-quality URL for your website, while commenting enables real-time feedback in the context of the product you’re building. The result: dramatically faster iteration cycles and higher quality input from developers, designers, product managers, stakeholders, and more. Preview DeploymentsRead more
2年前
記事のアイキャッチ画像
Deployment Protection: Added security controls now available on all plans
Vercel News
Today we're thrilled to announce added privacy controls across all plans, including the ability to secure their preview deployments behind with just one click. Vercel AuthenticationRead more
2年前
記事のアイキャッチ画像
Vercel at AfroTech 2022: An immersive experience
Vercel News
Last month, Vercel had the privilege of sponsoring Conference 2022—the place for all things Black in tech and Web3. Our team was joined by the likes of Google, Meta, and Tesla in the expo hall—so we knew that we needed to find ways to stand out, engage with the community, and attract top talent. AfroTechThis was our approach. Read more
2年前
記事のアイキャッチ画像
Building a powerful notification system for Vercel with Knock
Vercel News
One of the main benefits of building with Next.js is the ease of leveraging APIs and components to integrate with best-of-breed, backend technology.quicklyToday released our as a public beta, made possible with the help of our integration partner , their powerful API, and robust component library. new notification systemKnockThis post will cover how we chose and implemented Knock for our notification center, and how you can use Knock to build notifications into your own application. Read more
2年前
記事のアイキャッチ画像
Vercel Edge Functions are now generally available
Vercel News
+Access to fast, global compute can give developers more flexibility to build rich experiences, regardless of their users' physical location or network speed. Vercel's Edge Functions aim to bring this capability into every developer's toolkit for building on the Web. This past summer, alongside our GA of Edge Middleware, we released Edge Functions to Public Beta. During our beta period, our Edge Network has seen over 30 Edge Function invocations.billionSince launching, we’ve made Edge Functions , more , and :fasterflexiblecapable of even larger workloadsRead more
2年前
記事のアイキャッチ画像
Introducing Edge Config: Globally distributed, instant configuration
Vercel News
Last month we announced the limited availability of , an ultra-low latency data store for near-instant reads of configuration data. Vercel Edge ConfigEdge Config is now generally available, alongside integrations with and for A/B testing and Feature Flags.StatsigHappyKitRead more
2年前
記事のアイキャッチ画像
Announcing SvelteKit Auth: Bringing NextAuth.js to all frameworks +
Vercel News
, the most popular authentication library for Next.js applications with almost 300,000 npm downloads per week, is growing to support the entire ecosystem of frontend frameworks.NextAuth.jsToday, (experimental) as the first framework outside of Next.js officially supported, built on top of the new decoupled library. This new package marks the larger move to Auth.js, providing authentication for the Web, with any framework you like.we’re excited to announce SvelteKit Auth@auth/coreGet started with our new .SvelteKit Authentication TemplateRead more
2年前
記事のアイキャッチ画像
+Using SvelteKit 1.0 on Vercel
Vercel News
is a new framework for building web applications that is gaining popularity among developers for its simplicity and performance. Built on top of Svelte (like Next.js for React), SvelteKit simplifies creating and deploying web applications. Server-side rendering, routing, code-splitting, and adapters for different serverless platforms are just a few of its out-of-the-box features.SvelteKit or continue reading to learn about the improvements to the framework in the past year and the benefits of deploying SvelteKit projects on Vercel. Deploying SvelteKit 1.0 todayRead more
2年前
記事のアイキャッチ画像
From idea to 100 million views: Building a viral application for your personal music festival
Vercel News
allows users to quickly create a festival poster from their top Spotify, Apple Music, and Last.fm artists. , a Computer Science student at USC, used Next.js and Vercel to launch Instafest fast and scale to , gaining millions of users and going viral on Twitter, TikTok, and more.InstafestAnshay Saboo500,000 new users per hourRead more
2年前
記事のアイキャッチ画像
Migrating a large, open-source React application to Next.js and Vercel
Vercel News
+If your company started building with React over 5 years ago, chances are you implemented your own custom solution or internal framework. Many engineers and teams want to explore technologies like Next.js and Vercel. However, some don't know where to get started because it's so far from their current reality or they don't see how supporting a custom framework is holding them back.As a coding exercise, we wanted to show what this could look like by migrating a large, open-source React application to use Next.js.We managed to , all while improving the local iteration speed of making changes from . This post will share exactly how we incrementally adopted Next.js and Vercel to rebuild the BBC website.remove 20,000+ lines of code and 30+ dependencies1.3s to 131msRead more
2年前
記事のアイキャッチ画像
AWS and Vercel: Accelerating innovation with serverless computing
Vercel News
Last week, I joined Holly Mesrobian, AWS VP of Serverless Compute, on stage at AWS re:Invent in Las Vegas. We discussed our shared vision of accelerating innovation with serverless computing, and how Vercel has leveraged AWS Lambda over the years.Read more
2年前
記事のアイキャッチ画像
Scale unifies design and performance with Next.js and Vercel
Vercel News
Scale is a data platform company serving machine learning teams at places like Lyft, SAP, and Nuro. It might come as a surprise to learn that they do all this with only three designers. Their secret to scaling fast: . Vercel and Next.jsRead more
2年前
記事のアイキャッチ画像
With Next.js, Vercel, and Sanity, Loom empowers every team to iterate
Vercel News
Loom, a video communication platform, helps teams create easy-to-use screen recordings to support seamless collaboration. Loom places high value on developer experience, but never wants to sacrifice user experience. Going headless with Next.js on Vercel, they can achieve both. By leaning on best-of-breed tools, all seamlessly embedded in their frontend, Loom's developers empower stakeholders, while the engineering team continues to bring new features to market.Read more
2年前
記事のアイキャッチ画像
How Vercel helped justInCase Technologies cut their build time in half
Vercel News
+justInCase Technologies’ development team needed a platform that would allow them to deliver a faster user experience without sacrificing developer experience. They struggled with their cloud platform’s infrastructure, with GitHub previews on a previous solution often getting stuck on the queued stage and failing. Not only were builds slow, they were also unreliable. Once they made the switch to Vercel, they no longer faced preview failures. With 50% faster builds, they now save 72 hours of developer time per month. Read more
2年前
記事のアイキャッチ画像
DatoCMS builds 60% faster with a streamlined workflow
Vercel News
DatoCMS provides over 25,000 businesses with a headless CMS built for the modern Web. Since their users rely on them for speed and innovation, they needed to find a fix fast when build times grew and complexity increased on their static CDN. By switching to , the team was able to cut build times by 60% while achieving both a better developer experience and simpler infrastructure.Next.js on VercelRead more
2年前
記事のアイキャッチ画像
Edge Config: Ultra-low latency data at the edge
Vercel News
Today, we're introducing : an ultra-low latency data store for configuration data.Edge ConfigGlobally distributed on Vercel's Edge Network, this new storage system gives you near-instant reads of your configuration data from , , and . Edge Config is already being used by customers to manage things like A/B testing and feature flag configuration data. Edge MiddlewareEdge FunctionsServerless FunctionsEdge Config is now generally available. Check out the or .documentationdeploy it on VercelRead more
2年前
記事のアイキャッチ画像
Using Vercel comments to improve the Next.js 13 documentation
Vercel News
+Writing documentation is a collaborative process—and feedback should be too. With the release of Next.js 13, we looked to the community to ensure our docs are as clear, easy to digest, and comprehensive as possible. To help make it happen, we enabled the new Vercel commenting feature (beta) on the Next.js 13 docs. With 2,286 total participants, 509 discussion threads, and 347 resolved issues so far, our community-powered docs are on track to be the highest quality yet. Visit to give it a try. beta.nextjs.org/docsRead more
2年前
記事のアイキャッチ画像
Introducing Turbopack
+Vercel News
Vercel's mission is to provide the speed and reliability innovators need to create at the moment of inspiration. Last year, we focused on speeding up the way Next.js bundles your apps.Each time we moved from a JavaScript-based tool to a Rust-based one, we saw enormous improvements. We migrated away from Babel, which resulted in . We replaced Terser, which resulted in toreduce load times and bandwidth usage.17x faster transpilation6x faster minification There was one hurdle left: webpack. Webpack has been downloaded over . It’s become an integral part of building the web, but it's time to go faster.3 billion timesToday, we’re launching a high-performance bundler for React Server Components and TypeScript codebases.Turbopack: Read more
2年前
記事のアイキャッチ画像
Vercel acquires Splitbee to expand first-party analytics
Vercel News
The future of web analytics is real-time and privacy-first. Today, we're excited to announce our acquisition of —bringing more analytics capabilities to all Vercel customers. SplitbeeAlong with the acquisition of Splitbee, we're adding top pages, top referring sites, and demographics to —available now. With Analytics, you can go beyond performance tracking and experience the same journey as your users with powerful insights tied to real metrics.Vercel AnalyticsRead more
2年前
+
記事のアイキャッチ画像
Building an interactive WebGL experience in Next.js
Vercel News
+WebGL is a JavaScript API for rendering 3D graphics within a web browser, giving developers the ability to create unique, delightful graphics, unlike anything a static image is capable of. By leveraging WebGL, we were able to take what would have been a static conference signup and turned it into .the immersive Next.js Conf registration pageIn this post, we will show you how to recreate the centerpiece for this experience using open-source WebGL tooling—including a new tool created by Vercel engineers to address performance difficulties around 3D rendering in the browser.Read more
2年前
記事のアイキャッチ画像
Regional execution for ultra-low latency rendering at the edge
Vercel News
As we work to make a faster Web, increasing speed typically looks like moving more towards the edge—but sometimes requests are served fastest when those computing resources are close to a data source.Today, we’re introducing to address this. Regional execution of Edge Functions allow you to specify the region your executes in. This capability allows you to run your functions near your data to avoid high-latency waterfalls while taking advantage of the fast cold start times of Edge Functions and ensuring your users have the best experience possible.regional execution of Edge FunctionsEdge FunctionRead more
2年前
記事のアイキャッチ画像
Next.js Conf 2022: Iterate, scale, and deliver a great UX
Vercel News
On October 25, at 10:30am PT, nearly 90,000 viewers will tune in virtually to see what’s new for React and Next.js developers, while hearing over 25 experts share how they use Next.js to iterate, scale, and deliver amazing UX. to join them live and see what’s coming.Register for Next.js Conf 2022 todayWhether you’re part of a small team or an enterprise, take a sneak peek at what's in store for the most anticipated developer experience of the year.Read more
2年前
記事のアイキャッチ画像
Introducing OG Image Generation: Fast, dynamic social card images at the Edge
Vercel News
We’re excited to announce – a new library for generating dynamic social card images. This approach is than existing solutions by using Vercel Edge Functions, WebAssembly, and a brand new core library for converting HTML/CSS into SVGs.Vercel OG Image Generation5x fasterTry it out in seconds.Read more
2年前
記事のアイキャッチ画像
+How the world’s biggest YouTuber served millions of users on Vercel
Vercel News
How do you build a site to support peak traffic, when peak traffic means a fanbase of over 100 million Youtube subscribers? In this guest post, Julian Benegas, Head of Development at basement.studio, walks us through balancing performance, entertainment, and keeping "the buying flow" as the star of the show for MrBeast's new storefront. Read more
2年前
記事のアイキャッチ画像
Introducing Commenting on Preview Deployments
Vercel News
Vercel aims to encourage innovation through collaboration. We've enabled this from the start by making it easy to see your code staged on live environments with Preview Deployments. Today, we’re taking a step toward making Preview Deployments collaborative with new commenting capabilities now in Public Beta. By bringing everyone into the development process with comments on Previews and reviewing your UI on live, production-grade infrastructure, you deliver expert work faster.even moreRead more
2年前
記事のアイキャッチ画像
Next.js Layouts RFC in 5 minutes
Vercel News
The Next.js team at Vercel released the a few months ago outlining the vision for the future of routing, layouts, and data fetching in the framework. The RFC is detailed and covers both basic and advanced features.Layouts RFCThis post will cover the most important features of the upcoming Next.js changes landing in the next major version that you should be aware of.Read more
2年前
記事のアイキャッチ画像
Using the latest Next.js 12.3 features on Vercel
Vercel News
+When we created Next.js in , we set out to make it easier for developers to create fast and scalable web applications, and over the years, Next.js has become one of the most popular React frameworks. We’re excited to release which includes Fast Refresh for files, improvements to the Image Component, and updates to upcoming routing features.2016Next.js 12.3.envWhile these Next.js features work out of the box when self-hosting, Vercel natively supports and extends them, allowing teams to improve their workflow and iterate faster while building and sharing software with the world.Let’s take a look at how these new Next.js features are enhanced on Vercel.Read more
2年前
記事のアイキャッチ画像
Building a viral application to visualize train routes
Vercel News
When inspiration struck to visualize train routes across Europe, he created a Next.js application on Vercel in the moment of inspiration. To his surprise, his project ended up generating over a million views, reaching the top of Hacker News and going viral on Twitter.Benjamin TdRead more
2年前
記事のアイキャッチ画像
How to run A/B tests with Next.js and Vercel
Vercel News
+Running A/B tests is hard.We all know how important it is for our business–it helps us understand how users are interacting with our products in the real world.However, a lot of the A/B testing solutions are done on the client side, which introduces as variants are dynamically injected after the initial page load. This negatively impacts your websites performance and creates a subpar user experience.layout shiftTo get the best of both worlds, we built : code that runs serving requests from the edge cache. This enables developers to perform rewrites at the edge to show different variants of the same page to different users. Edge MiddlewarebeforeToday, we'll take a look at a real-world example of how we used Edge Middleware to A/B test our new Templates page.Read more
2年前
記事のアイキャッチ画像
Introducing the Vercel Templates Marketplace
Vercel News
We are excited to announce the launch of the Vercel .Templates MarketplaceRead more
2年前
記事のアイキャッチ画像
+At Next.js Conf 2022, learn to build better and scale faster
Vercel News
We’re excited to announce the third annual Next.js Conf on October 25, 2022. .Claim your ticket nowRead more
2年前
+
記事のアイキャッチ画像
Introducing support for WebAssembly at the Edge
Vercel News
We've been working to make it easier for every developer to build at the Edge, without complicated setup or changes to their workflow. Now, with support for WebAssembly in Vercel Edge Functions, we've made it possible to compile and run Vercel Edge Functions with languages like Rust, Go, C, and more. Read more
2年前
記事のアイキャッチ画像
How we made the Vercel Dashboard twice as fast
Vercel News
+We want to keep the Vercel Dashboard fast for every customer, especially as we add and improve features. Aiming to lift our , our Engineering Team took the Lighthouse score for our Dashboard from 51 to 94.Core Web VitalsWe were able to confirm that our improvements had a real impact on our users over time using , noting that our Vercel Analytics scores went from 90 to 95 on average (desktop). Let’s review the techniques and strategies we used so you can make a data-driven impact on your application. Vercel AnalyticsRead more
2年前
記事のアイキャッチ画像
Improving INP with React 18 and Suspense
Vercel News
Updated January 18, 2024. measures your site’s responsiveness to user interactions on the page. The faster your page responds to user input, the better.Interaction to Next Paint (INP)On March 12, 2024, INP will as the third .officially replace First Input Delay (FID)Core Web VitalThis post will help you understand why INP is a better way to measure responsiveness than FID and how React and Next.js can improve INP. You'll be prepared for updates to Core Web Vitals, which impact , as INP moves from experimental to stable. We have a separate search rankingspost on understanding the metric and further optimization of INP.Read more
2年前
記事のアイキャッチ画像
Hashnode runs the fastest blogs on the web with Vercel
Vercel News
, a blogging platform for the developer community built using Next.js, was born from the fundamental idea that developers should own the content they publish. A key component of that ownership is publishing articles on a custom domain—a feature the Hashnode team spent hours monitoring and maintaining themselves. That’s when they turned to Vercel. HashnodeRead more
3年前
記事のアイキャッチ画像
Build your own web framework
Vercel News
Have you ever wondered what it takes to build your own web framework that also deploys to edge and serverless infrastructure? What features does a modern framework need to support, and how can we ensure that these features allow us to build a scalable, performant web application?Read more
3年前
Announcing the Build Output API
Vercel News
We believe the Web is an open platform for everyone, and strive to make Vercel accessible and available no matter how you choose to build for the Web.Today we’re introducing the , a file-system-based specification that allows framework to build for Vercel and take advantage of Vercel’s infrastructure building blocks like Edge Functions, Edge Middleware, Incremental Static Regeneration (ISR), Image Optimization, and more.Build Output APIanyRead more
3年前
記事のアイキャッチ画像
Vercel Edge Middleware: Dynamic at the speed of static
Vercel News
Since we announced Middleware last October, we’ve seen 80% month-over-month growth and over 30 billion requests routed through Edge Middleware on Vercel during public beta. Customers like Vox Media, Hackernoon, Datastax, and HashiCorp are using Edge Middleware to have complete control over routing requests in their Next.js applications.With the release of , Vercel Edge Middleware for Next.js is now generally available (GA) for all customers. Edge Middleware is also available for frameworks—now available in public beta along with a suite of other edge-first tools.Next.js 12.2allRead more +
3年前
記事のアイキャッチ画像
Introducing the Edge Runtime
Vercel News
Vercel’s mission is to enable developers to build dynamic, global applications.To enable every framework to build for the edge, we’re releasing edge-runtime: a toolkit for developing, testing, and defining the runtime web APIs for edge infrastructure.Read more
3年前
記事のアイキャッチ画像
MongoDB and Vercel: from idea to global fullstack app in seconds
Vercel News
Last week, I had the pleasure of joining Sahir Azam, MongoDB’s Chief Product Officer, on stage at MongoDB World in New York City. We announced —and shared our vision for enabling developers to create at the moment of inspiration. the Vercel and MongoDB integrationRead more
3年前
記事のアイキャッチ画像
How HashiCorp developers iterate faster with Incremental Static Regeneration
Vercel News
Incremental Static Regeneration (ISR) dramatically reduces build times, allowing developers to deliver faster changes and better site performance. With Next.js 12.1, we’ve now introduced , our most requested feature by developers shipping large-scale projects.on-demand ISRRead more
3年前
記事のアイキャッチ画像
Upgrading Next.js for instant performance improvements
Vercel News
Since the release of Next.js, we’ve worked to introduce new features and tools that drastically improve application performance, as well as overall developer experience. Let’s take a look at what a difference upgrading to the latest version of Next.js can make.Read more
3年前
記事のアイキャッチ画像
Parachute improves site page load times by 60% in one month
Vercel News
is a modern lifestyle brand that offers thoughtfully designed products using premium quality materials. The engineering team initially deployed the Parachute site to Shopify because of its quick templates and SEO benefits. But after seven and a half years of rapid growth, they realized they’d outgrown the out-of-the-box offering and needed a solution that gave them more customization and flexibility—without slowing down their site or sacrificing SEO.ParachuteRead more
3年前
記事のアイキャッチ画像
Monorepos are changing how teams build software
Vercel News
The largest software companies in the world use monorepos. But historically, adopting a monorepo for anything other than at a Facebook or Google scale was difficult, time-consuming, and often filled with headaches.Since Turborepo , we’ve seen development teams of all sizes adopt Turborepo for and save over 200 days worth of time by remotely caching their deployments on Vercel.joined Vercelfaster buildsRead more
3年前
記事のアイキャッチ画像
The evolution of the Web: What we learned and where we’re going
Vercel News
From open source to a more powerful edge, see our predictions for the future of frontend development—featuring experts in React, Next.js, Svelte, and more. Read more
3年前
記事のアイキャッチ画像
The future of Svelte, an interview with Rich Harris
Vercel News
Svelte has been voted the with the .most loved Web frameworkmost satisfied developersIn this 45-minute interview with , hear , the creator of Svelte, talk about his plans for the future of the framework. Other topics include funding open source, SvelteKit 1.0, the Edge-first future, and more.Lee RobinsonRich HarrisRead more
3年前
記事のアイキャッチ画像 +
Supporting the Future of React
Vercel News
React is one of the most popular ways to build user interfaces. Many of the world's largest enterprises and newest startups are building their online presence with it, pushing demand for React developers, improvements to React, and learning resources to an all-time high.Read more
3年前
記事のアイキャッチ画像
+Vercel acquires Turborepo to accelerate build speed and improve developer experience
Vercel News
We're thrilled to announce our acquisition of to join us on our mission to make the Web. Faster. TurborepoRead more
3年前
記事のアイキャッチ画像
Announcing $150M to build the end-to-end platform for the modern Web
Vercel News
+Our mission is to make the Web. Faster.We're excited to announce $150 million in Series D funding at a valuation of over $2.5 billion. We'll use this funding to accelerate how we:Read more
3年前
記事のアイキャッチ画像
Vercel welcomes Rich Harris, creator of Svelte
Vercel News
Today, we're excited to share , the creator of Svelte, has joined Vercel to help us in our mission to make the Web. Faster.Rich HarrisRead more
3年前
記事のアイキャッチ画像
At Next.js Conf 2021, let’s make the Web. Faster.
Vercel News
The next Web is faster, more collaborative, more personalized, and built by . We’re throwing a party for Next.js as it turns 5—have you claimed your ticket?youRegister now at . nextjs.org/confRead more
3年前
記事のアイキャッチ画像
Welcoming Kathy Korevec to Vercel, our new Head of Product
Vercel News
Today, we’re excited to announce will be joining our leadership team at Vercel as Head of Product!Kathy KorevecRead more
4年前
記事のアイキャッチ画像
Supercharge your Vercel Projects with Integrations
Vercel News
Today, we’re announcing our upgraded . We collaborated with partners to streamline installation and reduce as much configuration as possible, and gathered feedback from customers to increase visibility and confidence at every step of your development journey.Integration MarketplaceRead more
4年前
記事のアイキャッチ画像
+$102M to Continue Building the Next Web, Together
Vercel News
Today, we’re happy to announce our Series C funding. This is a major milestone for our company, customers, and community in our mission to build a faster web, together.Read more
4年前
記事のアイキャッチ画像
Next.js 11, Next.js Live and more: A recap of Next.js Conf Special Edition
Vercel News
+Last week, over 65,000 members of the Next.js community tuned in to watch a special edition of where we shared our progress toward building a faster web.Next.js ConfMissed it? Here's what you need to know.Read more
4年前
記事のアイキャッチ画像
How Core Web Vitals Will Impact Google Rankings in 2021
Vercel News
+Beginning this June, Google will add to its ranking signal. Google last year that changes were coming to the way its algorithm ranks pages that went beyond how quickly pages were loaded, safe-browsing, HTTPS, and their mobile-friendliness. Core Web VitalsPage ExperienceannouncedCore Web Vitals evaluate speed, responsiveness, and visual stability of pages and prioritize the site in rankings based on the outcomes of these scores. This means your site performance has a direct impact on SEO and your business.Read more
4年前
記事のアイキャッチ画像
Nuxt Analytics on Vercel
Vercel News
Since the last Next.js Conf, we have expanded Vercel analytics offerings to include and . Today, we expand that offering to include , providing developers with their through data from actual visitors.Next.jsGatsbyReal Experience ScoreNuxt analyticsRead more
4年前
記事のアイキャッチ画像
Visualize Team Usage With Sophisticated Usage Dashboard
Vercel News
+Today, we are announcing an improvement to how usage metrics are delivered to developers and teams on Pro and Enterprise plans. Read more
4年前
記事のアイキャッチ画像
Vercel & Next.js Experts Help Teams Build the Next Big Thing
Vercel News
+In the past year, we have enabled enterprise companies like Airbnb, Harry Rosen, and Coravin to develop better websites that deliver tremendous business impact. We didn’t do this alone. Vercel's partners helped to make these mission-critical transformations a reality. Read more
4年前
記事のアイキャッチ画像
Transfer Vercel projects with zero downtime
Vercel News
+There is a new way to from Hobby accounts to Team plans or between two different Teams with zero downtime. This means transfer projects on VercelTeams no longer need to redeploy projects that were deployed under a Hobby plan or a different Team. Read more
4年前
記事のアイキャッチ画像
10 Next.js tips you might not know
Vercel News
Here are 10 little known Next.js tips you might not have heard that could help you save time on your next project: Read more
4年前
記事のアイキャッチ画像
React Server Components with Next.js
Vercel News
+React Server Components allow developers to build applications that span the server and client, combining the rich interactivity of client-side apps with the improved performance of traditional server rendering.In the upcoming Next.js major release, React developers will be able to use Server Components inside the directory as part of the changes outlined by the . This post will explore how Server Components will enable developers to create faster React applications.appLayouts RFCRead more
4年前
記事のアイキャッチ画像
Three Improvements to Project Creation & Git Integration
Vercel News
Projects are core to everything on your Vercel account. We’ve recently improved the developer experience by introducing three updates for projects. These apply to all users on Hobby, Pro, and Enterprise plans.By improving how projects are created and connected to Git in Vercel, we expect a decrease in the time between project creation and deployment for all users and a reduction in complexity for some larger Vercel customers.Read more
4年前
記事のアイキャッチ画像
$40M to Build the Next Web
Vercel News
Today, we announce $40M in new funding to help build the next web.everyoneWhen responding to investors, we told them the stories of our customers, from independent developers to Fortune 10 companies, and the lessons we learned this year about how and Vercel help teams collaborate and move faster with greater flexibility.Next.jsRead more
4年前
記事のアイキャッチ画像
Vercel Analytics for Gatsby
Vercel News
At Next.js Conf, we announced , providing developers with their Real Experience Score through data from actual visitors. Today we're expanding Vercel's analytics offerings to include Gatsby.Next.js AnalyticsRead more
4年前
記事のアイキャッチ画像
September 2020
Vercel News
Read more
4年前
記事のアイキャッチ画像
Monorepos
Vercel News
Vercel now supports monorepos for improved flexibility at scale. From the same Git repository, you can set up multiple projects to be built and deployed in parallel.Monorepos let your team use multiple programming languages and frameworks, collaborate better, and leverage microfrontend architectures.Learn more about how monoreops are changing how teams build software.Read more
4年前 +
記事のアイキャッチ画像
August 2020
Vercel News
Read more
5年前
記事のアイキャッチ画像
Our new Edge and Dev infrastructure
+Vercel News
Vercel to help frontend teams succeed at scale. From the ideal developer experience on localhost, to the .was bornbest performance for your end-user via our Global Edge NetworkToday we are introducing major end-to-end enhancements, starting with a (with Next.js and Vercel CLI) and finishing with .realtime developer workflowserving pages up to 6x fasterRead more
5年前
記事のアイキャッチ画像
Custom production branch
Vercel News
+Up until now, after from a Git repository or one of our examples, all commits to its were being deployed to Production.creating a new Projectdefault branchToday we are introducing a new default for newly created Projects, as well as an easy way to customize it from your Project Settings.Read more
5年前
記事のアイキャッチ画像
Next.js: Server-side Rendering vs. Static Generation
Vercel News
+is a React framework that supports Instead of having the browser render everything from scratch, Next.js can serve pre-rendered HTML in two different ways.Next.jspre-rendering.Read more
5年前
記事のアイキャッチ画像
July 2020
Vercel News
Read more
5年前
記事のアイキャッチ画像
DNS Records UI
Vercel News
Applying custom (for receiving emails, for example) has so far always required interacting with our advanced .DNS Records to your Domainscommand-line interfaceFrom today, you'll be able to manage them and even insert presets for commonly used DNS Records.directly from the Web UIRead more
5年前
記事のアイキャッチ画像
June 2020
Vercel News
Read more
5年前
記事のアイキャッチ画像
Protecting Deployments
Vercel News
+Pushing a change to your project results in a Preview Deployment. Then, once you're ready, merging it into results in a Production Deployment with the domain of your choice.masterEven though Preview Deployments receive a unique URL, they might still be accessed by anyone that finds out about the URL. Today, we're introducing two features for easily protecting them right from the Dashboard.Read more
5年前
記事のアイキャッチ画像
May 2020
Vercel News
Read more
5年前
記事のアイキャッチ画像
ZEIT is now Vercel
Vercel News
Read more
5年前
記事のアイキャッチ画像
Environment Variables UI
Vercel News
If you are working on a sophisticated project, you might have found yourself wanting to configure different Environment Variables depending on the Environment your project is deployed to.With today's release, we're making it possible to configure different for , , and – right in the Dashboard.Environment VariablesProductionPreviewDevelopmentRead more
5年前
記事のアイキャッチ画像
Simpler Pricing
Vercel News
+Since the launch of our platform, we have always aimed to make our pricing model as simple as possible, and perfectly tailored to your needs.Today, we are taking a giant leap towards that goal by introducing our for your and .new pricing planspersonal accountteamsRead more
5年前
記事のアイキャッチ画像
April 2020
Vercel News
Read more
5年前
記事のアイキャッチ画像
We're All in This Together
Vercel News
+, we're lucky to be minimally affected by recent events. Outside of our regular work, we're doing our best to support one another and our families — hosting virtual game nights, zoom hangouts, group meditation, and regular check-ins.As a remote-first companyWe also recognize that we have an opportunity — no, an obligation — to help our communities in any way we can. So today, we want to step aside from our typical product-focused content and highlight some recent projects from developers in our and community.Next.jsVercelOur community has built COVID-19 related sites generating over in the past — providing critical information and awareness, helping prevent further outbreaks, and giving us tools for keeping each other safe. This blog post is dedicated to these inspiring efforts.2,500+150 million requests72 hoursRead more
5年前
記事のアイキャッチ画像
Canceling Ongoing Deployments
Vercel News
Sometimes you might find yourself having created a deployment that you don't need anymore, or that is causing other deployments to get queued behind it.Previously, it was necessary to wait for such deployments to complete, and then delete them. As of today, however, you can immediately if they are no longer required.cancel deploymentsRead more
5年前
記事のアイキャッチ画像
New Git Integration Settings
Vercel News
Creating a new project on Vercel is as simple as importing a Git repository from your favorite provider, whether that's , , or .GitHubGitLabBitbucketOnce a project has been imported, the Git Integration connection can be edited in the blink of an eye. Today, we're making this process easier to understand and more reliable than before.Read more
5年前
記事のアイキャッチ画像
Refined Logging
Vercel News
With the launch of , we made it easy to pipe the invocation logs of your Serverless Functions or Static Files to a log inspection tool like or .Log DrainsLogDNADatadogHanding off this piece of your production workflow to a service dedicated to this purpose allowed us to tighten our focus around what we do best: Plug-and-play realtime logs.Read more
5年前
記事のアイキャッチ画像
March 2020
Vercel News
Read more
5年前
記事のアイキャッチ画像
Advanced Project Settings
Vercel News
+With the launch of , we made setting up your projects as easy as , and having every push and pull request deployed with Vercel. No configuration.Zero Config Deploymentsimporting a Git repositoryToday, we're extending this process to non-JavaScript projects (like sites) and giving you full control over your project's automatically configured settings.HugoRead more
5年前
記事のアイキャッチ画像
Get support from the dashboard
Vercel News
+Getting in touch with Vercel Support has always been straightforward. However, we wanted to make this even easier, providing and reducing the impact on your workflow. We are delighted to say that from today this is now possible, with the new direct access to Vercel Support from your dashboardSupport Form.Read more
5年前
記事のアイキャッチ画像
February 2020
Vercel News
Read more
5年前
記事のアイキャッチ画像
Log Drains
Vercel News
Inspecting logs for the , , and traffic of a deployment can be crucial to pinpointing aspects of its behavior and understanding better where improvements can be made.Build StepRuntimeEdge NetworkToday, we are thrilled to announce support for Log Drains: collect all of your logs using a service that specializes in storing app logs.Read more
5年前
記事のアイキャッチ画像
January 2020
Vercel News
Read more
5年前
記事のアイキャッチ画像
backendlessConf_ 2019
Vercel News
+2019 has been an incredible year for Vercel. We announced , launched a new , and even hosted a successful .zero-configintegrations platformhackathonTo end the year on a memorable note, we held our .first-ever remote conference:backendlessConf_Read more
5年前
記事のアイキャッチ画像
Branch Domains
Vercel News
+After editing your project, previewing your changes with Vercel is only a matter of pushing a Git commit using our , or by running a single command using our .Git Integrationcommand-line interfaceEvery Deployment created in either way receives a unique URL, yet you still might want to apply a . Today, we are making this possible with Custom Domain for your Preview DeploymentsBranch Domains.Read more
5年前
記事のアイキャッチ画像
December 2019
Vercel News
Read more
5年前
記事のアイキャッチ画像
Vercel for Bitbucket
Vercel News
is popular among teams as the central place to plan projects, collaborate on code, test, and deploy — especially in combination with Jira and Trello.Bitbucket.Today, we are proud to announce our first-class Bitbucket integration, Vercel for BitbucketRead more
5年前
記事のアイキャッチ画像
Dashboard redesign
Vercel News
With the launch of , Vercel made it easier than ever to deploy websites and applications. Now, we're bringing the simplicity of our developer experience to our web dashboard.Zero Config DeploymentsCreating new projects, importing existing code, managing domains, setting up redirects, inspecting deployments and functions, and managing teams has never been easier.We are unveiling the next evolution of the. Vercel DashboardRead more
5年前
Introducing the Deploy Button
Vercel News
As the author of an open source project or framework, one of your key focuses is making it as easy as possible for users to get started with your creation.With the help of today's feature release, you can now reduce this entire process down to the click of a single button: The Vercel Deploy Button.Read more
5年前
記事のアイキャッチ画像
Inspecting Serverless Functions
Vercel News
After deploying a static frontend to Vercel, some projects might make use of Serverless Functions to feed data from.Creating Serverless Functions is as simple as adding an in your project, and today inspecting them became just as comfortable with the new "Functions" tab from your Deployment Overview.API directoryRead more
5年前
記事のアイキャッチ画像
Customizing Serverless Functions
Vercel News
When extending your project with Serverless Functions, you might find yourself in a situation where adjusting the default behavior is necessary.Today, we are adding a new configuration property to allow you to do just this.functionsRead more
5年前
記事のアイキャッチ画像
November 2019
Vercel News
Read more
5年前
記事のアイキャッチ画像
Default Production Domain
Vercel News
When creating a new project, it's important that the road to sharing a working production URL of your newly deployed code is as short as possible, with the least amount of friction.With today's announcement, we're ensuring exactly that.Read more
5年前
記事のアイキャッチ画像
Redirecting Domains
Vercel News
If you own multiple domains and would like to forward them to a single one, or redirect a subdomain like to your apex domain, you previously had to create multiple deployments and set up for each of them.wwwRoutesNow, you can accomplish the same, right from your dashboard.Read more
5年前
記事のアイキャッチ画像
Advanced Invoice Settings
Vercel News
If you are a business working with , you've probably found yourself in a situation where the you've received from us are required by your accounting department.Vercelinvoicesmissing informationToday, we are changing this by providing you with ways to configure those missing fields.Read more
5年前
記事のアイキャッチ画像
October 2019
Vercel News
Read more
+5年前
記事のアイキャッチ画像
Introducing Wildcard Domains
Vercel News
With , you can already deploy to HTTPS-enabled subdomains of your choice.VercelWhat if you could let customers choose those subdomains (like with )? Today, we're making this possible with the introduction of !Slack workspacesWildcard DomainsRead more
5年前
Deploy Summary Integration
Vercel News
Today, we're introducing , a Vercel integration to augment your workflow with our and integrations even further.Deploy SummaryGitHubGitLab analyzes your pull requests and merge requests, detects changed pages, and provides a detailed preview right next to your commits:Deploy SummaryRead more
5年前
記事のアイキャッチ画像
+Zero Config Deployments
Vercel News
Few weeks ago, we introduced Vercel as the most powerful and scalable platform for and powered by or static websitesserverless functionsany languageframework.This came at the expense of writing files. Today, we are introducing , a conventional and completely backwards-compatible approach to deployment.vercel.jsonZero ConfigRead more
6年前
記事のアイキャッチ画像
Introducing Deploy Hooks
Vercel News
Thanks to our first-class and Integrations, you can simply push your code to deploy with . But what if you wanted to create a deployment not based on change of source code, but another external event, such as an update in CMS content?GitHubGitLabVercelStarting today, you can deploy based on any event with Deploy Hooks.Read more
6年前
記事のアイキャッチ画像
Node.js 10 is Now Available
Vercel News
+With the , features like , a , and several performance improvements have found their way into production.release of Node.js 10BigIntstable API for native addonsToday, we are for new and deployed using .enabling Node.js 10 supportserverless Node.js functionsNext.js applicationsVercelRead more
6年前
記事のアイキャッチ画像
Helpers for Serverless Node.js Functions
Vercel News
+Migrating to serverless Node.js functions or creating new ones can mean that some of the tools and frameworks you used previously are not suitable anymore.With today's feature release, we want to solve this problem by providing you with a set of default .helpers exposed within your Node.js functionRead more
6年前
記事のアイキャッチ画像
Vercel Hackathon Winners
Vercel News
+We kicked off June with the , focused on creating .first-ever Vercel HackathonintegrationsThe event was a phenomenal success. joined us from every corner of the world to submit high quality integrations that improve their workflow. After much deliberation, our judges finally have the results, and we are .Over 250 participantsthrilled to announce the winnersRead more
6年前
記事のアイキャッチ画像
Windows Support for `vercel dev`
Vercel News
+With the of , we provided developers with the first single-command development environment that can handle multiple services at once.releasevercel devIn order to open up this opportunity to an even wider range of users, we are very pleased to announce that .vercel dev supports WindowsRead more
6年前
記事のアイキャッチ画像
Introducing Serverless Pre-Rendering (SPR)
Vercel News
+Static websites are . When you deploy static frontends to Vercel, we automatically serve them from every edge of our global network.fastSmart CDNBut static websites are also... . Static site generators create all your pages during the build process — all of them, all at once. Ever had to quickly fix a typo in a page, only to wait minutes or hours for your change to go live?staticToday, we are introducing , an industry-defining feature of our Smart CDN network that allows you to get the best of both worlds: the speed and reliability of , and the versatility of data rendering.Serverless Pre-RenderingstaticdynamicRead more
6年前
記事のアイキャッチ画像
Introducing `vercel dev`: Serverless, on localhost
Vercel News
Vercel was born out of the idea that deploying a website could be much simpler. You only have to run a single command: – that is all.vercelWith our and integrations, we enabled deploying on every , and teams to manage staging and production by simply merging pull requests.GitHubGitLabgit pushRead more
6年前
記事のアイキャッチ画像
Automatic SSL with Vercel and Let's Encrypt +
Vercel News
Our Vercel platform enables you to deploy modern websites and applications any complicated server configuration. Not only do we automatically configure DNS records for your domain, we also instantly issue and renew free wildcard SSL certificates, completely hands-free.without needingHistorically, companies have spent thousands to get their websites HTTPS-enabled. Not to mention the whole process of issuance, download, re-upload, reconfigure, restart server with downtime — it's always enormously stressful and requires significant engineering resources.Read more
6年前
記事のアイキャッチ画像
Auto Job Cancellation for Vercel for GitHub
Vercel News
When you connect your GitHub organization to Vercel, with , we build and deploy your app for each every Git push. We call such an event a .Vercel for GitHubjobFor a given branch, we process each job in a queue. If multiple jobs are waiting, we pick the latest one to build. Vercel for GitHub will always give you the deployment URL for the most recent commit.Read more
6年前
記事のアイキャッチ画像
Next.js 6.1
Vercel News
We are proud today to introduce the production-ready , featuring:Next.js 6.1Read more
7年前
記事のアイキャッチ画像
Next.js 6 and Nextjs.org
Vercel News
+This year, the Keynote started by highlighting our Open Source projects including showing the metrics of Next.js. With over 25000 stars on and over 10000 websites are already powered by it, we're incredibly amazed at its growth and love seeing the increasing amount of projects depending on it.ZEIT DayGitHubRead more
7年前
記事のアイキャッチ画像
Next.js 5.1: Faster Page Resolution
Vercel News
+We are happy to introduce Next.js 5.1, which features support for environment configuration, phases, source maps, and new Next.js plugins.Major performance improvements are introduced: resolving pages is faster, and error pages are loaded more efficiently.102xRead more
7年前
記事のアイキャッチ画像
Next.js 5: Universal Webpack, CSS Imports, Plugins and Zones
Vercel News
We are very happy to introduce Next.js 5.0 to the world. It’s available on npm effective immediately.Read more
7年前 +
記事のアイキャッチ画像
Towards Next.js 5: Introducing Canary Updates
Vercel News
On the heels of the announcements of canary releases for , , and , we are glad to announce the immediate availability of a canary channel for Next.js.HyperNow CLINow DesktopIn addition, we are excited to share some of the goals we are currently working on towards the release of Next.js 5!Read more
7年前
記事のアイキャッチ画像
Next.js 4: React 16 and styled-jsx 2
Vercel News
We are happy to introduce , which features support for React 16 and introduces a major upgrade for the default styling engine styled-jsx with support for .Next.js 4dynamic stylesRead more
7年前
記事のアイキャッチ画像
Next.js 3.0
Vercel News
We are very excited excited to announce the stable release of Next.js 3.0. Ever since our , we have been using it to power and have received lots of feedback and contributions from our .beta announcementvercel.comcommunityLet’s walk through what’s been improved and what’s altogether new, or fetch the latest version from !npm Next.js is a zero-configuration, single-command toolchain for React apps, with built-in server-rendering, code-splitting and more. Check out to get started!New to Next.js?Learn Next.jsRead more
7年前
記事のアイキャッチ画像
+Next 3.0 Preview: Static Exports and Dynamic Imports
Vercel News
On the heels of our announcement of free static deployments earlier today, we are excited to introduce a beta release of the upcoming 3.0, featuring , dynamic components and various bugfixes.Next.jsnext exportRead more
8年前
記事のアイキャッチ画像
Next.js 2.0
Vercel News
+More than read our of . More than have submitted patches, examples or improved our documentation. Over have starred us on .3.1 million developers110 contributors10,000 developersannouncement postNext.jsGitHubToday, we are proud to introduce to the world. What follows is a quick summary of every new feature and improvement we have made.Next 2.0Read more
8年前
記事のアイキャッチ画像
Next.js
Vercel News
+We're very proud to open-source , a small framework for server-rendered universal JavaScript webapps, built on top of React, Webpack and Babel, which powers this very site!Next.jsRead more
8年前
\ No newline at end of file diff --git a/blogs/80e6c60227906b8b38eb814eb98fd246/index.html b/blogs/80e6c60227906b8b38eb814eb98fd246/index.html new file mode 100644 index 000000000000..3bbcba55a78e --- /dev/null +++ b/blogs/80e6c60227906b8b38eb814eb98fd246/index.html @@ -0,0 +1,20 @@ +zackoverflowのフィード|JSer.info Watch List RSS

zackoverflow

https://zackoverflow.dev/

Crafting elegant abstractions

フィード

記事のアイキャッチ画像
Flappy Bird Implemented in Typescript types
zackoverflow
The ultimate type-level trickery
1年前
記事のアイキャッチ画像
How to Actually Write C
zackoverflow
How to actually write non-trivial programs in C
1年前 +
記事のアイキャッチ画像
Write your own Zod
zackoverflow
Write your own Zod from scratch
1年前
記事のアイキャッチ画像
+When Zig is safer and faster than Rust
zackoverflow
There are endless debates online about Rust vs. Zig, this post explores a side of the argument I don't think is mentioned enough.
2年前
記事のアイキャッチ画像
Hacking Go to give it sum types
zackoverflow
I want sum types, so let's eschew all idiomatic Go code and best practices to hack the language and add them
2年前
記事のアイキャッチ画像
ffmpeg.guide
zackoverflow
An IDE/GUI for ffmpeg commands
2年前
記事のアイキャッチ画像
Reading Notes — The Dragon Book
zackoverflow
Slaying the dragon
3年前
記事のアイキャッチ画像
Functional Programming's Influence on Mainstream Programming
zackoverflow
Just how much of mainstream programming has been influenced by FP?
3年前
記事のアイキャッチ画像
Premature Abstraction is the Root of All Evil
zackoverflow
Rambling about abstractions
3年前
記事のアイキャッチ画像
Reading Notes — Types and Programming Languages
zackoverflow
A surprisingly fun read on type systems and programming languages
3年前
記事のアイキャッチ画像
tyty
zackoverflow
TLDR; I'm making a Typescript type-checker in Rust. Right now it supports a smaller subset of the type-system and exists as a fun side-project, but the end goal is a compilation tool we can use to make Typescript compilation go brrrr...
3年前
Taking a break from SICP
zackoverflow
3年前
記事のアイキャッチ画像
Go Generics and Static Dispatch
zackoverflow
+Interfaces rely on slow dynamic-dispatch, but generics could open the door to performance boosts with the ability to leverage the cache-friendliness of static dispatch
3年前
記事のアイキャッチ画像
Modularity, Objects, and State
zackoverflow
Notes/musings on the third chapter, currently in-progress
3年前
記事のアイキャッチ画像
Building Abstractions with Data
zackoverflow
Notes on the second chapter
3年前
記事のアイキャッチ画像
Implementing syntax highlighting
zackoverflow
Using Tree-sitter to add syntax highlighting to my personal code editor, Glyph.
3年前
記事のアイキャッチ画像
WASM — The possibilities of "Bring your own language"
zackoverflow
Exploring the ways WASM can replace domain-specific languages
3年前
記事のアイキャッチ画像
Building Abstractions with Procedures
zackoverflow
Notes on the first chapter
3年前
記事のアイキャッチ画像
The problem with Typescript
zackoverflow
Typescript is an amazing project, but a perplexing open-source blackbox
3年前
記事のアイキャッチ画像
Glyph
zackoverflow
My own personal text editor built with Rust + OpenGL
3年前
\ No newline at end of file diff --git a/blogs/81ea9ec097ae0edec1073d8857a092f7/index.html b/blogs/81ea9ec097ae0edec1073d8857a092f7/index.html new file mode 100644 index 000000000000..7ccececa537d --- /dev/null +++ b/blogs/81ea9ec097ae0edec1073d8857a092f7/index.html @@ -0,0 +1,24 @@ +Scott Logicのフィード|JSer.info Watch List RSS

Scott Logic

https://blog.scottlogic.com

This blog shares Scott Logic's thoughts and ideas, covering topics across Tech, UX Design, Testing and Delivery.

フィード

+記事のアイキャッチ画像
How Business Operations and Software Testing Overlap
Scott Logic
This blog explores the overlap between life in Business Operations and Software Testing. It examines the distinct skillsets required for each discipline and how they are applied in the world of business.
+
11日前
記事のアイキャッチ画像
Beyond the Hype: Technology Strategies – Essential roadmaps or just hype? +
Scott Logic
In this episode, I’m joined by Technology Lead Andrew Carr and CTO Colin Eberhardt to delve into the evolving nature of technology strategies within organisations.
12日前
記事のアイキャッチ画像
The UK’s AI Opportunities Action Plan – somewhat quiet on risks
Scott Logic
+Last week the UK government launched their 50-point AI Opportunities Action Plan. The plan is ambitious, but it is something of a mixed bag. Some sizeable and worthwhile investments, alongside others which are quite questionable. But what I am more concerned with is what is missing. The plan has optimistic, upbeat and pro-innovation, but is rather silent on the risks.
17日前
記事のアイキャッチ画像
Algebraic Data Types and Pattern Matching with Java
Scott Logic
In this post we explore the power of Algebraic Data Types(ADT) with Pattern Matching in Java. We look at how they help us model complex business domains and how using them together gives improvements on the traditional Visitor Pattern.
19日前
記事のアイキャッチ画像
Developing vAirify for the ECMWF
Scott Logic
A short blog about my experience developing on the vAirify project.
25日前
記事のアイキャッチ画像
Using JSpecify 1.0 to Tame Nulls in Java
Scott Logic
This post is designed for Java developers who want to adopt JSpecify for consistent nullability handling in their projects. By following the steps and examples, you should be able to set up and utilize the core JSpecify annotations effectively in your codebase.
2ヶ月前
記事のアイキャッチ画像
LLMs vs Advent of Code, AI is winning
Scott Logic
This blog post explores the capabilities of OpenAIs o1-mini through the Advent of Code challenge, finding that it is astonishingly capable. In a significant step-up from previous models, it answers most of the questions with ease.
2ヶ月前
記事のアイキャッチ画像
Our Approach to Software Development
Scott Logic
In the fourth of our series setting out how we work with our clients, we explore software development. We describe our underlying approach based on a set of guiding principles we've distilled from our collective experience.
2ヶ月前
記事のアイキャッチ画像
Building an Assignment Algorithm - Episode 3 / 3
Scott Logic
The final installment of the assignment algorithm series! This episode covers the last piece of the puzzle - slot sorting, as well as wrapping up all that has been discussed in the previous 2 episodes.
3ヶ月前
記事のアイキャッチ画像
What I learnt about software development from the RAF
Scott Logic
Twenty one years ago today I left home and joined the Royal Air Force. Today I'm a lead software developer at Scott Logic and my career is very different, but I often reflect on my time in the military and the parallels between it and software development. To mark the event I thought I'd share a few thoughts on the subject.
3ヶ月前
記事のアイキャッチ画像
Building an Assignment Algorithm - Episode 2 / 3
Scott Logic
Join us for the second installment of how we built an assignment algorithm. This blog will pick up from where we left off in part 1, exploring the measure of compromise over the course of multiple talk slots.
3ヶ月前
記事のアイキャッチ画像
Testing GenerativeAI Chatbot Models
Scott Logic
+In the fast-changing world of digital technology, GenAI systems have emerged as revolutionary tools for businesses and individuals. As these intelligent systems become a bigger part of our lives, it is important to understand their functionality and to ensure their effectiveness. In this blog post, we will discuss how we can make sure that our Gen AI-powered systems are not only working properly but are also efficient and easy to use.
3ヶ月前
記事のアイキャッチ画像
An Introduction into Karate Test Automation +
Scott Logic
In this blog I'll introduce the Karate Test Automation Framework and talk about some of the fun and interesting features it provides.
3ヶ月前
記事のアイキャッチ画像
Our Approach to Testing
Scott Logic
The principles that underpin our approach to testing at Scott Logic, and how this shapes the services we offer our clients.
3ヶ月前
記事のアイキャッチ画像
Building an Assignment Algorithm - Episode 1 / 3
Scott Logic
You're organising a conference and the delegates have voted for what talks they would like to attend. How do you give them the fairest choice possible with constraints on talk size? Join us for the first blog in a series of 3 which go into the nitty gritty of an algorithm that gave rapid results, 30% fairer than those done by hand!
3ヶ月前
記事のアイキャッチ画像
Our Approach to Delivery
Scott Logic
There is no one-size-fits-all approach to delivery. Here we describe the grounding principles and behaviours that enable us to deliver excellent results for our clients with a reassuringly human touch.
4ヶ月前
記事のアイキャッチ画像
Sustainability in Agile: How Scrum Roles Can Drive Greener Practices
Scott Logic
A look at how agile practices can be used to drive sustainable software development with a focus on how each role can contribute to lowering their product's carbon emissions.
4ヶ月前
記事のアイキャッチ画像
Into The Multi-cloud
Scott Logic
Cloud computing is a major part of modern day software development. Big cloud providers work hard to get your business and keep it but there is a school of thought which says we shouldn't put all our eggs in one cloud shaped basket. In this post I'll take a look at the concept of the multi-cloud and ask if it's something we should consider more often when designing software solutions.
4ヶ月前
記事のアイキャッチ画像
A round of applause: semantically releasing the clapper component
Scott Logic
Using semantic-release to publish an npm package with provenance, via a GitHub workflow... Almost too easy! A decidedly non-epic journey that began with accessibility improvements to our applause button.
4ヶ月前
記事のアイキャッチ画像
Our Approach to Architecture
Scott Logic
This is the first in a series of articles where we outline our approach to consultancy through the lens of principles we have honed through our experience delivering complex, mission-critical programmes. In this post, we define our approach to Architecture...
4ヶ月前
\ No newline at end of file diff --git a/blogs/8416cfec6c4fce1c4436ad7a4fa7c954/index.html b/blogs/8416cfec6c4fce1c4436ad7a4fa7c954/index.html new file mode 100644 index 000000000000..665da561eaf9 --- /dev/null +++ b/blogs/8416cfec6c4fce1c4436ad7a4fa7c954/index.html @@ -0,0 +1,99 @@ +Duy NGのフィード|JSer.info Watch List RSS

Duy NG

フィード

記事のアイキャッチ画像
[Note] The fastest way to rewrite Git history
Duy NG
+The fastest way to rewrite Git history#Ever pushed commits and then realized you messed up?Wrong Git user/email.Bad commit messages.Accidentally committed secrets (API keys, passwords).A huge file is bloating the repo....and more.Many developers try git rebase -i, but it’s slow, manual, and limited. A better way?Use git-filter-repo, it’s faster, more powerful, and works across the entire repo.Examples of Git problems and fixes#Fix author name/email in all commitsgit filter-repo --commit-callback ' commit.author_name = "Correct Name" commit.author_email = "correct@example.com"'Edit commit messages in bulkgit filter-repo --message-callback ' commit.message = commit.message.replace(b"fix typo", b"Fix: corrected typo")'Remove sensitive files from historygit filter-repo --path secret-file.env --invert-pathsDelete large files from old commitsgit filter-repo --strip-blobs-bigger-than 100MErase all commits from a specific authorgit filter-repo --commit-callback ' if commit.author_email == b"wr +
2日前
記事のアイキャッチ画像
[Note] You don't need husky
Duy NG
+You don’t need Husky#Do you use husky to manage Git commit hooks? Husky is a popular tool (50M+ downloads per month!), but did you know that Git already has built-in support for hooks?With Githooks, you don’t need to install extra dependencies. Git provides 28 different hooks that allow you to automate git hooks tasks.How to use?#Create a .git/hooks or .githooks directory (just like you’d configure .husky)Configure Git to use your hooks scriptsTell Git to use this folder for hooks by adding the following postinstall script in your package.json. This ensures that Git hooks are always active after running npm install (or yarn, pnpm, bun)."scripts": { "postinstall": "git config core.hooksPath ./.githooks || true"}Hook scriptsInside the .githooks folder, create scripts named according to the Git Hooks documentation (e.g., pre-commit, prepare-commit-msg).Example:# .githooks/pre-commit#!/bin/bashnpm run lint# .githooks/prepare-commit-msg#!/bin/bashnpx --no-install commitlint --edit "$1"# .gi +
3日前
記事のアイキャッチ画像
Scripting tools - A Node.js friendly alternative to makefile
Duy NG
+TL;DR#Using execa and commander is an alternative that can be considered for replacing makefile in a Node.js project.Introduction#At ekino, in some projects handled by our Node.js team, we heavily use Makefile to automate tasks such as testing,lints, Docker integration, code checking, deployment, Kubernetes management, load testing with K6, and all automating stuff.They have been our preferred tool for many years due to their simplicity, efficiency, and adaptability to various workflows.As our projects have grown, these files have become increasingly more complex and harder to maintain and understand, especially for team members who are not familiar with shell scripting.Because of these challenges, we've started looking into using JavaScript tools for automating tasks.Our goal is to simplify our processes, make them easier for everyone on the team to use, and see what advantages this new approach might bring.Challenges with makefile#While make has been a reliable tool, they have limita +
10日前
記事のアイキャッチ画像
[Note] Display colors in Makefile
Duy NG
+Display colors in Makefile#In a previous note, I shared how to create a help command in a Makefile.This time, let’s make it visually appealing by adding colors to the output.Here’s how to do it:# COLORSYELLOW = \033[33mGREEN = \033[32mWHITE = \033[37mRESET = \033[0mhelp: ##@helper Display all commands and descriptions@awk 'BEGIN {FS = ":.*##@"; printf "\n${WHITE}Usage:${RESET}\n make <target>\n"} \/^[.a-zA-Z_-]+:.*?##@/ { \split($$2, parts, " "); \section = parts[1]; \description = substr($$2, length(section) + 2); \sections[section] = sections[section] sprintf(" ${YELLOW}%-15s${RESET} ${GREEN}%s${RESET}\n", $$1, description); \} \END { \for (section in sections) { \printf "\n${WHITE}%s${RESET}\n", section; \printf "%s", sections[section]; \} \}' $(MAKEFILE_LIST)YELLOW, GREEN, WHITE, and RESET are ANSI escape codes for terminal colors.\033[33m sets the color to yellow, \033[32m to green, and \033[37m to white.\033[0m resets the color to the terminal default.It formats the output with c +
16日前
記事のアイキャッチ画像
[Note] Display all Makefile commands
Duy NG
+Display all Makefiles commands#Makefiles can be hard to navigate, especially as they grow. Adding a help command makes it easy to see all available targets and their purposes.The magic help target#Add this awk snippet to your Makefile:.DEFAULT_GOAL := help.PHONY: helphelp: ##@helper Display all commands and descriptions@awk 'BEGIN {FS = ":.*##@"; printf "\nUsage:\n make <target>\n"} \/^[.a-zA-Z_-]+:.*?##@/ { \split($$2, parts, " "); \section = parts[1]; \description = substr($$2, length(section) + 2); \sections[section] = sections[section] sprintf(" \033[36m%-15s\033[0m %s\n", $$1, description); \} \END { \for (section in sections) { \printf "\n\033[1m%s\033[0m\n", section; \printf "%s", sections[section]; \} \}' $(MAKEFILE_LIST)How it works#Use ##@ to group related targetsAnd place the description of each command after that groupExample Makefile#help: ##@helper Display all commands and their descriptions@awk 'BEGIN {FS = ":.*##@"; printf "\nUsage:\n make <target>\n"} \/^[.a-zA-Z_-]+:. +
17日前
記事のアイキャッチ画像
[Note] Supercharge Git with fzf
Duy NG
+Supercharge Git with fzf#Working with Git branches can be annoying, especially with long names or when cleaning up old ones. Try fzf, a tool that makes managing branches easy.Switch branches#Use fzf to select and switch branches interactively:git branch | fzf --preview 'git log -p main..{-1} --color=always {-1}' | cut -c 3- | xargs git switchDelete branches#Delete branch interactively with fzf:git branch | fzf -m --preview 'git log -p main..{-1} --color=always {-1}' | cut -c 3- | xargs git branch -dI setup them in my shell config to save time:alias gs="git switch"alias gsc="git witch -c"alias gsi="git branch | fzf --preview 'git log -p main..{-1} --color=always {-1}' | cut -c 3- | xargs git switch"alias gbd="git branch | fzf -m --preview 'git log -p main..{-1} --color=always {-1}' | cut -c 3- | xargs git branch -d"
18日前
記事のアイキャッチ画像
[Note] Better Git log
Duy NG
+Better Git log#The default git log output can be hard to read. Here’s how I make it more visual and informative using aliases.Add these aliases to the global .gitconfig:[alias] # Tree-like log with relative dates logs = log --graph --date=relative --pretty=tformat:'%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%an %ad)%Creset' # Limit to 20 commits log = logs -n 20Alternatively, set up aliases in your shell config:alias glog="git log --graph --date=relative --pretty=tformat:'%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%an %ad)%Creset' -n 20"alias glogs="git log --graph --date=relative --pretty=tformat:'%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%an %ad)%Creset'"Example output* c0eb700 - (HEAD -> master, origin/master, origin/HEAD) chore(fish): update alias (woula 26 minutes ago)* 960e14f - chore(nvim): update plugins, active flash, disable cappuchine (woula 16 hours ago)* bc1129d - feat(nvim): add disabled plugins list (woula 3 days ago)* 6e14bad - feat(nix): update config for homebr +
19日前
記事のアイキャッチ画像
[Note] Managing multiple Git accounts
Duy NG
+Managing multiple Git accounts#Working with multiple Git accounts (e.g., work, personal, open-source) can be tricky. Here’s how I manage them seamlessly using conditional includes in .gitconfig.Global .gitconfig setup#Add conditional includes to the global .gitconfig:[includeIf "gitdir:~/projects/company1/"] path = ~/projects/company1/.gitconfig[includeIf "gitdir:~/projects/company2/"] path = ~/projects/company2/.gitconfig[includeIf "gitdir:~/projects/oss/"] path = ~/projects/oss/.gitconfigLocal .gitconfig#In each project’s .gitconfig, specify the user and SSH key.Here is example for ~/projects/company1/.gitconfig[user] name = username1 email = name@company1.com[core] sshCommand = ssh -i ~/.ssh/company1_rsaGit will help us to automatically switch configurations based on the project directory.
20日前
記事のアイキャッチ画像
[Note] Git aliases
Duy NG
+Git aliases#Git aliases are a must have for every developer. They save time, reduce typing, and make your workflow more efficient.You can set them up in two ways: terminal shell aliases or .gitconfig.Terminal shell aliases#Here’s a part how I set up my Git aliases in my shell config (e.g. .zshrc or fish.config ...etc.):# Gitalias g="git"alias gc="git commit -m"alias gca="git commit -a -m"alias gp="git push origin HEAD"alias gpu="git pull origin"alias gpf="git push --force-with-lease"alias gst="git status"alias gs="git switch"alias gsc="git switch -c"alias gdiff="git diff"alias gco="git checkout"alias gcob="git checkout -b"alias gb="git branch"alias gba="git branch -a"alias gadd="git add"alias ga="git add -p"alias gre="git reset".gitconfig alias#Other way to manage git alias with global .gitconfig[alias] # List all aliases aliases = !git config --get-regexp alias | sed -re 's/alias\\.(\\S*)\\s(.*)$/\\1 = \\2/g' # Command shortcuts st = status cm = commit -m co = checkout stl = stash lis +
21日前
記事のアイキャッチ画像
[Note] Run a command if there are unstaged changes
Duy NG
+Run a command if there are unstaged changes#A quick one-liner to run a command only if there are unstaged changes: the --quiet flag of git diffThe flag does two things:Disables all output of the commandExits with 1 if there are differences, and 0 if there are no differences.That means you can combine it with boolean operators to only run another command if files have (or have not) changed:# Run `command` if there are unstaged changesgit diff --quiet || command# Run `command` if there are NO unstaged changesgit diff --quiet && commandOther tips#Check for untracked filesgit ls-files --others --exclude-standard | grep -q . && commandInclude staged changesgit diff --cached --quiet || commandCombine with entr for file watchinggit diff --quiet || entr -r commandUse in CI pipelinesgit diff --quiet || echo "Changes detected, running tests..." && npm test
22日前
記事のアイキャッチ画像
[Note] List all files tracked by Git
Duy NG
List all files tracked by Git#Sometimes you need a list of all files tracked by Git—for example, when using tools like entr to watch files for changes. Instead of fiddling with find, Git provides a clean and concise command git-ls-files:git ls-filesThis lists all files in the repository that are tracked by Git.Other tips#Include ignored files:git ls-files --others --ignored --exclude-standardFilter by file type:git ls-files '*.js' # List only JavaScript filesUse with entr to watch files:git ls-files | entr -r your-command
23日前
記事のアイキャッチ画像
[Note] Git Checkout vs. Git Switch
Duy NG
+Git Checkout vs. Git Switch#git checkout#Switch branches:git checkout <branch> # Switch to an existing branchCreate and switch to a new branch:git checkout -b <new-branch> # Create and switch to a new branchRestore files from a specific commit or branch:git checkout <commit> -- <file> # Restore a file from a specific commitgit switch (modern alternative)#Switch branches:git switch <branch> # Switch to an existing branchCreate and switch to a new branch:git switch -c <new-branch> # Create and switch to a new branchKey differences#CommandPurposeNotesgit checkout <branch>Switch branchesOlder, more versatile command.git checkout -b <branch>Create and switch to a new branchCombines branch creation and switch.git checkout <commit> -- <file>Restore a file from a commitUseful for recovering files.git switch <branch>Switch branchesModern, focused alternative.git switch -c <branch>Create and switch to a new branchSimpler and more intuitive.When to use?#git checkout:Use for restoring files from a +
24日前
記事のアイキャッチ画像
[Note] Git Reset vs. Git Restore
Duy NG
+Git Reset vs. Git Restore#git reset#Undo commits (keep changes staged):git reset --soft HEAD~ # Move HEAD but keep changes stagedgit reset --soft <commit> # Move to specific commit, keep changes stagedUnstage changes (keep changes in working directory):git reset HEAD~ # Reset --mixed (default), move HEAD and unstage changesgit reset <commit> # Reset --mixed, move to specific commit and unstage changesgit reset HEAD <file> # Unstage a specific fileDiscard commits and changes (destructive):git reset --hard HEAD~1 # Discard commits and changes permanentlygit restore#Discard working directory changes:git restore <file> # Revert file to its state in the last commitUnstage changes:git restore --staged <file> # Move changes from staging area to working directoryRestore a file from a specific commit:git restore --source=<commit> <file> # Restore file from a specific commitKey differences#CommandBranch pointerStaging areaWorking directorygit reset <commit>MovesResets (unstages)Unchangedgit rese +
24日前
記事のアイキャッチ画像
[Note] Ingore all .DS_store files globally
Duy NG
+Ignore all .DS_Store files globally#If you use Git on a Mac, you’ve probably accidentally committed a .DS_Store file to a repo at least once. I used to add .DS_Store to every .gitignore file to avoid this, but there’s a better way!You can create a global .gitignore file that applies to all your repositories. Just run this command:git config --global core.excludesFile '~/.gitignore'Then, add .DS_Store to your ~/.gitignore file:echo ".DS_Store" >> ~/.gitignoreThis command adds the following to your ~/.gitconfig:[core] excludesFile = ~/.gitignoreNow, .DS_Store files will be ignored across all your projects, no more accidental commits!You can directly edit the ~/.gitignore file to globally ignore many other files.
25日前
記事のアイキャッチ画像
[Note] Update all Git submodules to latest commit
Duy NG
Update all Git submodules to the latest commit#If you use Git submodules often, here's the one-liner to update them to the latest commit on origin (since Git 1.8.2):git submodule update --remote --rebasePrefer merging? Swap --rebase for --merge.
1ヶ月前
記事のアイキャッチ画像
[Note] Run Github actions locally
Duy NG
Run Github actions locally#Run GitHub actions locally with act to skip the long feedback loop! It uses Docker to pull images and run workflows right on your machine.# Run the `push` eventact# Run a specific event or jobact pull_requestact -j test_unitNeed a GitHub token? Use the -s flag with the GitHub CLI:act -s GITHUB_TOKEN="$(gh auth token)"Quick, easy, and no more waiting for GitHub to run workflows!
1ヶ月前
記事のアイキャッチ画像
[Note] First attempt at migrating from Homebrew to Nix with Nix Home Manager
Duy NG
+First attempt at migrating from Homebrew to Nix with Nix Home Manager#It didn’t go exactly as planned. I dived into Nix scripts, flakes, and started installing packages with nixpkgs while keeping Homebrew on the side.But... nothing seemed to work correctly. 😵Tools like fish shell, fzf, and ghostty .etc... didn't work.I probably need to configure each program properly, manage environments, and link the ~/.config files with Nix...During the migration, I enabled autoCleanUp Homebrew with "zap" without paying close attention. Big mistake! It wiped out everything I’d installed through Homebrew. 😱 Aie aie aie.Thankfully, I had saved all my tools in a Brewfile in my dotfiles. A quick brew bundle restored everything (though it took time to install).Lesson learned: I need to take it step by step with Nix, learning more about proper configurations before jumping in too deep.For now, I’m sticking with Homebrew but I’ll give Nix another try someday.
1ヶ月前
記事のアイキャッチ画像
[Note] Tilting window management on macOS with aerospace
Duy NG
+Tiling window management on macOS with aerospace#In the past, I was a rectangle user. I used it to move windows into corners or split the screen, basic functionality. Honestly, it never felt transformative. It was fine, but quite basic. I only used it during screen-sharing sessions on Teams calls. I always wanted something more controllable and better organized, with groupings of applications.Recently, I explored raycast, and at first, it seemed like the solution I had been looking for. It offered intuitive window organization, powerful workspace controls, and a lot of cool features.That’s when I came across aerospace, thanks to all the people sharing it on YouTube. And wow! This is the tool I was looking for! (powerful, free, open-source, workspace management simple, entirely keyboard shortcuts)Using aerospace has completely transformed my workflow. I now have workspaces neatly organized by task coding (C), terminal (T), browser (B), music (M)... and switching between them is really s +
1ヶ月前
記事のアイキャッチ画像
[Note] Manage better for my dotfiles.
Duy NG
+Manage better for my dotfiles#Up until now, I’ve been handling my dotfiles manually with a Makefile and shell scripts.I used commands like rsync to mirror files from my ~/.config directory to my ~/dotfiles folder,and then saved everything on GitHub. While this approach worked, it was tedious and had a lot of limitations:rsync wouldn’t handle deletions properly, so if I deleted a file in ~/.config, it wouldn’t be removed from the dotfiles folder.I had to run make sync every time I wanted to update my dotfilesRestoring configurations wasn’t properly handledI also wanted to directly manage the ~/.config folder with Git, but my current setup didn’t make that easy.Then, I stumbled across a YouTube video about using GNU Stow to manage dotfiles.It’s such a simple yet powerful tool! Stow creates symlinks from your dotfiles folder to your ~/.config directory,so there’s no need for manual mirroring. Everything stays organized and up-to-date automatically.Now, I manage my ~/dotfiles easily with S +
1ヶ月前
記事のアイキャッチ画像
[Note] CLI tools I love using
Duy NG
+CLI tools I love using#I’m a huge fan of Rust, and it’s no surprise that many of the tools I rely on in the terminal are written in rust.Here’s a quick rundown of my favorites:Fzf: Fuzzy finder that makes searching files or commands a breeze.Eza: A modern, colorful alternative to ls that adds more functionality.Zoxide: A smarter cd command that remembers your most-used directories.Fish shell: A user-friendly shell with auto-suggestions and syntax highlighting.Starship prompt: Fast, customizable prompt with support for all major shells.Ripgrep: Lightning-fast search tool, a must-have for large codebases.Sd: Simpler, more intuitive replacement for sed.Fd: Faster, friendlier alternative to find with colorful output.Jq: Power tool for processing JSON data in the terminal.Lazygit: Terminal-based Git interface, perfect for lazy devs.Lazydocker: Easy-to-use terminal tool for managing Docker containers.Bat: Better cat with syntax highlighting and line numbers.Git-delta: Enhanced git diff tool +
1ヶ月前
記事のアイキャッチ画像
[Note] Returning to Neovim for Coding
Duy NG
+Returning to Neovim for coding#I’ve started using Neovim for coding again.Early in my career, like many others, I tried to learn Vim. At first, it was difficult to get used to, but I found it fun and rewarding. For some, Vim can feel more "professional," and there's something satisfying about the cool things you can do with it.I really liked Vim, but when it came to coding, I ran into many challenges. Configuring Vim with the right plugins, settings, and workflows took a lot of time. Back then, I was working with many different languages—Python, Ruby, JavaScript, TypeScript, HTML, CSS—and I could never quite get Vim to work smoothly across all of them. I faced too many issues, so eventually, I switched to VSCode and IntelliJ for most of my coding, using Vim only for occasional file edits.Now, with modern terminals like Wezterm and Ghostty, I find myself enjoying the terminal environment more. I want to keep my hands on the keyboard as much as possible, so I decided to give Vim another +
1ヶ月前
記事のアイキャッチ画像
[Note] Ghostty?
Duy NG
+Ghostty?#Ghostty has just released its official production-ready version: 1.0, and it’s causing quite a hype among developers across all platforms. I’m really curious to try it out!Ghostty is a terminal emulator built with Zig. Most terminal emulators I’ve used, like WezTerm, Warp, Alacritty, and Zellij, are written in Rust. So it’s exciting to see a terminal tool developed in Zig instead.(I really like both of 2 this languages: rust and zig)I decided to give it a shot, even though I’ve been happily using WezTerm. And I have to say, I’m impressed.It’s fast—faster than WezTerm in terms of startup time and when opening new tabs. It integrates smoothly with Fish shell, which I love.The keybindings are easy to access, and the setup process is a really simple. Plus, it supports a variety of themes.Some standout features include Quick Terminal and the ability to use Cmd + Triple-click for selection—simple yet powerful.So, I’ve made the switch. My terminal is now Ghostty.
1ヶ月前
記事のアイキャッチ画像
[Note] I’ve started implementing short notes on my website
Duy NG
I’ve started implementing notes on my website#The goal is to create a space for sharing shorter updates, thoughts, and progress on ongoing projects. I plan to update this space regularly with useful insights and updates.Stay tuned for more posts soon.
1ヶ月前
記事のアイキャッチ画像
Support dual package in npm - the easy way
Duy NG
+JavaScript is evolving rapidly. Now, it’s really important for libraries to work with both CommonJS (CJS) and ECMAScript Modules (ESM).In this article, we’ll guide you through an easy and practical approach to handle dual-package support. That means more people can use your library, and it’s easier for them to do so.TL;DR#Create a dual-package TypeScript library supporting both ESM and CommonJS:Understand the different of Javascript file extensions: .js, .mjs, .cjsUse only the .js extension for both esm and cjs outputs after compilationWrite source code Typescript in ESMAvoid external build toolsDefine the exports field in package.jsonCompile source files into lib/esm and lib/cjs directories.Add package.json files with the correct type field in lib/esm and lib/cjsPlace a package.json file in lib/esm with {"type": "module"}Place another in lib/cjs with {"type": "commonjs"}Understanding Javascript file extensions#Firstly, we need clarify the different extensions in JavaScript:.cjs: files +
3ヶ月前
記事のアイキャッチ画像
Essential tsconfig.json options you should use
Duy NG
+The tsconfig.json file in TypeScript is more than just a list of settings. It's a tool to manage how your code behaves, how secure it is, and how well it works with other systems. Whether you're an experienced TypeScript user or new to the language, understanding these configuration options will help you build a strong, efficient, and easy-to-maintain codebase.TL;DR#Here’s a quick look at recommended best-practice settings for your tsconfig.json. These options will help improve build speed, enforce code safety, enhance debugging, and ensure compatibility:{ "compilerOptions": { "incremental": true, // Enables incremental compilation, build only the changed code "strict": true, // Enables all strict type-checking options (best practice) "rootDir": "src", // Root directory of input files "outDir": "./build", // Output directory for compiled files "allowJs": true, // Allows JavaScript files to be compiled alongside TypeScript files. "target": "es6", // Specifies the ECMAScript target versi +
3ヶ月前
記事のアイキャッチ画像
Migrate to ESLint 9.x
Duy NG
+Have you updated your ESLint setup to version 9.x? This version includes many breaking changes. Two major changes you need to consider are:Node.js < v18.18.0 and v19 are no longer supported.Flat config is now the default and has some changes.Flat config#ESLint's new flat config system makes setting up easier by using just one JavaScript file (named eslint.config.js, eslint.config.mjs, or eslint.config.cjs). This is different from the old way, which used several different files like .eslintrc* and the package.json.Here is a simple comparison between legacy config and flat config:AspectLegacy ConfigFlat ConfigSources.eslintrc .js, .json, .yml, package.json, etc.eslint.config.js .cjs, .mjsConfiguration styleConvention-based extendsExplicit native importsPlugin definitionPackage-named pluginsPlugins are objectsInheritance treePotentially complexComposable and traceableBenefits of the flat configPerformance: Reduced overhead due to a single configuration source.Maintainability: Easier to ma +
7ヶ月前
記事のアイキャッチ画像
Why you might be using Enums in TypeScript wrong
Duy NG
+The topic of using enums in TypeScript has been discussed a lot, but many developers still remain unaware of their drawbacks. Even though enums are popular and commonly used, they might not always be the best choice. In this article, I'll share my thoughts on why enums can be a problem and show you a better way to do things.TL;DR#enum is a TypeScript-only feature and doesn't exist in JavaScript.enum has several problems:The compiled output can be hard to read and understand, leading to potential bugs.Performance impacts due to runtime creation and initialization.Compatibility issues with type declarations, especially in projects using isolatedModules.Use as const with a generic type helper: export type TypeFrom<T> = T[keyof T] for a simpler, more efficient alternative.If you are a TypeScript developer, you’re likely familiar with using enums. However, have you ever considered what enums in TypeScript actually represent? It's worth noting that JavaScript doesn't have the enum feature.It +
8ヶ月前
記事のアイキャッチ画像
Should you switch to Deno?
Duy NG
+Hi there!Deno, created by Ryan Dahl, the original mind behind Node.js, is a modern runtime for JavaScript and TypeScript. It addresses various limitations and issues found in Node.js.Since its initial stable release with version 1.0, Deno has continued to evolve, with the latest version currently at 1.44. Are you ever curious about Deno's suitability for production projects today? Wondering if developers are actively using it in production?You can read my full article for a detailed analysis here: Should You Switch to Deno?.I hope this helps you make an informed decision. Happy coding!
8ヶ月前
記事のアイキャッチ画像
My blog now offers full-text RSS feeds
Duy NG
+Guess what? My blog now offers full-text RSS feeds!Not long ago, I discovered a new way to get updates RSS feeds from websites using a reader app. It might seem strange, right? Most people probably already know about this method since it has existed for a long time, but I had no idea about it before. I only knew how to subscribe to newsletters via email.For the past two years, I've been reading a lot more, especially on daily.dev, a platform where people share interesting articles. I've found many new blogs that I want to follow and subscribe to. I don’t remember exactly where I learned about subscribing to RSS feeds, but it was probably from a "subscribe" or "newsletter" tab on a blog, maybe tonsky.me. They explained how to use a reader app to subscribe to RSS feeds. It's totally free and really cool! So, I started using that method to subscribe to other blogs. It's much easier than using email. My blog also supports RSS feeds via atom.xml.However, there's one important thing to menti +
8ヶ月前
記事のアイキャッチ画像
Transforming website images into WebP with Rust for faster loading times
Duy NG
+Hi everyone 👋,Recently, I attended Ekinoday, our company’s annual conference, where my colleagues share knowledge on various topics, from technology to life tips. This event is always very interesting for me.I had a chance to talk with my colleague Raphaël Tho Vo, who gave a presentation on optimising web performance. Raphaël mentioned that many people don’t realise how much image size and format can effect the web performance. Large image files can slow down a website significantly, affecting user experience.Raphaël explained that we can improve performance by using better image formats. He mentioned several modern formats like AVIF, WebP, JPEG 2000. Among these, AVIF and WebP are the most supported by web browsers today.Inspired by Raphaël’s advice, I decided to take a closer look at my website's performance. I host my site on GitHub, using Zola, a static site engine, along with the Tabi theme. This theme is beautifully designed and well-coded.I tested my website with PageSpeed Insi... +
9ヶ月前
記事のアイキャッチ画像
Dynamic Github profile with Bun and Typescript
Duy NG
+In a recent article, I discussed transforming a GitHub profile into an interactive space with icons, badges, and dynamically updated blog posts using Python scripts and GitHub actions.After sharing my work in the "r/javascript" community on Reddit, I received serveral positive feedback and upvotes. I chose to post in this community due to my familiarity with JavaScript and TypeScript. After several hours, moderators removed my post because it wasn't directly related to JavaScript. They made the right decision, and I appreciate their careful moderation of the community. This made me rethink my approach and think about using a language that would better connect with the audience, given the simplicity of the script's principle: fetching feed URL, parsing it, and writing the response to the README.md file, along with automatic updates using a cron job on GitHub action.I decided to explore using JavaScript or TypeScript for this idea. While JavaScript would have been sufficient, I opted for +
9ヶ月前
記事のアイキャッチ画像
How I made my GitHub profile README dynamic
Duy NG
+Have you heard about GitHub profile READMEs?Did you know you can add a README to your GitHub profile to tell others about yourself and create a really cool profile?To do that, you simply create a repository with the same name as your GitHub username. For more details on how to do this and how it works, check out GitHub's guide on managing your profile README.Now, how can you customize it to make a cool GitHub profile?There are numerous ways to do this. Some people design their profiles using HTML and CSS because README.md files are written in markdown, which supports them. Many individuals add more icons and badges to enhance the appearance. You can find various ideas and tools in the repository awesome-github-profile-readme.Here are a couple of examples of cool profiles:JessicaLim8WaylonWalkerHowever, for me, making something dynamic in the README is even cooler. This means displaying information about repositories, stars, languages written, followers, and more. To achieve this, we of +
9ヶ月前
記事のアイキャッチ画像
New home for my website
Duy NG
+Hey there, it's been quite a while since my last article—almost 3 years. I'm not sure if anyone is still reading my posts because I've stopped using analytics for my website. Now, I've moved it to GitHub and use the free domain of GitHub Pages. It might not be great for SEO, but I'm happy with it. After all, the main reason I write is for myself. Each time I write, I learn something new and improve my skills on various topics.So, I've decided to get back into the habit of writing regularly. It's a good practice for developers to improve day by day.But first things first: I need to update my website. In the past, I usually used Jekyll to create my site. It runs on Ruby and used to fit my needs perfectly because it's free, powerful, and offers many themes for customization.For my main website where I display my work, projects, and some information about me, I used Jekyll but did a lot of customization using SCSS. And for the blog, I used a customized theme named "Ghost." It looks really +
9ヶ月前
記事のアイキャッチ画像
Start a new journey
Duy NG
+Hey everyone! I'm excited to share my journey from being a BIM engineer to becoming a full-time developer.In modern construction, digital technologies are being used more and more. A big development is Building Information Modeling (BIM), which involves putting a lot of information about things like materials, planning, costs and more into 3D models.As a BIM engineer, my main job was to make sure this process worked well, fast, and effectively for different construction teams, like architects, engineers, and planners. My aim was to keep high-quality models that each team could use again, reducing the need to do things over. We mainly used a software named Revit for this.To do high-quality work, I used my skills in programming to make processes automatic. So, I spent time writing scripts and plugins in languages like VBA, C#, and Python to make things easier for my company.Balancing two different roles at the same time was complicated. Since learning programming is a big challenge, it m +
4年前
記事のアイキャッチ画像
Why use Docker compose
Duy NG
+What is Docker compose?#If you read this article, I think you maybe already understand what is Docker.Docker is a tool which helps to create, deploy, and run applications by using containers. Docker provides developers and operators with a friendly interface to build, ship, and run containers on any environment.With the docker-cli, we can run and execute the Docker container via Dockerfile. But with Dockerfile, we can work only with a container, but in the project, we normally work with multiple containers. In that case, we need to use Docker compose.Docker Compose define the services that make up your app in docker-compose.yml so they can be run together in an isolated environment. It get an app running in one command by just running docker-compose up.Docker compose uses the Dockerfile if one add the build command to your project’s docker-compose.yml. Your Docker workflow should be to build a suitable Dockerfile for each image you wish to create, then use compose to assemble the image +
4年前
記事のアイキャッチ画像
Create simple web app Nodejs with Docker
Duy NG
+How to get a Node.js application into a Docker container?Steps to create a web application Nodejs with Docker#Create NodeJS web appCreate a DockerfileBuild image from DockerfileRun image as containerConnect to web app from a browserGetting started#Create root folder of project#$ mkdir simple-nodejs$ cd simple-nodejsInit package.json#$ yarn init -yAdd dependencies and scripts in this package.json file{ "name": "simple-nodejs", "version": "1.0.0", "main": "index.js", "license": "MIT", "scripts": { "start": "node index.js", "dev": "nodemon index.js" }, "dependencies": { "express": "*", "nodemon": "*", "dotenv": "*", "mongoose": "*", "axios": "*" }}Create index.js file (in root project)#Add the following code to run server nodejs with express framework.const express = require('express');const app = express();app.get('/', (req, res) => { res.send('Hi there!');});const port = process.env.PORT || 3000;app.listen(port, () => { console.log(`Server is running on port ${port}`);});Create Dockerfi +
4年前
記事のアイキャッチ画像
Config ESLint, Prettier for React App in VSCode
Duy NG
+As a developer, you will understand how important of quality of code in your project. ESlint and Prettier are great tools helps you for formatting and style of code.In this article, you will understand how to setup ESLint & Prettier in your React project and on text-editor VSCode.What are ESLint and Prettier?#ESlint#It is a static code analyzer, that means it tells you errors and mistakes that you may make while you are developing.These errors can be stuff like -Simple syntax errors eg. not closing a function declaration with }.Dead code detection eg. unused variables, code written after a return statement.Violating code guidelines, these are rules defined by yourself or a combination of predefined standards like the Airbnb styled guide or Google's style guide etc.Prettier#Prettier is a code formatter, it's only concerned with how your code looks, do you want ensure consistent indentation in the entire project?Do you want to ensure there're no semicolons in the project? Make your promi +
4年前
記事のアイキャッチ画像
Setup Webpack React TypeScript
Duy NG
+How to setup a React project with Webpack and TypeScript?With create-react-app, it only takes a few clicks to create a complete React project, requires not in-depth knowledge of webpack or babel. But if you are still not satisfied with the features that create-react-app brings. For example, CSS does not show source-map when dev, or may be you simply configure more deeply. If in this case, It's the time to configure manually webpack.If you do not have any knowledge about webpack, you can refer my two previous articles:Setup basic webpackWebpack & TypeScriptInit project#Install dependencies packages$ yarn init -y$ yarn add -D react react-dom redux react-redux react-router-dom typescript$ yarn add -D webpack webpack-cli webpack-dev-server style-loader css-loader sass sass-loader typescript ts-loaderInstall plugin for webpack$ yarn add -D clean-webpack-plugin compression-webpack-plugin copy-webpack-plugin dotenv-webpack html-webpack-plugin mini-css-extract-plugin webpack-bundle-analyzercle +
4年前
記事のアイキャッチ画像
Setup Webpack TypeScript
Duy NG
+How to setup a webpack project with TypeScript?We continue from the previous article basic setup webpack. In this article, we will discover how to setup a webpack project with TypeScript and using plugin in Webpack.Install webpack and loaders packages#Create new project and install packages dependencies$ mkdir webpack-typescript$ cd webpack-typescript$ npm init -y$ yarn add webpack webpack-cli webpack-dev-server style-loader css-loader sass sass-loader file-loader -DTo understand each dependencies means, checkout my previous article basic setup webpackInstall HTMLWebpackPlugin$ yarn add html-webpack-plugin -DThis plugin will help use import automatically the new bundle.js file after build into index.html build file. You will see more explanation below.Install TypeScriptTypeScript extends JavaScript by adding types. By understanding JavaScript, TypeScript saves you time catching errors, debug adn providing fixes before you run code. Any browser, any OS, anywhere JavaScript runs.We can u +
4年前
記事のアイキャッチ画像
Basic Setup Webpack
Duy NG
+Webpack fundamentals for fast learning and step by step to setup a project with webpack.Webpack basics#Webpack is a module bundler. Its main purpose is to bundle JavaScript files for usage in a browser, yet it is also capable of transforming, bundling, or packaging ...Check more information on Webpack websiteSetup a webpack project#Create project and init package.json file$ mkdir webpack-basic$ cd webpack-basic$ npm init -yIn the root project create public folder and index.html file<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <div id="root"> <h1>Webpack basic</h1> </div> <script src="../dist/bundle.js"></script> </body></html>Setup Babel#Babel is a toolchain that is mainly used to convert ECMAScript 2015+ code into a backwards compatible version of JavaScript in current and older browsers or environments.See the website babeljs.io for more information.Installa +
4年前
記事のアイキャッチ画像
Syntax Python vs Javascript
Duy NG
+Programming in a new language can feel unfamiliar, intimidating, and tricky to navigate at first. There are new rules, syntax, and nuances to learn.Python vs. JavaScript Language Basics#JavaScript and Python are interpreted programming languages, meaning their runtime environments use an interpreter (or engine) that parses and executes code one statement at a time.The two languages are also “object-based” — everything is (or can be treated as) an object: strings, numbers, data structures, functions, etc.Primitive Types#First up, JavaScript and Python have similar built-in data types. For example, both use numeric data types (integers and floats), strings and Booleans.// JavaScript data typesconst pi = 3.14;const age = 31;const greeting = "good morning";const isAdmin = true;# Python data typespi = 3.14age = 13greeting = "good morning"is_admin = TrueType Checking and Conversion#Python and JavaScript are “dynamically typed” languages, which means you do not have to set the type of a varia +
4年前
記事のアイキャッチ画像
Better In Ruby - 02
Duy NG
+Some tips you probably don't know in Ruby - 02In this article, I want to show you some nice Ruby features that you may know or not. Anyway, it’s a quick read and it’s always interesting to learn new stuff, right?!Create a hash from a list of values#You can create a hash from a list of values by using Hash[...]. It will create a hash like below:Hash['key1', 'value1', 'key2', 'value2']# => {"key1"=>"value1", "key2"=>"value2"}Lambda Literal ->#Lambda Literal is a anonymous function like lambda in python, => in JS or C#, allows you to create lambda easily.a = -> { 1 + 1 }a.call# => 2a = -> (v) { v + 1 }a.call(2)# => 3Double star (**)#The double star is a neat little trick in Ruby. See the following method:def my_method(a, *b, **c) return a, b, cenda is a regular parameter. *b will take all the parameters passed after the first one and put them in an array. c will take any parameter given in the format key: value at the end of the method call.See the following examples:One parametermy_metho +
4年前
記事のアイキャッチ画像
Better In Ruby - 01
Duy NG
+Some tips you probably don't know in Ruby.Today, I will make a series that I learned about tips and tricks in ruby.Assigning the rest of an array to a variable#When destructuring an array, you can unpack and assign the remaining part of it to a variable using the rest pattern a = [1, 2, 3] b, *rest = *a b # => 1 rest # => [2, 3] a # => [1, 2, 3]Word array#When we want to add a separator in the string%w{This is a string, I want to separate by a comma} * ", "# "This, is, a, string,, I, want, to, separate, by, a, comma"Concate array#[1, 2, 3] * 3 == [1, 2, 3, 1, 2, 3, 1, 2, 3] # truenew_array = Array.new([0], 5) # [0,0,0,0,0]Format decimal#number = 9.5"%.2f" % number # => "9.50"number.round(2)Remove a folder#This is a relatively common job of developer. There a many different ways to delete a folder and this is one of the shortest and fastest way to do:require 'fileutils'FileUtils.rm_r 'somedir'Massive assignment#Massive assignment allow us to declare many variables at the same timea,b,c, +
5年前
記事のアイキャッチ画像
Rails 5 or Rails 6 ?
Duy NG
+What version of rails you use in your projects, today?At THP, when we start learning rails, we are required to install rails version 5.2.3. But I when I see that the new version of rails has been released is already 6.0. So we have posed a question for our technical manager of THP:Why we don't install directly the version rails 6.0?And he said: "One word: webpack. I always don't understand so much for the "webpack", and I need to search more on the internet. And with this article (this is not mine), we will know some advantages and new features of rails 6 .I hear that: Rails 5 is still just fineRails 5.0.Z is still on the severe patches list, and Rails 5.2.Z is still receiving regular security updates; so you're still OK on Rails 5 (especially 5.2 or higher)Now We will see 4 amazing features of rails 6.Parralled Testing#Test’s performance is finally going to be improved (a lot!). Now you can use cores to your advantage of running big tests much faster. Each testing worker runs in its o +
5年前
記事のアイキャッチ画像
How to switch to another Rails version
Duy NG
+When you need to use multiple versions of Rails on your computer, how do you switch between them?Installation rails#Before I talk about how to switch a version of rails, I will go quickly how to install the different versions of rails. The ruby package manager that I'am using is rbenv and I will use it for this tuto.If you are using another ruby package manager like rvm, you should look at rbenv and its advantage. rbenv is more lighter and faster than the rvm and rbenv is very recommended by a a lot of developers.There is an article on dev.to help you understand more clearly: Why and How I Replaced RVM with RBENV.Ok, now go on our article.To install whatever version(s) of rails you want:gem install rails -v 6.0.3.2To know all rails versions released, you check out on all rails versions.You can also do it with your terminal with the command line gem list rails --remote --all | grep "^rails ".I you want to install rails on another version of ruby, you need to switch version of ruby and r +
5年前
記事のアイキャッチ画像
Build your personal website without spending any money
Duy NG
+In this article, we'll walk through how to set up a Jekyll-powered blog using the Minimal Mistakes theme.It’s not always clear why we need a personal website, but here’s the truth, especially for developers: a website is an effective medium to let the world know who we are, what we are capable of, and what our values are.The purpose of the website you want to build can vary; it could be a blog, portfolio, landing page, or multi-purpose site. In my case, I need a website to:Showcase my projectsBlog about my experiences, my knowledge in programming, and my other interestsShare information about me that would be of interest to a recruiter, including my resume, email, and links to my GitHub, Medium, and LinkedIn pagesBeing able to easily generate and publish blog posts is another extremely beneficial feature, though not required.Initially, I tried to create my website using HTML, CSS, and serving it with GitHub Pages. However, I realized it would take a lot of time to complete, not to ment +
5年前
記事のアイキャッチ画像
Simple coding challenges with Ruby - 03
Duy NG
+Doing coding challenges is an excellent way to imporve your programming language & problem-solvings skills.I'am learning and trying to improve my English. So I'm really sorry if my grammar mistakes annoy you. Thank you for your understanding.Kata challenges#My level on codewars now is 5kyu. You can check my Codewars. So, today when I take the new challenges with the option rank up, Codewars gave me only the 5kyu challenges.Let's take a look together!1. Rot13 (5kyu)#The first challenge today is still handle string. There are too many string algorithms. Maybe in the next day, I will choose the challenges by subject. For example, I will learn the OOP soon. So I think I will choose the katas in this subject.Now, we will go to solve the challenge.:bell: Task: Rot13ROT13 is a simple letter substitution cipher that replaces a letter with the letter 13 letters after it in the alphabet. ROT13 is an example of the Caesar cipher.Create a function that takes a string and returns the string ciphere +
5年前
記事のアイキャッチ画像
Simple coding challenges with Ruby - 02
Duy NG
+Doing coding challenges is an excellent way to imporve your programming language & problem-solvings skills.I'am learning and trying to improve my English. So I'm really sorry if my grammar mistakes annoy you. Thank you for your understanding.Kata challenges#In the last article, we have done the very simple challenges. Now we will challenge in the next level with the 6kyu challenges.1. Replace with alphabet position (6kyu)#All the next challenges have distributed random by codewars.:bell: Task: Replace with alphabet positionIn this kata you are required to, given a string, replace every letter with its position in the alphabet. If anything in the text isn't a letter, ignore it and don't return it."a" = 1, "b" = 2, etcFor examplealphabet_position("The sunset sets at twelve o' clock.")Should returnShould return "20 8 5 19 21 14 19 5 20 19 5 20 19 1 20 20 23 5 12 22 5 15 3 12 15 3 11" (as a string):arrow_right: My solution:This challenge is always handle with the stringOne thing that we ne +
5年前
記事のアイキャッチ画像
Simple coding challenges with Ruby - 01
Duy NG
+Doing coding challenges is an excellent way to imporve your programming language & problem-solvings skills.I'am learning and trying to improve my English. So I'm really sorry if my grammar mistakes annoy you. Thank you for your understanding.The Hacking Project (THP)#You may be asking: "What is The Hacking Project?"The Hacking Project (THP) is a type coding bootcamps within 12 weeks for the full-stack web development on Ruby & Ruby on Rails. The Hacking Project has been created in France since 2017 to help the people who want to learn a new coding skills, who want to create a startup or even for the people who want to make their career change into web development.In 12 weeks, you will learn how to create a web application with the front-end skills (HMLT, CSS, JavaScript), the back-end skills with Ruby, Ruby on Rails and many others skills in IT developement.This bootcamps is now free for every one. It's very impressive, isn't it?If you interessed in THP, you can check out the website T +
5年前
\ No newline at end of file diff --git a/blogs/85f2dc42fb5726fe47532a64329820a8/index.html b/blogs/85f2dc42fb5726fe47532a64329820a8/index.html new file mode 100644 index 000000000000..a004f728de2d --- /dev/null +++ b/blogs/85f2dc42fb5726fe47532a64329820a8/index.html @@ -0,0 +1,55 @@ +Google Online Security Blogのフィード|JSer.info Watch List RSS

Google Online Security Blog

http://security.googleblog.com/

The latest news and insights from Google on security and safety on the Internet

フィード

記事のアイキャッチ画像
How we kept the Google Play & Android app ecosystems safe in 2024
Google Online Security Blog
+Posted by Bethel Otuteye and Khawaja Shams (Android Security and Privacy Team), and Ron Aquino (Play Trust and Safety)Android and Google Play comprise a vibrant ecosystem with billions of users around the globe and millions of helpful apps. Keeping this ecosystem safe for users and developers remains our top priority. However, like any flourishing ecosystem, it also attracts its share of bad actors. That’s why every year, we continue to invest in more ways to protect our community and fight bad actors, so users can trust the apps they download from Google Play and developers can build thriving businesses. Last year, those investments included AI-powered threat detection, stronger privacy policies, supercharged developer tools, new industry-wide alliances, and more. As a result, we prevented 2.36 million policy-violating apps from being published on Google Play and banned more than 158,000 bad developer accounts that attempted to publish harmful apps. Google’s advanced AI: helping make +
10日前
記事のアイキャッチ画像
How we estimate the risk from prompt injection attacks on AI systems
Google Online Security Blog
+Posted by the Agentic AI Security Team at Google DeepMindModern AI systems, like Gemini, are more capable than ever, helping retrieve data and perform actions on behalf of users. However, data from external sources present new security challenges if untrusted sources are available to execute instructions on AI systems. Attackers can take advantage of this by hiding malicious instructions in data that are likely to be retrieved by the AI system, to manipulate its behavior. This type of attack is commonly referred to as an "indirect prompt injection," a term first coined by Kai Greshake and the NVIDIA team.To mitigate the risk posed by this class of attacks, we are actively deploying defenses within our AI systems along with measurement and monitoring tools. One of these tools is a robust evaluation framework we have developed to automatically red-team an AI system’s vulnerability to indirect prompt injection attacks. We will take you through our threat model, before describing three att +
10日前
記事のアイキャッチ画像
Android enhances theft protection with Identity Check and expanded features
Google Online Security Blog
+Posted by Jianing Sandra Guo, Product Manager, Android, Nataliya Stanetsky, Staff Program Manager, AndroidToday, people around the world rely on their mobile devices to help them stay connected with friends and family, manage finances, keep track of healthcare information and more – all from their fingertips. But a stolen device in the wrong hands can expose sensitive data, leaving you vulnerable to identity theft, financial fraud and privacy breaches.This is why we recently launched Android theft protection, a comprehensive suite of features designed to protect you and your data at every stage – before, during, and after device theft. As part of our commitment to help you stay safe on Android, we’re expanding and enhancing these features to deliver even more robust protection to more users around the world. Identity Check rolling out to Pixel and Samsung One UI 7 devicesWe’re officially launching Identity Check, first on Pixel and Samsung Galaxy devices eligible for One UI 71, to prov +
16日前
記事のアイキャッチ画像
OSV-SCALIBR: A library for Software Composition Analysis
Google Online Security Blog
+Posted by Erik Varga, Vulnerability Management, and Rex Pan, Open Source Security TeamIn December 2022, we announced OSV-Scanner, a tool to enable developers to easily scan for vulnerabilities in their open source dependencies. Together with the open source community, we’ve continued to build this tool, adding remediation features, as well as expanding ecosystem support to 11 programming languages and 20 package manager formats. Today, we’re excited to release OSV-SCALIBR (Software Composition Analysis LIBRary), an extensible library for SCA and file system scanning. OSV-SCALIBR combines Google’s internal vulnerability management expertise into one scanning library with significant new capabilities such as:SCA for installed packages, standalone binaries, as well as source codeOSes package scanning on Linux (COS, Debian, Ubuntu, RHEL, and much more), Windows, and MacArtifact and lockfile scanning in major language ecosystems (Go, Java, Javascript, Python, Ruby, and much more)Vulnerabili +
23日前
記事のアイキャッチ画像
Google Cloud expands vulnerability detection for Artifact Registry using OSV
Google Online Security Blog
+Posted by Greg Mucci, Product Manager, Artifact Analysis, Oliver Chang, Senior Staff Engineering, OSV, and Charl de Nysschen, Product Manager OSVDevOps teams dedicated to securing their supply chain and predicting potential risks consistently face novel threats. Fortunately, they can now improve their image and container security by harnessing Google-grade vulnerability scanning, which offers expanded open-source coverage. A significant benefit of utilizing Google Cloud Platform is its integrated security tools, including Artifact Analysis. This scanning service leverages the same infrastructure that Google depends on to monitor vulnerabilities within its internal systems and software supply chains.Artifact Analysis has recently expanded its scanning coverage to eight additional language packages, four operating systems, and two extensively utilized base images, making it a more robust and versatile tool than ever before. This enhanced coverage was achieved by integrating Artifact Anal +
2ヶ月前
記事のアイキャッチ画像
Announcing the launch of Vanir: Open-source Security Patch Validation
Google Online Security Blog
+Posted by Hyunwook Baek, Duy Truong, Justin Dunlap and Lauren Stan from Android Security and Privacy, and Oliver Chang with the Google Open Source Security TeamToday, we are announcing the availability of Vanir, a new open-source security patch validation tool. Introduced at Android Bootcamp in April, Vanir gives Android platform developers the power to quickly and efficiently scan their custom platform code for missing security patches and identify applicable available patches. Vanir significantly accelerates patch validation by automating this process, allowing OEMs to ensure devices are protected with critical security updates much faster than traditional methods. This strengthens the security of the Android ecosystem, helping to keep Android users around the world safe. By open-sourcing Vanir, we aim to empower the broader security community to contribute to and benefit from this tool, enabling wider adoption and ultimately improving security across various ecosystems. While initia +
2ヶ月前
記事のアイキャッチ画像
Leveling Up Fuzzing: Finding more vulnerabilities with AI
Google Online Security Blog
+Posted by Oliver Chang, Dongge Liu and Jonathan Metzman, Google Open Source Security TeamRecently, OSS-Fuzz reported 26 new vulnerabilities to open source project maintainers, including one vulnerability in the critical OpenSSL library (CVE-2024-9143) that underpins much of internet infrastructure. The reports themselves aren’t unusual—we’ve reported and helped maintainers fix over 11,000 vulnerabilities in the 8 years of the project. But these particular vulnerabilities represent a milestone for automated vulnerability finding: each was found with AI, using AI-generated and enhanced fuzz targets. The OpenSSL CVE is one of the first vulnerabilities in a critical piece of software that was discovered by LLMs, adding another real-world example to a recent Google discovery of an exploitable stack buffer underflow in the widely used database engine SQLite.This blog post discusses the results and lessons over a year and a half of work to bring AI-powered fuzzing to this point, both in intro +
3ヶ月前
記事のアイキャッチ画像
Retrofitting spatial safety to hundreds of millions of lines of C++
Google Online Security Blog
+Posted by Alex Rebert and Max Shavrick, Security Foundations, and Kinuko Yasuda, Core DeveloperAttackers regularly exploit spatial memory safety vulnerabilities, which occur when code accesses a memory allocation outside of its intended bounds, to compromise systems and sensitive data. These vulnerabilities represent a major security risk to users. Based on an analysis of in-the-wild exploits tracked by Google's Project Zero, spatial safety vulnerabilities represent 40% of in-the-wild memory safety exploits over the past decade:Breakdown of memory safety CVEs exploited in the wild by vulnerability class.1Google is taking a comprehensive approach to memory safety. A key element of our strategy focuses on Safe Coding and using memory-safe languages in new code. This leads to an exponential decline in memory safety vulnerabilities and quickly improves the overall security posture of a codebase, as demonstrated by our post about Android's journey to memory safety.However, this transition w +
3ヶ月前
記事のアイキャッチ画像
Safer with Google: New intelligent, real-time protections on Android to keep you safe
Google Online Security Blog
+Posted by Lyubov Farafonova, Product Manager and Steve Kafka, Group Product Manager, AndroidUser safety is at the heart of everything we do at Google. Our mission to make technology helpful for everyone means building features that protect you while keeping your privacy top of mind. From Gmail’s defenses that stop more than 99.9% of spam, phishing and malware, to Google Messages’ advanced security that protects users from 2 billion suspicious messages a month and beyond, we're constantly developing and expanding protection features that help keep you safe.We're introducing two new real-time protection features that enhance your safety, all while safeguarding your privacy: Scam Detection in Phone by Google to protect you from scams and fraud, and Google Play Protect live threat detection with real-time alerts to protect you from malware and dangerous apps.These new security features are available first on Pixel, and are coming soon to more Android devices. More intelligent AI-powered pr +
3ヶ月前
記事のアイキャッチ画像
5 new protections on Google Messages to help keep you safe
Google Online Security Blog
+Posted by Jan Jedrzejowicz, Director of Product, Android and Business Communications; Alberto Pastor Nieto, Sr. Product Manager Google Messages and RCS Spam and Abuse; Stephan Somogyi, Product Lead, User Protection; Branden Archer, Software EngineerEvery day, over a billion people use Google Messages to communicate. That’s why we’ve made security a top priority, building in powerful on-device, AI-powered filters and advanced security that protects users from 2 billion suspicious messages a month. With end-to-end encrypted1 RCS conversations, you can communicate privately with other Google Messages RCS users. And we’re not stopping there. We're committed to constantly developing new controls and features to make your conversations on Google Messages even more secure and private.As part of cybersecurity awareness month, we're sharing five new protections to help keep you safe while using Google Messages on Android:Enhanced detection protects you from package delivery and job scams. Googl +
4ヶ月前
記事のアイキャッチ画像
Safer with Google: Advancing Memory Safety
Google Online Security Blog
+Posted by Alex Rebert, Security Foundations, and Chandler Carruth, Jen Engel, Andy Qin, Core DevelopersError-prone interactions between software and memory1 are widely understood to create safety issues in software. It is estimated that about 70% of severe vulnerabilities2 in memory-unsafe codebases are due to memory safety bugs. Malicious actors exploit these vulnerabilities and continue to create real-world harm. In 2023, Google’s threat intelligence teams conducted an industry-wide study and observed a close to all-time high number of vulnerabilities exploited in the wild. Our internal analysis estimates that 75% of CVEs used in zero-day exploits are memory safety vulnerabilities.At Google, we have been mindful of these issues for over two decades, and are on a journey to continue advancing the state of memory safety in the software we consume and produce. Our Secure by Design commitment emphasizes integrating security considerations, including robust memory safety practices, throug +
4ヶ月前
記事のアイキャッチ画像
Bringing new theft protection features to Android users around the world
Google Online Security Blog
+Posted by Jianing Sandra Guo, Product Manager and Nataliya Stanetsky, Staff Program Manager, Android97 phones are robbed or stolen every hour in Brazil. The GSM Association reports millions of devices stolen every year, and the numbers continue to grow. With our phones becoming increasingly central to storing sensitive data, like payment information and personal details, losing one can be an unsettling experience. That’s why we developed and thoroughly beta tested, a full suite of features designed to protect you and your data at every stage – before, during, and after device theft. These advanced theft protection features are now available to users around the world through Android 15 and a Google Play Services update (Android 10+ devices). AI-powered protection for your device the moment it is stolen Theft Detection Lock uses powerful AI to proactively protect you at the moment of a theft attempt. By using on-device machine learning, Theft Detection Lock is able to analyze various dev +
4ヶ月前
記事のアイキャッチ画像
Using Chrome's accessibility APIs to find security bugs
Google Online Security Blog
+Posted by Adrian Taylor, Security Engineer, Chrome .code { font-family: "Courier New", Courier, monospace; font-size: 11.8px; font-weight: bold; background-color: #f4f4f4; padding: 2px; border: 1px solid #ccc; border-radius: 2px; white-space: pre-wrap; display: inline-block; line-height: 12px;}.highlight { color: red;} Chrome’s user interface (UI) code is complex, and sometimes has bugs. Are those bugs security bugs? Specifically, if a user’s clicks and actions result in memory corruption, is that something that an attacker can exploit to harm that user?Our security severity guidelines say “yes, sometimes.” For example, an attacker could very likely convince a user to click an autofill prompt, but it will be much harder to convince the user to step through a whole flow of different dialogs.Even if these bugs aren’t the most easily exploitable, it takes a great deal of time for our security shepherds to make these determinations. User interface bugs are often flakey (that is, not reliab +
4ヶ月前
記事のアイキャッチ画像
Pixel's Proactive Approach to Security: Addressing Vulnerabilities in Cellular Modems
Google Online Security Blog
+Posted by Sherk Chung, Stephan Chen, Pixel team, and Roger Piqueras Jover, Ivan Lozano, Android teamPixel phones have earned a well-deserved reputation for being security-conscious. In this blog, we'll take a peek under the hood to see how Pixel mitigates common exploits on cellular basebands.Smartphones have become an integral part of our lives, but few of us think about the complex software that powers them, especially the cellular baseband – the processor on the device responsible for handling all cellular communication (such as LTE, 4G, and 5G). Most smartphones use cellular baseband processors with tight performance constraints, making security hardening difficult. Security researchers have increasingly exploited this attack vector and routinely demonstrated the possibility of exploiting basebands used in popular smartphones.The good news is that Pixel has been deploying security hardening mitigations in our basebands for years, and Pixel 9 represents the most hardened baseband we +
4ヶ月前
記事のアイキャッチ画像
Evaluating Mitigations & Vulnerabilities in Chrome
Google Online Security Blog
+Posted by Alex Gough, Chrome Security TeamThe Chrome Security Team is constantly striving to make it safer to browse the web. We invest in mechanisms to make classes of security bugs impossible, mitigations that make it more difficult to exploit a security bug, and sandboxing to reduce the capability exposed by an isolated security issue. When choosing where to invest it is helpful to consider how bad actors find and exploit vulnerabilities. In this post we discuss several axes along which to evaluate the potential harm to users from exploits, and how they apply to the Chrome browser.Historically the Chrome Security Team has made major investments and driven the web to be safer. We pioneered browser sandboxing, site isolation and the migration to an encrypted web. Today we’re investing in Rust for memory safety, hardening our existing C++ code-base, and improving detection with GWP-asan and lightweight use-after-free (UAF) detection. Considerations of user-harm and attack utility shape +
4ヶ月前
記事のアイキャッチ画像
Eliminating Memory Safety Vulnerabilities at the Source
Google Online Security Blog
+Posted by Jeff Vander Stoep - Android team, and Alex Rebert - Security FoundationsMemory safety vulnerabilities remain a pervasive threat to software security. At Google, we believe the path to eliminating this class of vulnerabilities at scale and building high-assurance software lies in Safe Coding, a secure-by-design approach that prioritizes transitioning to memory-safe languages.This post demonstrates why focusing on Safe Coding for new code quickly and counterintuitively reduces the overall security risk of a codebase, finally breaking through the stubbornly high plateau of memory safety vulnerabilities and starting an exponential decline, all while being scalable and cost-effective.We’ll also share updated data on how the percentage of memory safety vulnerabilities in Android dropped from 76% to 24% over 6 years as development shifted to memory safe languages.Counterintuitive results1 as new memory unsafe development slows down, and new memory safe development starts to take ove +
4ヶ月前
記事のアイキャッチ画像
Google & Arm - Raising The Bar on GPU Security
Google Online Security Blog
+Posted by Xuan Xing, Eugene Rodionov, Jon Bottarini, Adam Bacchus - Android Red Team; Amit Chaudhary, Lyndon Fawcett, Joseph Artgole - Arm Product Security TeamWho cares about GPUs?CVE-2023-4295, CVE-2023-21106, CVE-2021-0884, and more. Most exploitable GPU vulnerabilities are in the implementation of the GPU kernel mode modules. These modules are pieces of code that load/unload during runtime, extending functionality without the need to reboot the device.Proactive testing is good hygiene as it can lead to the detection and resolution of new vulnerabilities before they’re exploited. It’s also one of the most complex investigations to do as you don’t necessarily know where the vulnerability will appear (that’s the point!). By combining the expertise of Google’s engineers with IP owners and OEMs, we can ensure the Android ecosystem retains a strong measure of integrity. Why investigate GPUs?Functionality vs. Security Tradeoffs Nobody wants a slow, unresponsive device; any hits to GPU per +
4ヶ月前
記事のアイキャッチ画像
A new path for Kyber on the web
Google Online Security Blog
+Posted by David Adrian, David Benjamin, Bob Beck & Devon O'Brien, Chrome TeamWe previously posted about experimenting with a hybrid post-quantum key exchange, and enabling it for 100% of Chrome Desktop clients. The hybrid key exchange used both the pre-quantum X25519 algorithm, and the new post-quantum algorithm Kyber. At the time, the NIST standardization process for Kyber had not yet finished.Since then, the Kyber algorithm has been standardized with minor technical changes and renamed to the Module Lattice Key Encapsulation Mechanism (ML-KEM). We have implemented ML-KEM in Google’s cryptography library, BoringSSL, which allows for it to be deployed and utilized by services that depend on this library.The changes to the final version of ML-KEM make it incompatible with the previously deployed version of Kyber. As a result, the codepoint in TLS for hybrid post-quantum key exchange is changing from 0x6399 for Kyber768+X25519, to 0x11EC for ML-KEM768+X25519. To handle this, we will be m +
5ヶ月前
記事のアイキャッチ画像
Deploying Rust in Existing Firmware Codebases
Google Online Security Blog
+Posted by Ivan Lozano and Dominik Maier, Android Team Android's use of safe-by-design principles drives our adoption of memory-safe languages like Rust, making exploitation of the OS increasingly difficult with every release. To provide a secure foundation, we’re extending hardening and the use of memory-safe languages to low-level firmware (including in Trusty apps).In this blog post, we'll show you how to gradually introduce Rust into your existing firmware, prioritizing new code and the most security-critical code. You'll see how easy it is to boost security with drop-in Rust replacements, and we'll even demonstrate how the Rust toolchain can handle specialized bare-metal targets.Drop-in Rust replacements for C code are not a novel idea and have been used in other cases, such as librsvg’s adoption of Rust which involved replacing C functions with Rust functions in-place. We seek to demonstrate that this approach is viable for firmware, providing a path to memory-safety in an efficie +
5ヶ月前
記事のアイキャッチ画像
Private AI For All: Our End-To-End Approach to AI Privacy on Android
Google Online Security Blog
+Posted by Dave Kleidermacher, VP Engineering, Android Security and Privacy, and Giles Hogben, Senior Director, Privacy Engineering, AndroidYour smartphone holds a lot of your personal information to help you get things done every day. On Android, we are seamlessly integrating the latest artificial intelligence (AI) capabilities, like Gemini as a trusted assistant – capable of handling life's essential tasks. As such, ensuring your privacy and security on Android is paramount. As a pioneer in responsible AI and cutting-edge privacy technologies like Private Compute Core and federated learning, we made sure our approach to the assistant experience with Gemini on Android is aligned with our existing Secure AI framework, AI Principles and Privacy Principles. We’ve always safeguarded your data with an integrated stack of world-class secure infrastructure and technology, delivering end-to-end protection in a way that only Google can. From privacy on-device when handling sensitive data to the +
6ヶ月前
記事のアイキャッチ画像
Post-Quantum Cryptography: Standards and Progress
Google Online Security Blog
+Posted by Royal Hansen, VP, Privacy, Safety and Security Engineering, Google, and Phil Venables, VP, TI Security & CISO, Google CloudThe National Institute of Standards and Technology (NIST) just released three finalized standards for post-quantum cryptography (PQC) covering public key encapsulation and two forms of digital signatures. In progress since 2016, this achievement represents a major milestone towards standards development that will keep information on the Internet secure and confidential for many years to come. Here's a brief overview of what PQC is, how Google is using PQC, and how other organizations can adopt these new standards. You can also read more about PQC and Google's role in the standardization process in this 2022 post from Cloud CISO Phil Venables.What is PQC?quantum computers are still years away, but computer scientists have known for decades that a cryptographically relevant quantum computer (CRQC) could break existing forms of asymmetric key cryptography.PQ +
6ヶ月前
記事のアイキャッチ画像
Keeping your Android device safe from text message fraud
Google Online Security Blog
+Posted by Nataliya Stanetsky and Roger Piqueras Jover, Android Security & Privacy TeamCell-site simulators, also known as False Base Stations (FBS) or Stingrays, are radio devices that mimic real cell sites in order to lure mobile devices to connect to them. These devices are commonly used for security and privacy attacks, such as surveillance and interception of communications. In recent years, carriers have started reporting new types of abuse perpetrated with FBSs for the purposes of financial fraud.In particular, there is increasingly more evidence of the exploitation of weaknesses in cellular communication standards leveraging cell-site simulators to inject SMS phishing messages directly into smartphones. This method to inject messages entirely bypasses the carrier network, thus bypassing all the sophisticated network-based anti-spam and anti-fraud filters. Instances of this new type of fraud, which carriers refer to as SMS Blaster fraud, have been reported in Vietnam, France, Nor +
6ヶ月前
記事のアイキャッチ画像
Improving the security of Chrome cookies on Windows
Google Online Security Blog
+Posted by Will Harris, Chrome Security TeamCybercriminals using cookie theft infostealer malware continue to pose a risk to the safety and security of our users. We already have a number of initiatives in this area including Chrome’s download protection using Safe Browsing, Device Bound Session Credentials, and Google’s account-based threat detection to flag the use of stolen cookies. Today, we’re announcing another layer of protection to make Windows users safer from this type of malware.Like other software that needs to store secrets, Chrome currently secures sensitive data like cookies and passwords using the strongest techniques the OS makes available to us - on macOS this is the Keychain services, and on Linux we use a system provided wallet such as kwallet or gnome-libsecret. On Windows, Chrome uses the Data Protection API (DPAPI) which protects the data at rest from other users on the system or cold boot attacks. However, the DPAPI does not protect against malicious applications +
6ヶ月前
記事のアイキャッチ画像
Building security into the redesigned Chrome downloads experience
Google Online Security Blog
+Posted by Jasika Bawa, Lily Chen, and Daniel Rubery, Chrome SecurityLast year, we introduced a redesign of the Chrome downloads experience on desktop to make it easier for users to interact with recent downloads. At the time, we mentioned that the additional space and more flexible UI of the new Chrome downloads experience would give us new opportunities to make sure users stay safe when downloading files. Adding context and consistency to download warningsThe redesigned Chrome downloads experience gives us the opportunity to provide even more context when Chrome protects a user from a potentially malicious file. Taking advantage of the additional space available in the new downloads UI, we have replaced our previous warning messages with more detailed ones that convey more nuance about the nature of the danger and can help users make more informed decisions.Our legacy, space-constrained warning vs. our redesigned oneWe also made download warnings more understandable by introducing a t +
6ヶ月前
記事のアイキャッチ画像
Sustaining Digital Certificate Security - Entrust Certificate Distrust
Google Online Security Blog
+Posted by Chrome Root Program, Chrome Security TeamUpdate (09/10/2024): In support of more closely aligning Chrome’s planned compliance action with a major release milestone (i.e., M131), blocking action will now begin on November 12, 2024. This post has been updated to reflect the date change. Website operators who will be impacted by the upcoming change can explore continuity options offered by Entrust. Entrust has expressed its commitment to continuing to support customer needs, and is best positioned to describe the available options for website operators. Learn more at Entrust’s TLS Certificate Information Center. .code { font-family: "Courier New", Courier, monospace; font-size: 11.8px; font-weight: bold; background-color: #f4f4f4; padding: 10px; border: 1px solid #ccc; border-radius: 2px; white-space: pre-wrap; display: inline-block; line-height: 12px;}.highlight { color: red;} The Chrome Security Team prioritizes the security and privacy of Chrome’s users, and we are unwilling +
7ヶ月前
\ No newline at end of file diff --git a/blogs/868344cffc9c459c80b67fd53fb12270/index.html b/blogs/868344cffc9c459c80b67fd53fb12270/index.html new file mode 100644 index 000000000000..9f3d6eb4eec1 --- /dev/null +++ b/blogs/868344cffc9c459c80b67fd53fb12270/index.html @@ -0,0 +1,57 @@ +ClarityDev blog | RSS Feedのフィード|JSer.info Watch List RSS

ClarityDev blog | RSS Feed

https://claritydev.net

Front-end web developer. Based in Helsinki, Finland.

フィード

記事のアイキャッチ画像
Testing React Hook Form With React Testing Library
ClarityDev blog | RSS Feed
React Hook Form has emerged as a popular and efficient library for managing form state and validation in React applications. It simplifies handling form inputs, reduces boilerplate code, and provides a performant solution for form management. However, testing these forms efficiently and accurately is just as important as implementing them.
10ヶ月前
記事のアイキャッチ画像
Managing forms with React Hook Form
ClarityDev blog | RSS Feed
Working with forms in React is notoriously difficult, particularly when there are dynamic fields involved. There exist several libraries that make the whole process easier. One such library is React Hook Form. In this post, we talk about the basics of React Hook Form and learn how to use it to simplify form management in your React applications.
10ヶ月前
記事のアイキャッチ画像
Intersection Types in TypeScript
ClarityDev blog | RSS Feed
Intersection types provide a way of combining multiple types into one, enabling the creation of sophisticated type systems that can enhance the development workflow and maintainability of the code. This post explores the basics of intersection types in TypeScript and how they can be used to create more robust type systems.
1年前
記事のアイキャッチ画像
Working with Union Types in TypeScript
ClarityDev blog | RSS Feed
Union types in TypeScript offer a versatile way to define variables and functions that are intended to handle more than a single data type. This post will demonstrate how union types wor in TypeScript and will touch upon their declaration, usage in functions, and practical examples.
1年前
記事のアイキャッチ画像
+Best Practices for Writing Tests with React Testing Library
ClarityDev blog | RSS Feed
Properly written tests not only help prevent regressions and buggy code, but in the case of React Testing Library, they also improve the accessibility of components and the overall user experience. In this post, we'll explore how to get the most out of your React Testing Library tests. I'll provide a collection of what I consider to be best practices and tips on how to avoid common mistakes with React Testing Library.
1年前
記事のアイキャッチ画像
Mastering JavaScript Array Sorting: Array.prototype.sort() with Examples
ClarityDev blog | RSS Feed
Explore the Array.prototype.sort() method in JavaScript, learning how to handle various sorting scenarios, combine multiple sorting criteria, and manage limitations and caveats for effective array sorting in your applications.
1年前
記事のアイキャッチ画像
+Immutable Array Operations in JavaScript: Introducing toSorted, toSpliced, and toReversed
ClarityDev blog | RSS Feed
This blog post explores the new immutable array methods, such as Array.prototype.toSorted, Array.prototype.toSpliced, and Array.prototype.toReversed.
1年前
記事のアイキャッチ画像
Higher-Order Functions in JavaScript
ClarityDev blog | RSS Feed
+Higher-order functions are a powerful feature in JavaScript that enable the abstraction of control flows and data operations. This article explores the concept of higher-order functions, providing examples of their use in everyday coding.
1年前
記事のアイキャッチ画像
Understanding and Implementing Type Guards in TypeScript
ClarityDev blog | RSS Feed
+Type guards are a powerful feature in TypeScript that allows you to narrow down the type of an object within a certain scope. With type guards, you can perform specific checks to determine the type of an object and then use that object in a way that is type-safe according to the TypeScript compiler. In this post, we'll look into the concept of type guards, explore the different types of type guards that TypeScript offers, and learn how to use them in practical scenarios.
1年前
記事のアイキャッチ画像
+Creating Accessible Form Components with React
ClarityDev blog | RSS Feed
Learn how to create accessible form components with React to ensure that all users, including those with disabilities, can interact with your web applications.
1年前
記事のアイキャッチ画像
Beyond console.log: Debugging techniques in JavaScript
ClarityDev blog | RSS Feed
+Learn about alternative debugging techniques in JavaScript that can help you become a more efficient and effective developer.
1年前
記事のアイキャッチ画像
TypeScript's Infer Keyword: Unlocking Type Information
ClarityDev blog | RSS Feed
TypeScript's infer keyword is a powerful tool for extracting type information from other types. In this article, we'll explore how to use it to create more flexible and reusable type definitions.
+
1年前
記事のアイキャッチ画像
Getting Started with Template Literals in JavaScript
ClarityDev blog | RSS Feed
Template literals in JavaScript have reshaped the creation and usage of strings. This article provides an overview of template literals, explores advanced usage and features, discusses real-world applications, and outlines best practices for their effective use.
1年前
記事のアイキャッチ画像
Add Dynamic Sitemap to Next.js Website Using Pages or App Directory
ClarityDev blog | RSS Feed
In this post we will explore how to add a dynamic sitemap to a Next.js website using both the 'pages' and 'app' directories. A sitemap is a file that lists all the pages of a website and helps search engines understand the structure of the site. By the end of this post, you will have a fully functional dynamic sitemap for your Next.js website.
1年前
記事のアイキャッチ画像
Introduction to Type Inference in TypeScript
ClarityDev blog | RSS Feed
Type inference in TypeScript helps in determining variable or expression types based on its value when it's not explicitly specified. When TypeScript can infer the type of a variable, there is no need to annotate the variable with a type, which can make the code cleaner and easier to read.
1年前
記事のアイキャッチ画像
TypeScript Advanced Types: Working with conditional types
ClarityDev blog | RSS Feed
In this blog post, we'll look at conditional types, exploring how they work, where they are most effective, and some of the advanced patterns they enable. We'll also discuss best practices for using conditional types and consider their limitations.
1年前
記事のアイキャッチ画像
Error Handling and Defensive Programming with TypeScript
ClarityDev blog | RSS Feed
Learn how to handle errors and write more resilient code with TypeScript's type system and advanced features. Explore common error types, exception handling, defensive programming, and advanced error handling patterns.
1年前
記事のアイキャッチ画像
Unlocking the Power of TypeScript's Mapped Types
ClarityDev blog | RSS Feed
Mapped types in TypeScript are a powerful tool for creating new types based on existing ones. This post explores the core concepts of mapped types and demonstrates advanced use cases and best practices for working with them.
1年前
記事のアイキャッチ画像
Simplifying Form Rendering in React with Field Component Abstraction
ClarityDev blog | RSS Feed
Learn how to simplify form rendering in React by abstracting the field rendering logic into a reusable component.
1年前
記事のアイキャッチ画像
Understanding Controlled vs uncontrolled components in React
ClarityDev blog | RSS Feed
Controlled and uncontrolled components are fundamental concepts in React. This post explains the differences between the two and provides guidelines for choosing the right approach for various scenarios in React applications. We'll also explore how to transition between the two types of components and provide code examples to illustrate the concepts.
1年前
記事のアイキャッチ画像
Build a Multistep Form With React Hook Form
ClarityDev blog | RSS Feed
Multistep forms a.k.a. wizard or funnel forms have a wide range of uses. They are most common when collecting different types of information into one data structure but are also useful to break down very large forms into the less user-intimidating multistep process. In this post, we'll build a basic multistep registration form, which collects the user's info and then presents it in a confirmation view, which can be reviewed and edited before the submission.
1年前
記事のアイキャッチ画像
Using Generics in TypeScript: A Practical Guide
ClarityDev blog | RSS Feed
Generics in TypeScript are a powerful feature that, when used effectively, can greatly enhance your code's flexibility, reusability, and safety. By understanding their practical applications, mastering advanced techniques, and adhering to best practices, you will be well-equipped to harness the full potential of generics in your TypeScript projects.
1年前
記事のアイキャッチ画像
+React Hook Form: Working with multipart form data and file uploads
ClarityDev blog | RSS Feed
Learn how to handle file uploads and multipart form data in React applications using React Hook Form. This tutorial demonstrates adding file input fields, working with FormData API, and submitting form data.
1年前
記事のアイキャッチ画像
Build Dynamic Forms with React Hook Form
ClarityDev blog | RSS Feed
+Discover how to efficiently create scalable and maintainable dynamic forms for various configurations using React Hook Form. This guide explores practical strategies and code examples for rendering flexible form controls with streamlined validation in React applications.
1年前
記事のアイキャッチ画像
Continuously Deploying Next.js website to DigitalOcean using GitHub Actions
ClarityDev blog | RSS Feed
+In this post, we'll dive into the automation of a Next.js website deployment to DigitalOcean using GitHub Actions. We'll discuss what GitHub Actions are and how they can be utilized to continuously deploy modifications to a remote server. This approach reduces the requirement for manual intervention and minimizes downtime. By the conclusion of this post, you'll have a robust understanding of how to automate your deployment workflow and achieve faster, more reliable deployments with ease.
1年前
記事のアイキャッチ画像
+Build a Tic-Tac-Toe game with TypeScript, React and Minimax
ClarityDev blog | RSS Feed
In this tutorial, we will build a Tic-Tac-Toe game with TypeScript, React, React Hooks, and style it using the Styled Components library. Additionally, we'll use the Minimax algorithm to power the AI moves. The final code is available on both GitHub and CodeSandbox.
1年前
記事のアイキャッチ画像
Form Validation with React Hook Form
ClarityDev blog | RSS Feed +
Form validation is the process of checking the entered data against specific criteria before it is processed. This can include checking that a required field has been filled out, that an email address is in the correct format, or that a password meets specific complexity requirements. Among the numerous tools and libraries available for form validation in React, React Hook Form stands out as a robust, easy-to-use solution.
2年前
記事のアイキャッチ画像
+Drag-and-Drop File Upload Component with React and TypeScript
ClarityDev blog | RSS Feed
In this tutorial we'll walk through the steps required to build a file upload component in React, using TypeScript for additional type safety and robustness. The unique aspect of our approach is that we won't rely on any external libraries, giving you the fundamental knowledge and freedom to create and customize a file upload solution that fits your specific needs.
2年前
記事のアイキャッチ画像
TypeScript Template Literal Types: Practical Use-Cases for Improved Code Quality
ClarityDev blog | RSS Feed
Explore practical use-cases of TypeScript template literal types to enhance code safety and maintainability. Learn to leverage advanced type features for more expressive, robust, and easy-to-manage applications.
2年前
記事のアイキャッチ画像
Advanced String Manipulation with Tagged Templates in JavaScript
ClarityDev blog | RSS Feed
In this blog post, we will explore the basics of template literals and various use cases where they prove to be particularly useful. Then we'll dive into a more advanced form called tagged templates, which provide even greater control over string construction. By the end of this post, you'll have a solid understanding of how to leverage tagged templates for advanced string manipulation in your JavaScript code.
2年前
Diacritic-insensitive string comparison in JavaScript
ClarityDev blog | RSS Feed
This post discusses the diacritic-insensitive string comparisons in JavaScript. Learn how to enhance your array filtering by normalizing strings, understand the nuances of Unicode characters, and explore practical considerations and potential performance impacts of this approach.
2年前
記事のアイキャッチ画像
Mocking the window object in Jest tests
ClarityDev blog | RSS Feed
In this article, we'll explore the best practices for mocking the window object in Jest, using a simple function that retrieves a language code from a page URL as an example.
2年前
記事のアイキャッチ画像
Typing React context in TypeScript
ClarityDev blog | RSS Feed
In this article, we'll see how to type React context in TypeScript. We explore the process of creating a theme context supporting dark and light themes, addressing type-related challenges along the way.
2年前
記事のアイキャッチ画像
Testing Select components with React Testing Library
ClarityDev blog | RSS Feed
+Learn how to test Select components with React Testing Library, including native selects, synchronous and asynchronous react-select components, and best practices for accessibility. Explore code examples and tips for testing custom select components in React.
2年前
記事のアイキャッチ画像
What is NaN: A deeper dive into JavaScript's implementation of the IEEE-754 floating point standard
ClarityDev blog | RSS Feed
+NaN, or 'Not a Number', is a special value in JavaScript and TypeScript (as well as many other programming languages) that represents an undefined or unrepresentable value resulting from an arithmetic operation. It is often used as a placeholder for a missing numerical value or as a way to signify an error. However, what is the type of NaN in JavaScript?
2年前
記事のアイキャッチ画像
Productivity Benefits of Integrating ChatGPT into the Front-End Development Process
+ClarityDev blog | RSS Feed
Boost your web development productivity with ChatGPT. Learn how to leverage its features for code generation, debugging, optimization, and more in TypeScript and JavaScript projects.
2年前
記事のアイキャッチ画像
Display Warning for Unsaved Form Data on Page Exit
ClarityDev blog | RSS Feed
+This article shows how to implement a FormPrompt component that alerts users when they attempt to leave a page with unsaved changes. It discusses handling such scenarios using pure JavaScript with the beforeunload event, as well as React-specific solutions using the Prompt component in React Router v5 and the useBeforeUnload and unstable_useBlocker hooks in React Router v6.
2年前
記事のアイキャッチ画像
Advanced Multistep Forms with React Hook Form
ClarityDev blog | RSS Feed
+In a previous post, we built a basic multistep registration form using React and React Hook Form. In this article, we'll expand upon that foundation by implementing improvements, such as enabling data saving during step navigation and enhancing the visual representation of each step's state.
2年前
記事のアイキャッチ画像
The most common mistakes when using React
ClarityDev blog | RSS Feed
+Discover common React mistakes that developers make when using hooks, managing state, and rendering components. Learn how to identify and fix these mistakes to improve your application's performance and maintainability.
2年前
記事のアイキャッチ画像
Tips on becoming a self-taught developer
ClarityDev blog | RSS Feed
+Lately, I have been asked increasingly often for some tips on how to become a self-taught developer, so I thought I'd write a post about it, reflecting on my experience and pointing out the things I'd do differently. In this article, I'll try to give general advice on how to improve for those considering or maybe already on the way to becoming self-taught software developers. It should be noted that the focus of the post is on front-end development since that's what I did; however, a majority of the advice can be applied to becoming a software engineer, irrespective of focus.
2年前
記事のアイキャッチ画像
Simplifying Connected Props with Redux and TypeScript
ClarityDev blog | RSS Feed
Learn how to simplify connected props with Redux and TypeScript by using the ConnectedProps helper type. In this article, we'll walk through a concrete example and show you how to automatically infer the types of connected props from mapStateToProps and mapDispatchToProps. This will help you avoid manual type declaration and improve the maintainability of your app.
2年前
記事のアイキャッチ画像
Add a blog to your Django website
ClarityDev blog | RSS Feed
Learn how to seamlessly integrate a fully functional and customizable blog into your existing Django website with this step-by-step tutorial, covering CRUD functionality, views, templates, and more.
2年前
記事のアイキャッチ画像
TypeScript: Typing form events in React
ClarityDev blog | RSS Feed
Handling events in React is very close to how the events on DOM elements are handled. The biggest difference is, however, that React wraps the native DOM events into SyntheticEvent, making them behave slightly differently than the native events. Consequently, typing form events in React is not the same as native events. In this post, we'll see how to type form events in React on the example of a simple component as well as discuss the most common pitfalls.
2年前
記事のアイキャッチ画像
TypeScript: Typing React useRef hook
ClarityDev blog | RSS Feed
Discover how to effectively type the useRef hook in TypeScript for React applications that require imperative DOM manipulation. Learn best practices, common pitfalls, and practical examples, such as controlling the focus state of an input element.
2年前
記事のアイキャッチ画像
Removing duplicates with Map in JavaScript
ClarityDev blog | RSS Feed
Removing duplicate items from an array using Set is a common practice in JavaScript. However, what's less well-known is that the Map data structure can also be used for this purpose. The reason is that Map maintains key uniqueness, which means that there can't be more than one key-value pair with the same key.
2年前
記事のアイキャッチ画像
Simplifying code with Maps in JavaScript and React
+ClarityDev blog | RSS Feed
The Map data structure is a relatively lesser-known addition of ES6 to the JavaScript language. It offers several advantages over objects, particularly when it comes to storing collections of key-value pairs. One interesting use case of Map is simplifying React components that render different JSX based on frequently changing state variables.
2年前
記事のアイキャッチ画像
Testing Firestore locally with Firebase emulators
+ClarityDev blog | RSS Feed
Running Firestore operations on a local database is an essential aspect of efficient Firebase development. In this tutorial, we'll guide you through the process of setting up and testing Firestore operations using a Firestore local database with the help of Firebase Emulator.
2年前
記事のアイキャッチ画像
Create an interactive table of contents for a Next.js blog with Remark
ClarityDev blog | RSS Feed
A well-organized and easily navigable table of contents significantly enhances the user experience, simplifying the process for readers to find the information they need. In this post, we'll go through the necessary steps to create an interactive table of contents for a Next.js blog using Remark, a powerful Markdown processor.
2年前
記事のアイキャッチ画像
Optimize Redux Development: Simplify Boilerplate Creation with Code Generators and Plop.js
+ClarityDev blog | RSS Feed
Many developers seek ways to simplify their Redux development workflow and improve efficiency. In this article, we'll explore how to speed up your Redux development by automating the process of scaffolding boilerplate code with Plop.js code generators. We'll cover the best practices for using Plop.js in your Redux projects, how it can help you reduce boilerplate, and streamline your development process.
2年前
記事のアイキャッチ画像
+Speed up your React developer workflow with Plop.js code generators
ClarityDev blog | RSS Feed
As React developers, we often find ourselves setting up new components, connecting them with the existing infrastructure, or scaffolding applications. That's a lot of repetitive manual work, which even though doesn't happen that often, can be quite tedious and frankly, boring. Fortunately, there is a solution that can help us to automate this process and save time: JavaScript code generators.
2年前
記事のアイキャッチ画像
Copy to clipboard button in MDX with Next.js and Rehype Pretty Code
ClarityDev blog | RSS Feed
This tutorial will guide you on how to create a 'copy to clipboard' button for the code snippets processed with Rehype Pretty Code plugin for syntax highlighting in Next.js. We'll be using Next.js 13+ with the 'app' directory enabled. By the end of this post, you'll be able to streamline code sharing and enhance the user experience on your Next.js website. In fact, this blog uses the exact functionality we'll be creating, so you can see the end result in action.
2年前
記事のアイキャッチ画像
Enzyme vs React Testing Library: A migration guide
ClarityDev blog | RSS Feed
This blog post provides a basic comparison of both libraries and presents a migration guide based on code samples from each library. We'll write tests for the Tic-Tac-Toe game from an earlier post using Enzyme and then transform them into React Testing Library tests.
2年前
記事のアイキャッチ画像
Building component library with Docz and Lerna
ClarityDev blog | RSS Feed
Component libraries are all the rage these days, with many companies rolling out their own solutions or sticking to a bunch of open source alternatives. Leveraging a component library for UI development, particularly in large teams, has a lot of cool benefits. It allows to take full advantage of modular and reusable UI components, which brings increased speed of development and unifies styles across multiple teams and apps.
5年前
\ No newline at end of file diff --git a/blogs/890ac2d75c275e30bc9f87bf1a2da220/index.html b/blogs/890ac2d75c275e30bc9f87bf1a2da220/index.html new file mode 100644 index 000000000000..8315f2ddbff2 --- /dev/null +++ b/blogs/890ac2d75c275e30bc9f87bf1a2da220/index.html @@ -0,0 +1,13 @@ +WebKitのフィード|JSer.info Watch List RSS

WebKit

https://www.webkit.org

Open Source Web Browser Engine

フィード

記事のアイキャッチ画像
WebKit Features in Safari 18.3
WebKit
Today marks the arrival of Safari 18.3.
12日前
記事のアイキャッチ画像
Release Notes for Safari Technology Preview 212
WebKit
+Safari Technology Preview Release 212 is now available for download for macOS Sequoia and macOS Sonoma.
15日前
記事のアイキャッチ画像
The success of Interop 2024!
WebKit
With close of 2024 came the end of another year of the Interop project — the annual collaboration between browser engine teams to improve the interoperability of web technology by collectively focusing on fixing bugs and improving features in specific areas.
25日前
記事のアイキャッチ画像
Release Notes for Safari Technology Preview 211
WebKit
Safari Technology Preview Release 211 is now available for download for macOS Sequoia and macOS Sonoma.
25日前
記事のアイキャッチ画像
Release Notes for Safari Technology Preview 210
WebKit
Safari Technology Preview Release 210 is now available for download for macOS Sequoia and macOS Sonoma.
2ヶ月前
記事のアイキャッチ画像
WebKit Features in Safari 18.2
+WebKit
Today marks the arrival of Safari 18.2.
2ヶ月前
記事のアイキャッチ画像
Release Notes for Safari Technology Preview 209
WebKit
Safari Technology Preview Release 209 is now available for download for macOS Sequoia and macOS Sonoma.
2ヶ月前
記事のアイキャッチ画像
Release Notes for Safari Technology Preview 208
WebKit
Safari Technology Preview Release 208 is now available for download for macOS Sequoia and macOS Sonoma.
3ヶ月前
記事のアイキャッチ画像
Make creative borders with background-clip border-area
WebKit
How’d you like to use CSS to easily create a border from an image or gradient?
3ヶ月前
記事のアイキャッチ画像
Release Notes for Safari Technology Preview 207
WebKit
+Safari Technology Preview Release 207 is now available for download for macOS Sequoia and macOS Sonoma.
3ヶ月前
\ No newline at end of file diff --git a/blogs/8ae3b21c7a1dbc75037de9d862fffe86/index.html b/blogs/8ae3b21c7a1dbc75037de9d862fffe86/index.html new file mode 100644 index 000000000000..ecafe6803563 --- /dev/null +++ b/blogs/8ae3b21c7a1dbc75037de9d862fffe86/index.html @@ -0,0 +1,54 @@ +MUI - Blogのフィード|JSer.info Watch List RSS

MUI - Blog

https://mui.com/blog

Follow the MUI blog to learn about new product features, latest advancements in UI development, and business initiatives.

フィード

Material UI 2024 end-of-year updates
MUI - Blog
Recapping our biggest accomplishments for Material UI this year; plus, a look at what's to come in 2025.
2ヶ月前
記事のアイキャッチ画像
The road to MUI X v8
MUI - Blog
+Explore the planned features and our roadmap to the next major version.
3ヶ月前
記事のアイキャッチ画像
Material UI v6 is out now 🎉
MUI - Blog
Material UI v6 is now stable. It comes with new features, improvements, and an experimental integration for static CSS extraction.
5ヶ月前
記事のアイキャッチ画像
Upcoming changes to MUI X pricing in 2024
MUI - Blog
Check out the new pricing updates and how to transition to the new model.
6ヶ月前
記事のアイキャッチ画像
A preview of Pigment CSS: the next generation of CSS-in-JS
MUI - Blog
+Pigment CSS offers significant performance gains along with RSC and App Router support.
9ヶ月前
記事のアイキャッチ画像
Material UI Sync: a Figma plugin that exports theme code
MUI - Blog
Enable designers to generate production-ready code directly from the Material UI Figma Design Kit.
9ヶ月前
記事のアイキャッチ画像
Introducing MUI X v7
MUI - Blog
Check out all the newest additions to the next major of the advanced components.
1年前
記事のアイキャッチ画像
MUI scoops the win in renowned Remote Excellence Awards
MUI - Blog
+We're delighted to be honored with this global recognition for our commitment to fostering excellence in remote work.
1年前
記事のアイキャッチ画像
Bringing consistency to Material UI customization APIs
MUI - Blog
We're standardizing two key areas of the Material UI customization APIs to reduce complexity and cognitive overhead. Read on to learn what's changing.
1年前
+
記事のアイキャッチ画像
How does MUI use Toolpad?
MUI - Blog
Explore how we use Toolpad for production use cases at MUI.
1年前
記事のアイキャッチ画像
An exciting year ahead for Base UI
MUI - Blog
The unstyled component library will get a stable release, lots of new components, and even better DX in 2024.
1年前
記事のアイキャッチ画像
MUI X v7 is now in beta
MUI - Blog
Check out what's new and what's next for v7 stable.
1年前
記事のアイキャッチ画像
The road to Material UI v6 and beyond
MUI - Blog
We're tightening up the Material UI release schedule and shipping two major versions in 2024. Here's what to expect.
1年前
記事のアイキャッチ画像
Together Week lands in Phuket, Thailand
MUI - Blog +
The latest team retreat left MUIers feeling more connected and invigorated than ever. Here's how it went down.
1年前
記事のアイキャッチ画像
MUI X v6.18.0 and the latest features before the next major
MUI - Blog
New components, polished features, better performance and more.
1年前
記事のアイキャッチ画像
Evolving MUI's core values and behaviors
MUI - Blog
After significant growth, we united as a team to rediscover the values that underpin our shared success.
1年前
記事のアイキャッチ画像
The Tree View is moving to MUI X
MUI - Blog
Migrate to the new package to start building with our powerful Tree View, now part of MUI X. Previously released MIT components will stay MIT.
1年前
記事のアイキャッチ画像
MUI X v6.11.0. A roundup of all new features
MUI - Blog
Support for time zones, Charts in alpha, Data Grid filtering, and more.
1年前
+記事のアイキャッチ画像
MUI is now on Discord!
MUI - Blog
Come join our community to engage in lively discussions, share your projects, and interact with the MUI team.
2年前
記事のアイキャッチ画像
Introducing Toolpad: MUI's low-code admin builder
MUI - Blog +
Assemble admin panels and internal tools faster than ever before with Toolpad—now in beta.
2年前
記事のアイキャッチ画像
MUI Core libraries support the Next.js App Router
MUI - Blog
Material UI, Base UI, and Joy UI are now compatible with the App Router as Client Components. Get started using the latest Next.js features with MUI!
2年前
記事のアイキャッチ画像
MUI's team retreat in Chamonix
MUI - Blog
The MUI team spent five days in the French Alps team-building, problem-solving, and brainstorming. Read all about it!
2年前
記事のアイキャッチ画像
Introducing MUI X v6
MUI - Blog
+
Introducing the new major version of the advanced components.
2年前
記事のアイキャッチ画像
Date and Time Pickers revamped
MUI - Blog
Check out the new features coming in v6 beta.
2年前
記事のアイキャッチ画像
An introduction to the MUI ecosystem
MUI - Blog
MUI is more than just Material UI. Consider Joy UI, Base UI, MUI X, and Toolpad for your next project.
2年前
記事のアイキャッチ画像
A major update is coming for MUI X—and you can get involved
MUI - Blog
+Let us know what you want to see in MUI X v6 as we begin the alpha phase of development.
2年前
記事のアイキャッチ画像
The MUI X Date and Time Pickers get a stable v5 release
MUI - Blog
Migrate to the latest version for improved DX, customizability, and API consistency.
2年前
記事のアイキャッチ画像
Introducing Base UI: the headless alternative to Material UI
MUI - Blog
The Base UI component library gives you complete control over the look and feel of your app.
2年前
記事のアイキャッチ画像
Strategies for building customizable components
MUI - Blog
Explore the tradeoffs between different customization techniques, and how we landed on our strategy at MUI.
2年前
記事のアイキャッチ画像
Build layouts faster with the new Grid component
MUI - Blog
The new Grid v2 features simplified logic, support for offsetting and nested grids, and more.
2年前
記事のアイキャッチ画像
Aggregate data like in Excel, but easier!
MUI - Blog
Aggregation functions and summary rows are now available in the MUI X Premium Data Grid.
3年前
記事のアイキャッチ画像
MUI's company retreat in Tenerife: a recap
MUI - Blog
Our internationally distributed startup gathered on a remote island to get to know each other better. Here's what happened!
3年前
記事のアイキャッチ画像
Why you should migrate to Material UI v5 today
MUI - Blog
We have completely revamped our Migration guide to reduce friction when upgrading to v5. Get started now!
3年前
記事のアイキャッチ画像
First look at Joy UI 🥳
MUI - Blog
A sneak peek at MUI's new starting point for your design system.
3年前
記事のアイキャッチ画像
Premium passengers, please proceed to the boarding gate 🚀
MUI - Blog
Introducing the MUI X Premium plan, and a new licensing model.
3年前
記事のアイキャッチ画像
Our docs just got a major upgrade—here's what that means for you
MUI - Blog
Each of MUI's products now has its own dedicated documentation, making it easier than ever to find exactly what you need.
3年前
記事のアイキャッチ画像
Date and Time Pickers are moving to MUI X
MUI - Blog
Migrate to the new package to start building with our powerful Date and Time Pickers, now part of MUI X. Previously released MIT components will stay MIT.
3年前
記事のアイキャッチ画像
The 2021 MUI Developer Survey: here's what we discovered
MUI - Blog
Your feedback helps us to build better products. Here's what we learned about your needs in our annual survey.
3年前
記事のアイキャッチ画像
Introducing callback support in style overrides
MUI - Blog
+We're excited to introduce callback support for global theme overrides in this minor version update!
3年前
記事のアイキャッチ画像
Give your users more freedom with Data Grid row grouping
MUI - Blog
The new row grouping feature gives your users more customization options for organizing their data.
3年前
記事のアイキャッチ画像
2021 in review and beyond
MUI - Blog
2021 has been another great year, not only for MUI but also for the ecosystem.
3年前
記事のアイキャッチ画像
Introducing MUI X v5
MUI - Blog
We are excited to introduce MUI X v5.0.0!
3年前
記事のアイキャッチ画像
Benny Joo joins MUI
MUI - Blog
We are excited to share that Benny Joo has joined MUI. He has started last month full-time and is now a Junior Software Engineer in the Core team.
3年前
記事のアイキャッチ画像
Q3 2021 Update
MUI - Blog
An update on our mission for Q3 2021.
3年前
記事のアイキャッチ画像
Material-UI is now Material UI!
MUI - Blog
Starting today, we are evolving our brand identity. We are clarifying the difference between our company and our products.
3年前
+記事のアイキャッチ画像
Introducing MUI Core v5
MUI - Blog
After over 400 days of development and over 40 canary releases, we are excited to introduce MUI Core v5.0.0!
3年前
記事のアイキャッチ画像
Danilo Leal joins MUI
+MUI - Blog
We are excited to share that Danilo Leal has joined MUI.
4年前
記事のアイキャッチ画像
Q2 2021 Update
MUI - Blog
An update on our mission for Q2 2021.
4年前
記事のアイキャッチ画像
Michał Dudak joins MUI
MUI - Blog
We are excited to share that Michał Dudak has joined MUI.
4年前
記事のアイキャッチ画像
Siriwat Kunaporn joins MUI
MUI - Blog
We are excited to share that Siriwat Kunaporn has joined MUI.
4年前
記事のアイキャッチ画像
Q1 2021 Update
MUI - Blog
An update on our mission for Q1 2021.
4年前
記事のアイキャッチ画像
Matheus Wichman joins MUI
MUI - Blog
We are excited to share that Matheus Wichman has joined MUI.
4年前
記事のアイキャッチ画像
2020 in review and beyond
MUI - Blog
2020 has been another great year, not only for MUI, but also for the ecosystem.
4年前
記事のアイキャッチ画像
Danail Hadjiatanasov joins MUI
MUI - Blog
We are excited to share that Danail Hadjiatanasov has joined MUI as part of the enterprise team. This was his first full-time week.
4年前
記事のアイキャッチ画像
Q3 2020 Update
MUI - Blog
An update on our mission for Q3 2020.
4年前 +
記事のアイキャッチ画像
Marija Najdova joins MUI
MUI - Blog
We are excited to share that Marija Najdova has joined MUI. She has started this week full-time and is now part of the community team.
4年前
記事のアイキャッチ画像
A spotlight on Damien Tassone joining the team
MUI - Blog
Damien Tassone has joined MUI. He's the first full-time member to focus on enterprise components.
4年前
記事のアイキャッチ画像
Q2 2020 Update
MUI - Blog
An update on our mission for Q2 2020.
5年前
記事のアイキャッチ画像
The 2020 Material UI Developer Survey: here's what we discovered
MUI - Blog
Your feedback helps us to build better products. Here's what we learned about your needs in our annual survey.
5年前
記事のアイキャッチ画像
Q1 2020 Update
MUI - Blog
An update on our mission for Q1 2020.
5年前
記事のアイキャッチ画像
Introducing Material UI for Sketch
MUI - Blog
Today, we're excited to announce the introduction of official Sketch symbols for Material UI.
5年前
記事のアイキャッチ画像
2019 in review and beyond
MUI - Blog
2019 was a great year for Material UI. It puts us on an exciting path to solve even greater challenges in the coming years!
5年前
記事のアイキャッチ画像
December 2019 Update
MUI - Blog
+Here are the most significant improvements in December.
5年前
記事のアイキャッチ画像
November 2019 Update
MUI - Blog
Here are the most significant improvements in November.
5年前
記事のアイキャッチ画像
October 2019 Update
MUI - Blog
Here are the most significant improvements in October.
5年前
記事のアイキャッチ画像
September 2019 Update
MUI - Blog
Here are the most significant improvements in September.
5年前
記事のアイキャッチ画像
August 2019 Update
MUI - Blog
Here are the most significant improvements in August.
5年前
記事のアイキャッチ画像
July 2019 Update
MUI - Blog
+Here are the most significant improvements in July.
6年前
記事のアイキャッチ画像
June 2019 Update
MUI - Blog
Here are the most significant improvements in June.
6年前
記事のアイキャッチ画像
May 2019 Update
MUI - Blog
Here are the most significant improvements in May.
6年前
記事のアイキャッチ画像
Material UI v4 is out 🎉
MUI - Blog
Material UI v4 has finally arrived. We are so excited about this release, as it defines better foundations for the UI components.
6年前
記事のアイキャッチ画像
April 2019 Update
MUI - Blog
Here are the most significant improvements in April.
6年前
記事のアイキャッチ画像
March 2019 Update
MUI - Blog
+Here are the most significant improvements in March.
6年前
記事のアイキャッチ画像
The 2019 Material UI Developer Survey: here's what we discovered
MUI - Blog
Your feedback helps us to build better products. Here's what we learned about your needs in our annual survey.
6年前
記事のアイキャッチ画像
Material UI v1 is out 🎉
MUI - Blog
It has taken us two years to do it, but Material UI v1 has finally arrived!
7年前
\ No newline at end of file diff --git a/blogs/8c1556bc36e7c9e8f0c6c32aa56525d8/index.html b/blogs/8c1556bc36e7c9e8f0c6c32aa56525d8/index.html new file mode 100644 index 000000000000..448881dcc76c --- /dev/null +++ b/blogs/8c1556bc36e7c9e8f0c6c32aa56525d8/index.html @@ -0,0 +1,35 @@ +Days on the Moonのフィード|JSer.info Watch List RSS

Days on the Moon

フィード

記事のアイキャッチ画像
JavaScriptの識別子に中黒が使えるようになった
Days on the Moon
+JavaScriptの識別子(変数名、関数名、プロパティ名など)の2文字目以降に中黒「・」(U+30FB KATAKANA MIDDLE DOT)が使えるようになりました。以下のコードはChrome 124では構文エラーになりますが、Chrome 125では問題なく実行できます。const シン・ゴジラ = 2016;JavaScriptの識別子中黒が使えるようになったのは、JavaScript(ECMAScript)の仕様が変わったからではありません。変わったのはUnicodeの仕様のほうです。Unicode 15.1.0(2023年9月)においてOther_ID_Continueプロパティ(を持つ文字の集まり)に中黒が追加されました。そもそもJavaScriptの識別子に使える文字は、Unicodeを参照して定義されています。ECMAScript 2023(2023年6月)では以下のようになっています。識別子の1文字目に使える文字 UnicodeのID_Startプロパティを持つ文字 $(U+0024 DOLLAR SIGN) _(U+005F LOW LINE) 識別子の2文字目以降に使える文字 UnicodeのID_Continueプロパティを持つ文字 $(U+0024 DOLLAR SIGN) ゼロ幅非接合子(U+200C ZERO WIDTH NON-JOINER) ゼロ幅接合子(U+200D ZERO WIDTH JOINER) (いわゆるアンダースコア「_」はID_Continueプロパティを持つため、2文字目以降にも使えます。)Unicodeの仕様も毎年のように改定されますが、ECMAScript仕様ではUnicodeの「最新バージョン」が参照されています。Unicodeの識別子UnicodeのID_Start、ID_Continueプロパティは、各種の「識別子」に使える文字として推奨されるものを表しており、UAX #31 Unicode Identifiers and Syntaxで以下の文字を含むものとして定義されています。ID_Startプロパティ 一般カテゴリがLetterである文字 一般カテゴリがLetter_Numberである文字 Other_ID_Startプロパティを持つ文字 ただしPattern_SyntaxプロパティまたはPat +
8ヶ月前
記事のアイキャッチ画像
CSSでチェックボックスやラジオボタンをカスタマイズする 2024年版
Days on the Moon
+HTMLのチェックボックス(<input type="checkbox">)やラジオボタン(<input type="radio">)をCSSで装飾したいというのはよく聞く話です。2024年現在は、HTMLの記述は簡単なまま、CSSで自由度の高い装飾も実現できるようになっています。結論従来の手法appearanceプロパティを使う手法外枠の配置未チェックとチェック済みの切り替え強制カラーモードへの対応 透明なボーダーやアウトライン 内向きの影や背景グラデーション 画像やテキスト ブラウザ組み込みの外観 状態に応じたスタイルの指定参考文献結論単に色調を整えられればよいという場合は、accent-colorプロパティを使います。input[type="checkbox"], input[type="radio"] { accent-color: #d31;} くだもの やさい りんご みかん Windows 11 Firefox Nightly 128.0a1での表示accent-colorプロパティは継承するので、body要素などに指定してその子孫のフォームコントロールに一律に適用することもできます。自由に装飾したい場合は、input要素にappearance: noneを指定したうえで、未チェック状態とチェック済み状態のスタイルを指定していきます。::before、::after疑似要素も使えます。input[type="checkbox"] { -webkit-appearance: none; /* Safari 15.3以下のため */ appearance: none; border: thin solid;}input[type="checkbox"]::before { content: '✔'; visibility: hidden;}input[type="checkbox"]:checked::before { visibility: visible;} くだもの やさい Windows 11 Firefox Nightly 128.0a1での表示従来の手法これまでチェックボックスやラジオボタンをCSSで装飾したい場合は、input要素自身ではなくその直後に置いたspan要素やlabel要素を装飾するのが一般的でした。<label> <input +
8ヶ月前
記事のアイキャッチ画像
Perlのレキシカルサブルーチンとperlcritic
Days on the Moon
+この記事はPerl Advent Calendar 2022の21日目の分です。Perlでは、関数内で定義した関数も外部から見えてしまいます。use feature 'say';sub foo { sub bar { say 'bar'; } bar();}# foo関数の外でもbar関数を呼び出せる。bar();特定のスコープでのみ参照できる関数を定義したいときは、関数定義をsubではなくmy sub(またはstate sub)から始めます。この機能はレキシカルサブルーチン(lexical subroutines)と呼ばれます。use feature 'say';sub foo { my sub bar { say 'bar'; } bar();}# 未定義の関数呼び出しによる例外が発生する。bar();ちょっとした処理をまとめるのに便利なレキシカルサブルーチンですが、perlcriticとの組み合わせに難がありました。レキシカルサブルーチンを使ったコードをperlcriticにかけると、Subroutines::ProhibitNestedSubsポリシーとSubroutines::ProhibitBuiltinHomonymsポリシーのエラーが出てしまうのです。(perlcriticはPerl向けのリンターです。詳しくは「perlcriticとのつきあい方 - 私が歌川です」などを参照してください。)Subroutines::ProhibitNestedSubsポリシーは関数の入れ子を禁止します。入れ子の内側の関数が意図せず外部に公開されるのを避けるためのものなので、もともと外部に公開されないレキシカルサブルーチンに対しては禁止する意味がありません。Subroutines::ProhibitBuiltinHomonymsポリシーは組み込み関数と同名の関数を禁止します。perlcriticの内部で使われるで使われるPPIモジュールの不具合により、レキシカルサブルーチンの名前は常にsubであるとみなされていました。これらの問題を解決するため、昨年perlcriticとPPIに以下のプルリクエストを提出しました。Allow lexical subroutines to be inside subroutines by nanto · Pull Request #97 +
2年前
記事のアイキャッチ画像
CSSのconic-gradientで直線的な模様を作る
Days on the Moon
+この記事はCSS Advent Calendar 2022の19日目の分です。CSSのconic-gradient(扇形グラデーション)関数を使うと、円グラフや集中線のような表現ができます。ここであえて扇形の中心角の部分に注目し、直線的な模様を作ってみることはできないでしょうか? いくつか試してみました。例例1. 二重のボーダー「二重のボーダー」のデモ「二重のボーダー」のCSSコードp { --outer-border-width: 1em; --inner-border-width: 1em; --outer-border-top-left-color: #1bf; --inner-border-top-left-color: #35b; --inner-border-bottom-right-color: #dc6; --outer-border-bottom-right-color: #3a8; margin: 0; padding: 1em; border: calc(var(--outer-border-width) + var(--inner-border-width)) solid transparent; background: conic-gradient(from 180deg at var(--outer-border-width) var(--outer-border-width), var(--outer-border-top-left-color) 270deg, transparent 270deg) no-repeat border-box 0 0 / calc(100% - var(--outer-border-width)) 100%, conic-gradient(from 180deg at var(--inner-border-width) var(--inner-border-width), var(--inner-border-top-left-color) 270deg, transparent 270deg) no-repeat border-box var(--outer-border-width) var(--outer-border-width) / calc(100% - 2 * var(--outer-bo +
2年前
記事のアイキャッチ画像
CSSの絶対配置の要素の静的位置矩形
Days on the Moon
+この記事はCSS Advent Calendar 2022の11日目の分です。CSSでpositoin: absolute(絶対配置)の要素の位置を指定するときには、top、left、right、bottomプロパティ(またはこれらを一括指定するinsetプロパティ)がよく使われます。もし絶対配置の要素にそれらのプロパティが指定されていなかったら、その要素の位置はどこになるでしょうか?その場合、絶対配置の要素は原則として「その要素がpositoin: static(静的配置)だった場合の位置(静的位置矩形; static-position rectangle)」に置かれます。絶対配置の要素の親要素がインライン要素だった場合、絶対配置の要素自身がdisplay: inline(インライン要素)かdisplay: block(ブロック要素)かによって位置が異なってくることになります(インライン要素の子要素が絶対配置のときのデモ)。この挙動をうまく利用すれば、絶対配置の要素の親要素にposition: relativeをつけて回らなくても、絶対配置の要素を期待する位置に置けることがあります。その場合、細かな位置の調整にinsetプロパティなどを使うことはできないので、transform: translate(...)やmarginプロパティを使うことになります。フレックスアイテムが絶対配置のとき「原則として」というからには例外もあります。絶対配置のフレックスアイテムでinsetプロパティなどが指定されていないものは、フレックスコンテナの位置に置かれます。(「フレックスコンテナ」はdisplay: flexまたはdisplay: inline-flexが指定された要素、「フレックスアイテム」はフレックスコンテナの子要素です。)グリッドアイテムが絶対配置のときグリッドアイテムが絶対配置のときはちょっと複雑です。グリッドコンテナが静的配置なら、絶対配置のグリッドアイテムでinsetプロパティなどが指定されていないものは、グリッドコンテナの位置に置かれます。グリッドコンテナが静的配置でないなら、絶対配置のグリッドアイテムでinsetプロパティが指定されていないものは、gridプロパティなどで指定されたグリッド領域の位置に置かれます(グリッドアイテムが絶対配置のときのデモ)。(「グ +
2年前
記事のアイキャッチ画像
PerlのText::Markdown::Discountで囲い付きコードブロックを扱う
Days on the Moon
+この記事はPerl Advent Calendar 2022の11日目の分です。PerlのText::Markdown::Discountモジュールを使うと、MarkdownをHTMLに変換できます。use feature qw(say);use Encode qw(encode_utf8);use Text::Markdown::Discount qw(markdown);say encode_utf8 markdown(<<'MARKDOWN');こんにちは、世界。* 順序* なし* リストMARKDOWN<p>こんにちは、世界。</p><ul><li>順序</li><li>なし</li><li>リスト</li></ul>オリジナルのMarkdownにはありませんが、CommonMarkおよびその拡張であるGitHub Flavored Markdownなどには囲い付きコードブロック(fenced code block)が存在します。3つ以上のバッククォート(`)の並びまたはチルダ(~)の並びで囲んだ部分が、HTMLのpre要素とcode要素を使って出力されるというものです。Text::Markdown::Discountモジュール(の内部で使われているDiscountというMarkdown処理系)でも囲い付きコードブロックに対応していますが、扱い方がバージョンによって異なります。Text::Markdown::Discount 0.14以降囲い付きコードブロックを有効にするには、markdown関数の第2引数にMKD_FENCEDCODEフラグ(0x02000000)を指定します。my $html = markdown(<<'MARKDOWN', Text::Markdown::Discount::MKD_NOHEADER | Text::Markdown::Discount::MKD_NOPANTS | 0x02000000);```fenced code block```MARKDOWN<pre><code>fenced code block</code></pre>MKD_FENCEDCODEフラグはDiscount処理系で定義されているものの、Text::Markdown::Discountモジュールでは定数が定義されていていないため、フラグの値である +
2年前
記事のアイキャッチ画像
CSSでスクロールバーの有無によるがたつきをなくす
Days on the Moon
+この記事はCSS Advent Calendar 2022の9日目の分です。CSSのボックスモデルにおいては、ボーダーの内辺とパディングの外辺の間にスクロールバーが配置されます。最近はどのOSでもオーバーレイスクロールバー(スクロールバーが内容の前面に覆いかぶさるようなもの)が主流となり、スクロールバーが存在してもしなくても内容の幅が変わらないようになっています。一方、クラシックスクロールバー(スクロールバーが常に表示されるようなもの)が使われる環境では、overflow: autoな要素において内容がはみ出すときとはみ出さないときで内容の幅が変わってきます。クラシックスクロールバーが使われる環境でも内容の幅を一定に保ちたいという場合は、scrollbar-gutterプロパティを使います。scrollbar-gutter: stableを指定すれば、スクロールバーが表示されないときでもスクロールバーと同じだけの領域が確保され、内容の幅はその分狭くなります。左右中央に配置したいのにスクロールバーの領域の分だけずれて困るというときは、scrollbar-gutter: stable both-edgesを指定することで、左右どちらにもスクロールバーと同じだけの領域が確保されます。scrollbar-gutterプロパティの各値を指定した例(上図はWindows 10 Firefox nightly 109.0a1での表示)scrollbar-gutterプロパティはoverflow: hiddenな要素にも適用されますが、overflow: visibleな要素には適用されません。また、scrollbar-gutterプロパティの効果は、縦スクロールバー(縦書きなら横スクロールバー)にのみ影響します。オーバーレイスクロールバーが使われる環境では、scrollbar-gutter: stableの効果はありません。使用事例使用事例としては、@about_hiroppyさんの紹介している「HTMLのdialog要素によるモーダルダイアログが開いているときに、背景の文書をスクロールさせない」というのが考えられます(scrollbar-gutterプロパティを指定した例と指定しなかった例)。html { scrollbar-gutter: stable;}html:has(d +
2年前
記事のアイキャッチ画像
Perlで配列の先頭何要素か以外を抜き出す
Days on the Moon
+この記事はPerl Advent Calendar 2022の5日目の分です。Perlで配列の先頭n要素以外を抜き出したい——例えば配列('a', 'b', 'c', 'd', 'e')から先頭2要素以外を抜き出して配列('c', 'd', 'e')を得たい——とき、最近はList::Utilモジュールのtail関数を使えます。tail関数は配列の末尾n要素を抜き出す関数ですが、抜き出す要素数として負数-mを指定すると、先頭m要素以外の要素を返します。use List::Util qw(tail);my @array1 = qw(a b c d e);my @array2 = tail -2, @array1;# @array2の内容は('c', 'd', 'e')List::Utilモジュールはコアモジュール(Perl本体と一緒にインストールされるモジュール)であり、Perl 5.28以降なら追加のモジュールインストールなしにtail関数を使えます。それより古いPerlでは、List::Utilの新しいバージョン(1.50以降)をインストールする必要があります。以前からある方法として、配列スライスを使うこともできます。my @array1 = qw(a b c d e);my @array2 = @array1[2 .. $#array1];# @array2の内容は('c', 'd', 'e')
2年前
TypeScriptでイベントをPromise化する関数の型を定義したい
Days on the Moon
+この記事はTypeScript Advent Calendar 2022の3日目の分です。「addEventListenerでリッスンしているイベントをPromise化する」という記事で、イベントをPromiseで受け取る関数が紹介されています。Node.jsのeventsモジュールのevents.onceメソッドと同じ機能を実現するものですね。Webブラウザ組み込みのDOMでも同じ機能を提供しようという提案もなされています。最初の記事では余談として今回紹介したeventPromisifyはTypeScriptで書こうとすると型の定義が難しいなと思いましたと書かれています。例えばeventPromisify(document, 'click')と呼び出したら返り値の型がPromise<MouseEvent>になってほしいのですが、そのような型定義を記述できるでしょうか? (以下、TypeScript 4.9を想定しています。)イベントが発生する対象(target)とイベント名(type)を決め打ちできるのなら、type EventForDocumentClick = typeof document.addEventListener<'click'> extends (type: 'click', listener: (event: infer E) => void) => void ? E : never;// = MouseEventのように、documentと'click'からMouseEventを導出できます。しかし、変数documentではなくDocument型だけが与えられているとき、Document['addEventListener']<'click'>のように型引数を指定することはできません。またDocument型におけるaddEventListenerメソッドの定義は、イベント名がDocument固有(keyof DocumentEventMap型)のものとイベント名が文字列全般(string型)のものがオーバーロードされています。型引数が絡んでいなければ、「オーバーロードされた関数型から引数の型や返り値の型を取り出す方法」に書かれているように型を取り出せます。しかし、型引数を持つメソッドがオーバーロードされているときに、意図した型引数が指定された +
2年前
記事のアイキャッチ画像
Perlで配列の先頭何要素かを抜き出す
Days on the Moon
+この記事はPerl Advent Calendar 2022の2日目の分です。Perlで配列の先頭n要素を抜き出したいとき、最近はList::Utilモジュールのhead関数を使えます。use List::Util qw(head);my @array1 = qw(a b c d e);my @array2 = head 3, @array1;# @array2の内容は('a', 'b', 'c')List::Utilモジュールはコアモジュール(Perl本体と一緒にインストールされるモジュール)であり、Perl 5.28以降なら追加のモジュールインストールなしにhead関数を使えます。それより古いPerlでは、List::Utilの新しいバージョン(1.50以降)をインストールする必要があります。以前からある方法配列スライスを使うこともできますが、抜き出す要素数から1引いた値を指定することになって、ちょっと紛らわしいです。my @array1 = qw(a b c d e);my @array2 = @array1[0 .. 2];# @array2の内容は('a', 'b', 'c')また、元の配列の要素数が抜き出す要素数より少ないときは、不足分がundefで埋められてしまいます。my @array1 = qw(a);my @array2 = @array1[0 .. 2];# @array2の内容は('a', undef, undef)undefで埋められたくなければ、min関数を使うなどひと工夫する必要があります。use List::Util qw(min);my @array1 = qw(a);my @array2 = @array1[0 .. min(2, $#array1)];# @array2の内容は('a')splice関数を使うこともできますが、元の配列も変更されてしまいます。my @array1 = qw(a b c d e);my @array2 = splice @array1, 0, 3;# @array1の内容は('d', 'e')# @array2の内容は('a', 'b', 'c') +
2年前
記事のアイキャッチ画像
CSSでモーダルダイアログの背景をスクロールさせないようにできるかもしれない
Days on the Moon
+この記事はCSS Advent Calendar 2022の1日目の分です。HTMLのdialog要素を使うとモーダルダイアログを表現できます(使い方によってはモードレスダイアログも表現できます)。ただし、そのままだとモーダルダイアログを開いているときに、マウスホイールなどによってダイアログの背景(文書全体)までスクロールしてしまいます。モーダルダイアログの背景をスクロールさせたくない場合、これを書いている現在のCSS仕様草案によれば、以下の記述で実現できるはずです(デモ)。dialog { overscroll-behavior: contain;}しかしながら、この方法はChrome canary 110では期待通り動作しますがマウスホイールによるスクロールは防げますが、矢印キーやPageUp/PageDownキーによるスクロールは防げず、Firefox nightly 109では動作しません。このあたりの事情はちょっと複雑で、CSS仕様草案によれば、overflow: autoな要素においてはスクロール可能な領域がないときもoverscroll-behaviorプロパティが適用されるはず。 CSS Overscroll Behaviorモジュール草案によれば、スクロールコンテナに対してoverscroll-behaviorプロパティが適用される。 CSS Overflowモジュール草案によれば、overflow: autoな要素(およびoverflow: hiddenな要素)はスクロール可能な領域がないときもスクロールコンテナである。 各ブラウザ(少なくともChromeの場合とFirefoxの場合)は、あえて仕様草案を無視し、スクロール可能な領域がないときにoverscroll-behaviorプロパティを適用しない。 しかし、Chromeはなぜか、dialog要素においてはスクロール可能な領域がないときもマウスホイールによるスクロールに関してはoverscroll-behaviorプロパティを適用する模様(そうなっている経緯は未調査)。 CSS仕様草案に対して、スクロール可能な領域がないときはoverscroll-behaviorプロパティが適用されないようにしよう(仕様側を現状のブラウザ実装に合わせよう)という提案がなされている。 HTML標準に対して、モ +
2年前
記事のアイキャッチ画像
HTMLのa要素にはhref属性を指定しなくてもよい
Days on the Moon
+HTMLのa要素はハイパーリンクを表す要素であり、リンク先のURLをhref属性に指定します。しかし、a要素の役割はそれだけではありません。HTML標準によれば、a要素は「リンクとなりうる箇所のプレースホルダー」として使うこともできます。この場合はhref属性を指定しません。リンクとなりうる箇所の例として、ナビゲーションやタブUI、パンくずリストなどでの「現在の項目」があります。<nav> <ul> <li><a href="/">ホーム</a></li> <li><a>最新記事</a></li> <li><a href="/archives">アーカイブ</a></li> <li><a href="/settings">設定</a></li> </ul></nav>ReactなどJSXでa要素を生成する場合、href属性を指定しないためにはhrefプロパティにundefinedを指定します。import React from "react";type Item = { label: string; url: string; isCurrent: boolean;};type Props = { items: readonly Item[];};const Navigation: React.FC<Props> = ({ items }) => ( <nav> <ul> {items.map((item) => ( <li> <a href={item.isCurrent ? undefined : item.url}> {item.label} </a> </li> ))} </ul> </nav>);リンクのプレースホルダーとしてのa要素は、うまく使えばテンプレートやCSSの記述を簡潔にできます。覚えておいて損はないでしょう。なお、a要素にhref属性を指定しないと聞いてname属性を指定するのかと思った人もいるでしょうが、現在のHTML標準ではa要素のname属性は廃止済みであり指定すべきでないとされています。 +
2年前
記事のアイキャッチ画像
私とIEとフィードバック(IE卒業式)
Days on the Moon
+2022年6月16日に開催された「IE卒業式」というイベントで、「私とIEとフィードバック」という発表(5分間のライトニングトーク)をしてきました。以下に話した内容を掲載します。 私とIEとフィードバック 2022-06-16 nanto_vi (株式会社はてな) Web開発者によるフィードバック 標準準拠 相互運用性の向上 ➜ より開発しやすく ブラウザベンダが不具合に気づくことを期待するという受身の立場から、積極的に熱心でいる(自らバグを報告する)ことへの移行は、信じられないほど多くの力をあなたにもたらします。 John Resig [発話] ソフトウェアを作るうえでも使う上でもフィードバックは重要ですね。Webブラウザの場合、Web開発者からのフィードバックによって標準準拠の度合いが進んだり、ブラウザ間の相互運用性が向上したりして、Web開発者にとってはより開発しやすくなります。John Resigさん——jQueryを作った方です——も、バグが直るのを待つのではなく自らバグを報告するとめっちゃええことあるというようなことをおっしゃっています。 個人開発者によるIEへのフィードバック手段 IE 7以前: 主にニュースグループ microsoft.public.windows.inetexplorer.* IE 7以降: 主にMicrosoft Connect バグトラッキングシステム go to http://131.107.85.110/msdn/bugreports/ to report issues Internet Explorer 5.5 Preview [発話] 個人がIEにフィードバックする手段は、IE 7の前後で大きく変わっています。IE 7以前はニュースグループ——掲示板やメーリングリストのようなものです——が中心でした。IE 7以降はMicrosoft Connectというサービスを使うようになっています。Microsoft Connectにはバグトラッキングシステムが備わっており、他人の登録したバグを検索したり、自分の登録したバグの状態を知れたりと、バグ報告者からすると使いやすくなっています。ちなみに、IE 5.5 Previewのときにはバグ報告用のURLがIPアドレス丸出しで、のどかな時代だったんだなというのを感じさせます。 IE 8 +
3年前
記事のアイキャッチ画像
TypeScript の可変長タプル型における共用体の分配
Days on the Moon
+TypeScript の可変長タプル型 (variadic tuple types) とは、配列型やタプル型を展開して別のタプル型の一部として使える機能のことです (「TypeScript 4.0で導入されるVariadic Tuple Typesをさっそく使いこなす - Qiita」に詳しいです)。記法としては、展開する型の直前に三連続のドット ... を記述します。例えば、type Sandwich<Fillings extends unknown[]> = ['bread', ...Fillings, 'bread'];のように具材 (filling) をパン (bread) で挟む Sandwich 型があったとき、Sandwich<['ham']> 型は ['bread', 'ham', 'bread'] 型に展開されます。type HamSandwich = Sandwich<['ham']>;// → ['bread', 'ham', 'bread']type BLTSandwich = Sandwich<['bacon', 'lettuce', 'tomato']>;// → ['bread', 'bacon', 'lettuce', 'tomato', 'bread']type RichHamSandwich = Sandwich<'ham'[]>;// → ['bread', ...'ham'[], 'bread']type TwoSlicesOfBread = Sandwich<[]>;// → ['bread', 'bread']ここで型引数 Fillings に共用体型 (縦線 | で区切った複数の型のうちのいずれかを表す型) を渡すとどうなるでしょうか。具材がハムか卵なら、できあがるのはハムサンドか卵サンドになります。つまり、Sandwich<['ham'] | ['egg']> 型は Sandwich<['ham']> | Sandwich<['egg']> 型と同等に扱われます。type HamOrEggSandwich = Sandwich<['ham'] | ['egg']>;// → ['bread', 'ham', 'bread'] | ['bread', 'egg', 'bread']このように、T<A | B | C | +
3年前
記事のアイキャッチ画像
HTML のフォームコントロール要素と label 要素の紐づけ
Days on the Moon
+この記事は HTML アドベントカレンダーの 24 日目の分、兼 JavaScript アドベントカレンダーの 24 日目の分です。HTML のフォームコントロール要素 (input、textarea、select、button 要素など) には、label 要素を使ってラベルを指定できます。ここでいうラベルとは、そのフォームコントロールに何を入力するか・そのフォームコントロールで何ができるのかの簡単な説明であり、人間が読んで理解できるようなフォームコントロールの名前です。ある label 要素の子孫にフォームコントロール要素が存在すれば、その label 要素の内容が、そのフォームコントロール要素のラベルとなります。そうでない場合、label 要素の for 属性にフォームコントロール要素の ID (id 属性の値) を指定する必要があり、その label 要素の内容が、その ID を持つフォームコントロール要素のラベルとなります。このフォームコントロール要素と label 要素との紐づきは JavaScript を使って参照できます。フォームコントロール要素オブジェクトの labels プロパティはそのフォームコントロール要素と紐づく label 要素の一覧 (NodeList オブジェクト) を返し、label 要素オブジェクト (HTMLLabelElement オブジェクト) の control プロパティはその label 要素に紐づくフォームコントロール要素を返します。labels プロパティの名前が複数形なのは、ひとつのフォームコントロール要素に対して複数の label 要素を紐づけられるからですね。<label id="query-label-1" for="query-field">キーワード</label><label id="query-label-2" for="query-field">URL</label><input id="query-field" type="search" name="q">const label1 = document.getElementById('query-label-1');const label2 = document.getElementById('query-label-2');const fie +
3年前
\ No newline at end of file diff --git a/blogs/901c2c571bdc08773c3e39d442156e69/index.html b/blogs/901c2c571bdc08773c3e39d442156e69/index.html new file mode 100644 index 000000000000..0e726a855dd3 --- /dev/null +++ b/blogs/901c2c571bdc08773c3e39d442156e69/index.html @@ -0,0 +1,15 @@ +developer.chrome.com: Blogのフィード|JSer.info Watch List RSS

developer.chrome.com: Blog

https://developer.chrome.com/blog/

Latest news from the Chrome Developer Relations team

フィード

記事のアイキャッチ画像
Enter picture-in-picture automatically when playing media
developer.chrome.com: Blog
Chrome allows web apps playing media to automatically enter picture-in-picture.
3日前
記事のアイキャッチ画像
New in Chrome 133
developer.chrome.com: Blog
Chrome 133 is rolling out now! There's some exciting new CSS features and plenty more to discover.
4日前
+記事のアイキャッチ画像
Chrome Web Store policy updates: ensuring clarity and consistency for developers
developer.chrome.com: Blog
+The Chrome Web Store is committed to fostering a high-quality and trustworthy ecosystem for developers and users. To align with this goal, we're announcing a series of policy updates designed to provide clarity and consistency across our platform.
8日前
記事のアイキャッチ画像
What's new in DevTools, Chrome 133
developer.chrome.com: Blog
Persistent AI chat history, better navigation, ignore listing, and stack traces in Performance, new 'What's new' panel, and more.
9日前
記事のアイキャッチ画像
What's New in WebGPU (Chrome 133)
developer.chrome.com: Blog
Additional unorm8x4-bgra and 1-component vertex formats, allow unknown limits to be requested with undefined value, WGSL alignment rules changes, WGSL performance gains with discard, and much more.
10日前
記事のアイキャッチ画像
What's happening in Chrome Extensions, January 2025
developer.chrome.com: Blog
An overview of the recent changes in Chrome Extensions, plus exciting upcoming extensions features developers can look forward to.
10日前
Simplifying WebAuthn feature detection for passkeys
developer.chrome.com: Blog
Discover how to detect WebAuthn capabilities with `getClientCapabilities()` and tailor authentication workflows for your users.
18日前
記事のアイキャッチ画像
Freezing on Energy Saver
+developer.chrome.com: Blog
From Chrome 133, eligible CPU-intensive background tabs will be frozen when Energy Saver mode is active.
19日前
記事のアイキャッチ画像
Passkeys on Google Password Manager are now available on iOS
developer.chrome.com: Blog
Chrome on iOS 17 or later can now create, sync and authenticate with passkeys in Google Password Manager (GPM). This makes passkeys on GPM available everywhere Chrome is.
23日前
記事のアイキャッチ画像
CSS scroll-state()
developer.chrome.com: Blog
Like container queries; but for stuck, snapped, and overflowing queries.
24日前
\ No newline at end of file diff --git a/blogs/90321b5a4accae50cb1282b7fe71d0ea/index.html b/blogs/90321b5a4accae50cb1282b7fe71d0ea/index.html new file mode 100644 index 000000000000..98bc0efdd9d0 --- /dev/null +++ b/blogs/90321b5a4accae50cb1282b7fe71d0ea/index.html @@ -0,0 +1,29 @@ +Mozilla Hacks – the Web developer blogのフィード|JSer.info Watch List RSS

Mozilla Hacks – the Web developer blog

https://hacks.mozilla.org/

Mozilla Hacks is written for web developers, designers and everyone who builds for the Web. Hacks is produced by Mozilla's Developer Relations team and features hundreds of posts from Mozilla ...

フィード

記事のアイキャッチ画像
Introducing Uniffi for React Native: Rust-Powered Turbo Modules
Mozilla Hacks – the Web developer blog
Mozilla and Filament have introduced Uniffi for React Native, a tool that allows developers to leverage the safety and performance benefits of Rust in cross-platform React Native apps.The post Introducing Uniffi for React Native: Rust-Powered Turbo Modules appeared first on Mozilla Hacks - the Web developer blog.
2ヶ月前
+記事のアイキャッチ画像
Llamafile v0.8.14: a new UI, performance gains, and more
Mozilla Hacks – the Web developer blog
+Discover the latest release of Llamafile 0.8.14, an open-source AI tool by Mozilla Builders. With a new command-line chat interface, enhanced performance, and support for powerful models, Llamafile makes it easy to run large language models (LLMs) on your own hardware. Learn more about the updates and how to get involved with this cutting-edge project.The post Llamafile v0.8.14: a new UI, performance gains, and more appeared first on Mozilla Hacks - the Web developer blog.
4ヶ月前
記事のアイキャッチ画像
0Din: A GenAI Bug Bounty Program – Securing Tomorrow’s AI Together
Mozilla Hacks – the Web developer blog
As AI continues to evolve, so do the threats against it. As these GenAI systems become more sophisticated and widely adopted, ensuring their security and ethical use becomes paramount. 0Din is a groundbreaking GenAI bug bounty program dedicated specifically to help secure GenAI systems and beyond. In this blog, you'll learn about 0Din, how it works, and how you can participate and make a difference in securing our AI future.The post 0Din: A GenAI Bug Bounty Program – Securing Tomorrow’s AI Together appeared first on Mozilla Hacks - the Web developer blog.
6ヶ月前
記事のアイキャッチ画像
Announcing Official Puppeteer Support for Firefox
Mozilla Hacks – the Web developer blog
We’re pleased to announce that, as of version 23, the Puppeteer browser automation library now has first-class support for Firefox. This means that it’s now easy to write automation and perform end-to-end testing using Puppeteer, and run against both Chrome and Firefox.The post Announcing Official Puppeteer Support for Firefox appeared first on Mozilla Hacks - the Web developer blog.
6ヶ月前
記事のアイキャッチ画像
Snapshots for IPC Fuzzing
Mozilla Hacks – the Web developer blog
Process separation remains one of the most important parts of the Firefox security model and securing our IPC (Inter-Process Communication) interfaces is crucial to keep privileges in the different processes separated. We take a more detailed look at our newest tool for finding vulnerabilities in these interfaces – snapshot fuzzing.The post Snapshots for IPC Fuzzing appeared first on Mozilla Hacks - the Web developer blog.
7ヶ月前
記事のアイキャッチ画像
Sponsoring sqlite-vec to enable more powerful Local AI applications
Mozilla Hacks – the Web developer blog
+Today we’re proud to announce the next Mozilla Builders project: sqlite-vec. Led by independent developer Alex Garcia, this project brings vector search functionality to the beloved SQLite embedded database. Alex has been working on this problem for a while, and we think his latest approach will have a great impact by providing application developers with a powerful new tool for building Local AI applications.The post Sponsoring sqlite-vec to enable more powerful Local AI applications appeared first on Mozilla Hacks - the Web developer blog.
7ヶ月前
記事のアイキャッチ画像
Experimenting with local alt text generation in Firefox Nightly
Mozilla Hacks – the Web developer blog
Firefox 130 will introduce an experimental new capability to automatically generate alt-text for images using a fully private on-device AI model. The feature will be available as part of Firefox’s built-in PDF editor, and our end goal is to make it available in general browsing for users with screen readers.The post Experimenting with local alt text generation in Firefox Nightly appeared first on Mozilla Hacks - the Web developer blog.
8ヶ月前
記事のアイキャッチ画像
Llamafile’s progress, four months in
Mozilla Hacks – the Web developer blog
When Mozilla’s Innovation group first launched the llamafile project late last year, we were thrilled by the immediate positive response from open source AI developers. It’s become one of Mozilla’s top three most-favorited repositories on GitHub, attracting a number of contributors, some excellent PRs, and a growing community on our Discord server.The post Llamafile’s progress, four months in appeared first on Mozilla Hacks - the Web developer blog.
9ヶ月前
記事のアイキャッチ画像
Porting a cross-platform GUI application to Rust
Mozilla Hacks – the Web developer blog
+In this blog post, we delve into the motivations for choosing Rust for our crash reporter, outline the unique challenges of designing an application that operates when the main browser has failed, and discuss the new architecture we've implemented. We also share insights into the technical nuances of the implementation, demonstrating how Rust's features are leveraged to handle crashes more effectively and securely.The post Porting a cross-platform GUI application to Rust appeared first on Mozilla Hacks - the Web developer blog.
10ヶ月前
記事のアイキャッチ画像
Prototype even faster with the Gradio UI for Figma component library
Mozilla Hacks – the Web developer blog
In the fast-paced world of generative AI, staying ahead means moving swiftly and smartly. That's why we've embraced Gradio, the low-code prototyping toolkit from Hugging Face, as our go-to for bringing new ideas to life. The post Prototype even faster with the Gradio UI for Figma component library appeared first on Mozilla Hacks - the Web developer blog.
10ヶ月前
Improving Performance in Firefox and Across the Web with Speedometer 3
Mozilla Hacks – the Web developer blog
In collaboration with the other major browser engine developers, Mozilla is thrilled to announce Speedometer 3 today. Like previous versions of Speedometer, this benchmark measures what we think matters most for performance online: responsiveness. But today’s release is more open and more challenging than before, and is the best tool for driving browser performance improvements that we’ve ever seen.The post Improving Performance in Firefox and Across the Web with Speedometer 3 appeared first on Mozilla Hacks - the Web developer blog.
1年前
記事のアイキャッチ画像
Announcing Interop 2024
Mozilla Hacks – the Web developer blog
Following the success of Interop 2023, we are pleased to confirm that the project will continue in 2024 with a new selection of focus areas, representing areas of the web platform where we think we can have the biggest positive impact on users and web developers. The post Announcing Interop 2024 appeared first on Mozilla Hacks - the Web developer blog.
1年前
+
記事のアイキャッチ画像
Option Soup: the subtle pitfalls of combining compiler flags
Mozilla Hacks – the Web developer blog
During the Firefox 120 beta cycle, a new crash signature appeared on our radars with significant volume. Engineers working on Firefox, explore the subtle pitfalls of combining compiler flags.The post Option Soup: the subtle pitfalls of combining compiler flags appeared first on Mozilla Hacks - the Web developer blog.
1年前
記事のアイキャッチ画像
Puppeteer Support for the Cross-Browser WebDriver BiDi Standard
Mozilla Hacks – the Web developer blog
Puppeteer now supports the next-generation, cross-browser WebDriver BiDi standard. This new protocol makes it easy for web developers to write automated tests that work across multiple browser engines.The post Puppeteer Support for the Cross-Browser WebDriver BiDi Standard appeared first on Mozilla Hacks - the Web developer blog.
1年前
記事のアイキャッチ画像
Firefox Developer Edition and Beta: Try out Mozilla’s .deb package!
Mozilla Hacks – the Web developer blog
+A month ago, we introduced our Nightly package for Debian-based Linux distributions. Today, we are proud to announce we made our .deb package available for Developer Edition and Beta!The post Firefox Developer Edition and Beta: Try out Mozilla’s .deb package! appeared first on Mozilla Hacks - the Web developer blog.
1年前
記事のアイキャッチ画像
Introducing llamafile
Mozilla Hacks – the Web developer blog
+We're thrilled to announce the first release of llamafile, inviting the open source community to join this groundbreaking project. With llamafile, you can effortlessly convert large language model (LLM) weights into executables. Imagine transforming a 4GB file of LLM weights into a binary that runs smoothly on six different operating systems, without requiring installation. The post Introducing llamafile appeared first on Mozilla Hacks - the Web developer blog.
1年前
記事のアイキャッチ画像
+Mozilla AI Guide Launch with Summarization Code Example
Mozilla Hacks – the Web developer blog
Mozilla has just launched the AI Guide, a collaborative hub for developers to join forces, inspire each other, and lead the way in groundbreaking generative AI advancements. The AI Guide’s initial focus begins with language models and the aim is to become a collaborative community-driven resource covering other types of models.The post Mozilla AI Guide Launch with Summarization Code Example appeared first on Mozilla Hacks - the Web developer blog.
1年前
記事のアイキャッチ画像
Down and to the Right: Firefox Got Faster for Real Users in 2023
Mozilla Hacks – the Web developer blog
To deliver against our vision and enable a better online experience for everyone, we’ve been working hard on making Firefox even faster. We’re extremely happy to report that this has resulted in a significant improvement in speed over the past year. The post Down and to the Right: Firefox Got Faster for Real Users in 2023 appeared first on Mozilla Hacks - the Web developer blog.
1年前
記事のアイキャッチ画像
Built for Privacy: Partnering to Deploy Oblivious HTTP and Prio in Firefox
Mozilla Hacks – the Web developer blog
Protecting user privacy is a core element of Mozilla’s vision for the web and the internet at large. In pursuit of this vision, we’re pleased to announce new partnerships with Fastly and Divvi Up to deploy privacy-preserving technology in Firefox.The post Built for Privacy: Partnering to Deploy Oblivious HTTP and Prio in Firefox appeared first on Mozilla Hacks - the Web developer blog.
1年前
記事のアイキャッチ画像
Faster Vue.js Execution in Firefox
Mozilla Hacks – the Web developer blog
Firefox performance on Vue.js has improved significantly throughout the year. Most recently, we sped up reactivity with Proxy optimizations. This change landed in Firefox 118, so it’s currently on Beta and will ride along to Release by the end of September.The post Faster Vue.js Execution in Firefox appeared first on Mozilla Hacks - the Web developer blog.
1年前
\ No newline at end of file diff --git a/blogs/92358b4087203a79d0ccf5e448ef3218/index.html b/blogs/92358b4087203a79d0ccf5e448ef3218/index.html new file mode 100644 index 000000000000..e53fcbf02eea --- /dev/null +++ b/blogs/92358b4087203a79d0ccf5e448ef3218/index.html @@ -0,0 +1,1252 @@ +1Password Blogのフィード|JSer.info Watch List RSS

1Password Blog

https://blog.1password.com/

News, announcements and security tips from the 1Password blog.

フィード

記事のアイキャッチ画像
The urgent need to replace SMS-based MFA
1Password Blog
+In December 2024, the FBI and CISA advised Americans against using SMS codes for multi-factor/two-factor (MFA/2FA) authentication. CISA’s Mobile Communications Best Practice Guidance bluntly recommended: “Do not use SMS as a second factor for authentication. SMS messages are not encrypted–a threat actor with access to a telecommunication provider’s network who intercepts these messages can read them.”This guidance came in response to the recent Salt Typhoon cyber espionage attacks, in which bad actors infiltrated multiple telecom companies and accessed call and data logs for an unknown number of victims.However, the advice to transition from SMS-based 2FA to stronger forms of authentication long predates this attack. Security experts said it in 2023, 2020, 2018, and as early as 2016, when NIST issued guidance discouraging the use of SMS as an authenticator.But now, after numerous high-profile MFA bypass attacks, this advice is increasingly urgent, and companies are being forced to reev +
1日前
記事のアイキャッチ画像
Introducing the new 1Password Community
1Password Blog
+The new 1Password Community launches today! Whether you use 1Password at work or at home, the new Community is a space for you to connect with peers, share your knowledge, and get even more out of your 1Password experience.Over the last decade, the 1Password Community has grown into a vibrant network of customers, sharing advice, supporting one another, and inspiring new features. We’re so grateful to all the contributors who have helped to make our Community what it is today.Today, we’re building on this strong foundation and making the experience even better for everyone. We listened to your feedback and rebuilt the 1Password Community from the ground up to make it more helpful, accessible, and engaging — whether you’re rolling out 1Password products to your business, developing integrations, or just looking for tips to keep you and your family secure. Let’s take a closer look at what’s new and how you can get started.What’s new in 1Password CommunityWe’ve made some big improvements +
2日前
記事のアイキャッチ画像
Exploring the unlikely relationship between hackers and the state with Emily Crose
1Password Blog
+Emily Crose, a veteran cybersecurity professional at agencies including the CIA and the Department of Homeland Security, had a question: How did hackers – a “weird” group of outsiders (herself included) – become sought-after collaborators with governments?In her efforts to find answers, she ended up writing a book, Hack to the Future, How World Governments Relentlessly Pursue and Domesticate Hackers.Crose joined Michael “Roo” Fey, Head of User Lifecycle & Growth at 1Password, on the Random nut Memorable podcast to chat about the history of hacker culture, the evolution of hackers’ relationship with the state, and the ethical complexities one should consider when working with government.They also explore other topics like whether we’ll ever see hacker groups like Lizard Squad and LulzSec again. For insights like these and more, read the interview highlights below or listen to the full podcast episode.Editor’s note: This interview has been lightly edited for clarity and brevity. The view +
3日前
記事のアイキャッチ画像
Introducing 1Password Marketplace: Your hub for all 1Password integrations
1Password Blog
+Starting now, you can find every supported integration in the 1Password Marketplace, including those for 1Password Extended Access Management, Passage by 1Password, 1Password Developer, and (of course) the world’s most trusted password manager.1Password secures many types of credentials, applications, devices, and developer workflows through a vibrant ecosystem of integrations. 1Password Business admins can connect identity providers like Okta or Microsoft Entra ID to simplify sign-ins, or link 1Password with security information and event management (SIEM) tools to build custom graphs, dashboards, and alerts.Developers can use integrations to automate secrets management in CI/CD workflows, or access and manage items using popular providers like Pulumi and Terraform.Developers can build on top of 1Password, too. Some of the most innovative and creative 1Password integrations were built by the 1Password community, like 1Password for Microsoft Sentinel.Previously, 1Password admins signed +
17日前
記事のアイキャッチ画像
1Password product enhancements [Winter edition]: Mobile improvements, better item creation, and even more security features
1Password Blog
+Making 1Password intuitive and easy to use is a top priority. That’s why we spent all of 2024 introducing many improvements and new features to create the best customer experience possible.From a smoother mobile experience to simplified item management, along with more security and support, every update is designed to make 1Password work better for you.The best part? These significant improvements are all thanks to your feedback. Throughout the year, your insights on 1Password’s features and functionality have directly impacted the way we create a better experience for you. Let’s take a look at what’s new.Mobile improvements to streamline your overall experienceSmoother experience on iOS 18 and AndroidUpdates to 1Password’s mobile apps for Android and iOS introduce a clearer way to make new items, along with an easier way to search and autofill those item details in your vaults.Plus, autofill suggestions are now optimized to show you the most relevant options first based on your favori +
24日前
記事のアイキャッチ画像
1Password acquires Trelica, a trailblazer in SaaS access management
1Password Blog
+From the earliest days of 1Password, our bedrock value has been building a security tool that works for our users – not against them – enabling people to behave securely without needless friction or frustration. For our business customers, this means making the productive way to work the secure way to work.And since 1Password’s beginnings, the realities of work have changed dramatically, largely in ways that empower employees. Today, employees work from anywhere, on a wide range of devices, and on an even wider range of SaaS apps.Gone are the days when all software came through a company’s IT department. Today, apps of all kinds abound, and employees can easily sign themselves or their teams up in just a few minutes.This transformation has been a double-edged sword. On the one hand, the SaaS explosion has unleashed a wave of productivity and creativity, as employees experiment with the tools that work for them.However, the rise of SaaS sprawl and shadow IT has also unleashed serious se +
1ヶ月前
記事のアイキャッチ画像
Replace .env with 1Password SDKs: Get started with secure programming
1Password Blog
+At 1Password, we offer several developer solutions to make software development and deployments a smoother process. We’ve introduced tools like the tried-and-true 1Password CLI, which enables secure local development, and our SDKs so you can securely access your secrets from the cloud.Managing environment variables is a crucial component of keeping any app secure and using 1Password’s tooling can help make that process more flexible and easier to update. If you’ve ever accidentally committed your .env file or secrets to your application’s version history, you’ll know the frustration of having to get them updated.In this article, we’ll cover how to migrate a .env to use 1Password’s tooling. Specifically, you’ll learn:How to use 1Password’s VSCode plugin.How to create a vault for your application secretsHow to use the 1Password SDKs to use those secretsHow to rotate secrets to ensure your application stays secure.By the end, you’ll have replaced a hardcoded .env file that could accidenta +
1ヶ月前
記事のアイキャッチ画像
A step-by-step guide to getting your family started with 1Password
1Password Blog
+It’s easy to get you and your loved ones onboarded and set up with 1Password Families.We’ve broken it down into an easy-to-follow process with written instructions as well as video walkthroughs.If you prefer to follow along entirely with a video, our How to get started with 1Password video will show you exactly what the process looks like.Already using 1Password and want to upgrade to 1Password Families? Follow our step-by-step guide.1. Set up your account in no timeTo get started, sign up for 1Password Families. When you create your account, you’ll be the family organizer. As a family organizer, your role is to manage your family members and the items they have access to.You can also have more than one family organizer – for example, both you and your partner can manage things like billing, settings, and guests – but no need to worry about that until later.Sign up for 1Password Families2. Add family membersAfter you sign up, it’s time to invite the rest of your loved ones. Each family +
2ヶ月前
記事のアイキャッチ画像
How Tech She Can is fixing the gender imbalance in the UK tech industry
1Password Blog
+1Password recently donated $50,000 to three pioneering organizations that teach technology skills to underrepresented youth. Now, we would like to introduce them to you! In this 1Password for Good interview series, we want to spread the word about their amazing work and inspire more technology professionals to get involved with them.“In the UK, we have this thriving space industry,” Dr Claire Thorne, co-CEO of Tech She Can explains. “But most people on the street don’t know about this. Most schools don’t know about it, and therefore most children don’t know about it.”The space sector is just one example of a pervasive problem the UK tech industry is facing. Companies across England, Scotland, Wales, and Northern Ireland are struggling with a talent shortage. In particular, too few women are building careers in science, technology, engineering, and mathematics (STEM) fields.Thorne says: “What we see and hear is that there’s a lack of talent coming through. And then within that there’s a +
2ヶ月前
記事のアイキャッチ画像
Digital Moment: The charity inspiring young people to achieve UN Sustainable Development Goals
1Password Blog
+1Password recently donated $50,000 to three pioneering organizations that teach technology skills to underrepresented youth. Now, we would like to introduce them to you! In this 1Password for Good interview series, we want to spread the word about their amazing work and inspire more technology professionals to get involved with them.Montreal-based charity Digital Moment doesn’t shy away from asking kids to explore complicated questions. As CEO Indra Kubicek explained: “We want youth to consider how they want to use technology to solve some of the big social and environmental issues that exist in society.”To facilitate these conversations and inspire action, Digital Moment – committed to advancing digital literacy and access to skills for all Canadian youth – picks a different topic that’s related to the United Nations Sustainable Development Goals (SDGs) each year. Through its programming, the charity invites youth to reflect on how they can take action and build a more sustainable fut +
2ヶ月前
記事のアイキャッチ画像
How education nonprofit Mission Bit is inspiring students to code
1Password Blog
+1Password recently donated $50,000 to three pioneering organizations that teach technology skills to underrepresented youth. Now, we would like to introduce them to you! In this 1Password for Good interview series, we want to spread the word about their amazing work and inspire more technology professionals to get involved with them.Growing up, Christina Ortega didn’t know anyone working in technology. She was raised in the Mission District neighborhood of San Francisco, far removed from where most Silicon Valley types were working at the time. Her “computer science” class in high school focused on typing and using Microsoft PowerPoint. She never imagined that one day she would be CEO of Mission Bit, a coding and technology education nonprofit working with the public school system in the city.“Having me on board at Mission Bit is like having another one of our students at the table,” said Ortega.She credits her lived experience, graduate research, and expertise in delivering after-scho +
2ヶ月前
記事のアイキャッチ画像
Parting ways: How to divide a shared 1Password account
1Password Blog
+Couples break up, friends fight, and roommates move apart. These are unfortunate and emotional realities of modern life. During these periods of transition, there may come a time you want to separate and secure what’s yours — that includes your 1Password information.Segregating and protecting your digital property can be a daunting task when you have hundreds (or even thousands) of items in 1Password. And that task can become especially discouraging when you share the bulk of those items with the person or people with whom you’re cutting ties. But it’s a critical step. Your passwords and other private information are incredibly valuable and should be shared only with people you trust.Think of your home and personal belongings. If you no longer trust someone you live with, you’d likely take away their key and change the locks pretty quickly. Given what’s stored in 1Password, It’s logical to treat it the same way.Here are a number of steps you can take to keep your 1Password secrets safe +
2ヶ月前
記事のアイキャッチ画像
Aligning with ISO 27001 compliance
1Password Blog
+In a world where security incidents and cyber threats are escalating, achieving and maintaining compliance with ISO 27001, the international standard for information security management, is more crucial than ever.ISO 27001 certification demonstrates that an organization has implemented robust security controls to protect its sensitive data, minimizing the risk of security incidents and ensuring the confidentiality, integrity, and availability of information.However, as work environments evolve, with employees using a variety of devices and working from different locations, maintaining compliance has become increasingly complex.Challenges with meeting ISO 27001 complianceAchieving ISO 27001 compliance requires organizations to implement rigorous security controls and maintain an Information Security Management Systems (ISMS) that ensures the confidentiality, integrity, and availability of information. However, as work environments become increasingly complex – characterized by remote wo +
2ヶ月前
記事のアイキャッチ画像
Admin update: Create auto-lock, release channel, and 1Password browser extension rules
1Password Blog
+Every organization has its own team culture, processes, and security requirements. That’s why we’re continuously updating 1Password Enterprise Password Manager with new options that give you greater flexibility and granular control.You’ll soon be able to use the admin dashboard to enforce:Whether team members can use the 1Password browser extension to access work-related vaults.The period after which the 1Password apps should automatically lock.If employees can switch to beta and nightly builds of 1Password.Together, these new settings allow you to strike the right balance between security and usability, and make it easy for everyone to follow your security policies.Control how 1Password in the browser worksYou may already be familiar with App Access, an option in the admin dashboard that lets you decide which 1Password apps can be used to access work vaults.Previously, you could toggle every platform except the 1Password browser extension. You’ll soon see 1Password Browser Extension i +
2ヶ月前
記事のアイキャッチ画像
Ollie Cheal, VP of GTM in EMEA, on building a team in Europe and beyond
1Password Blog
+As 1Password expands globally, it’s essential that we tap into diverse talent pools in different markets. Hiring the right candidate in a new region can unlock business success and growth. Building teams in new regions is also an opportunity to bring our company culture to new places.We sat down with Ollie Cheal, VP of Go-To-Market (GTM) in EMEA at 1Password, to better understand his vision for our company across Europe, Middle East, Africa, and beyond.Ollie has extensive experience leading sales organizations in this region, meaning he understands not just the local market nuances but also the importance of broad sales backgrounds in a growing team. Ollie has a keen focus on diversity, fostering a sense of belonging, and creating a culture focused on supporting our customers. He expanded on those themes, as well as what he’s looking for in his next hires.Why did you join 1Password?Bad actors are having a field day attacking identity. And there is no better company on the planet to dri +
2ヶ月前
記事のアイキャッチ画像
1Password joins the Rails Foundation: Strengthening the community, empowering developers
1Password Blog
+We’re excited to share some big news: 1Password is officially joining the Rails Foundation!And we’re not just joining – we’re going all in as a core member, standing shoulder to shoulder with companies that support the brilliant minds behind Rails, including some of our fellow Canadians. This is more than just a badge of honor for us; it’s a commitment to support the Rails ecosystem in the best way we know how: with our dollars, our time, and our passion for building great security tools.As part of this commitment, I’m excited to join the Rails Foundation’s board of directors. Together, we’ll focus on making Rails even more accessible and valuable for developers at all levels—whether they’re just discovering the framework or have been shipping Rails apps for decades.“Wait, is 1Password written in Rails?” you may be wondering. No, not one lick of it. “Are we rewriting it in Rails?” Still no.If you haven’t followed along, a lot has changed with 1Password over the last few years. We’re mo +
2ヶ月前
記事のアイキャッチ画像
Confidential computing at 1Password
1Password Blog
+At the heart of 1Password’s security model is our use of end-to-end encryption. This means that your passwords and other secrets are encrypted on your device before being sent to the cloud. Without your encryption keys (derived from your account password and Secret Key), it’s cryptographically impossible for anyone to read your data, even us at 1Password.We believe the use of an end-to-end encryption model is the strongest defense possible to protect your secrets. But it also presents challenges when building new features, and limits what is possible, especially for our enterprise customers.Enter confidential computing: a new technology that enables us to bring our end-to-end encryption model into the cloud, while offering the same security and privacy guarantees we do today on your device.Our industry-first use of confidential computing enables us to securely decrypt certain secrets and process them in plaintext on 1Password servers without sacrificing security or privacy.Today, it’s +
2ヶ月前
記事のアイキャッチ画像
Kagi search engine founder Vladimir Prelovac explains the real costs of ‘free’ search
1Password Blog
+There isn’t much in life that’s actually free. This is particularly true for the “free” search engines and browsers we all use every day, according to Vladimir Prelovac, founder and CEO of Kagi, a subscription-based search engine. He started Kagi to address issues with user privacy and user experience caused by the current ad-based web economy.Prelovac joined Michael “Roo” Fey, Head of User Lifecycle & Growth at 1Password, on the Random But Memorable podcast to talk about various search-related topics. These included the trade-offs that most people make online, such as paying for free services with our personal data and behaviors. The interview also explored an alternate future that bypasses search-based advertising with a combination of private and public search engines (the digital version of a public library!).For more thought-provoking themes related to search, such as do we care about the quality of information we’re putting into our brains, how to judiciously integrate AI into th +
2ヶ月前
記事のアイキャッチ画像
AWS & 1Password: New integrations help strengthen security
1Password Blog
+When the tools in your security stack work together, it reduces administration overhead, lowers costs, and increases protection across your organization. That’s why we’ve spent the last year deepening our partnership and product integrations with AWS and other security providers in their ecosystem.AWS customers can buy 1Password Enterprise Password Manager and 1Password ® Extended Access Management via the AWS Marketplace to streamline procurement and billing. We’ve also rolled out a host of new product integrations that help our mutual customers enhance security and productivity.In this blog post, we’ll highlight these integrations and explain some ways we’re collaborating with AWS and other partners to better serve your security needs.Deepening product integrationsLaunching new solutions like Extended Access Management and Passage has given us exciting new opportunities to integrate with AWS. Here are some of our latest updates:1Password Device Trust health checksDevice Trust uses he +
2ヶ月前
記事のアイキャッチ画像
How 1Password supports SOC 2 compliance
1Password Blog
+The rapid adoption of cloud technologies and the increasing reliance on distributed workforces have transformed the modern business landscape. However, these shifts come with significant risks, particularly concerning the protection of sensitive data.Compliance frameworks like SOC 2 (System and Organization Controls) play a vital role in ensuring that service providers securely manage data to protect the interests of their clients. For organizations undergoing a SOC 2 audit, demonstrating effective access management is paramount, as it directly affects the five Trust Service Criteria: security, availability, processing integrity, confidentiality, and privacy.What is the challenge of meeting SOC 2 compliance?Achieving SOC 2 compliance is critical for organizations that handle sensitive data, as it demonstrates their commitment to data security and privacy. However, it is also a complex and resource-intensive process. To meet the five Trust Service Criteria, organizations must establish +
2ヶ月前
記事のアイキャッチ画像
Leading with honesty: Developing a leadership essentials program
1Password Blog
+At 1Password, we’re proud to support our team members making the transition from individual contributor to manager. While this isn’t a path that everyone will end up taking, it’s one many embark on as our company continues to grow.Across the technology industry, individual contributors are often promoted and then expected to become great managers overnight. We recognize that people leadership and effective management are skills that need to be learned and honed through training and application on-the-job.As our company has scaled up and more people have stepped into leadership roles, we’ve realized there’s a need for specialized training that supports managers who are leading in a high-growth, scaling company. We created the People Leadership Essentials (PLE) program to empower managers and senior managers and help them lead in a way that’s aligned with our company values and leadership best practices.How did we get started?First, we consulted with leaders across the business to determ +
2ヶ月前
記事のアイキャッチ画像
4 tips to encourage your team to use 1Password Enterprise Password Manager
1Password Blog
+So you’ve rolled out 1Password Enterprise Password Manager, successfully onboarded your team – now what? Don’t let the momentum you’ve built go to waste! By building long-term security habits early on you’ll reap the benefits far into the futureHere are a few tips to help you encourage your team to use 1Password.Tip 1: Use built-in reporting to track who isn’t using 1PasswordEven the most successful onboarding might result in a few people taking longer to begin using the tool in their day-to-day activities. For a security tool to be effective, you need everyone on your team to actually engage with it and use it properly.Use the Team Report to identify team members who aren’t actively using 1Password. The report includes information like an employee’s last sign-in date, the number of items saved in individual and shared vaults, and if a team member has redeemed their free family account. With that information, you can decide who to target with a re-engagement campaign.Tip 2: Engage with +
3ヶ月前
記事のアイキャッチ画像
1Password partners with Ingram Micro to distribute Extended Access Management
1Password Blog
+If you run a business, your data should be just that: your business and nobody else’s.But keeping logins and other sensitive information away from cybercriminals can be a challenge in today’s world. Threats are always evolving and hybrid work is redefining the traditional perimeter that businesses need to defend.Today, we’re announcing a distribution agreement with Ingram Micro, the world’s leading technology distributor. Together we can help more businesses adapt to this changing world and secure every sign-in for every app on every device.Who is Ingram Micro?Ingram Micro is a leading distributor that brings products and services from technology companies like 1Password to IT service providers and other business-to-business experts. The company is committed to providing resellers with cutting-edge solutions that cover every aspect of cybersecurity, from assessment and strategy to monitoring and remediation.Our distribution agreement will allow us to reach more businesses and help them +
3ヶ月前
記事のアイキャッチ画像
Addressing security and privacy compliance mandates with Extended Access Management
1Password Blog
+In today’s digital landscape, businesses face increasing pressure to protect personal data and ensure compliance with security and privacy mandates.With regulations such as the General Data Protection Regulation (GDPR) and Health Insurance Portability and Accountability Act (HIPAA) as well as audit frameworks with privacy implications like ISO 27001 and SOC 2, organizations must implement strict controls over data privacy, access management, and auditability. Compliance with these mandates can be complex, especially when managing user access to sensitive data across modern IT environments.Why address these challenges?Failure to meet regulatory or audit requirements can have serious consequences, including fines, loss of customer trust, and reputational damage. Non-compliance also increases the likelihood of security incidents, including unintended data leaks. For example, mishandling access to personal data can lead to violations of GDPR’s mandates, which emphasize the necessity of res +
3ヶ月前
記事のアイキャッチ画像
1Password’s record-breaking growth in passkey adoption
1Password Blog
+Passwords are frustrating. Whether it’s forgetting, resetting, or getting locked out, we’ve all been there.And without a password manager to help, passwords can also make you vulnerable to data breaches, putting your sensitive information at a huge risk.That’s why we’re all-in on passkeys, a way for you to create and sign in to online accounts without a password.We’ve been busy since we first mentioned passkeys in mid-2022, like working on offering the ability to import and export passkeys, partnering with Microsoft on an integration that will soon allow customers to save and store passkeys with 1Password on Windows 11, and helping businesses support passkeys on their apps and websites with Passage by 1Password.And there’s more!Let’s take a look at what we’ve accomplished on the road to a truly passwordless future:Passkeys by the numbersAs a leading third-party passkey provider since launching passkeys, millions of 1Password customers are creating, saving, and signing in with passkeys. +
3ヶ月前
記事のアイキャッチ画像
More than compliance: Elevate your security posture with 1Password
1Password Blog
+You run a business that handles sensitive customer data. To ensure you’re following industry standards, you diligently work to achieve compliance with relevant laws and regulations, such as HIPAA, SOC 2, or GDPR. You invest in the necessary tools, train your staff, and implement the required security policies. After an exhaustive process, you proudly receive your compliance certification.However, one evening, you discover that your system has been breached. Hackers have infiltrated your network and stolen customer data by obtaining access to systems using stolen credentials. How could this happen when you were compliant with all the regulations?Here’s where the difference between compliance and security becomes starkly apparent.Compliance means adhering to a set of rules and standards set by regulatory bodies. It ensures you meet the minimum requirements to protect data and maintain privacy. While compliance is essential, it often focuses on documentation, procedural requirements, and +
3ヶ月前
記事のアイキャッチ画像
1Password has joined the Microsoft Intelligent Security Association
1Password Blog
+Here at 1Password, we’re on a mission to help businesses of all sizes secure every sign-in for every app. To achieve that goal, it’s important that our solutions integrate with and elevate organizations’ existing infrastructure.Microsoft is one of the world’s largest enterprise software providers, and today we’re announcing that 1Password has joined the Microsoft Intelligent Security Association (MISA).MISA is an ecosystem of independent software vendors (ISVs) and managed security service providers (MSSPs) that have integrated their solutions with Microsoft Security technology to better defend customers against a world of increasing cyber threats.Our acceptance into MISA reflects how deeply 1Password® Extended Access Management and 1Password Enterprise Password Manager integrate with Microsoft solutions, and our commitment to supporting businesses that have invested in Microsoft’s ecosystem.Two seamless integrationsSo far, 1Password has released two integrations for Microsoft Sentinel +
3ヶ月前
記事のアイキャッチ画像
Managed vs personal Apple accounts in the workplace: An IT guide
1Password Blog
+Managed Apple Accounts may offer some benefits to workplace security, but teams will have to consider whether it’s worth the sacrifice to the end-user experience.Apple devices rely on an Apple Account (formerly Apple ID) in order for various services and integrations to function (e.g., Find My), as well as to link software licenses purchased via the App Store. There are two distinct types of Apple Accounts which a device may be configured/associated with:Personal Apple Account (default).Managed Apple Account (configured through Apple Business Manager or Apple Business Essentials).Increasingly, employees are taking their organization-owned devices (such as MacBooks) off-site to use in a work from home (WFH) context. This shift has resulted in a greater overlap of personal and work-related activity taking place on organization-owned devices. For this reason, many organizations are reevaluating whether to permit employees to use their personal Apple Accounts. Here, we’ll go over the vario +
3ヶ月前
記事のアイキャッチ画像
We need better systems for vulnerability management
1Password Blog
+The systems in place to manage software vulnerabilities are often overwhelming and ineffective. But that can change if teams enlist their end users to remediate vulnerabilities.Organizations that implement an effective vulnerability management program benefit in two ways. First, they are compromised less often. Second, if a single device does become compromised, the degree of lateral movement an attacker can enjoy is significantly constrained.But even though endpoint vulnerability management has always been vital to cybersecurity, it’s a tough nut to crack. That’s especially true when you take a broad view on your fleet’s vulnerabilities, which could include everything from shoddy passwords to EOL software. But even if we narrow the scope to patch management for software vulnerabilities, we’re talking about a major challenge.I recently came across a sobering 2020 study by the Ponemon Institute about on-premise and cloud vulnerabilities. The following statement leapt off the page:“Fifty +
3ヶ月前
記事のアイキャッチ画像
IBM's Troy Bettencourt shares key insights from the 2024 Cost of a Data Breach Report
1Password Blog
+It should be no surprise that the costs associated with a corporate data breach can be high. (The average total cost is now nearly $5 million, according to IBM.) What may be more alarming is the average length of time it takes for businesses to recover from a breach – and what that means for their security teams, business operations, and bottom line.To unpack these numbers and the rest of IBM’s latest Cost of a Data Breach Report, Michael “Roo” Fey, Head of User Lifecycle and Growth at 1Password, sat down with Troy Bettencourt, a global partner at IBM and head of IBM X-Force, on the Random But Memorable podcast.Beyond costs, the conversation ranged from AI-powered prevention tools to how executive leadership can make or break a response, even if all the right technology is in place.To learn more about these topics, as well as Bettencourt’s advice for developing an effective incident response plan, read the interview highlights below or listen to the full podcast episode.Editor’s note: +
3ヶ月前
記事のアイキャッチ画像
Leveling up the 1Password Developer experience
1Password Blog
+The 1Password desktop apps now include the option to show a dedicated developer section, accessible from the sidebar. The next time you open 1Password for Mac, Windows, or Linux, the built-in SSH Agent, 1Password CLI, and Developer Watchtower will be a click away.The latest release includes a dedicated space to discover, configure, and use 1Password Developer, the bundle of tools designed to simplify developer security and workflows. Also added: secure logging of recent SSH agent activity, so you can see how your SSH keys are being used.Until now, 1Password Developer features and settings were buried in the menu, or within individual items. Now, it’s much easier to secure developer credentials like SSH keys and API tokens.We’re building a safer, simpler digital future for everyone. With this release, developer credentials are treated as first-class citizens, as easy to manage and secure as passwords and passkeys.And we’re not stopping there. The introduction of the SSH agent activity l +
3ヶ月前
記事のアイキャッチ画像
Product designer Sierre Wolfkostin explains why passkeys haven't completely replaced passwords…yet
1Password Blog
+Passwords are required to do practically everything, from watching TV and accessing your phone to making a doctor’s appointment and paying your electric bill. Without a password manager, it’s virtually impossible to remember all of your passwords, particularly if you’re using strong and unique ones for each account.But the security landscape is changing. As Sierre Wolfkostin, Principal Product Designer at 1Password and Matt Davey, Chief Experience Officer at 1Password discuss on the Random But Memorable podcast, the world is headed toward a more streamlined, passwordless future.You can already use 1Password to save and sign in with passkeys. New 1Password customers also can use passkeys to unlock their 1Password accounts (currently in public beta).Why aren’t we using passkeys for everything, all the time? Read the interview highlights below or listen to the full podcast episode to hear Wolfkostin and Davey talk about the advantages of passkeys, as well as some of the remaining challeng +
3ヶ月前
記事のアイキャッチ画像
The official password manager of the Golden State Warriors
1Password Blog
+Hey Bay Area, it’s almost been two years since we first teamed up with the Golden State Warriors, and what a partnership it’s been!Whether it’s taking teamwork to the next level, enriching our communities, or continuously striving for innovation, we couldn’t be prouder of what we’ve accomplished with the Golden State Warriors. It’s made every milestone we’ve reached even more rewarding.As we take a look back at some of the things we’ve accomplished together so far, we’re even more excited for the year to come.The highlight reelOne of our customer stories featured Daniel Brusilovsky, VP of Technology with the Warriors, who shared how 1Password helped them step up their security game.We learned how the Golden State Warriors organization has transformed the way they manage and share sensitive data using 1Password. With 18,000 people in the stadium for around 200 events a year, this busy team needed a way to manage everything from apps and API keys to cloud services and credit cards – with +
3ヶ月前
記事のアイキャッチ画像
1Password and Rails' Kamal: Kindred spirits
1Password Blog
+David Heinemeier Hansson (DHH), the creator and leader of Ruby on Rails, reaffirmed his vision for the framework at Rails World last September. He described his philosophy as “from Hello World to IPO.”Over the past two years, DHH has been ruthlessly simplifying the framework he invented more than two decades ago. Spin up a new Rails 8 application in production today, and you don’t need Node.js, Redis, or even a remote database! And yet, despite all that pruning and shearing, there are no compromises. In fact, Rails somehow packs in even more production-grade functionality than ever before.These simplifications are impressive on their own but they were also necessary to achieve something even more remarkable: Hello World to Production in three minutes. To make this possible, DHH and his team created Kamal, a tool that allows you to deploy any Dockerized web application to a remote server via SSH in seconds, without any downtime.If you haven’t seen the demo, it’s extraordinary. (Start at +
3ヶ月前
記事のアイキャッチ画像
Black History Month: Celebrating Black heritage in the UK and the Netherlands
1Password Blog
+October marks Black History Month in the UK and Black Achievement Month (BAM) in the Netherlands. This year’s UK theme, Reclaiming Narratives, focuses on telling our own stories, in our own voices. In the Netherlands, BAM is celebrating New Generations, spotlighting the rising stars and future leaders of Black excellence.Here at 1Password, we have a growing team of wonderfully talented and diverse individuals in Europe. We’re proud to spotlight Black trailblazers who have shaped Europe and beyond in our inaugural BHM celebrations for the region.A brief historyBlack History Month in the UK began in 1987. Led by activist Akyaaba Addai-Sebo, it was started as a way to recognize the contributions of Black Britons and to educate others on their history and struggles. In the Netherlands, Black History Month officially started in 2010 to highlight the achievements of Black people within their nation, many of whom are of Surinamese and African descent. Black people have lived in both countries +
3ヶ月前
記事のアイキャッチ画像
Ending security obstructionism with human-centric security
1Password Blog
+Traditional cybersecurity practices often work to obstruct users rather than help them. In this article, we explore this phenomenon and ways to refocus on user-centered security.At 1Password, we believe that IT folks genuinely want to help their users. We speak to IT leaders every week, and we can feel their excitement when we discuss tools that hold the promise of improving the work lives of end users.If this is the norm — and we genuinely believe it is — why do so many employees see IT teams as obstructors? Is it because of the tools? The organizational structure? Or simply a perception issue?Whatever the root cause, this animosity between end users and IT security is a problem. And the first step of solving a problem is identifying it, describing it, and giving it a name. (And end-user frustration, thy name is security.)Not too long ago, Kelly Shortridge coined a new term: security obstructionism (SecObs). Kelly defines SecObs as the policies, tools, and practices that result in out +
3ヶ月前
記事のアイキャッチ画像
1Password Device Trust partners with Tailscale and Twingate
1Password Blog
+Over the past few decades, securing remote access has become monumentally more complex. Remote work, with all of its benefits, has also furthered the threats of shadow IT and unauthorized remote access.Companies now need to secure their systems by guarding five pillars: identities, applications, devices, data, and networks.Even so, there’s a gap between the people, devices, and applications that we trust to access sensitive data, and those that actually do in practice (this is called the “Access-trust Gap”). As such, we created 1Password Extended Access Management® to give companies complete visibility and control over the user identities and devices that access their resources.When it comes to securing data at the network level, companies have various options to add to their security stack. Two such options are Tailscale and Twingate.Tailscale and Twingate each take different approaches to better fortify remote network access. Where Tailscale seeks to improve and modernize VPN securit +
3ヶ月前
記事のアイキャッチ画像
New IDC InfoBrief + downloadable CISO checklists
1Password Blog
+Tl;dr: This blog discusses IDC’s 2024 study, “The Future of Access Management: Identity Security Requirements for a Modern Application Access Approach.” The study identifies the biggest challenges facing security leaders today, especially those exacerbated by hybrid work. Below are IDC’s findings as well as downloadable checklists that security practitioners can use to address the security gaps in their organizations.IDC ran a recent survey of over 600 international enterprises about the key issues they face in identity and access management (IAM), including a ranking of “organizational risk by user entity.” The top four riskiest groups they named were: hybrid/remote employees; partners, suppliers, and affiliates; machine identities; contractors.There is a shared challenge across all four groups: they are underserved by traditional security tools, and their risk has been exacerbated by the rise in remote work.In a nutshell, it’s more difficult to confidently ascertain a user’s (or devi +
4ヶ月前
記事のアイキャッチ画像
1Password partners with TD SYNNEX to make Extended Access Management available for IT service providers
1Password Blog
+At 1Password, our mission has always been clear: to provide robust, human-centric security solutions that meet the needs of today’s businesses. Cybersecurity threats are evolving daily so it’s never been more important for businesses to have reliable, user-friendly solutions.Today, we’re announcing a strategic partnership with TD SYNNEX, a leading global distributor of technology solutions, services, and products. This collaboration allows more businesses across North America to enhance their security by leveraging 1Password’s password management and Extended Access Management solutions.Together with TD SYNNEX, we’re bringing our enterprise-level security offerings to a wider network of IT service providers, empowering companies of all sizes to manage credentials and protect sensitive information securely.What is TD SYNNEX?TD SYNNEX is a trusted distributor for organizations seeking advanced technology solutions. The company has an extensive network and deep industry expertise, making +
4ヶ月前
記事のアイキャッチ画像
How to spotlight search across every Mac with osquery
1Password Blog
+In this article, we discuss how admins can programmatically access Spotlight using a utility called osquery, and we demonstrate useful queries you can run to find evidence of compromise in your organization.Have you ever wanted to find exactly the right file on your system in a hurry?That’s why those clever folks at Apple built Spotlight.Originally introduced in Mac OS X Tiger, Spotlight continuously maintains an index of all of the files on your Mac, which allows you to instantly search for files not just by their names, but by their metadata, and even the text content inside of them.I lean on Spotlight heavily every day, to quickly locate and pull up the right design assets from the 1000+ Sketch files on my system.While the benefits of Spotlight as a user of macOS are obvious and intuitive, admins may be surprised to learn you can leverage this powerful feature across your Mac fleet to hunt for evidence of malware, data breaches, and other undesirable artifacts in your end-users' dev +
4ヶ月前
記事のアイキャッチ画像
Presenting the sensitive data report
1Password Blog
+In this blog, we summarize the results of a fall 2022 survey of IT, helpdesk, and security professionals about how their companies protect sensitive data.This article pulls heavily from the Sensitive Data Report, which was originally conducted by Kolide, and as such, uses Kolide’s name and branding. Now that the team at Kolide has happily joined our team at 1Password, we wanted to share the insights and information from this survey with our audience. Rather than edit the report after the fact, we’ve left it as-is, in order to preserve the integrity of the information as it was originally gathered.According to William Crowell’s famous quip, “the cybersecurity industry is a thousand points of light and no illumination.” And according to our new study, one of the darkest places in the entire field of security may be an employee’s downloads folder.In fall 2022, we partnered with Dimensional Research to survey IT, helpdesk, and security professionals about how their companies protect sensit +
4ヶ月前
記事のアイキャッチ画像
1Password product enhancements [Fall edition]: Autosave, sharing, getting started, and more
1Password Blog
+Based on our commitment to making 1Password a helpful, intuitive, and easy-to-use password manager, we’ve focused on enhancing even more key features, all thanks to your feedback.In the past few months, we’ve added new features and refined existing ones to make 1Password more secure and user-friendly. From faster logins to a more guided setup, every change is made with you in mind.Read on for more of what’s new and how these updates can better your 1Password experience:Enhanced browser experienceUnlock 1Password.com using the extensionIf you’re already signed into the 1Password browser extension and you visit 1Password.com, you’ll be automatically logged in, saving you from typing in your account password again.After we put together all of the time our customers would’ve collectively spent typing in their account password every week, we found this update saves about 2 days worth of time!Filter vaults in the 1Password browser extensionWe’ve redesigned the vault and account buttons in th +
4ヶ月前
記事のアイキャッチ画像
3 tips to get everyone on your team using 1Password Enterprise Password Manager
1Password Blog
+A smooth and well-structured onboarding process can encourage strong security habits for your team. And the way you introduce 1Password sets the stage for how your entire organization will use it. Follow our tips and strategies to build an unbreakable foundation that’s baked right into your company’s overall security strategy.Already implemented 1Password Enterprise Password Manager? Keep reading because all of the information shared in this blog remains relevant even after your 1Password account is set up, helping you optimize and improve for the future.Tip 1: Optimize your 1Password account setupWhile going through the setup process, make sure you’re using features in a way that encourages employees to actually use their 1Password account. To do that, you want to focus on three key areas.1. Effectively set up your groups, vaults, and policiesSetting up groups, vaults, and policies before onboarding is essential to ensure that your organization’s security protocols are followed from d +
4ヶ月前
記事のアイキャッチ画像
Are we getting better at data breaches? Security expert Troy Hunt weighs in
1Password Blog
+Have I Been Pwned, a free site that lets anyone search to see if their information was leaked in a data breach, is now just over 10 years old. We asked its creator and renowned security expert, Troy Hunt, whether the world has gotten any better at protecting itself from fraud and cyber attacks since he began the project.Matt Davey, Chief Experience Officer at 1Password, chatted with Hunt on the Random But Memorable podcast about a variety of other topics including scraping (is scraping a data breach?) and the ethics of disclosure (has legislation like GDPR and CCPA made organizations more transparent about breaches?) Find answers to these questions and more by reading the interview highlights below or by listening to the full podcast episode.Editor’s note: This interview has been lightly edited for clarity and brevity. The views and opinions expressed by the interviewee don’t represent the opinions of 1Password.Matt Davey: How are things since we last caught up?Troy Hunt: Very pwned. E +
4ヶ月前
記事のアイキャッチ画像
Coming soon: Securely import and export passkeys
1Password Blog
+Passkeys are superior to passwords in almost every way. They’re simpler to use because there’s nothing to memorize, type out, or paste in. They’re also always strong and come with multi-factor authentication built right in. In short, passkeys are awesome.But why are passkeys almost always better than passwords? What’s the catch?At the moment, you can’t securely move your passkeys between different password managers. It’s a technical shortcoming that we’re committed to solving, and now, after many months of thinking, prototyping, and discussing it with other security companies, we have some news to share.Introducing two draft passkey specificationsToday, the FIDO Alliance has published a working draft of a new set of specifications that, once implemented by major passkey providers, will allow you to import and export passkeys in a way that’s both convenient and secure.The FIDO Alliance is an open industry association with a mission to reduce the world’s reliance on passwords. 1Password +
4ヶ月前
記事のアイキャッチ画像
1Password for Good: Giving back during Cybersecurity Awareness Month and beyond
1Password Blog
+It’s easy for technology companies to claim they’re a force for good. As the age-old saying goes, actions speak louder than words.For this year’s Cybersecurity Awareness Month, the Cybersecurity and Infrastructure Security Agency (CISA) has chosen the theme “Secure Our World”. It’s a reminder that everyone has a right to privacy and the tools, support, and knowledge required to protect their data. In the spirit of CISA’s theme, 1Password is donating $50,000 to three pioneering organizations that teach technology skills to underrepresented youth:Mission BitDigital MomentTech She CanIt’s one of the many ways we’re “doing our bit” to protect our future and help communities both online and offline.Mission BitMission Bit inspires youth of color to explore the world of STEM with project-based computer science education that embraces their identities. Through innovative programming and a commitment to inclusivity, this US-based organization is transforming the lives of students and shaping th +
4ヶ月前
記事のアイキャッチ画像
Buying vs building your own osquery solution
1Password Blog
+In this article, we compare the various difficulties and costs associated with trying to build your own osquery solution vs buying 1Password’s osquery-based device trust product.Note to readers: This article was initially written in late 2022. We’ve done our best to update all of its information and advice, but be sure to do your due diligence when researching further! And of course, you can always reach out to our team with any questions.When you’re making the case for your company to buy 1Password® Extended Access Management, executives and technical procurement managers will inevitably ask if you’ve considered alternatives. And since 1Password Extended Access Management’s Device Trust solution uses osquery, an open-source software, you should expect that one of those proposed alternatives will be building it yourself.This should be no surprise; osquery is the most popular open-source endpoint security project on GitHub. So it’s reasonable to ask: how much value is 1Password’s Device +
4ヶ月前
記事のアイキャッチ画像
How to set up Windows File Integrity Monitoring using osquery
1Password Blog
+This article explains how, with 1Password’s Device Trust solution, you can use osquery’s file monitoring capabilities to oversee your Windows fleet.Note: This article was written in 2022. We wanted to share it since the information about setting up Windows FIM with osquery is still highly valuable. Even so, the specific UX and admin flow detailed here may have seen minor changes over time. If you ever need help, feel free to reach out with any questions! Our door’s always open for fellow osquery fans.Prior to Osquery 4.2.0, Osquery’s File Integrity Monitoring (FIM) capabilities only worked on macOS and supported versions of Linux. To fill this gap, Trail of Bits engineer @woodruffw created a new virtual table called ntfs_journal_events to finally bring basic FIM capabilities to osquery on Windows.In this tutorial, we will take a look at how you can use 1Password’s Device Trust solution to configure and ingest ntfs_journal_events output.What you will need1Password’s Device Trust solutio +
4ヶ月前
記事のアイキャッチ画像
Introducing mobile checks for device trust
1Password Blog
+I am excited to announce the immediate availability of Mobile Checks and mobile end-user self-remediation for 1Password® Extended Access Management Device Trust customers.Here’s a quick demo.The ChecksAs part of this release, we are proud to launch the initial set of Checks:Mobile OS - Ensure Device is Enrolled in Organization MDMMobile OS - Ensure Device is Not Jailbroken or RootediOS - Require Passcode ConfigurationiOS Software Updates - Ensure iOS Version is Up-to-dateAndroid - Require Lock Screen ConfigurationAndroid Software Updates - Ensure Google Pixel OS is Up-to-dateThese Checks leverage the same core set of data that is collected from mobile devices each time a user opens the app to authenticate.The new Checks are not enabled by default for existing customers, but you can enable them right in our Check Catalog.This initial set provides great functionality to get you started, and more Checks are on the way!Self-RemediationIn addition to shipping new Checks, we’ve updated our K +
4ヶ月前
記事のアイキャッチ画像
More security visibility for 1Password Teams accounts with new reporting trial
1Password Blog
+It’s no secret that it’s hard to protect against what you can’t see. One of the biggest challenges facing security and IT experts is visibility into whether their team is following business security best practice – and this is especially true for small businesses.That’s why we’re giving 1Password Teams and Teams Starter Pack (TSP) accounts a chance for more visibility into password health, data breaches, and team usage with a new 1Password reports trial.Starting today, 1Password Teams and Teams Starter Pack (TSP) accounts set up for payment via direct billing using a credit card, debit card, or ACH can get instant access to reports and the Activity Log for free, for 14-days. This is the first time that these 1Password Business reporting features will be available as a free trial to Team accounts – all without the need to upgrade.1Password reports and Activity Log gives better visibility into potential security risks, and provides actionable advice through bespoke recommendations, helpi +
4ヶ月前
記事のアイキャッチ画像
Expanding accessibility standards at 1Password
1Password Blog
+Making a product and website accessible means making a site or app as usable as possible for everyone, regardless of their physical or cognitive disabilities.Disabilities can include:Hearing impairments like being deaf or hard of hearing.Vision impairments like low vision, color blindness, and myopia.Cognitive disabilities like autism, dyscalculia, dyslexia, and memory loss.When it comes to 1Password, giving everyone equal access and equal opportunity to use and benefit from our products strengthens our commitment to making online security easier for everyone.Accessibility is a win for everyoneOne of the many benefits of designing for people with disabilities is that making things more accessible and improving usability is actually better for everyone.This is called the curb-drop effect.The name comes from the pavement curb-drops you see on sidewalks originally being designed for people who use wheelchairs – but in reality, these ramps are also taken advantage of by people with strolle +
4ヶ月前
記事のアイキャッチ画像
NIST proposed password updates: What you need to know
1Password Blog
+This article will be updated over time as NIST password requirements continue to evolve.The latest draft of the National Institute of Standards and Technology (NIST) password guidelines aims to simplify password management by eliminating outdated practices and providing clearer guidance on best practices.Start:Require passwords to be a minimum of eight characters, with a recommended minimal length of 15 characters.Allow passwords to be up to 64 characters long.Accept all printing ASCII [RFC20] characters and the space character in passwords.Accept Unicode [ISO/ISC 10646] characters in passwords, with each Unicode code point counting as a single character towards password length.Stop:Stop requiring arbitrary password complexity, such as requiring special characters or a combination of characters (characters, numbers, special characters)Stop requiring mandatory password resets on set intervals unless evidence of compromise is present.Stop allowing users to save or store password hints.St +
4ヶ月前
記事のアイキャッチ画像
Cyberpsychologist Dr. Erik Huffman explains why social engineering attacks are so effective
1Password Blog
+Social engineering works on all of us, regardless of how tech-savvy we are. Why is that? Dr. Erik Huffman, a founding researcher in the emerging field of cyberpsychology, the study of how the human brain works while in a cyber environment, has answers.Talking with Michael “Roo” Fey, Head of User Lifecycle & Growth at 1Password on the Random But Memorable podcast, Dr. Huffman revealed social engineering success involves some key factors like the different ways people can influence us, generational mindsets about privacy, and certain personality traits that make people more susceptible to psychological tactics.What can IT and cybersecurity professionals do to more effectively address the human side of security? Read the interview highlights below or listen to the full podcast episode to learn about the most impactful strategies, including applying a little cyberpsychology to your day-to-day life.Editor’s note: This interview has been lightly edited for clarity and brevity. The views and +
4ヶ月前
記事のアイキャッチ画像
Do corporate VPNs have a place in a zero trust world?
1Password Blog
+Corporate VPNs still provide value, but the rise of cloud-based SaaS apps have shifted the threat landscape since their heyday.tl;dr: Many of the security concerns that made corporate VPNs a necessity in the 2000s are less important today. The rise of cloud-based SaaS apps have shifted the threat landscape, and security has broadly shifted to a Zero Trust model. Despite that, corporate VPNs still provide value and the companies that have them aren’t rushing to get rid of them any time soon.Let me set the scene. As I write this blog post, I’m streaming music on Spotify and listening via Bluetooth headphones. This is a pretty big improvement from my youth, which was full of scratched CDs and tangled headphone wires. But I still haven’t gone totally digital; behind me sits an expensive record player and shelves full of vinyl. I love my record collection, and I’m not alone. The staggering numbers of LP sales show that vinyl has staying power, despite the availability of cloud-based alterna +
4ヶ月前
記事のアイキャッチ画像
Your company's bossware could get you in legal trouble
1Password Blog
+Monitoring employees in the name of productivity or security can cause a lot more problems than it solves.On Halloween 2022, National Labor Relations Board (NLRB) General Counsel Jennifer Abruzzo released a memo that likely horrified plenty of executives. She announced her intention to “protect employees … from intrusive or abusive electronic monitoring and automated management practices.”In other words, the NLRB declared war on bossware. And it’s not alone. Beyond Abruzzo’s memo lies an evolving, growing array of laws and regulations that seek to protect employees' privacy rights against employee monitoring software, otherwise known as bossware.Numerous countries and a handful of US states, such as California and New York, have already imposed restrictions on how companies can digitally surveil their employees. And given the public sentiment swaying against bossware and toward privacy, we can likely expect more laws and tougher enforcement from regulators.If you’re in charge of purcha +
4ヶ月前
記事のアイキャッチ画像
Professor Alan Watkins demystifies cybersecurity for small business owners
1Password Blog
+How worried should small businesses be about cyber attacks? Pretty worried, according to Alan Watkins, a professor for the Cybersecurity Master’s Degree Program at National University, and an expert with a long career in cybersecurity, emergency management, and law enforcement.Small businesses are often at a higher risk because criminals know they’re easier to hack. So, what’s a small business to do? During a podcast interview with Michael “Roo” Fey, Head of User Lifecycle & Growth at 1Password, Watkins revealed that having good “cyber hygiene” – which consists of a handful of basic principles anyone can follow – doesn’t have to cost thousands of dollars or upend other business priorities.To learn more about what small businesses can do to reduce their risk of cyber attack, read the interview highlights below or listen to the full Random but Memorable podcast episode.Editor’s note: This interview has been lightly edited for clarity and brevity. The views and opinions expressed by the i +
4ヶ月前
記事のアイキャッチ画像
How the 1Password Device Trust agent autoupdates
1Password Blog
+This blog post describes the process for securely updating 1Password’s Device Trust agent.From a user’s perspective, the agent update process for 1Password Device Trust is functionally invisible. Most users are familiar with having to download new updates for software, or at least having to click “yes” on a prompt to restart an app so that it can update. But the Device Trust agent doesn’t require any action from the user to update – it securely autoupdates itself and its components.Given device trust’s importance as a security tool and its role in user authentication, it’s really important that the autoupdate process be as secure as possible. So let’s explain why we chose this approach, and how we ensure that our process is secure.How and why do we autoupdate the Device Trust agent?The 1Password Device Trust agent autoupdates itself in order to receive new features, improvements, and fixes as quickly as possible.At a high level, these are the steps in the autoupdate process:Once an hou +
4ヶ月前
記事のアイキャッチ画像
Is Microsoft Defender antivirus enough for SOC 2 compliance?
1Password Blog
+Osquery makes the built-in antivirus in Windows audit ready.This article was originally written in 2022. While we’ve done our best to update its information, and the osquery advice is still useful, be sure to do your due diligence when looking at the security capabilities of your own Windows fleet!Also, this article is just about Microsoft devices. Want to know our perspective on third-party AV for macOS? Check out “Do Macs need third-party antivirus for SOC 2 compliance?”Third-party malware detection and prevention (what we used to call “antivirus” over a decade ago) is not every Windows administrator’s cup of tea. Some have bigger fish to fry (e.g., getting endpoint visibility, for starters). Others are content with the built-in anti-malware capabilities of Windows, and thus have no plans to deploy AV on its own merits.Unfortunately, SOC 2 and other similar audits are forcing both types of Windows IT Admins to purchase and deploy antivirus-like software, earlier and earlier in the or +
4ヶ月前
記事のアイキャッチ画像
Introducing multi-cloud secrets management with Pulumi ESC and 1Password
1Password Blog
+Pulumi customers can secure and simplify their secrets management workflows with a new integration built for 1Password.Pulumi is an infrastructure as code (IaC) platform that enables developers to manage and deploy cloud infrastructure using familiar programming languages like Typescript, Python, Go, C#, Java, and Yaml.Pulumi recently announced the general availability of Pulumi Environments, Secrets and Configuration (Pulumi ESC), their secrets management and orchestration solution. Pulumi ESC helps organizations control the sprawl of secrets that occurs when companies grow by enabling them to centralize their secrets management across all of their applications and development teams. Developers can easily access, share, and manage secrets securely on any cloud, using their favorite programming languages.Pulumi built the new Pulumi ESC integration for 1Password using the 1Password Go SDK. Pulumi reached out earlier this year about building the integration in response to customer reques +
5ヶ月前
記事のアイキャッチ画像
How much does a SOC 2 audit cost?
1Password Blog
+This blog breaks down how much businesses can expect to spend on a SOC 2 audit, depending on their size, structure, and what they hope to achieve.Every article you’ll find on SOC 2 costs can agree on the following statements:There’s no single, universal answer to the question: “How much does SOC 2 certification cost?”The total costs of an audit – including all the knock-on expenses associated with it – can range from tens to hundreds of thousands of dollars.Unfortunately, few articles explain what specific factors influence an audit’s cost, and what businesses can do to mitigate them.At 1Password, we know a few things about SOC 2, because we’ve gone through the process of becoming SOC 2 compliant ourselves, and because our customers use our products for their own compliance needs. Given that, we’re happy to go where few articles on this topic have gone before: into the specifics.For this blog, we talked to Ed Gardner, the CEO and principal consultant at New England Safety Partners. He +
5ヶ月前
記事のアイキャッチ画像
Personal VPNs can be shady, but should companies ban them?
1Password Blog
+Many people are turning to personal VPNs in order to avoid increasing restrictions and oversight over online browsing, but these VPNs can represent risks to personal and corporate cybersecurity.There’s a widespread consensus these days about the evolution of life online: the internet is getting worse. We were trained to expect digital services that were cheap and easy, but lately they have become expensive, invasive, or simply impossible.Streaming prices keep increasing while streaming content keeps disappearing, news stories are aggressively paywalled, and sixteen states (so far) have passed laws requiring pornographic websites to verify the age of their users, often by sharing their driver’s licenses.These changes are driving users onto the gray market of Virtual Private Networks (VPNs), which promise a private, secure browsing experience that lets them get around these restrictions. The problem is, VPNs are often neither private nor secure. The VPN industry is riddled with scandal a +
5ヶ月前
記事のアイキャッチ画像
How to tell if CrowdStrike Falcon sensor is running
1Password Blog
+This guide for IT and security professionals shows how to detect that the CrowdStrike agent is installed and properly configured, using either vanilla osquery or 1Password® Extended Access Management.CrowdStrike is a security company which is generally classified as an Endpoint Detection and Response (EDR) tool. It primarily operates via the Falcon sensor agent, which is installed on employee devices and detects malware, anomalous behaviors, and other vulnerabilities.As CrowdStrike’s own website says, the Falcon sensor is “extremely lightweight (consuming 1% or less of CPU) and unobtrusive: there’s no UI, no pop-ups, no reboots, and all updates are performed silently and automatically.” For that reason, end users may be unaware of Crowdstrike’s existence on their device, much less whether or not it’s working properly.Ensuring that the CrowdStrike agent is properly installed, configured, and running could be the difference between responding to a massive data breach or having a quiet we +
5ヶ月前
記事のアイキャッチ画像
Patch Macs with 1Password Extended Access Management
1Password Blog
+In emergency situations, 1Password® Extended Access Management can get devices patched faster than MDM alone.On February 13th, 2023, Apple released a series of OS updates to quickly mitigate several serious vulnerabilities (CVE-2023-23514 and CVE-2023-23529) in macOS and Safari. It appeared to be a worst-case scenario: a motivated unauthorized third-party could craft a specific payload to execute arbitrary code on unpatched devices.This type of emergency patching situation is unfortunately all too common, and yet most admins don’t have good tools to effectively hasten the speed these devices get patched. With 1Password Extended Access Management’s integration with identity providers like Okta, Microsoft Entra, and Google Workspace, IT admins now have a powerful capability to patch devices faster than ever. Using 1Password Extended Access Management’s Device Trust solution allows Mac admins to update their fleets as fast as today.In this blog post, I am going to detail how you can use o +
5ヶ月前
記事のアイキャッチ画像
1Password deepens partnership with CrowdStrike to streamline and simplify business cybersecurity
1Password Blog
+Together, CrowdStrike and 1Password are working to ensure every identity, application, and device is protected from threats. Now, you can get the combined power of 1Password and CrowdStrike for less when you bundle 1Password Extended Access Management and CrowdStrike Falcon Go.Too much to do, and not enough time can often feel like the mantra for IT teams. But, with 70% of cyber attacks targeting small businesses, those responsible for business security need to make sure it’s a top priority. However, the constantly evolving security landscape doesn’t make that easy.That’s why more and more small business IT teams are looking for comprehensive security solutions. In fact, nearly one in three teams (30%) have switched security tools or vendors in the past year to ones that provide more complete end-to-end solutions. That’s where 1Password and CrowdStrike come in.What a partnership between 1Password and CrowdStrike means for businessesThe partnership between 1Password and CrowdStrike simp +
5ヶ月前
記事のアイキャッチ画像
1Password Extended Access Management now available via AWS Marketplace
1Password Blog
+We’re excited to share some big news: 1Password® Extended Access Management is now available on AWS Marketplace through private offers. Now it’s easier than ever to keep organizations secure while taking advantage of the AWS ecosystem.What is Extended Access Management?Extended Access Management (XAM) is a new category of security software that fills critical gaps in the identity and access management landscape. It is focused on extending the capabilities offered by IAM (Identity Access Management) and MDM (Mobile Device Management) to the unmanaged (or poorly managed) applications and devices that today’s tools cannot secure.XAM secures access to all the places data goes by giving companies the unprecedented ability to manage:Unsanctioned and unmanaged apps and websites (shadow IT) that are not secured behind SSO.Employee and contractor devices that are either poorly managed by MDM or outside its scope altogether.In organizations today, too many sign-ins are untrusted because the sign +
5ヶ月前
記事のアイキャッチ画像
Announcing four new administrator controls for 1Password Business
1Password Blog
+Balancing robust security with user-friendly access is no small feat. As security professionals, you’ve shared the challenges you face—managing security across a diverse workforce, visibility into security issues, streamlining onboarding and offboarding processes, and ensuring compliance with regulatory requirements. And we’ve listened.This September, we’re rolling out significant updates for 1Password Business customers. These four new features take customer feedback into consideration and are designed to enhance security, simplify access management, and drive adoption across your organization. Here’s a closer look at what’s coming your way:1. Suspended Users policyManaging user access can be a complex task, particularly when it comes to handling suspended users. To streamline this process, we’re introducing the Suspended Users policy.With this feature, administrators can set a specific time period – after which suspended users will be permanently deleted from your 1Password environme +
5ヶ月前
記事のアイキャッチ画像
Do Macs need third-party antivirus for SOC 2 compliance?
1Password Blog
+This piece answers whether the built-in security of macOS is enough to forgo a third-party antivirus solution, and how admins can document that security for a SOC 2 audit.This article was originally written in 2022. While we’ve done our best to update its information, and the osquery advice is still useful, be sure to do your due diligence when looking at the security capabilities of your own Mac fleet!Also, this article is just about Macs. Need help proving compliance with your Windows fleet? We have good news for Microsoft Entra users. Want to skip the preamble? Go right to the osquery SQL at the end of this article.Third-party malware detection and prevention (what we used to call antivirus) is not every Mac admin’s cup of tea. Some have bigger fish to fry (e.g., getting endpoint visibility); others are content with the built-in anti-malware capabilities of macOS and thus have no plans to deploy AV on its merits.Unfortunately, SOC 2 and similar audits are forcing both types of Mac a +
5ヶ月前
記事のアイキャッチ画像
How to build custom osquery tables using ATC
1Password Blog
+In this tutorial, we’ll break down how you can use osquery’s ATC feature to expand osquery’s data collection capabilities.As an example, we will look into how to tap into macOS' quarantine events database to search files to help locate malware a user may have downloaded from a web browser. But before we dig into the details, let’s start at the beginning.What is an ATC table?ATC (automatic table construction) is a method which can expose the contents of local SQLite database files as an osquery virtual table.ATC was added to osquery by Mitchell Grenier (obelisk) in response to a number of virtual table pull requests which all functioned by parsing SQLite databases. Rather than approving each table as a separate pull request, Mitchell took the opportunity to add a native SQLite parsing method to osquery, which would allow adding any number of new virtual tables on a customizable basis.Why is parsing SQLite DBs useful?Many applications use SQLite databases as a storage method for applicat +
5ヶ月前
記事のアイキャッチ画像
The business guide to ISO 27001 compliance and certification
1Password Blog
+Here we provide an overview of the ISO 27001 audit process, so companies can embark on it with a clear idea of what it entails, and how they stand to benefit.If you’re trying to prove that your organization is serious about security, ISO 27001 is the gold standard, the Black Card, the bumper sticker bragging that you’ve run a full marathon.ISO 27001 certification has such an elite reputation because it’s so difficult to attain–it sets exacting standards that must be rigorously documented and continually maintained.Despite the challenges, there are real benefits to achieving ISO 27001 compliance. In a moment where data breaches are rampant, cyber attacks are on the rise, and data privacy laws are being passed around the world, adhering to a strict security standard is your best liability insurance.Here, we’ll provide an overview of the audit process, so you can embark on it with a clear idea of what it entails and how you stand to benefit.What is ISO/IEC 27001:2013?ISO/IEC 27001 is an i +
5ヶ月前
記事のアイキャッチ画像
The file table: osquery's secret weapon
1Password Blog
+In this article, we’ll take a deep dive into osquery tables, by talking about osquery’s ‘file table’ which has some powerful abilities, along with its fair share of limitations.This article is part of an ongoing series in which we look at osquery tables and discuss what they can and cannot do. Check out our previous blog, “How To Write a New Osquery Table” for a great place to get started in the basics of osquery.In this article, we’ll be taking a slightly deeper dive into osquery tables, by talking about osquery’s file table, which has some powerful abilities, as well as its fair share of limitations.Specifically, this post will look at a cross-platform way to find files across your infrastructure.The file table in osqueryThe file table in osquery has an incredible degree of utility across many queries, and represents a fundamental cornerstone of osquery’s core capabilities.Let’s start by taking a look at its basic schema:+---------------+---------+------------------------------------ +
5ヶ月前
記事のアイキャッチ画像
New 1Password SIEM integrations with Rapid7, Blumira, and Stellar Cyber
1Password Blog
+Spend less time collating security reports and investigating security issues by creating integrated, customizable dashboards with data from 1Password. The new Rapid7, Blumira, and Stellar Cyber integrations for 1Password allow you to monitor potential risks around company data or credentials stored within 1Password.With these new integrations, you can manage all your security reports in one central location by integrating your security information and event management (SIEM) with your 1Password Business account.1Password’s Events API expedites security reviewsThe global average cost of a data breach in 2024 is 4.88M USD – that’s a 10% increase from 2023. The leading cause of breaches? Stolen credentials (38%).SIEM solutions, like Rapid7, Blumira, and Stellar Cyber, help businesses identify potential security risks and provide a comprehensive view of a company’s security stack. This helps reduce the time companies spend investigating potential risks and helps expedite mitigation.Using t +
5ヶ月前
記事のアイキャッチ画像
Block Party founder Tracy Chou is building privacy tools that combat online harassment
1Password Blog
+Today’s social platforms are “public by default”, from Instagram and LinkedIn to Venmo and Strava.Tracy Chou is founder and CEO of Block Party, a company that builds online privacy tools, and was one of Time’s 12 Women of the Year in 2022. She says this “opt-out” reality means that most of us – despite our best intentions – are leaking personal data online and don’t even know it. Often the consequences can be surprising and unfortunate.But there are things we can do to take control. Chou talks with 1Password’s Michael “Roo” Fey on the Random But Memorable podcast about her own experiences, including harassment and stalking, that motivated her to develop privacy tools and share them with others so they could also feel safer online.Read the interview highlights below or listen to the full podcast to learn more about Chou’s journey, including her advocacy work for diversity and inclusion in tech, and her optimism that the internet can still be a force for good.Editor’s note: This intervie +
5ヶ月前
記事のアイキャッチ画像
How to start managing developer secrets with 1Password and Pulumi
1Password Blog
+Managing developer secrets in a simple and secure way is crucial. It makes your developers more efficient, prevents data breaches, and ensures everyone adheres to your organization’s policies.Together, 1Password Developer and Pulumi offer a code-driven approach to tackling secret management challenges.In this guide, we’ll show you how to use Pulumi ESC (Environments, Secrets, and Configuration) and 1Password together to have a consistent interface for working with secrets, all while following security best practices.You’ll learn how to declare your 1Password resources (vaults, secrets, and service accounts) using Pulimi IaC (Infrastructure as Code) and manage the lifecycle via automated and consistent workflows, aligning with DevOps best practices.Webinar: Managing team secrets with 1Password and Pulumi ESCWhat is Pulumi ESC?Pulumi ESC is a centralized management solution for secrets and configurations. It is offered as part of Pulumi Cloud and consolidates various secret managers unde +
5ヶ月前
記事のアイキャッチ画像
The 10-minute guide to SOC 1 vs. SOC 2
1Password Blog
+For companies looking to get SOC 1 or 2 compliant, it can be hard to find out where to start, so we’re providing a straightforward guide to the ins and outs of SOC audits.Chances are, if you clicked on this blog post, something like this recently happened to you:Your boss told you that your company needs to become SOC 1 and/or 2 compliant.You googled “what are SOC audits?”You quickly realized that you weren’t sure if your boss meant SOC 1 Type 2, SOC 2 Type 1, or something else altogether.Not to worry, we’re here to demystify and simplify this SEO mess and help you figure out which type of audit your organization needs.So, what the heck is a SOC audit? To put it in plain English, they are independent audits, designed by the American Institute of CPAs (AICPA), that assess how service providers manage risk. Having a SOC certification tells prospective customers that an organization has the appropriate processes and safeguards in place to operate responsibly.The difference is in what each +
5ヶ月前
記事のアイキャッチ画像
The employee's guide to Slack's privacy policy
1Password Blog
+We’re trying to answer all the privacy questions employees might have around their company’s ability to view messages and data within Slack.Note to readers: This article was originally written in late 2022, and includes a description of the experience of requesting data exports from Slack. We’ve done our best to update information, but the experience of directly requesting data from Slack may have changed since our original experiment.So here’s the headline: Your boss can read your Slack DMs. Even if you edit them. Even if you delete them. Even if you leave the company.But even if you’re already dimly aware of that fact, you probably don’t know how the process of accessing your data works in practice.Unfortunately, you won’t learn much about that from Slack’s privacy policy. That document exceeds 5,000 words, includes 15 subsections, and primarily addresses how Slack itself manages data. (It’s pretty boilerplate stuff.)For the average employee, the most pressing concern isn’t what Slac +
5ヶ月前
記事のアイキャッチ画像
CPRA will transform how companies treat employee data
1Password Blog
+California’s data protection law applies not just to consumers, but to employees. And it’s finally taking effect.Some revolutions happen overnight. In 1917, it took Russian citizens a little over a week to overthrow centuries of Czarist rule. A new world was born in less time than it takes a loaf of bread to get moldy.Other revolutions are slow, incremental, and involve a lot of paperwork. Such is the case with the California Consumer Privacy Rights Act (CPRA), the first state privacy law that includes protections for employees. For this part of the law, the path to enforcement has looked a little like a game of Chutes and Ladders: big advancements followed by equally big setbacks.First, although other aspects of the law took effect in January 2023, employers were given a six month grace period to get compliant, until July 2023. Then, the California Chamber of Commerce won a trial court ruling that extended the grace period until March 2024. Then a California Court of Appeal overturned +
5ヶ月前
記事のアイキャッチ画像
What you need to know about ISO 27000 standards
1Password Blog
+For companies looking to get their data practices in order, the ISO 2700 standards provide a valuable starting point to use when crafting policy.The Wild West era of data privacy and cybersecurity is coming to an end. The public has soured on companies (including Big Tech) that scooped up their personal data and then failed to protect it from breaches, hacks, and their own worst impulses. And companies themselves have come to see that no industry is safe, as hackers hold hospitals for ransom and paralyze the operations of everything from airlines to casinos.If we were in a Western movie, this would be the part where the townsfolk pray for a Sheriff to show up and restore order, or at least come up with some rules that everyone can agree to follow. And at present, the most comprehensive set of rules is the ISO/IEC 27000 series of standards.What is the ISO/IEC 27000 family of standards?The ISO 27000 series is a collection of best practices for how organizations can manage information sec +
5ヶ月前
記事のアイキャッチ画像
10 things to know about the state of small business cybersecurity
1Password Blog
+1Password surveyed 600 small business cybersecurity professionals to better understand their unique challenges.We take a look at our top ten findings of how small and medium-sized businesses are managing their security, what threats they’re facing, and what can be done in the future to meet these challenges.Check out 1Password state of enterprise security report 2024: Balancing act, security and productivity in the age of AI for the full report.1. 76% of cybersecurity professionals believe small business cybersecurity isn’t up to snuffIn our recent survey, we found that 76% of small business cybersecurity professionals don’t feel that their security protections are adequate. A gap in security defenses can leave a business exposed to all sorts of cybersecurity threats. So if they know there’s a gap, why haven’t they fixed it?2. Security teams are spread thinThe main reason: They’re being pulled in too many conflicting directions – with 57% of security professionals admitting to feeling +
5ヶ月前
記事のアイキャッチ画像
Healthcare security is a nightmare: Here's why
1Password Blog
+When the medical mission is at odds with security policies, patients and clinicians suffer.Do you suffer from nosocomephobia, the intense fear of hospitals?Maybe it’s because you’re afraid of blood, disease, or fluorescent lighting, but there’s another risk to consider – your data.Hospitals and healthcare more generally are at some of the greatest risk for cyberattacks of any industry. A 2023 Ponemon Institute study found that 88% of healthcare organizations had at least one cyber attack over the past 12 months, and were specifically susceptible to ransomware and business email compromise (BEC) attacks.It’s easy to see why. Threats actors know how sensitive healthcare data is: if they release patient medical records, the provider’s reputation is ruined. And if they shut down a hospital’s operations by locking down their systems, people die. 43% of respondents in the Ponemon study said a data loss or exfiltration event impacted patient care. Of those 43%, 46% said it increased the morta +
5ヶ月前
記事のアイキャッチ画像
How audio deepfakes trick employees (and moms)
1Password Blog
+For bad actors, using synthetic voices is easy, cheap, and worryingly effective.In 1989, Mel Blanc, the originator and primary performer of Bugs Bunny, passed away. This left Warner Brothers with a major casting problem. Mel’s performance was pretty distinctive, and finding someone who could do a perfect Bugs (the wry nasal quality, the vague New York accent) seemed an impossible task.Until Jeff Bergman brought two tapes to his audition. One featured Mel Blanc voicing Bugs, while on the other Bergman did his version of the rascally rabbit. In the audition, Bergman played the two recordings and asked if anyone in the room could tell the difference. Nobody could, and Bergman got the job.Thirty years later, another gifted impressionist managed to mimic their way to a paycheck. In 2019, the CEO of a U.K. energy firm received a call from his boss ordering the urgent transfer of ​​$243,000 to a Hungarian supplier. He recognized the slight German accent and timbre of his boss’s voice, and dul +
5ヶ月前
記事のアイキャッチ画像
Journalist Geoff White reveals how high-tech money laundering networks operate
1Password Blog
+When it comes to hiding dirty money, it’s not just cryptocurrency we have to worry about, according to author, speaker, and investigative journalist Geoff White.White, who wrote the book Rinsed: From Cartels to Crypto: How the Tech Industry Washes Money for the World’s Deadliest Crooks, talked with 1Password’s Matt Davey on the Random But Memorable podcast about how cybercriminals are getting more and more creative in hiding their tracks.Read highlights from the interview or listen to the full podcast episode as White reveals the intricacies of money laundering networks and dives into a fascinating overview of criminal tactics to wash stolen funds, from using real-world mule networks to volunteers’ bank accounts.Editor’s note: This interview has been lightly edited for clarity and brevity. The views and opinions expressed by the interviewee don’t represent the opinions of 1Password.Matt Davey: Could you give a brief overview of your new book, and what inspired you to write it?Geoff Whi +
5ヶ月前
記事のアイキャッチ画像
Top 11 cybersecurity podcasts we're listening to
1Password Blog
+We are lucky enough to be living through the golden age of podcasts. Whatever subject you’re into, you can bet there’s someone out there talking into a microphone about it, and cybersecurity is no exception.In fact, when it comes to security, IT, and digital trends, there are so many choices that it can be tough to know where to start.Luckily, we did the work for you, and we’ve come up with a list of podcast recommendations that has something for everyone. While we’re particularly proud of our own podcast, Random but Memorable (more on that later), we wanted to highlight some of our other favorite podcasts in the infosec space. Whether you’re looking for a deep dive into new tech, a juicy data breach story, or just a laugh, you’ll find something on this list worth checking out.And while reading blog articles from your favorite cybersecurity companies (ahem) will always be a good way to stay in the know, sometimes it’s nice to give your eyes a break and listen to the news.So buckle in, +
6ヶ月前
記事のアイキャッチ画像
New incentive: Higher rebates for 1Password partners
1Password Blog
+Earlier this year, we introduced our initial partner rebate in conjunction with the launch of our partner program. We understand the value of partnerships and are committed to creating opportunities that enhance the success and profitability of our partners.Now, 1Password partners can earn even more through our partner program. We’re adding extra incentives to our partner rebate for the remainder of 2024, giving you more opportunities to grow and strengthen your business.Update to our competitive displacement incentiveAs of August 14th, all eligible 1Password partners will receive an additional 10% backend rebate when they help a business switch to 1Password from another password management tool. You’ll receive this extra rebate for every opportunity submitted and closed won, and paid out monthly.Plus, stackable incentivesOn top of the above 10% rebate, partners can qualify to stack other incentives. Read more about our incentives and how to get started here.What does this mean for you +
6ヶ月前
記事のアイキャッチ画像
Malvertising on Google Ads: It's hiding in plain site
1Password Blog
+Look closer before clicking that link at the top of your search results.Let’s start with a hypothetical: If I asked you to download a piece of open source software, what would you do? Chances are you’d open your browser, go to Google, and type in the name of the software.Then you’d proceed to click on the first official-looking link you saw, even if it’s an ad. After all, it doesn’t really make a difference if you click on an ad or an organic link as long as you wind up on the site you’re looking for.You won’t think too hard about clicking a Google ad because you have no reason to be suspicious of them – they’re just part of the background noise of your digital life. It’s the same reason you don’t check to make sure that gas, and not water, is coming out of the pump when you fill up your car.But that assumption of safety is exactly what cybercriminals are counting on. It’s at the heart of the latest form of malvertising, in which bad actors purchase Google ads that sit at the top of se +
6ヶ月前
記事のアイキャッチ画像
What's the deal with enterprise browsers?
1Password Blog
+Enterprise browsers are built on a sensible idea, but how they work in practice can be another story.In 1968, Robert Probst, research director for office furniture company Herman Miller, released an office design called the “Action Office II.” It was the culmination of almost a decade studying the psychological core of the corporate workspace. The Action Office II would provide privacy while still fostering communication. It would encourage workers to move more freely and adapt their space to their needs. Its innovative movable walls would make workers happier, healthier, and more productive than ever!It was a daring, forward-looking plan, but below, we have a picture of what that plan looked like in the real world.SourceYup. The Action Office II is now best known for giving us the dreaded cubicle. The bane of the modern office worker. The rat maze of the rat race.The birth of the cubicle illustrates how workplace technologies often start as exciting ideas, but are then reshaped by man +
6ヶ月前
記事のアイキャッチ画像
1Password Extended Access Management's Okta integration
1Password Blog
+1Password® Extended Access Management includes (among other things) a device trust agent.This agent serves as part of a user’s authentication process with their company’s SSO – for instance, Okta.What that means is that, with 1Password Extended Access Management, when devices are out of compliance, users can’t log into their Okta-protected cloud apps until they’ve resolved the issue.This change has several implications for IT admins and end users:End users can no longer ignore device security problems – they have to fix them in order to do their jobs.IT teams can ensure that your entire fleet gets compliant with no interventions from them, which is particularly important for urgent security issues like browser and OS patching.1Password Extended Access Management can help your team with its Zero Trust/device trust initiative since we now restrict access to sensitive resources based on device health.For now, 1Password Extended Access Management is compatible with Okta and Microsoft Entra +
6ヶ月前
記事のアイキャッチ画像
How to write a new osquery table
1Password Blog
+One of my favorite features of osquery is the delightful user experience associated with developing new virtual tables.In this guide, we will work together to implement a new high-value table from scratch that, as of this writing, currently doesn’t exist in osquery. Specifically, we will implement a bluetooth table that works on macOS.We’ll first review table design theory, including what makes a good table great and how to balance user privacy concerns with the value needed by the security team. After a bit of theory, we’ll set up an osquery development environment and code our table in Objective-C++. Finally, after some testing, we’ll walk through preparing a pull request for submission to the osquery project.My goal is that after reading this guide, you will be inspired and empowered to contribute new tables to the osquery ecosystem. Barring that excellent outcome, you should at the very least walk away with a much greater appreciation for the process.What is osquery?Osquery is a pe +
6ヶ月前
記事のアイキャッチ画像
How we augmented our design values with UX principles
1Password Blog
+If you work on a small team, designing by vibes (also known as intuition-based design) might feel like a natural and convenient way to get things done. The rules of design are understood, even if they’re often unspoken, and there’s no pesky documentation to get in the way.But as your design team grows it can be very difficult to design by intuition alone. The vibe starts to fracture, and people start to produce work that looks and feels quite different. When you don’t have a shared language to pull from, your meetings get much longer or you create a very inconsistent product experience. In some cases, both. Which is frustrating for the design team and their customers.Vibes don’t scaleTo be clear, intuition is and can be a very useful tool. But when it comes to design, intuition alone isn’t enough to make good decisions. Gut feel should be a signal, but you also need to make sure you have a repeatable approach. Otherwise it’s hard to take the decisions you made in one project and apply +
6ヶ月前
記事のアイキャッチ画像
Improve developer security with 1Password® Extended Access Management
1Password Blog
+With 1Password Extended Access Management, customers can now require users to secure unencrypted SSH keys on their devices by importing them into 1Password before they can access sensitive company data.Like many, you might assume that software developers have an advantage over non-technical end users when securing their devices. After all, they understand how computers work at a deep level, and reasoning about security is a significant part of software engineering.Not exactly. Software engineers have access to organizations' most sensitive systems and intellectual property, but they are also the most likely group to successfully advocate to be an exception to the security and IT team’s normal practices. Additionally, they regularly encounter, handle, and even generate sensitive credentials, making them a prime target for bad actors. In fact, in Verizon’s 2024 Data Breach Investigations Report, the top “initial action” taken by attackers in the breaches analyzed was “stolen credentials. +
6ヶ月前
記事のアイキャッチ画像
Back-to-school tips: A step-by-step guide to getting your family started with 1Password
1Password Blog
+It’s that time of year. Back to school preparation is in full swing, from last minute shopping lists and school supplies to pick-up schedules and extracurricular activities.It’s that time of year. Back to school preparation is in full swing, from last minute shopping lists and school supplies to pick-up schedules and extracurricular activities.So far, we’ve shared tips to help you navigate back-to-school in the digital age, along with all the ways you can use 1Password to make the back-to-school season and your everyday family life a lot simpler].Now, we’re sharing a step-by-step guide to help get you and your loved ones onboarded and set up with 1Password Families so you can get a head start on the first day of school – and every other day, too.We’ve broken it down into a step-by-step process with written instructions as well as video walkthroughs. If you prefer to follow along entirely with a video, our How to get started with 1Password video will show you exactly what the process lo +
6ヶ月前
記事のアイキャッチ画像
The 1Password lock screen: A SwiftUI story
1Password Blog
+Five years ago, the SwiftUI framework was revealed at WWDC19, offering developers a new way to build apps on Apple platforms.Despite the framework’s infancy, its simplicity and clarity in developing user interfaces displayed incredible potential. That’s why when we started working on 1Password 8 in early 2020, we decided to go all-in on SwiftUI for our iOS app. After all, it was being touted as the future of UI development on Apple platforms.Since then, SwiftUI has served us really well. It’s helped our team bring 1Password 8 for iOS to life and move quicker than ever in delivering new, exciting features to users. We’re having a great time with SwiftUI today but it hasn’t always been smooth sailing for everything we’ve needed to build. One of those things was our lock screen.In this post, we’ll share our team’s experience of being early SwiftUI adopters through the lens of our lock screen. We’ll cover our initial struggles that led to an initial UIKit implementation, followed by our ev +
6ヶ月前
記事のアイキャッチ画像
How Extended Access Management helps with patch management
1Password Blog
+In theory, patch management should be trivially easy for a company to manage.An IT team – potentially helped by an MDM, a dedicated patch management tool or an MSP – tests and deploys patches, every endpoint gets updated at roughly the same time, and users are barely aware it’s happening at all.Most articles about patch and vulnerability management describe this idealized flow as if it represents the real world.SourceBut the situation look a little different on the ground.SourceIn reality, IT teams are constantly battling a never-ending torrent of updates and constantly falling behind; Security Navigator’s research shows that businesses still take an average of 215 days to patch a known vulnerability.In vulnerability management, the stakes for just a single error can be monumental. In a Ponemon Institute study, 42% of organizations that suffered a data breach reported it “occurred because a patch was available for a known vulnerability but not applied.”Clearly, patch management is hard +
6ヶ月前
記事のアイキャッチ画像
What everyone got wrong about the MGM hack
1Password Blog
+It was a scene straight out of a casino heist movie, but without George Clooney’s suavity to soften the chaos.Various systems at MGM Casinos–ranging from slot machines, to hotel key cards, to escalators–had been shut down. Guests were locked out of their rooms while hotel staff scrambled to compensate, taking food orders with pen and paper and cashing out gambling winnings from a fanny pack. One customer said, “I asked them how long this was gonna be, and they said it could be one day, it could be three weeks.”SourceMGM Resorts, proprietors of some of the most famous hotels and casinos on the Vegas strip, had been hacked. And what happens in Vegas certainly didn’t stay there this time; all of MGM Grand’s Hotels and Casino properties saw outages. Systems as far-flung as New York, Ohio, and Michigan were affected by one breach.An attack that hinged on a simple vishing call (that’s phishing over the phone) to MGM’s IT desk had snowballed into one of the most notorious ransomware attacks o +
6ヶ月前
記事のアイキャッチ画像
August 2024 security update
1Password Blog
+At 1Password, we’re committed to transparency about our security practices and keeping our customers safe.1Password has not been breached or compromised. This blog details vulnerabilities that have been addressed in the latest version of 1Password. These vulnerabilities can only occur when a device has been compromised, by malware for example, and a malicious actor has control over the device as a result.At DEF CON 2024, Robinhood, a 1Password customer, presented on vulnerabilities discovered by their Red Team in a prior version of 1Password. We appreciate that Robinhood’s Red Team disclosed and collaborated closely with us to address these vulnerabilities ahead of their talk.Strong security requires a collective effort from the entire technology ecosystem, and we believe that through active collaboration, the cybersecurity industry can create a more secure digital landscape for everyone.We addressed the vulnerabilities within our control with the latest updates rolled out in the 8.10. +
6ヶ月前
記事のアイキャッチ画像
Can VDI secure BYOD?
1Password Blog
+In 2006, Joanna Rutkowska stepped on stage at the Black Hat Conference and demonstrated a hack she called the ‘Blue Pill.’In 2006, Joanna Rutkowska stepped on stage at the Black Hat Conference and demonstrated a hack she called the “Blue Pill.” She gave it this Matrix-themed name because this attack made it almost impossible for victims to realize that they were trapped in a false virtual world – or in this case, a false virtual desktop.SourceRutkowska’s attack worked by taking control of Windows Vista hypervisors, which let her command the server’s entire VDI ecosystem and access the data it protected. Still, this was just a demonstration.It wouldn’t be until 2022 that bad actors managed to pull off a “hyperjacking” attack in real life, and show exactly how devastating it can be.In the years since this demonstration, virtual desktop infrastructure (VDIs) have become popular tools, and are often recommended for large enterprises managing Bring Your Own Device (BYOD) scenarios and a rem +
6ヶ月前
記事のアイキャッチ画像
Mac patch management is an urgent, unsolved problem
1Password Blog
+Few ad campaigns have ever had such a long-lasting impact as the iconic ‘I’m a Mac/I’m a PC’ commercials that ran in the mid-aughts.In those commercials, John Hodgman’s PC was the stuffy, corporate computing option – not good for anything more exciting than a spreadsheet. By contrast, Justin Long’s Mac was the laidback computer you used at home – Mac was your buddy, not your manager.The ad campaign was a smash hit for Apple, but nearly 20 years later, IT admins are still living with the fallout. Because in the years since these commercials aired, something unexpected happened. That friendly, casual Friday computer entered the workforce and loosened Microsoft’s stranglehold on the corporate network.By 2021, Macs made up roughly a quarter of all US enterprise fleets (and we can assume it’s grown significantly, since the most recent data is from before the release of the M1 Macs). This remarkable rise has meant that IT pros and sysadmins have had to learn how to manage Macs.In particular, +
6ヶ月前
記事のアイキャッチ画像
1Password SDKs are now out of beta
1Password Blog
+In May, we announced the availability of 1Password software development kits (SDKs) in beta. Those SDKs – available as open-source libraries for Javascript, Python, and Go – are now production-ready.1Password SDKs provide the easiest way to integrate 1Password into your app. They support a variety of secrets management use cases, and we’ve already seen hundreds of fantastic integrations built by the community. This includes partner integrations by Postman and Pulumi, as well as open source projects like Chezmoi and Helmfile.We built the SDKs with minimal abstraction and extendable interfaces to give you the most flexibility in how you build integrations with 1Password. We also took care to preserve 1Password’s unique security and privacy model by maintaining end-to-end encryption until the moment a secret is needed in your application.With the version 0.1.0 release, 1Password SDKs are ready to meet the scalability and stability requirements of production- and mission-critical workflows +
6ヶ月前
記事のアイキャッチ画像
1Password®️ Extended Access Management now available for Microsoft Entra and in private beta for Google Workspace customers
1Password Blog
+With remote work, bring-your-own-device, and shadow IT apps becoming commonplace, the number of unsanctioned apps and untrusted devices is rapidly climbing. And cybersecurity and IT leaders have been stuck with tools that only secured access to some applications, some devices, and some people, creating an Access-Trust Gap.That’s why we pioneered a new software cybersecurity category: Extended Access Management (XAM). Extended Access Management solves the Access-Trust Gap by securing every sign-in, for every app, from every device. It’s also why we launched 1Password®️ Extended Access Management in May 2024. It’s the only product on the market that solves the Access-Trust Gap.1Password Extended Access Management has been available to Okta customers since its release. Due to the demand we’ve seen from companies of all sizes, including those who use identity providers like Microsoft Entra and Google Workspace, we’ve accelerated our product roadmap. As a result, 1Password Extended Access M +
6ヶ月前
記事のアイキャッチ画像
The risks of end of life software and how to address them
1Password Blog
+The thing about nostalgia is that it conveniently omits all the past’s imperfections.Regardless of what car dads will tell you, older isn’t always better. American muscle cars are beloved for their admittedly cool looks, but we’d rather not think about their safety features (spoiler: there weren’t many).Source: 2009 Chevy Malibu vs 1959 Bel Air Crash Test | Consumer ReportsThough we may be fond of our classic cars, the cold, hard truth is that nothing is built to last, including software.Regardless of your attachment to a piece of software — for sentimental, technical, or (most likely) monetary reasons — every app, plugin, and OS you use will one day be put out to pasture. And that may put you and your company in a precarious position because it’s dangerously easy to keep using software past its EOL date.Many organizations struggle to muster the will or the budget to get rid of EOL software, and take an “if it ain’t broke, don’t fix it” attitude. But keeping software around when it’s n +
6ヶ月前
記事のアイキャッチ画像
What's driving the fluctuating costs of cyber liability insurance?
1Password Blog
+When you tell people you’re writing a piece on cybersecurity insurance, they tend to look at you with a mix of confusion and pity.Even when you interview cyber insurance professionals, they preemptively apologize for boring you.The truth is, cyber liability insurance – like any other kind of insurance – is pretty boring, right up until the point that the people who need it can’t get it. Then it becomes not only interesting, but vital. And that’s the point we’re approaching now.In the past three years, the cost of cyber liability premiums hasn’t so much skyrocketed as it has teleported. In 2021, the cost of cyber insurance increased 25.5% year-over-year, making it the fastest growing premiums of all lines of insurance. 2022 was even worse, with rates doubling in the first quarter and increasing a further 79% in Q2.As of 2024, these massive price jumps have stabilized somewhat, with increased competition in the market even leading to a decline in average premium costs – though prices sti +
6ヶ月前
記事のアイキャッチ画像
Explaining the Access-Trust Gap
1Password Blog
+In life, we’ve all encountered the gaps between the idealized world and the world as it is.You’d love your favorite sports team to have a perfect season, but you’re prepared for them to lose a few games.Retailers want to sell their entire inventory, but they plan for a certain percentage of their goods to be damaged or stolen.IT and security professionals try to ensure that only the right people can access their company’s resources, but acknowledge that some data will inevitably slip through the cracks.These gaps are acceptable, until they are not.When your favorite team loses all its games, it might be time for a new coach (or to stop being a Browns fan). If a store’s merchandise keeps getting shoplifted, they need a security guard. And if a company’s sensitive data keeps being accessed by unapproved users, devices, and apps, then their security stack might not be up for the job.As you’ve probably guessed, we’re here to talk about that third example, which we call “The Access-Trust Ga +
6ヶ月前
記事のアイキャッチ画像
Journalist Joseph Cox reveals how an ‘encrypted’ app sting took down organized crime
1Password Blog
+What happens when the FBI gets a backdoor into an encrypted platform?Journalist and 404 Media podcaster Joseph Cox tells the weirder-than-fiction true story about how the FBI ran its own tech company for organized crime in his book, Dark Wire: The Incredible True Story of the Largest Sting Operation Ever.Cox joined Michael “Roo” Fey, Head of User Lifecycle & Growth at 1Password, on the Random But Memorable podcast to explain all of the cloak-and-dagger action and dig into the larger question of privacy versus security.Read highlights from the interview below or listen to the full podcast episode for more fascinating tidbits like just how global organized crime is today and how a reporter goes about contacting sources in the underworld.Editor’s note: This interview has been lightly edited for clarity and brevity. The views and opinions expressed by the interviewee don’t represent the opinions of 1Password.Michael Fey: How have things been going since the book launch? Do you want to star +
6ヶ月前
記事のアイキャッチ画像
2024's least and most secure authentication methods
1Password Blog
+Any security professional will tell you there’s a simple way to keep data secure: encase it in concrete and toss it in the ocean.Unfortunately, while that approach will keep hackers out, it’ll also lock out legitimate users. The next best thing is to set up authentication protocols that don’t make access too easy for hackers or too tough for end users.Broadly, there are three best practices that play into that decision. You need to:Reflect current opportunities and threats. Companies have to choose authentication methods that balance (sometimes competing) needs for security and usability, which is challenging, since the right choice might be different in 2024 than it was a year ago. The state of the art constantly shifts in response to breakthroughs by both vendors and hackers - like this guy that beat a bank’s “secure” voice recognition software with a free AI tool.Choose the appropriate level of security for the user and resource. The “right” approach to authentication has to be tail +
6ヶ月前
記事のアイキャッチ画像
The history, evolution, and controversies of zero trust
1Password Blog
+Zero Trust is having a bit of a moment.Okta’s 2023 State of Zero Trust report found that 61% of organizations globally have a defined Zero Trust initiative in place. (That’s up from only 16% of companies in 2018).Yet even as Zero Trust security reaches new heights of popularity (including via executive order), a backlash is brewing among professionals, who feel the term is being diluted past all usefulness.At security conferences, endless lines of vendors hawk products, all dubiously labeled “ZTA.” Companies crow about their Zero Trust initiatives while privately making as many exceptions as there are rules. Charlie Winckless, senior director analyst for Gartner, puts it this way: “It’s important that organizations look at the capability and not the buzzword that’s wrapped around it.”So which is it – is Zero Trust our best hope against a lawless security landscape, or is it just another disposable tech buzzword?The answer is: a little bit of both. And that begs another question: how di +
6ヶ月前
記事のアイキャッチ画像
Introducing Unlock with Google for 1Password Business
1Password Blog
+1Password Business customers can now integrate with Google Identity Platform using OpenID Connect (OIDC). Doing so brings all the benefits of integrating 1Password with your IdP: streamlined access, unified security policies, and improved auditing, compliance, and reporting workflows.Why Google SSO?In short, you asked (thank you to the many 1Password Business customers who provided their input!). Single sign-on (SSO) has become a critical requirement for businesses to simplify access management for both admins and employees. When you integrate 1Password with Google Identity Platform, you make it easier for teams to securely access their passwords, payment info, and all the other business secrets they store in 1Password.Like all identity provider integrations, zero-knowledge architecture and end-to-end encryption are preserved, and decryption happens on-device. And the trusted device model ensures that if your identity provider credentials are ever compromised, attackers still wouldn’t +
6ヶ月前
記事のアイキャッチ画像
Adamaka Ajaelo explains how cybersecurity can make space for BIPOC women
1Password Blog
+Diversity brings innovation. At a time when every tech company is looking for an edge, having a workforce that mirrors their heterogeneous customer base is a smart move. But how can tech and cybersecurity companies build new talent pipelines?Self-eSTEM, a non-profit that supports BIPOC (Black, Indigenous, and people of color) women and girls learning and working in STEM fields is helping to diversify the talent pool. But, as Sara Teare, one of 1Password’s founders discussed with Adamaka Ajaelo, founder and executive director of Self-eSTEM on the Random but Memorable podcast, they can’t do it alone. Tech companies need to become intentional about recruiting and developing BIPOC talent.Read the interview highlights below or listen to the full podcast episode to learn more about Self-eSTEM and strategies for BIPOC women and girls interested in cybersecurity and tech careers.It was such an interesting conversation we actually created a complete bonus episode with Adamaka Ajaelo to keep the +
6ヶ月前
記事のアイキャッチ画像
The complete guide to digital estate planning
1Password Blog
+It’s not something we want to think about, but the reality is that we all have to face it at some point: Death. It’s an inevitable human experience that no one really wants to talk about.With so many folks finding conversations like this uncomfortable, planning is often left undone, and loved ones are left to struggle with putting the puzzle pieces together, while dealing with the emotions that come with loss.💡 Download our free guide, How to get started with digital estate planning, and prepare for your family’s future today.I grew up knowing only one grandparent, who passed away when I was 19. My father had health issues and passed away when I was 30. Prior to my life here at 1Password, I worked in long-term care, where I was witness to families dealing with the challenges of loss.All of this led to an odd conversation starter – “Box or Pot?” When the time comes, do you want to be buried or cremated? Kick starting those conversations reminds us that there are decisions to be made, a... +
6ヶ月前
記事のアイキャッチ画像
New 1Password SIEM integration with Microsoft Sentinel now generally available
1Password Blog
+Microsoft Sentinel customers, get ready to streamline your security monitoring and investigation workflows with the official 1Password integration for Microsoft Sentinel.1Password for Microsoft Sentinel is an end-to-end solution allowing you to ingest 1Password Events API data directly to Microsoft Sentinel. This brings visibility to 1Password audit events, sign-in activity, and shared item usage, with the full power of Microsoft Sentinel. You can get started right away with alerts and a dynamic, customizable dashboard thanks to out-of-the-box analytics rules and workbooks.Here are the highlights:Track security events: Stay in the know with real-time alerts for successful and failed login attempts as well as account and billing changes.Monitor shared item usage: Gain insights into user adoption and usage, file uploads, and item modifications for accountability and transparency.Threat intel notifications: Proactively identify potential security threats and attacks, equipped with actiona +
6ヶ月前
記事のアイキャッチ画像
AI browser extensions are a security nightmare
1Password Blog
+Since the public release of OpenAI’s ChatGPT, AI-powered browser extensions have proliferated wildly.There are hundreds of them – search for “AI” in the Chrome Web Store and you’ll get tired of scrolling long before you reach the end of the list.These browser extensions run the gamut in terms of what they promise to do: some will summarize web pages and email for you, some will help you write an essay or a product description, and still others promise to turn plaintext into functional code.The security risks posed by these AI browser extensions also run the gamut: some are straightforward malware just waiting to siphon your data, some are fly-by-night operations with copy + pasted privacy policies, and others are the AI experiments of respected and recognizable brands.We’d argue that no AI-powered browser extension is free from security risk (browser extensions in general are notoriously dangerous) but right now, most companies don’t even have policies in place to assess the types and +
6ヶ月前
記事のアイキャッチ画像
Can BYOD policies be compatible with good security?
1Password Blog
+When workers bring their own equipment on the job, it opens the door to all kinds of trouble – just ask the NFL.In 2006, the National Football League instituted a rule change that allowed each team’s offense to use their own footballs during games, as long as those footballs met the league’s requirements. This change was made at the request of the league’s quarterbacks, who wanted more control over the equipment they use to throw touchdowns.But in 2015, the NFL’s BYOD policy led to disaster. The New England Patriots and their quarterback Tom Brady were accused of deliberately underinflating footballs below NFL standards, in a scandal known as Deflategate.Whatever you believe about the Patriots' guilt or innocence (please don’t email us), Deflategate illustrates the pitfalls that come with BYOD - how a well-meaning policy can create a culture of mistrust and end up putting the most sensitive devices in your organization at risk.In this piece, we’ll talk about whether or not BYOD policie +
6ヶ月前
記事のアイキャッチ画像
Unmanaged devices run rampant in 47% of companies
1Password Blog
+Tl;dr: The Shadow IT report, conducted in late 2023, shows that 47% of companies allow employees to access their resources on unmanaged devices, authenticating via credentials alone.Some context about this blog: This article pulls heavily from a Shadow IT Report, which was originally conducted by Kolide, and as such, uses Kolide’s name and branding. Now that the team at Kolide has happily joined our team at 1Password, we wanted to share the insights and information from this survey with our audience. Rather than edit the report after the fact, we’ve left it as-is, in order to preserve the integrity of the information as it was originally gathered.Corporate cybersecurity is at something of a turning point. Companies are very concerned about hacks and data breaches, and are throwing resources at their security teams.In particular, companies are investing in Zero Trust, a security framework that restricts access to sensitive resources based on a user’s identity and security posture. Accor +
6ヶ月前
記事のアイキャッチ画像
1Password is ISO 27001 certified — and more
1Password Blog
+We’re incredibly proud to announce that 1Password has achieved ISO 27001, 27017, 27018, and 27701 certifications.While the building blocks for ISO certifications have been embedded in 1Password DNA for years, we’ll share the reason we pursued them now, what the certifications mean for us, and most importantly, what they mean for you and your organization.What are ISO/IEC certificationsThe International Organization for Standardization (ISO) is a non-governmental organization that develops international standards for establishing, implementing, and maintaining services, systems, and processes.ISO/IEC 27001:2022 is the world’s most recognized standard for information security management systems, and defines requirements for certification. Certified organizations – like 1Password – have proven they have designed controls that follow ISO best practices and principles, and can manage risks related to the security and privacy of information entrusted to them.There are additional ISO standard +
6ヶ月前
記事のアイキャッチ画像
What is device trust?
1Password Blog
+The first known security incident involving a compromised device occurred during the Bronze Age, in present-day Turkey.In that case, the Trojan guards were good men, not malicious bad actors. But they made a fatal mistake when they failed to inspect the large, horse-shaped device they dragged inside the city gates.You’d think that after 3000 years, we would’ve learned. And yet today, compromised devices are one of the greatest threats to cybersecurity. Employees routinely log into their work accounts with malware-infected devices. Even more commonly, bad actors use their own devices to access sensitive data, with the help of stolen employee credentials.These debilitating hacks and data breaches are driving up cybersecurity insurance premiums and driving interest in potential solutions to secure end user devices. One such class of solutions is device trust.Device trust can also be called device health, device posture, device context, or device assurance. But “trust” is particularly usef +
6ヶ月前
記事のアイキャッチ画像
How we improved search results in 1Password
1Password Blog
+Accuracy is important in just about everything we do, so it’s difficult to think of a situation in which one can be too exact. But it’s not impossible.There’s good ol’ 1Password search, for instance, which is perfectly functional. It’s also overly precise and highly inflexible. When I search the term bank, my bank login is never returned because my financial institution doesn’t have the word bank in its name, and I lacked the foresight to tag every banking-related credential with the appropriate tag. Because I, like you, expected 1Password to just… know.Now it does.With the latest version of 1Password, we’ve introduced a better search experience. Now your item searches are useful and much more helpful thanks to large language models (LLM).Yep, that says LLM. And, yes, LLM is a type of artificial intelligence (AI).What follows is a deep dive into how we use it securely.Out with the oldBefore we get into how incredible the new is, I think it’s important to understand where we started.In +
6ヶ月前
記事のアイキャッチ画像
[Checklist] How to make back-to-school (and family life) easier with a password manager
1Password Blog
+The back-to-school season is a hectic and overwhelming time for both students and parents alike.Along with the usual stress of pick-ups and drop-offs, schedules, extra-curriculars, and report cards, now you also have to worry about cybersecurity, school portals, hackers, and social media, too! Not to mention all the other life administration you take on, like bills, doctor’s appointments, pet care, family vacations, and more.It’s exhausting just thinking about it.Back in the day, it was just pencil cases and Trapper Keepers, but now it’s apps, online assessments, and even a bit of ChatGPT. It’s certainly a new era, and while we can’t go back to the past, it may help to start thinking about password managers like the new Trapper Keepers of the digital world.To lend a helping hand, we’ve put together a checklist of all the ways you can use a password manager like 1Password to make going back to school – and every day – a much easier and more convenient experience for you and your family. +
7ヶ月前
記事のアイキャッチ画像
Credential-based data breaches: Five ways to shore up defenses and prevent unauthorized access
1Password Blog
+Note: 1Password has not been compromised. This blog post provides practical tips to protect your organization from a recent string of credential-based breaches.Over the last few months, there have been a number of credential-based breaches, including the attacks on Ticketmaster, Santander Bank, and others.As details regarding this string of attacks continue to be uncovered, it is critical that organizations take precautionary measures in order to protect themselves and their customers from potentially being compromised by cybercriminals. While the details may be murky, it’s likely that cybercriminals are successfully “stuffing” stolen credentials into numerous systems and databases to see what they can unlock. This underscores the consequences of risky behavior many employees have of reusing the same email and password on multiple sites.What happened?Recently, there has been a string of high-profile attacks on large organizations. These attacks have been primarily credential-based and +
7ヶ月前
記事のアイキャッチ画像
1Password vs. Keeper Security: A comparison
1Password Blog
+The differences between 1Password and Keeper go a lot deeper than passwords.If you’re comparing 1Password and Keeper (and it seems like you are, since you’re reading this article) then it pays to be well-informed before you make a purchase.Keeper and 1Password both provide Enterprise Password Managers (EPMs), which are the foundational products of both companies. So if you’re here to compare password managers, we’ve got you covered.But, while EPMs do a lot to keep systems secure, they work better with the help of a more holistic security suite that goes beyond credential management. Fortunately, this is something that both our companies also offer. Keeper provides a lightweight Privileged Access Management (PAM) solution, while we provide 1Password Extended Access Management. (XAM).So, in the interest of giving you a complete comparison of our products, we’ll use this article to contrast Keeper and 1Password in three areas: credential management, device trust, and the impacts they have +
7ヶ月前
記事のアイキャッチ画像
1Password can now encrypt data using your saved passkeys
1Password Blog
+Passkeys are a great technology that can replace passwords and any number of multi-factor authentication mechanisms. However, they have one major limitation holding them back from fully replacing passwords.While passkeys are a great sign-in method, they can’t be used to encrypt the data associated with your account. Until now, services have been stuck with passwords and other clever key handling methods to encrypt customer data.That’s no longer the case for services that you’ve chosen to protect with a passkey saved in 1Password. Starting with the latest beta versions of our browser extension and 1Password for Android, any service you log in to with a passkey – provided it’s stored in 1Password – can use that same passkey for end-to-end encryption.What does this mean?Let’s say you use an app that protects all of your notes with end-to-end encryption. That means only you have the key required to decrypt and read your notes. Historically this key would be a password. It would be used to +
7ヶ月前
記事のアイキャッチ画像
Getting to yes: How to enforce a security policy
1Password Blog
+Security and IT professionals know that keeping a business secure is no easy task.Finding and implementing the best solutions and keeping them up-to-date can feel like a never ending cat and mouse game with unseen adversaries. But it’s no secret that one of the biggest cybersecurity risks is the employees themselves. According to Verizon’s 2024 Data Breach Investigations Report, 68% of breaches involved a human element.People are one of the main vulnerabilities that have proven challenging to secure. After all, no matter how many policies you put in place, if you can’t get your team to follow the rules, it all might all be for nought.Unless noted otherwise, all the stats included in this blog post are from the 2024 1Password State of Enterprise Security Report.The human challenge of cybersecurityVisibility has proven to be one of the biggest challenges to IT professionals in recent years. Where once employees were tied to a physical office where devices and apps used were under the IT +
7ヶ月前
記事のアイキャッチ画像
1Password product enhancements [Summer edition]: Recovery codes, auto-save, and more
1Password Blog
+Since the beginning of the year, we’ve committed to enhancing your experience in ways that will help you easily accomplish whatever you set out to do when you open 1Password – especially saving, finding, and accessing your sensitive data across any of the devices you’re using.We’ve been listening to all of your feedback and working non-stop to address the experiences you told us could be faster, easier, or just simply better. This round, we’ve added improvements and new features that include finding and sharing items faster, seamless sign-in flows for 1Password, quicker logins to your online accounts, and a way to make sure you’ll never be locked out of 1Password and your data.Across all the latest versions of our 1Password apps and extensions, you can now expect a more streamlined experience that will not only save you time, but give you the peace of mind you need to manage the digital life you want.Let’s take a look at all the details of what’s new.More peace of mindRecovery codesBef +
7ヶ月前
記事のアイキャッチ画像
1Password’s back-to-school tips for parents in a digital world
1Password Blog
+We’ve all been there. Summer starts to fly by and before you know it, it’s new supplies, textbooks, school portals, class schedules, extra-curriculars, and more. The horror!Whether you’re a parent getting the kids ready to go or you’re a kid dreading the end of the break, heading back to school (and making it through the year) can be a stressful time. Fortunately, when it comes to giving you a leg up, 1Password is in a class of its own.We’re sharing our favorite back-to-school online security tips for parents, beginners and pros alike, that will help keep your family safe, while you stay stress-free.When you take on these tips, you’ll set up both you and your kids for a simpler and easier back-to-school season every year – all while creating habits that will keep your family safer in the long term.Talk to your kids about online securityYour kids are probably pretty tech-savvy, but that doesn’t mean they’re security savvy.Around 40 percent of parents talk about online security with thei +
7ヶ月前
記事のアイキャッチ画像
1Password sponsors the 2024 Presidents Cup
1Password Blog
+There are moments when stars seem to align, and incredible opportunities present themselves.This is one such moment. Today, we’re proud to announce that 1Password is a global partner of the 2024 Presidents Cup in Montreal, Quebec, Canada.Why sponsor the Presidents Cup?Since our founding, a major cultural value of 1Password is putting people first. When the opportunity presented itself to work with the PGA Tour and sponsor the Presidents Cup, it was evident that we had shared values. Like 1Password, the PGA Tour focuses on giving back and supporting the local communities that host each professional golf tournament. The PGA Tour has donated more than $3.93B to local charities where events take place.That brings us to the Presidents Cup. The Presidents Cup is a global team competition between elite golfers from the United States and internationally (minus Europe). The 2024 Presidents Cup takes place in Montreal, presenting 1Password with a rare opportunity as we are a Canadian-founded com +
7ヶ月前
記事のアイキャッチ画像
Why there's no such thing as MDM for Linux, and what to do about it
1Password Blog
+If you want to make Google tongue-tied, search for ‘MDM for Linux.’At first glance, you’ll find a few vendors who claim to offer device management software for Linux devices (usually as an afterthought to round out their solutions for Mac and Windows). But look closer and you’ll quickly realize that none of these solutions are really MDMs, and none of them will let an IT admin provide endpoint security in the way they’re used to.The absence of an MDM for Linux is a real problem if you’re trying to get your entire fleet of devices aligned to the same standard–for instance, if you’re trying to pass a third-party compliance audit. It’s also just a black eye on your security program when you have no visibility or way to enforce policy on some of your highest-risk devices.So why isn’t there a Linux MDM? And what are you supposed to do now?Let us explain.Why Linux MDMs don’t existMDM (Mobile Device Management) solutions are the most common–and the most aggressive–form of device management. ( +
7ヶ月前
記事のアイキャッチ画像
How MFA is falling short
1Password Blog
+In baseball, it’s tempting to think that once you’re on a base, the hard part is over.But then, just when you think you’re safe (you are literally “safe”) the baseman hits you with the hidden ball trick. Your opponent appears to throw the ball away, but merely hides it and tags you in the moment you’re most vulnerable.A similar thing is happening to companies with multi-factor authentication (MFA). The goal of MFA, much like baseball, is to safely get users where they need to go (in this case, authenticated into their apps). For years, MFA has been considered the gold standard of enterprise cybersecurity. However, even when you’re doing everything right, you can be lured into a false sense of security that your opponent is happy to take advantage of.Image SourceTake Retool, for example. They experienced a data breach in August 2023 because a threat actor bypassed not one but three(!) forms of security – VPN, SSO, and Google Authenticator.By deploying phishing, vishing, and Man-In-The-M +
7ヶ月前
記事のアイキャッチ画像
Explaining the backlash to the SSO tax
1Password Blog
+The SSO tax is the unofficial name for the practice of software vendors significantly upcharging their customers for Single Sign-On, usually by making it part of an enterprise tier.Opponents of this practice say that charging for SSO is like buying a car and having to pay extra for the seatbelts. Meanwhile, vendors argue that SSO is more like a sunroof: a luxury feature that belongs on their high-end model.In reality, SSO is probably most analogous to a rearview camera; it initially seemed like a fancy add-on, but it’s now recognized as a security requirement that keeps everyone safer.Charging extra for a safety feature strikes plenty of people – like the creators of the SSO Wall of Shame – as unfair and irresponsible, and there’s a backlash against the SSO tax rising in tandem with credential-based hacks that SSO could have helped prevent.Still, even in the face of criticism, the practice of upcharging thousands of dollars for SSO shows no signs of slowing down. Why?That’s the questio +
7ヶ月前
記事のアイキャッチ画像
The top three cybersecurity threats facing businesses today
1Password Blog
+With the global average cost of a data breach being 4.45 million USD in 2023, businesses can’t afford to ignore the biggest cybersecurity risks.1Password surveyed 1,500 North American white-collar employees including 500 IT security professionals to better understand today’s security landscape. The survey found that security pros are most worried about external threats like phishing or ransomware (36%) and internal threats like shadow IT (36%).In this post, we dive into the top three cybersecurity threats, how they manifest in a company, and what security professionals can do to combat these common but manageable threats. After all, what is cybersecurity for business if not the ongoing pursuit of staying one step ahead of an ever evolving security landscape?Unless noted otherwise, all the stats included in this post are from the 2024 1Password State of Enterprise Security Report.PhishingPhishing is a scam that tries to trick people into giving away sensitive information. Often appearin +
7ヶ月前
記事のアイキャッチ画像
CISA: Enforcing a password manager protects your business
1Password Blog
+The Cybersecurity & Infrastructure Security Agency (CISA) has issued new guidance: require strong passwords. The new guidance highlights the critical role that strong, unique passwords play in preventing breaches – whether personally or professionally.According to CISA:Small and medium businesses are a regular target for malicious hackers, and a common entry point is stolen or weak passwords.The use of a password manager can keep your business safe.Strong, long, random passwords should be used across all of your personal and business accounts.While this guidance may seem common sense, recent research has indicated that weak passwords represent perpetual risk for organizations and individuals:61% of employees have poor password practices, like reusing passwords or neglecting to reset the IT-selected defaults (1Password State of Enterprise Security, 2024)Use of stolen credentials remains the top/most common ‘action’ in breaches last year (24%), representing 38% of all breaches recorded i +
7ヶ月前
記事のアイキャッチ画像
Progress on 2SLGBTQIA+ rights isn't always linear. But it's still progress.
1Password Blog
+The month of June is Pride Month, which celebrates 2SLGBTQ+ folks (two-spirit, lesbian, gay, bisexual, transgender, queer plus all the other people that fall under this umbrella). It also honors the Stonewall Riots and the queer liberation protests of 1969. This year in particular marks the 55th anniversary of the Stonewall Uprising.2SLGBTQ+ issues have never been more important or talked about in North American society. So it’s important to take a moment to listen to queer voices. It’s an opportunity to recognize that while we still have room to grow, we’ve made significant progress since June 28th, 1969.A brief timeline of progressMany people consider Stonewall to have kicked off the 2SLGBTQ+ movement in the United States, though it was preceded by a decade of similar riots. However, Stonewall is considered a major turning point, with Marsha P. Johnson, Sylvia Rivera, and Stormé DeLarverie all playing major roles. June 1970 marked the first Pride Week, remembering the actions of ever +
7ヶ月前
記事のアイキャッチ画像
Vulnerability management goes much deeper than patching
1Password Blog
+In 2016, the Large Hadron Collider in Switzerland fell prey to a vicious and devastating attack.The bad actor exploited a vulnerability that researchers at CERN had never considered – small furry animals.Yes, the Large Hadron Collider, the pinnacle of scientific achievement, was shut down by a weasel. The cunning critter infiltrated their systems (crawled into one of their tubes) and executed a targeted attack (chewed up a power cord). Research into the Higgs-Boson was delayed for weeks while they got systems back online.Image SourceNow, in 2024, CERN is more concerned about an increasingly common (and far less adorable) style of attack: ransomware. In a January blog post, their computer security team wrote that “the base question is not ‘if’ but ‘when’ CERN will be subject to a ransomware attack.”While CERN knows (better than most) that it’s impossible to protect against every threat that weasels its way into your systems, their plan to guard against ransomware gangs hinges on good ol +
7ヶ月前
記事のアイキャッチ画像
Introducing recovery codes: Never lose access to 1Password
1Password Blog
+In 2024, we’ve committed to making 1Password more user-friendly, accessible, and intuitive, and that’s why today, we’re introducing recovery codes.We know how frustrating and stressful both remembering or forgetting passwords can be – after all, that’s the foundation of why 1Password was founded 18 years ago. Now, millions of people trust us with their sensitive information every day. Since we have that trust, we also want to give you the peace of mind and control that comes with knowing you’ll never be locked out of your account and will always have access to your critical data.With recovery codes, you can rest easy knowing you’ll always have a secure, reliable, and simple way to regain access to your 1Password account – even if you forget your account password or lose your Secret Key.What are recovery codes?A recovery code is a unique and secure code generated by an app or website as a backup to help you regain access to your account in case you forget your account password, or, in t +
8ヶ月前
記事のアイキャッチ画像
Happy 18th birthday, 1Password!
1Password Blog
+Eighteen years ago we made a decision that forever changed our lives: ‘1Passwd’ went live on the internet!It was a side project that was meant to take three weeks. We had built a tool to fill a need we had - saving passwords and everything else you need to submit on webpages, so they could be stored and shared securely. Along the way, we could use this tool to test how well that information was filled into the page. We did all that so we could get back to building websites and doing our other projects faster.We knew that other people might also like what we had built. But what surprised us was the passion of the community! As soon as we launched 1Passwd on MacUpdate and Version Tracker, we were welcomed with open arms, kicking off what would become an amazing journey to where we are today.Over the last 18 years, it’s been our customers who have continued to inspire and drive us forward, and to continue to make 1Password the most-loved password manager. It was a different world 18 years +
8ヶ月前
記事のアイキャッチ画像
Single sign-on isn't enough: closing the SSO security gap
1Password Blog
+Single sign-on (SSO) used to be enough. It’s not anymore.Consider these stats:34% of employees use unsanctioned apps.61% of employees have poor password practices.Credentials are the #1 way attackers gain access to systems.Let’s connect those dots. According to 1Password research, more than one-third of the apps employees use for work are unsanctioned, meaning IT and Security don’t know about them. That’s shadow IT, and because you don’t know about them, you can’t put those logins behind SSO.The same research found that most employees have poor password practices like using weak passwords, or reusing them across multiple services.Finally, credentials are still the primary method for attackers to gain access to systems.So, employees are using weak or reused passwords to log in to unmanaged and unprotected services, leaving attackers' favorite entry point – credentials – vulnerable.SSO solutions can help, of course. But reducing your attack surface means understanding what SSO protects – +
8ヶ月前
記事のアイキャッチ画像
The pros and cons of mobile device management (MDM) solutions
1Password Blog
+It’s no easy feat for a company to maintain security and enforce standardized policies across a fleet of devices.The proliferation of endpoints and operating systems that employees use to connect to company networks makes protecting sensitive data mind-blowingly complex, especially in remote settings. These challenges often come to a head when a company is seeking a security certification like SOC 2 or ISO 27001 and realizes it can only pass an audit if it can achieve greater visibility and control over its fleet. In such situations, most companies resort to mobile device management (MDM) solutions to give their IT team centralized control over the fleet.In a nutshell, MDM solutions make devices behave in specific ways according to predefined security policies so companies can pass audits, prevent data breaches, and obey data privacy and security laws. Despite the word “mobile” in the name, MDMs often extend to the management of laptops, desktops, and tablets. There are many independen +
8ヶ月前
記事のアイキャッチ画像
How we used esbuild to reduce our browser extension build times by 90%
1Password Blog
+The system that we use internally to build the code behind our browser extension was put together over half a decade ago. While we were able to iteratively grow it over time to meet our needs, it became slower and slower in the process. Let’s give it a much-needed upgrade!I joined 1Password as an intern back in early 2020. That’s a date with … some interesting memories! One of them is my recollection of how long it took to build our browser extension. At that time my 13 inch-MacBook Pro with an Intel i5 processor and 8GB RAM needed roughly 30 seconds to do a warm build of our extension (a warm build means I’ve already built the extension at least once, and I’m rebuilding it to test some changes I’ve made.) Thirty seconds wasn’t bad by any means but it was long enough to be annoying and I often wished it could be faster.Fast forward to 2024. We have many more folks working on the extension, I’m now a senior developer with a much more capable M1-equipped laptop, and our extension is a we +
8ヶ月前
記事のアイキャッチ画像
It's time to get serious about GDPR compliance – here's why
1Password Blog
+In 2022, the EU’s General Data Protection Regulation (GDPR), the most powerful data privacy law in a generation, was used to fine a nosy neighbor.An unnamed Spanish citizen had two home security cameras pointed toward a public road. This got attention from their city council, who filed a claim with the Spanish data protection authority (AEPD).Home security is one thing, but GDPR has some pretty strict requirements on how citizens’ data can be processed. For one thing, you have to collect only the minimum data necessary for your purpose; recording everyone who passes by your house is going a little overboard. And while the homeowner had hung up a notice about the cameras, it lacked important information, like who owned the recordings.For this, and other issues, the AEPD found the individual in violation of GDPR. They were ordered to move their cameras, hang up notices about the recorded data, and pay a fine of 1,500 euros.Since GDPR enforcement began, plenty of companies have had an uns +
8ヶ月前
記事のアイキャッチ画像
A&PI Heritage Month: How our leaders’ cultural roots have shaped their careers
1Password Blog
+Our cultural upbringings shape who we are when we enter the workplace and how we navigate it throughout our careers. The values we gain and lessons we learn through our communities can ultimately become our greatest strengths in charting our own professional paths and forging deeper connections with our co-workers.In the spirit of Asian & Pacific Islander (A&PI) Heritage Month, we passed the virtual mic to five A&PI leaders at 1Password who spoke at a company-wide panel to share how their cultural roots have influenced their professional journeys.Here are some highlights:Sylvia Tu, Senior Manager, FP&AMy parents are from Vietnam and immigrated to Canada as refugees to escape a tumultuous life of war and set up a better future for their family. My dad came to Canada from Vietnam by boat with absolutely nothing on him or to his name.Through sheer strength, grit, and support of his sponsor family, he taught himself English and French, earned his Bachelor of Computer Science degree at Écol +
9ヶ月前
記事のアイキャッチ画像
Dr. Chase Cunningham and Elliot Volkman explain how to implement Zero Trust in your business
1Password Blog
+A world with no trust wouldn’t be great, but when it comes to cybersecurity, Zero Trust is actually a good thing.To get some perspective and clarity on what a Zero Trust approach actually entails, Michael “Roo” Fey, Head of User Lifecycle & Growth at 1Password, talked with two Zero Trust experts on the Random but Memorable podcast:Dr. Chase Cunningham, the Forrester analyst who popularized the concept of Zero Trust and is the host of the Dr. Zero Trust podcast, and who is now building G2’s Cybersecurity Analyst program.Elliot Volkman, a journalist, cybersecurity brand builder, and host of the Adopting Zero Trust podcast.Read our interview highlights below or listen to the full podcast episode for strategies for how to apply Zero Trust (try it on your kids!) and why these experts say if you embrace Zero Trust, emerging threats like AI won’t keep you up at night.Editor’s note: This interview has been lightly edited for clarity and brevity. The views and opinions expressed by the intervie +
9ヶ月前
記事のアイキャッチ画像
The big takeaway from the 2024 RSA Conference
1Password Blog
+There’s one quote from the 2024 RSA conference that I can’t stop thinking about, even though it was originally uttered by Kobe Bryant. Here’s the quote:“Why do you think I’m the best in the world? Because I never get bored with the basics."That (possibly apocryphal) bit of wisdom was delivered by Etay Maor, Chief Security Strategist at Cato Networks, in a talk called “The Price is WRONG–An Analysis of Security Complexity.” Maor’s message was that as our digital infrastructure has ballooned in size and complexity, so has our attack surface, and too often, security vendors offer siloed, rather than holistic, solutions.That’s an excellent point, but the quote has broader implications for security and IT professionals, and it’s a message I saw repeated over and over at RSA. Don’t get so excited by shiny new tech that you forget about your most basic obligations. Don’t assume you can automate your way out of every problem. Don’t get bored with the basics.Of course, RSAC is a massive securit +
9ヶ月前
記事のアイキャッチ画像
Two new checks for the ChatGPT macOS app
1Password Blog
+With the recent announcement of OpenAI’s ChatGPT desktop application for macOS, users gain access to LLM workflows outside of their browser. ChatGPT’s broad adoption by employees across industries, and around the world, has put employers, compliance, and security teams into high gear as they seek to balance the gains made in productivity with the potential risks of how these tools are being used.One of the most common concerns among employers when it comes to the utilization of generative AI is the possibility of sensitive or secure company data being fed into the larger ChatGPT training model, which is then used by individuals external to the organization.In August of 2023, OpenAI announced their Enterprise offering of ChatGPT which introduced collaboration functionality, as well as security and privacy guardrails. Specifically with regards to model training they called out the following:You own and control your business data in ChatGPT Enterprise. We do not train on your business dat +
9ヶ月前
記事のアイキャッチ画像
1Password SDKs are now available in beta
1Password Blog
+Developers can now integrate their applications and services directly with 1Password using software development kits (SDKs) for Python, Javascript, and Go. The SDKs are available as open-source libraries in public beta.Why 1Password SDKs?Customers have been asking for a 1Password API so they can access their vaults and items stored in 1Password via that API. It’s a common request, and a reasonable one. The use cases are endless, and we’re builders and tinkerers by nature, too. But it presents some engineering challenges given 1Password’s unique security model.Building a traditional REST API would require 1Password to decrypt and store sensitive user data on our servers. That’s incompatible with our security model and our commitment to zero-knowledge, end-to-end encryption. Only you hold the keys to decrypt the information you store in 1Password, and we want to keep it that way.Enter the 1Password SDKs. The SDKs can be embedded within your application to decrypt data when and where it’s +
9ヶ月前
記事のアイキャッチ画像
Introducing 1Password’s solution for Managed Service Providers in beta
1Password Blog
+On the heels of our global partner program launch earlier this year, 1Password® Enterprise Password Manager - MSP Edition is now available in beta.With this launch, managed service providers (MSPs) can protect their clients’ data and improve the security posture of their information technology systems with the industry-leading password manager trusted by more than 150,000 businesses. 1Password Enterprise Password Manager - MSP Edition includes multi-tenancy client management, streamlined billing, and integration with existing client services and apps.The broader security and solution integration challenges for MSPsAs our partners know, the increasing number of cyberattacks targeting their clients is a major concern. This puts pressure on MSPs to enhance their security measures and protect clients' data effectively.Another pain point for MSPs is the difficulty of offering multiple solutions from different security providers to their clients. Integrating technology solutions from various +
9ヶ月前
記事のアイキャッチ画像
Charlie Livingston talks shadow IT: 'We need to change to a collaborative model.'
1Password Blog
+Shadow IT – the use of apps or devices outside IT’s oversight – can mean that important business information is at risk of being exposed.Many organizations have rules prohibiting the use of shadow IT. But employees are still finding ways to use tools that help them complete their work more efficiently, if occasionally less securely. So what’s the secret sauce to getting users to be more mindful about security?According to Charlie Livingston, head of infrastructure and security at financial wellbeing platform Wagestream, it’s important to position IT as the go-to partner who works to make employees’ jobs easier – and more secure.Livingston recently shared with 1Password’s Michael “Roo” Fey on the Random but Memorable podcast his insights into how IT and employees can be more collaborative to manage the challenges surrounding shadow IT.Read the interview highlights below or listen to the full episode wherever you like to listen to podcasts.Editor’s note: This interview has been lightly e +
9ヶ月前
記事のアイキャッチ画像
It’s time to extend access management
1Password Blog
+Balancing security and productivity is hard. On one hand, IT and Security have an obligation to protect the company. On the other hand, employees are most productive when they can work with the tools they know and love.Between hybrid work, BYOD, and shadow IT, one thing is clear: the way we work has changed; and the way we protect that work should too. Existing access management tools were built for a bygone age when every employee was on-premises; SSO was the way into every application used in the business and every device was managed by IT; and all access happened over corporate networks. But things have rapidly changed since the start of 2020, and these days:Hybrid and remote work have become standard.Employees frequently use unsanctioned applications that they bring in to boost their productivity.Employees and contractors increasingly use their personal devices for work purposes.The tools we use today for identity and access management (IAM) are great at securing access to managed +
9ヶ月前
記事のアイキャッチ画像
Private vaults in 1Password Teams and Business are now employee vaults
1Password Blog
+After speaking with customers, we renamed 1Password Teams and Business private vaults to employee vaults to reduce confusion between work and personal accounts. No functionality is changing – just the name.Each 1Password Teams and Business team member has access to shared vaults and a private vault. When an item is stored in a shared vault, whoever is added to that vault has access to the items stored in it. When an item is stored in the private vault, only the team member has access to that item (unless an individual item is temporarily shared).The confusion arises when someone has access to a work account, like 1Password Business, as well as a personal account, like a 1Password Individual or Families account. If private vaults have the same name across both kinds of account, it’s easy to see how some folks end up accidentally saving personal items to their work account or vice-versa.For that reason, the existence of a private vault in both accounts takes a little explaining to new te +
9ヶ月前
記事のアイキャッチ画像
Verizon's 2024 data breach report challenges the security industry to do better
1Password Blog
+The Verizon Data Breach Investigations Report is to security what the Vogue September issue is to fashion: a glossy, buzzy publication that guides the industry’s conversations for an entire year.The 2024 DBIR is no exception – it’s packed with deeply-researched insights, elaborate (and sometimes inscrutable) graphs, and its usual collection of charming footnotes. This year, the authors look at some of the biggest security headlines from the past year, such as the MOVEit hack and its aftermath, and the (surprisingly muted) impact of GenAI on breaches.Still, if you’re a security professional or observer, a lot of the information in the 2024 DBIR will feel depressingly familiar. One fact in particular stands out: in 2024, the overwhelming majority of data breaches can still be traced to credential-based attacks and human error.This trend has held remarkably steady in recent years. The 2020 DBIR reported that “credential theft, social attacks (i.e. phishing and business email compromise), +
9ヶ月前
記事のアイキャッチ画像
Improve API security and collaboration with 1Password and Postman
1Password Blog
+We’re partnering with Postman to streamline how you securely build, test, and work with APIs.Starting today, you can access API tokens and other secrets stored in 1Password directly in your Postman workspaces and collections. The integration is available in Postman Enterprise plans with the Advanced Security Administration add-on.Postman is the leading API platform used by more than 30 million developers to build and work with APIs. Postman simplifies each step of the API lifecycle and streamlines collaboration so you can create better APIs, faster.The team at Postman was an early partner and tester in the 1Password SDKs private beta, and built the new integration with 1Password using the 1Password Javascript SDK. Developers can use the SDKs to securely retrieve secrets stored in 1Password natively in their apps, whether integrating with an API, accessing infrastructure secrets, or building their own integrations with 1Password.How it worksFirst, create a service account using 1Passwor +
9ヶ月前
記事のアイキャッチ画像
What you can expect to work on as a 1Password intern
1Password Blog
+1Password is proud to welcome roughly 60 interns to the team every year. Our internship program is a launching pad for Canadian students that lets them learn new skills, grow their network, and step into their careers.Curious what you could be doing as a 1Password intern? To answer that question, we first need to explain how we set up and run our internships.How 1Password internships workWe post all of our internships on our Careers page, giving you the chance to pick a team that best suits your skills and interests. If successful, you’ll be brought on for four months of fast-paced, hands-on work that moves us along our mission to build a safer, simpler digital future.As an intern, you’ll be asked to support or lead projects based on your skills and career goals. You’ll collaborate with teammates from around the world in our fully remote environment, working closely day to day with your manager and mentor.Internal growth is a priority for us. You’ll have the chance to raise your hand f +
10ヶ月前
記事のアイキャッチ画像
Stephen Balkam explains how parents can keep their children safe online
1Password Blog
+It’s a concern for families everywhere: keeping kids safe online. For parents with teenagers, there’s the added complication of trying to balance a child’s safety with their right to privacy. But is online safety just families’ problem?Policy advocate Stephen Balkam says everyone – including government, technology companies, law enforcement, and individuals – has a role to play. He thinks about these issues a lot as the founder and CEO of the Family Online Safety Institute (FOSI), a nonprofit that brings together government, industry, academia, and nonprofits to innovate around public policy, industry best practices, and digital parenting.He chatted with 1Password’s Michael “Roo” Fey on the Random but Memorable podcast about how parents should approach online safety with their kids. Balkam also discussed the emerging threats to children’s online safety, parental rights and children’s rights, and how kids can always find a workaround to get online.Want to learn more? Read the interview +
10ヶ月前
記事のアイキャッチ画像
Sisense breach: the urgency of protecting developer secrets
1Password Blog
+The U.S. Cybersecurity and Infrastructure Security Agency (CISA) recently announced that they are investigating a major breach at Sisense, a business intelligence company.1Password is not a Sisense customer nor were we impacted by the Sisense breach.As a result of the breach, it is critical that Sisense customers take action immediately to minimize the impact of any breached credentials. Here is a quick overview of what happened, and a look at what needs to be done to secure your developer secrets to protect against follow-on data breaches.What caused the Sisense breach?According to reporting by Brian Krebs, attackers gained access to Sisense’s self-hosted GitLab environment. From there, they found an unprotected token that gave them full access to the company’s Amazon S3 Buckets. Once they had full access to the company’s cloud environment, they were able to copy and exfiltrate several terabytes of customer data, including millions of access tokens, passwords, and even SSL certificate +
10ヶ月前
記事のアイキャッチ画像
A guide to developer secrets and shadow IT for security teams
1Password Blog
+This is the final post in a series about shadow IT. In this series, we’ve detailed how and why teams use unapproved apps and devices, and cybersecurity approaches for securely managing it. For a complete overview of the topics discussed in this series, download Managing the unmanageable: How shadow IT exists across every team – and how to wrangle it.We all use passwords and other secrets to access things at work. It’s the IT team’s responsibility to secure those secrets. For most departments, secrets management needs are simple: They sign in to apps and websites with passwords, or passkeys, or sometimes with multi-factor authentication.But developers have unique workflows and secrets management needs.The types of secrets developers manage every day include SSH keys, database and API keys, server credentials, and other encryption keys. These keys power authentication methods developers use every day to access systems, integrate applications, securely transfer files, and more. To complic +
10ヶ月前
記事のアイキャッチ画像
How 1Password protects information on your devices (and when it can’t)
1Password Blog
+There’s one question our Security team hears more than any other: Is my 1Password data vulnerable if my device is compromised or infected with malware?A compromised device involves full control or visibility at the system level1, and password managers like 1Password store data that’s accessible to the system — that’s how they function. In fact, that’s how most typical apps are built.The short answer is: Yes, your secrets are vulnerable to an attacker who’s fully compromised your device, however unlikely that situation may be. And let me be clear that if you’re an everyday internet citizen who browses securely and maintains their devices, worrying about such local threats is probably unnecessary. The longer answer is nuanced, as they so often are, and presents an interesting paradox.So, let’s explore that paradox, then dig right into local threat protections in 1Password. After our deep dive, I’ll reveal the crucial non-security consideration involved in our threat-mitigation approach, +
10ヶ月前
記事のアイキャッチ画像
Who’s responsible for AI? Verity Harding on AI policy and ethics
1Password Blog
+Who’s responsible for regulating technological change in a democracy?Verity Harding, a globally recognized expert in AI technology and public policy, and one of Time Magazine’s 100 most influential people in AI, thinks anyone – with any level of technological knowledge – can have a valid opinion about AI. After all, it may not be technological knowledge that helps us make the best decisions around how we want to use AI as a society.Harding, who is currently the director of the AI and geopolitics project at the Bennett Institute for Public Policy and author of the book, AI Needs You, How We Can Change AI’s Future and Save Our Own, talked with Michael “Roo” Fey, Head of User Lifecycle & Growth at 1Password on the Random but Memorable podcast about technology policy and ethics.To learn more, read the interview highlights below or listen to the full podcast episode.Editor’s note: This interview has been lightly edited for clarity and brevity. The views and opinions expressed by the intervi +
10ヶ月前
記事のアイキャッチ画像
Understanding and securing shadow IT for HR, finance, and marketing
1Password Blog
+This is the third in a series of four posts about shadow IT, including how and why teams use unapproved apps and devices, and approaches for securely managing it. For a complete overview of the topics discussed in this series, download Managing the unmanageable: How shadow IT exists across every team – and how to wrangle it.Until recently, companies have been able to exert pretty comprehensive control over security and how people work – in an office, at a desk, with a desktop computer, and using company-provided software and servers.But the days of protecting clearly defined perimeters from the threat of cyber attacks with strong network security and unforgiving firewalls are, for most companies, gone.Today, thanks to hybrid work, the situation can be very different. Many companies have limited insight into where or how their employees are working. In the park? On a mobile device? Laptop? Using any number of apps and tools? Cybercriminals are taking advantage of the confusion.This redu +
10ヶ月前
記事のアイキャッチ画像
1Password cybersecurity report: Balancing information security and productivity in the age of AI
1Password Blog
+What’s good for business is often bad for security. That’s the inescapable conclusion of the 1Password State of Enterprise Security Report this year.Here’s the backdrop, and it should be familiar by now: Work has, slowly and then all of a sudden, expanded. No longer confined to the office ecosystem, work happens in coffee shops and at home and at the airport, on company-provided laptops and the shared computer in the living room, on the family iPad and the phones in our pockets.All that work leaves a residue of (often sensitive) data as it flows through managed apps like the company productivity suite and unsanctioned apps like the file-sharing service that a handful of people use, unbeknownst to IT.With the explosion in the number of apps used for work, it’s a good time for employee productivity, and artificial intelligence (AI) has entered the picture to boost output even further. But IT and security teams are struggling to keep up, especially when they’re constrained by limited reso +
10ヶ月前
記事のアイキャッチ画像
Employee productivity and worker burnout, and how they impact shadow IT
1Password Blog
+This is the second in a series of four posts about shadow IT, including how and why teams use unapproved apps and devices, and approaches for securely managing it. For a complete overview of the topics discussed in this series, download Managing the unmanageable: How shadow IT exists across every team – and how to wrangle it.High productivity levels are generally a good thing. For most organizations, the answer to the question, “Is it important for your employees to be productive?” is a resounding “Yes!” However, when employees ask to use a tool or app to boost productivity, companies may want to say “yes”, but often find themselves saying “no”.What gives? Security concerns. And they’re legit. Companies are in the midst of experiencing a brave new world called hybrid work. Gone are the days of on-premise servers, software, and devices (and employees) that were relatively straightforward to manage and secure.Now knowledge workers can get things done in coffee shops and their own living +
10ヶ月前
記事のアイキャッチ画像
Meet Jess Plowman and Tiphanie Futu, members of 1Password’s Go-to-Market team
1Password Blog
+1Password’s Go-to-Market (GTM) team is critical to achieving our mission of helping businesses, families, and individuals protect their passwords and other private information.GTM helps our company understand the real-life problems that businesses are facing and how 1Password is best equipped to solve them. It’s a fast-growing team and we’re delighted that women like Jess Plowman, Senior Sales Development Representative, and Tiphanie Futu, Sales Enablement Manager, are playing such an integral role in its success.Curious what it’s like to work in the GTM team at 1Password? Read on to learn about Jess and Tiphanie’s professional journeys, as well as their current role and day-to-day responsibilities.Jess Plowman, Senior Sales Development RepresentativeWhy did you join 1Password, and how did you end up here?Back in 2022, I was made redundant from my previous role working as a sales development representative (SDR). I shared my experience on Linkedin and 1Password reached out to see if I +
10ヶ月前
記事のアイキャッチ画像
What is shadow IT and how do I manage it?
1Password Blog
+This is the first in a series of four posts about shadow IT, including how and why teams use unapproved apps and devices, and approaches for securely managing it.Whether or not you’re familiar with shadow IT, know this: it’s everywhere. Fighting it is like playing a game of whac-a-mole: Try to eliminate it and it will pop up again elsewhere.So what’s IT and Security to do? A more realistic approach is to enable and secure it, so you can leverage the benefits of shadow IT without the security vulnerabilities it brings with it. Read on to find out how.For a complete overview of the topics discussed in this series, download Managing the unmanageable: How shadow IT exists across every team – and how to wrangle it.In this series, we’ll cover:Why shadow IT is a thingWorker burnout and its impact on shadow ITCommon security vulnerabilities in HR, finance, marketing, and developer workflowsHow IT teams can adaptUnderstanding developers’ unique secrets management needsWhat is shadow IT?Traditio +
1年前
記事のアイキャッチ画像
What concept-first design looks like at 1Password
1Password Blog
+When daydreaming about the future, it’s fun to imagine faraway, fantastic, and possibly impossible scenarios. Moving sidewalks. Personal jetpacks. Unconfusing TV remotes.But to make the world a better place, we need to balance small improvements with audacious moonshots. As science fiction novelist William Gibson famously put it: “The future is already here — it’s just not evenly distributed yet.”A good illustration of that quote can be found in Estonia, where citizens have been using digital identification to vote and access public services for over a decade. Estonia is living in the not-too-distant future, waiting for the rest of us to throw away our laminated ID cards.Delivering these kinds of improvements is easier said than done. The paradox of working at a technology company is that you need to build small but innovative products and features (the future) with tried-and-true approaches (the past). Tight deadlines often discourage experimentation but, in order to stay competitive, +
1年前
記事のアイキャッチ画像
Empowering women in networking: Overcoming challenges and building meaningful connections
1Password Blog
+It’s essential during Women’s History Month to recognize the strides women have made in various fields. However, networking remains one area of career advancement and satisfaction where women often face unique challenges. From battling imposter syndrome to navigating male-dominated spaces, women encounter obstacles that can hinder their networking efforts.If you’re struggling or unsure how to grow your professional network, fear not! In this blog post, we’ll address common fears and challenges that women often face while networking, and give you some strategies to overcome them. We’ll also explain the importance of shamelessly networking and cultivating meaningful connections.Overcoming common fears and challengesNetworking takes a lot of confidence. It’s natural to feel nervous about introducing yourself to new people and building real, meaningful connections. Here are some specific fears that you might have about networking, and some tried-and-true solutions:Imposter syndromeMany wom +
1年前
記事のアイキャッチ画像
The Mac Admins Podcast team explain how to secure Apple devices at work and home
1Password Blog
+Joined by the popular Mac Admins podcast cast, we dive into Apple security and privacy, and how Macs are being integrated into workplaces everywhere. Find out whether an Apple product on its own keeps you secure and safe from viruses, or if you need additional security apps to protect your devices.Michael “Roo” Fey, Head of User Lifecycle & Growth at 1Password chats with Tom Bridge, Marcus Ransom, and Charles Edge – three of the rotating cast of Apple expert hosts and consultants – on the Random but Memorable podcast. To learn more, read the interview highlights below or listen to the full podcast episode.Editor’s note: This interview has been lightly edited for clarity and brevity. The views and opinions expressed by the interviewee don’t represent the opinions of 1Password.Michael Fey: A lot of people believe that buying an Apple product or a device keeps them secure and safe from viruses, is that true?Charles Edge: No. The first viruses were written – or the first viruses for person +
1年前
記事のアイキャッチ画像
Innovating with more experimental 1Password features
1Password Blog
+We recently introduced labs, a new and pioneering space in the 1Password apps that lets customers opt in to test experimental features.For us, innovation isn’t just a buzzword – it’s a big focus for all of our teams. We are always looking for ways to evolve 1Password so we can offer a leading-edge experience in both security and convenience.As the only password manager involving our customers in the early stages of development, we are breaking new ground in creating a truly human-centric experience. With customer feedback helping us shape experimental features before we commit to bringing them to all 1Password customers, every new addition to labs is actually tailored to real-life use-cases.By testing exciting, new features through labs, but also continuing to focus on making 1Password more user-friendly and intuitive, we’ve been able to balance innovative additions to 1Password while also improving existing features and functionality of our apps.Since labs was launched, we’ve been bus +
1年前
記事のアイキャッチ画像
Introducing the new partner rebate incentive in 1Password’s Global Partner Program
1Password Blog
+We’re thrilled to announce the availability of a partner rebate incentive for partners of 1Password. As valued members of our partner ecosystem, you play a pivotal role in our collective growth journey.With this program, we aim to deepen our partnership, drive mutual prosperity, and unlock new opportunities together.Why partner rebates matterPartner rebate programs are not just about offering financial incentives – they’re about fostering stronger relationships, driving collaborative growth, and rewarding your dedication and efforts. By participating in our rebate program, you gain access to benefits designed to amplify your success:Increased earnings potential. Earn attractive rebates on your performance by achieving sales targets, expanding market reach, and driving customer engagement.Alignment of interests. The rebate program is designed to align with your business objectives, making sure that our mutual interests are in sync and driving toward shared success.Recognition and apprec +
1年前
記事のアイキャッチ画像
Greg van der Gaast's advice for CISOs: ‘Stop doing cybersecurity. Start doing business securely.’
1Password Blog
+If you think security is all about risk management, cybersecurity expert Greg van der Gaast thinks you’ve got it all wrong.Van der Gaast – chief information security officer (CISO), consultant, author, world-famous former hacker and undercover agent – talked with Michael “Roo” Fey, Head of User Lifecycle & Growth at 1Password, on the Random but Memorable podcast about why taking a different approach, especially in a world of increasing security incidents and ballooning budgets, can be a much more effective strategy to reduce both vulnerabilities and cost.What’s different in Van der Gaast’s approach? It has a lot to do with focusing on quality and process before risk. And repeatedly asking “why” to get at the root of upstream security issues. Read on for the interview highlights, or listen to the full podcast episode.Editor’s note: This interview has been lightly edited for clarity and brevity. The views and opinions expressed by the interviewee don’t represent the opinions of 1Password +
1年前
記事のアイキャッチ画像
Save and sign in to Android apps with passkeys using 1Password
1Password Blog
+Android enthusiasts, your time has come. If you own a phone or tablet running Android 14 or higher, you can now save and sign in to many Android apps using passkeys.Today’s announcement builds on the passkey support we released for the desktop version of 1Password in the browser and 1Password for iOS last year. Mac, Windows, iOS, Android – no matter your platform preference, you can now go passwordless and start unlocking the web in a faster and more secure way.We’re thrilled that so many people have started using passkeys, and are delighted that Android device owners can now embrace them too.What is a passkey?Passkeys are a new kind of login credential that lets you quickly and securely log in to accounts on your desktop and mobile devices. They’re a form of passwordless authentication – so there’s no password involved – that are backed by the largest technology companies and built on open industry standards.Curious how passkeys work? Behind the scenes, the passwordless credential rel +
1年前
記事のアイキャッチ画像
Why cybersecurity needs to be at the top of IT’s to-do list
1Password Blog
+When you work in IT, you have a lot to manage. And while everything can feel critical – keeping the computers on might not mean much if your small business experiences a data breach.According to recent reports, cyber attacks are currently disproportionately targeting small businesses.“70% of cyber attacks target small businesses” – Business InsiderWith the average global cost of a data breach being $4.45 million, many small business owners simply don’t have the capital to survive the damage caused from a cyber attack. From losing critical data, time spent trying to recover, and a loss of customer trust, it’s not surprising that 60% of small and medium-sized businesses (SMBs) that are hacked go out of business within six months.But while the stakes may be high, IT teams can protect their businesses by bumping security up their to-do list and prioritizing proactive security measures.Risks companies faceThere are many different types of cyber attacks businesses need to protect against but +
1年前
記事のアイキャッチ画像
How to keep your work and personal items separate in 1Password
1Password Blog
+1Password doesn’t just keep your personal and work-related data safe. It also helps you keep them separate – and your company’s 1Password Business accounts include free 1Password Families memberships for all team members.1Password Families is a personal account for you and up to 5 family members. It works in much the same way your business account does – but instead of being owned by the company, you own it. And instead of admins managing the account, family organizers manage it (that’s you, and anyone else you designate).Because you own the account, if you and your employer ever part ways, you can keep using your Families account by simply updating your payment method. Access won’t be interrupted, and the personal data in your account will remain yours, completely unaffected by your departure from your company.Employers never have visibility or access to anything stored in personal accounts. In fact, your company’s 1Password Business account and your 1Password Families account aren’t +
1年前
記事のアイキャッチ画像
1Password product enhancements [Winter edition]: Password autofill, saving, and more
1Password Blog
+Fumbling with an app when you’re already stressed? We know the struggle. Also, is it just us, or does it always happen when you’re already having a bad day?It may seem silly, but sometimes, a few extra clicks or typing can feel painful when you’re just trying to get stuff done.That’s why, in 2024, we’re focused on making 1Password smoother, simpler, and more intuitive. We’re dedicated to making sure the secure thing is always the easy thing.Throughout the year, we’ll continually improve 1Password so it can reliably work as you expect. No more struggles. We’ll keep you updated on added and improved features along the way, because every click and tap should feel effortless. The seamless experience you deserve.Improving password autofill, browser extension functionality, and more in 1PasswordSince the end of 2023, we’ve already made nearly 200 updates to 1Password. These updates focused on overall performance, reliability, and usability with the goal of simply making sure things work bett +
1年前
記事のアイキャッチ画像
Improving productivity and minimizing cybersecurity costs for distributed teams
1Password Blog
+This is the fourth and final post in a series on how to secure your hybrid workforce. For a complete overview of the topics discussed in this series, download The new perimeter: Access management in a hybrid world.In the initial post in this series, we outlined four key considerations to securing your hybrid workforce: identity, shadow IT, the security vs. productivity tradeoff, and security costs.Now that we’ve seen why identity is the right place to start, and how to secure access to both managed and unmanaged apps, let’s talk about worker productivity and cybersecurity costs.Productivity vs. security is a false tradeoffSecurity software is notoriously hard to use. Instead of making things easier for end users, security tools often introduce new frictions into workflows. Hence the perpetual dance between security and productivity.The situation also pits IT and other employees against each other. IT’s goal is to reduce their attack surface to avoid a security breach. Employees want to +
1年前
記事のアイキャッチ画像
1Password acquires Kolide
1Password Blog
+Protecting remote and hybrid work requires securing both identity and devices, regardless of where employees work.At this point, it’s safe to say work has changed. But the reality is that for those yearning for employees to return to the office, hybrid and remote work is the modern “business as usual,” and there is no going back. Unsurprisingly, our new way of work has brought a slew of new security challenges that companies struggle to address.Security is inherently a people problem. And when people no longer predominantly work from a corporate office, relying on security technologies built to secure physical corporate networks, and everything plugged into them, is now creating gaping holes in company defenses.At 1Password, we’ve always put people front and center of security, striving to create products that are easy to use and make employees more productive. By making the productive way to work the secure way to work, we help companies enlist their employees to be a part of their pe +
1年前
記事のアイキャッチ画像
Beyond Boundaries: What we built, learned, and shared during our latest hackathon
1Password Blog
+Last week was a hackathon week at 1Password. We take time twice a year to pause our normal day-to-day tasks and focus on exploration and learning. These hackathons are a great opportunity to work with different folks, exercise some different muscles, and have a great deal of fun in the process. I’d love to tell you more about our latest hackathon!The hackathon’s theme was “Beyond Boundaries”, and it had a few broad categories for staff to choose from:Shoot for the Moon. Pushing the boundaries of what 1Password can be.Shifting Left. Innovations in the earlier steps in our daily workflows that have compounding effects in the later ones.The Next Step. An incremental improvement in an existing feature, or a step toward something new.We encourage everyone in our Tech, Product & Design departments to set aside work to participate in the event, and ask them to self-organize into teams and projects. This means that the hackathon projects aren’t defined by leadership – they’re entirely grass-ro +
1年前
記事のアイキャッチ画像
How hacker and security consultant Jayson E. Street breaks into businesses
1Password Blog
+“A man walks into a bank…” That may sound like the start of a joke but as hacker and security consultant Jayson E. Street tells it, it’s really nothing to laugh at. He’s walked into banks, hotels, government facilities, and biochemical companies all over the world and successfully compromised them.Street is an adversary for hire, Chief Adversarial Officer for Secure Yeti, a DEF CON group global ambassador, and the author of the book series Dissecting the Hack. He sat down with Michael “Roo” Fey, Head of User Lifecycle & Growth at 1Password, on the Random but Memorable podcast to share some fascinating stories about how he “hacks” human nature to get in the literal front door and compromise businesses.Read the interview highlights below or listen to the full podcast episode.Editor’s note: This interview has been lightly edited for clarity and brevity. The views and opinions expressed by the interviewee don’t represent the opinions of 1Password.Michael Fey: How did you get into penetrati +
1年前
記事のアイキャッチ画像
How to find and secure shadow IT
1Password Blog
+This is the third in a series of four posts on how to secure your hybrid workforce. For a complete overview of the topics discussed in this series, download The new perimeter: Access management in a hybrid world.In the first post in this series, we identified four key considerations to securing hybrid workforces: identity, shadow IT and bring-your-own-device (BYOD), security adoption, and security costs.Today, let’s talk about shadow IT.In a hybrid world, not only do we work from everywhere, we use a huge number of apps – 130 at the average organization – to get work done. Some apps are sanctioned by the IT/Security team. Many are not.Those apps not managed by IT/Security are, by definition, a blind spot. And because you can’t secure what you can’t see, those unmanaged apps are known as shadow IT.What is shadow IT?Shadow IT is all the apps we use to get things done that haven’t been explicitly approved – and therefore secured – by IT. It’s usually cloud-based apps, or software-as-a-ser +
1年前
記事のアイキャッチ画像
Introducing the new 1Password Global Partner Program
1Password Blog
+Today, it’s our pleasure to announce a new global partner program for 1Password resellers, distributors, cloud service partners (CSPs), system integrators (SIs), and global system integrators (GSIs).If you’re part of the global ecosystem of 1Password partners, you’ll notice new investments to help you secure your customers, differentiate your offering, and grow your revenue. That includes key sales, marketing, and enablement resources and a simplified partner experience in the near term, with many more initiatives to follow in the coming months.And if you’re looking for a world-class solution that can provide enterprise password management with simple, lucrative and supportive partner programs, look no further. We encourage you to learn more and understand how we can help you achieve your growth objectives while simultaneously increasing your customers’ security posture.Why partner with 1Password?Improve customer data security and complianceGain access to dedicated channel- and custome +
1年前
記事のアイキャッチ画像
Celebrating Black innovators in tech, agriculture, education, and more
1Password Blog
+Celebrating Black innovators and their contributions to society is incredibly important. It’s an opportunity to reflect on history and recognize the impact these visionaries have had, both by shaping our present and influencing the future.This Black History Month, 1Password proudly spotlights some extraordinary figures who have made significant contributions to technology, agriculture, education, media, culinary arts, and other important fields. Join us in acknowledging these trailblazers, as we believe their stories are integral to a more inclusive and enlightened narrative.Computer hardware and softwareNow: Mark E. DeanMark E. Dean, an American computer scientist and engineer, played a pivotal role in developing the original IBM PC and color PC monitor. His contributions extend to the invention of the first gigahertz chip, showcasing his pioneering work in computer technology.Now: Tope AwotonaTope Awotona, a Nigerian-born entrepreneur, founded Calendly, a widely-used scheduling tool +
1年前
記事のアイキャッチ画像
Every business leader should find their tractor
1Password Blog
+It’s easy for leaders to get swept up in the fast-paced and always-on nature of our jobs, leaving little opportunity for downtime. My mind races far too much, so it’s become important to find activities to engage in regularly that take me away from Zoom and Slack, and give me perspective.In today’s busy world, the emphasis on being constantly connected and productive can be overwhelming. However, through my own work and career, I’ve noticed an essential truth: everyone needs a hobby or distraction from work. It’s more than just a hobby though – it’s a necessity for maintaining a healthy mind and body.For those who don’t know me well enough just yet, that escape is my tractor. Large equipment has always been a significant part of my life. This hobby started when I was 8 or 9 years old with my granddad bringing me to the rock quarry where he worked and letting me “drive” the various machines. As part of my upbringing, this hobby is both a connection to my past and something that grounds +
1年前
記事のアイキャッチ画像
Securing identities in hybrid environments
1Password Blog
+This is the second in a series of four posts on how to secure your hybrid workforce. For an overview of the topics discussed in this series, download The new perimeter: Access management in a hybrid world.In the first post in this series, we identified four key challenges to securing your hybrid workforce: identity, shadow IT, the security vs. productivity tradeoff, and cybersecurity costs.Today, let’s dive into identity and access management. (We’ll explore the other topics in upcoming posts, so stay tuned.)Recap: The new perimeterIn 2023, 70% of data breaches involved an identity element, which can be a vulnerability as simple as a stolen password. And that number is growing – Forrester expects it to climb to 90% in 2024.This is happening for a number of reasons, but hybrid work is high on the list. Instead of badging in to a secure workplace, or using a VPN to access a secure network, we’re working everywhere: from the office, from home, from the coffee shop, at the airport.And inst +
1年前
記事のアイキャッチ画像
Everything, everywhere all at once: Securing the new perimeter
1Password Blog
+This is the first in a series of four posts on how to secure your hybrid workforce. For a complete overview of the topics discussed in this series, download The new perimeter: Access management in a hybrid world.What is hybrid work?To secure your company, it used to be enough to secure the workplace and its entry points – because work was happening at work. There was a clearly defined perimeter to defend against attackers.In hybrid work environments, work happens everywhere: in the office and at home, at coffee shops and coworking spaces, on laptops and phones and tablets. And to get that work done, we use a lot of apps.Hybrid work – which was a thing well before the pandemic, but was massively accelerated by it – is the new normal we’re all adjusting to. Even now, office attendance is 30% lower than it was pre-pandemic. There’s no going back.Suddenly secure networking, VPNs, endpoint protection, and employer-provided devices (basically the entirety of our old cybersecurity toolset) ar +
1年前
記事のアイキャッチ画像
1Password Watchtower can now help keep your SSH keys safe
1Password Blog
+Starting today, you can review and mitigate potential SSH key security risks in 1Password Watchtower.When was the last time you reviewed the SSH keys on your local disk? Do you know which encryption algorithm your keys use? Is every key secured with a passphrase, or are some stored as plaintext?We take care to protect many of the credentials we work with everyday. But too often we store SSH keys – the keys we use to access servers, databases, and other infrastructure – on the local drive and promptly forget about them.When left unaddressed, insecure and unencrypted SSH keys are security vulnerabilities that can be exploited by bad actors. Just this month, researchers discovered malicious NPM packages designed to upload stolen SSH keys to GitHub. Fortunately both packages were removed before they could be widely distributed, but this was yet another example of malicious actors using open-source package managers to target developers and engineering organizations.A new way to monitor the +
1年前
記事のアイキャッチ画像
One breach. One leak. And a lot of hard lessons about passwords.
1Password Blog
+It’s January, and 2024 is already seeing two major security announcements with wide-scale implications for security teams. While these announcements may seem disconnected at first, they highlight the continued importance of good password hygiene, and ensuring that employees are protecting themselves online inside and outside of the workplace.Here’s the TL;DR.What happened?Two significant security announcements have been reported:Microsoft email breach - State-backed Russian hackers broke into Microsoft’s email system, including access to the accounts of senior leadership members and the company’s cybersecurity team. The hackers were able to gain access by using “password spraying” and used a single, common password in an attempt to login to multiple accounts.The mother of all breaches (MOAB) - A massive database built from previous breaches, leaks, and private databases across a wide range of business and consumer sites from Twitter and LinkedIn to Adobe and Dropbox has been released b +
1年前
記事のアイキャッチ画像
What to do if you were impacted by “The Mother of All Breaches”
1Password Blog
+The mother of all breaches (MOAB). That’s how security experts are referring to the recent discovery of a massive database that is composed of data from thousands of previous breaches, leaks, and private data databases.“But why should I care? How does it impact me?”The breach includes over 26 billion records. That’s staggering. And that means if any of your accounts are included (or if you reuse passwords anywhere), you need to take action in order to protect yourself and your family.Here’s the TL;DR.What Happened?A massive database built from previous breaches, leaks, and private databases across a wide range of business and consumer sites from Twitter and LinkedIn to Adobe and Dropbox has been released by an unknown source. This breach is composed of roughly 26 billion records, and is being referred to as the “mother of all breaches”.Who’s impacted?The database includes data from a wide variety of commonly used websites, including Tencent, Deezer, Dropbox, and LinkedIn, among others. +
1年前
記事のアイキャッチ画像
Security in 2024: Our experts’ predictions
1Password Blog
+Here we are again: the beginning of a brand new year. Brimming with possibility, it’s the perfect time to reflect, evaluate, and plan.Everyone here at 1Password is looking ahead — including our Security team. As you can imagine, they have a few thoughts and predictions for the coming year. Maybe you want to know what to watch for as you and your family live and work on the internet. Perhaps your company is budgeting for security and you wonder where funds are best spent. Whatever you’re planning for, information is key.From (more) passkeys to increasingly sophisticated hacking techniques, there’s a lot in store for 2024. Let’s dive in.Don’t believe what you seeAs AI continues to permeate our lives, the use of deepfakes will grow rapidly in both targeted social engineering attacks and broader attempts to influence public opinion. While AI-generated audio, photos, and video is still far from perfect, it’s good enough to trick most people — and improving rapidly.Your employees are the tar +
1年前
記事のアイキャッチ画像
How to save, share, and manage passkeys using 1Password
1Password Blog
+You can save all sorts of sensitive information in 1Password including your usernames and passwords, addresses, credit cards, and medical records. It’s also a safe and convenient place to store your passkeys – a new type of login credential that lets you sign in to accounts with unmatched security and convenience.In this guide, we’ll break down how to save, use, manage, and share passkeys using 1Password. You’ll learn what passkeys are, the different ways you can organize them in 1Password, and how to discover which apps and websites support them.By the end, you’ll know how to get the most out of passkeys so you can sign in to online accounts and protect your data fuss-free.ContentsWhat are passkeys?What you need to save and sign in with passkeys using 1PasswordHow to find websites and apps that support passkeysHow to create passkeys for your online accountsHow to sign in to an account with a passkeyHow to manage and organize passkeys in 1PasswordHow to share passkeys using 1PasswordGe +
1年前
記事のアイキャッチ画像
Now in beta: Create and unlock a 1Password account with a passkey
1Password Blog
+Ready to go truly passwordless? Starting today, anyone can join our public beta and create a new 1Password Individual account using a passkey.Choosing this passwordless sign-in method means you don’t have to memorize a 1Password account password or look after a Secret Key. All you need is your passkey, which is both convenient and secure to use.This is a major milestone for 1Password. Earlier this summer, we launched a private beta that allowed a small group of testers to try this new feature with a 1Password test account. A huge thank you to everyone who took part.Today we’re opening up the beta to everyone. A passkey is a fast and secure way of accessing everything stored in your password manager, and makes it even simpler to get things done throughout the day. We can’t wait for you to try it.The ability to unlock 1Password with a passkey is currently for new accounts only. Next year, we’ll make this feature available to anyone with an existing 1Password account.What is a passkey?Not +
1年前
記事のアイキャッチ画像
New in 1Password Business: Help separate work and personal information with approved item domains
1Password Blog
+Personal information stored in business-owned accounts is a risk, especially when it contains vulnerabilities like weak or reused passwords.Separation of work and personal information is critical for companies – and for employees. This is precisely why every 1Password Business implementation includes access to free 1Password Families memberships for employees’ personal use.Employers never have visibility or access to anything stored in a 1Password Individual or Families account – and neither does 1Password.This separation helps foster the ideal security culture: work information in 1Password Business accounts; personal information in 1Password Individual or Families accounts. Aside from security best practices, no one wants to change jobs and lose access to their personal email because the credentials were mistakenly stored in a work account.In July, we released a feature for all 1Password accounts to help keep work and personal information separate right from the start – when you save +
1年前
記事のアイキャッチ画像
Will quantum computers break your passkeys?
1Password Blog
+Passkeys have been publicly available for roughly a year. Engineered for security and phishing protection, this new form of passwordless authentication is still in the headlines — now under scrutiny.Some in the industry have questioned the longevity of passkey technology; specifically, how vulnerable they might be in a world where quantum computing is the norm. Many are questioning whether passkeys will remain a formidable force for decades or be rendered a liability faster than you can say “asymmetric cryptography.”We feel pretty strongly about passkeys around here, so this topic begs to be explored and I’m thrilled you’re joining us for the journey. We have a jam-packed itinerary today: establishing a few fundamentals, traveling through time (no big deal), and uncovering some missing pieces before we arrive at a conclusion.Are passkeys built to succeed in a world of quantum computing or doomed to fail?Let’s find out.Built to winPasskeys allow you to access your accounts and data with +
1年前
記事のアイキャッチ画像
Developer secrets keep leaking. Can we stop the flood?
1Password Blog
+A crisis has been quietly brewing behind the shiny facade of the latest software and technology. The problem: exposed developer credentials. What started as a slow leak has now become an impossible-to-ignore flood.These leaks, stemming from the accidental exposure of API keys, security tokens, and other credentials in code, have led to a surge in recent security incidents. The technology industry has known about this issue for almost a decade, and there have been countless attempts to solve it.But a recent report by Ars Technica just how severe the issue has become. It reveals that even the most sophisticated and security-conscious engineering organizations are not immune to lapses, indicating that more work needs to be done to reverse the trend.Almost 4,000 leaked secrets discoveredThe Ars Technica story centers on a study by GitGuardian that looked at exposed secrets in just one popular open source repository used by developers. The results provide a rare look into the scale of the p +
1年前
記事のアイキャッチ画像
How to ensure everyone’s voice is heard in a virtual meeting
1Password Blog
+Virtual meetings are critically important for any company that’s embraced remote or hybrid work.Ensuring these spaces are inclusive not only leads to stronger team morale, but better communication and more innovative outcomes. Ultimately, enabling more perspectives and contributions from your team members will result in better products.But how do you do this? We’re glad you asked. Here at 1Password, creating an inclusive culture is a big part of how we do our work. Our team has accomplished a lot this year, which couldn’t have been possible without fostering an environment where everyone’s voice can be heard.Employees at 1Password are encouraged to think about and use the following principles during their meetings:Take space and make spaceEmbrace discomfortOne voice at at timeAs a team that’s been remote-first since day one, we’re no stranger to searching for the best ways to work together online. Here are some tips we’ve gathered about creating inclusive, effective virtual meetings.Pr +
1年前
記事のアイキャッチ画像
Can a passenger hack an airplane? Ethical hacker Ken Munro has the answer
1Password Blog
+Hollywood would have us believe that an airplane can be hacked by a tech-savvy passenger. But can they really? Ethical hacker Ken Munro decided to dig into airplane security and answer some common movie questions, like ‘what can a hacker do from seat 23A?’Ken Munro’s company, Pen Test Partners, does cybersecurity consulting and testing for a variety of industries and organizations – everything from banking apps to railway infrastructure. The team of ethical hackers saw an opportunity to pen(etration) test some decommissioned airplanes while passing by a plane graveyard.Michael “Roo” Fey, Head of User Lifecycle & Growth at 1Password, spoke with Munro on the Random But Memorable podcast to separate the movie myths from the real airplane threats. Read on for the interview highlights or listen to the full podcast episode.Editor’s note: This interview has been lightly edited for clarity and brevity. The views and opinions expressed by the interviewee don’t represent the opinions of 1Passwor +
1年前
記事のアイキャッチ画像
A CFO explains why every business needs 1Password
1Password Blog
+As the Chief Financial Officer of 1Password, I’d love to share how 1Password the product empowers my Finance team to be at its best. We work in an uncertain financial environment and strive for efficiency and prioritization, just like everyone else.From the Verizon Data Breach Investigations Report (DBIR), we know that stolen login credentials are the most common pathway for breaches. This is especially true in our remote-first, hybrid working world where employees bring their own devices and sometimes use unauthorized software and online services. As a result, the potential impact of Shadow IT increases.To quote Alex Stamos, former Chief Security Officer at Facebook:“The number one reason people’s privacy is violated massively is that they reuse passwords everywhere. You do not want to have a contagion effect where somebody [reuses a stolen credential] to take over your email and take bank account(s)" - Collision, 202175% of data breaches begin from compromised login credentials, and +
1年前
記事のアイキャッチ画像
'Of equal merit to taking drugs': Katie Paxton-Fear on the thrill of bug bounty hunting
1Password Blog
+What do you need to become a successful bug bounty hunter? Most importantly: a hoodie. But qualities like professionalism, a growth mindset, and good communication skills count, too.Katie Paxton-Fear never thought she’d become an expert in cybersecurity yet she now teaches the subject at Manchester Metropolitan University. She’s also the creator of InsiderPhD, a Youtube channel where she shares her adventures and expertise with other aspiring ethical hackers.Paxton-Fear joined Michael “Roo” Fey, Head of User Lifecycle & Growth at 1Password, on the Random but Memorable podcast to share some of her most fascinating vulnerability discoveries, how she got into the field, and her advice for anyone interested in joining the bug hunting ranks. Read the interview highlights here, or listen to the full podcast episode.Editor’s note: This interview has been lightly edited for clarity and brevity. The views and opinions expressed by the interviewee don’t represent the opinions of 1Password.Michae +
1年前
記事のアイキャッチ画像
How password managers work
1Password Blog
+You’ve probably heard of a few password management options, like 1Password (👋), Dashlane, and LastPass – but what do they all do?We’ve all dealt with the pains of password management, but there’s a lot more to it. Whether it’s repeatedly resetting passwords, searching for your wallet every time you want to make an online purchase, or struggling to securely share passwords, we need digital life management, too – and that’s where a password manager comes in.So, let’s take a deeper look at what password managers are, how they work, if they’re safe, and everything else you may need to know.What is a password manager?Simply put, password managers are apps that can generate and store all the passwords for your online accounts in one secure place.The passwords are stored securely and, using autofill, can be automatically entered on websites and apps when you need to log in. It creates and remembers strong, unique passwords – and you don’t have to type out or memorize them, saving you from ha... +
1年前
記事のアイキャッチ画像
Security writer Graham Cluley on reformed hackers, deepfake calls, and bad jargon
1Password Blog
+Technology and cybersecurity changes so fast. But when businesses fail to put basic protections and processes in place, who’s to blame? Graham Cluley – writer, blogger, and host of the Smashing Security podcast – shares his 30-year perspective on this question, and what’s going on in cybersecurity today.He joins 1Password’s Matt Davey on the Random But Memorable podcast to talk about trends that come and go, the buzzwords that drive him crazy, why machine learning is yesterday’s news, and why we shouldn’t put all the blame for successful hacks on new technology like deepfakes.Read the interview below or listen to the full podcast for (buzzword alert!) Cluley’s “VORIWGM”: voice of reason in a world gone mad.Editor’s note: This interview has been lightly edited for clarity and brevity. The views and opinions expressed by the interviewee don’t represent the opinions of 1Password.Matt Davey: You’ve spent many years writing about security. How has the cybersecurity landscape changed since y +
1年前
記事のアイキャッチ画像
How to save and store passwords on multiple devices with a password manager
1Password Blog
+For many people, trying to remember all their passwords is a lost cause.But clicking “forgot password” to do yet another password reset and coming up with yet another permutation of your pet’s name is a colossal waste of time – not to mention a poor approach to protecting your most important information.Password managers offer an escape from sticky notes and password spreadsheets by giving you an easy way to create, store, and use secure passwords wherever you need them.The risks of not storing your passwords securelyYou’ve likely heard about the importance of good password management – using strong passwords that you keep safe – many times over the years. While the obvious risk of improperly storing passwords means that someone other than you can get your password and into your account, the inconvenience, and more importantly, the dangers, can be more far-reaching than you’d think. Here are just a few examples:When you use the same, easy-to-remember password everywhere, a hacker only +
1年前
記事のアイキャッチ画像
Build organizational resiliency with Microsoft’s Chief Security Advisor
1Password Blog
+Major incidents like cyber attacks, terrorism, and pandemics are likely in the making right now but it doesn’t mean they’re inevitable. Learning from past incidents, asking the hard ‘what ifs’, and helping businesses build organizational resilience is always top of mind for security leader Sarah Armstrong-Smith.Chief Security Advisor at Microsoft and author of the book Effective Crisis Management, Armstrong-Smith has more than 25 years of experience working on the strategic, tactical, and operational response to major incidents and crises.Read her interview from Random but Memorable (or listen to the full podcast episode) to learn why security is actually a business problem, how leaders can build an effective security culture and the costs that companies bear if they don’t prepare and protect themselves.Editor’s note: This interview has been lightly edited for clarity and brevity. The views and opinions expressed by the interviewee don’t represent the opinions of 1Password.Matt Davey: +
1年前
記事のアイキャッチ画像
1Password vs. Dashlane: The ultimate guide
1Password Blog
+Whether you’re in the market for a new password manager or looking to try a password management platform for the first time, you’ve likely come across both 1Password and Dashlane in your research.To help you decide which app is best for you, we’re comparing pricing, features, security, and functionality across both password managers.1PasswordPricing and choosing the right subscriptionYou can use 1Password to protect your most sensitive personal information for $2.99 per month. With 1Password Families, you can extend that protection to four more family members for only $4.99 per month. Additional family members or loved ones can be added for $1 per user per month.For businesses, 1Password offers three different options depending on your needs:1Password Teams accounts secure up to 10 team members for $19.95 per month, and comes with selective sharing and the ability to identify threats with built-in risk detection.1Password Business accounts include features like integration with identit +
1年前
記事のアイキャッチ画像
How ethical hacker Jamie Woodruff used a pizza delivery to break into a server room
1Password Blog
+Not all hackers are bad. A subset known as white hat hackers, or ethical hackers, use their knowledge and skills for good, testing companies' defenses and discovering vulnerabilities for them.And those vulnerabilities can come in many forms! From pizza delivery driver disguises to voice synthesizers to bugged e-cigarettes – some hackers go all out, no matter which side they’re on.To get an insider perspective on what it’s like to be a white hat hacker, we sat down with Jamie Woodruff on the Random but Memorable podcast. Woodruff is currently a chief technology officer and the cyber safety advisor for the Cybersmile Foundation, an organization that helps victims of cyberbullying. He’s an ethical hacker who has reported vulnerabilities to high profile businesses, websites, and social platforms.Read the interview below (or listen to the podcast) to find out more about Woodruff’s unorthodox career path and why he thinks no company in the world is totally secure.Editor’s note: This intervie +
1年前
記事のアイキャッチ画像
Okta Support System incident and 1Password
1Password Blog
+We detected suspicious activity on our Okta instance related to their Support System incident. After a thorough investigation, we concluded that no 1Password user data was accessed.On September 29, we detected suspicious activity on our Okta instance that we use to manage our employee-facing apps. We immediately terminated the activity, investigated, and found no compromise of user data or other sensitive systems, either employee-facing or user-facing.Since then, we’ve been working with Okta to determine the initial vector of compromise. As of late Friday, October 20, we’ve confirmed that this was a result of Okta’s Support System breach.See our internal Okta Incident Report for additional details.Your trust is paramount to us. Our systems and policies were able to identify and terminate this attack, and we are continuously enhancing our security measures to keep you and your data safe.This blog post includes an incident report that was updated on October 25, 2023. We received addition +
1年前
記事のアイキャッチ画像
Build on 1Password for Visual Studio Code at Hacktoberfest!
1Password Blog
+This October, we’re excited to invite contributions to 1Password for Visual Studio Code.Hacktoberfest is a time where code meets celebration and open source enthusiasts come together to contribute to projects they care about. Personally, I’ve always been a watcher of Hacktoberfest, and I’m excited that this year 1Password is participating in the global event – now in its tenth year!Open source is in our DNA at 1Password. We’ve open-sourced several critical projects like Typeshare, our passkey libraries and 1Password for VS Code. We’re consistently impressed by the community contributions that bring speed and security to developer workflows. In particular, I want to shout out Zachary Cutlip, author of pyonepassword, a Python API to query the 1Password CLI.Also, a collective shout-out to everyone who’s contributed to 1Password Shell Plugins. We’re now more than 40 shell plugins strong, meaning more developers than ever can bring one-touch 1Password access to their favorite CLI.We’re exci +
1年前
記事のアイキャッチ画像
October Cybersecurity Awareness Month: How to empower smart security in your business
1Password Blog
+Every October the industry puts together information to share how people and businesses can be safer online. For this blog, we’re focusing on shadow IT – the hardware or software that employees use that isn’t managed by the company’s IT team – and how using a password manager can help.As employees found new ways to work and collaborate amidst the adjustment to hybrid work during the pandemic, the use of shadow IT rose dramatically.In 2021, over 60% of US workers created at least one shadow IT account. – 1Password researchShadow IT can improve employee productivity, but also carries along with it the risk of employees unwittingly introducing security vulnerabilities like unsecured sensitive data. While many employees have started moving back to physical offices at least part of the time, shadow IT is here to stay.Security and IT teams might be tempted to crack down with a zero tolerance policy for shadow IT. Few will follow through, though, because their primary job is to help their bus +
1年前
記事のアイキャッチ画像
1Password vs. LastPass: Which is right for you?
1Password Blog
+If you’re comparing password managers, two names are likely to come up: 1Password and LastPass. So how do you know which is right for you?Let’s look at the similarities and differences between the two password management platforms so you can make an informed decision.1Password featuresSaving and filling passwords in 1Password1Password includes all the features you’d expect from a password manager. You can generate strong passwords with a click, and store all your login credentials in one place. The only password you need to remember – your one password – unlocks 1Password to give you access to every other login credential.With those credentials stored in 1Password, you can automatically fill – or autofill – passwords to log in to a site or service. There’s no need to remember the login information yourself, since 1Password will handle it for you.You’re also not limited to traditional username and password combinations. If you sign in to a site with Google, Apple, or other providers, 1P +
1年前
記事のアイキャッチ画像
Integrate 1Password with Obsidian Security for extra peace of mind
1Password Blog
+Businesses can now automate threat detection for 1Password and their broader work environment with Obsidian Security, a security platform for software as a service (SaaS) tools.Keeping your organization secure online is a never-ending challenge, especially when you have hundreds or thousands of employees. People are great at many things but following ever-changing cybersecurity best practices often isn’t one of them. That’s why 1Password focuses on human-centric security and making sure you don’t have to choose between convenience and security.Even so, people don’t always make the right choices, which is why we’re excited to introduce a new integration by Obsidian Security that can give you extra peace of mind. Obsidian Security provides automated threat detection capabilities for your entire SaaS environment, including 1Password, utilizing advanced machine learning to detect impossible travel, successful logins from unusual locations, spikes in failed login attempts, and more.How does +
1年前
記事のアイキャッチ画像
How to give your business a security edge with ChatGPT
1Password Blog
+Generative AI, large language models, and ChatGPT are dominating the headlines and people’s imaginations at the moment. While the incoming AI revolution may have some drawbacks, it also has the power to transform the way we learn, work, and play.Clint Bodungen, author of the upcoming ChatGPT for Cybersecurity Cookbook: Learn practical generative AI recipes to supercharge your cyber skills, joined Matt Davey, Chief Experience Officer at 1Password, on the Random but Memorable podcast to discuss:The different ways ChatGPT can give your business a security edge.How companies can use ChatGPT to improve their security training.Why ChatGPT is the best way to build apps faster.Read the interview below or listen to the full episode on your podcast app of choice.Editor’s note: The views and opinions expressed by the interviewee don’t represent the opinions of 1Password.Listen to episode 113 ›Matt Davey: What will the book cover and who’s it for?Clint Bodungen: I focused on content for those who +
1年前
記事のアイキャッチ画像
How to ace your 1Password interview
1Password Blog
+Okay, so you’ve just landed an interview at 1Password. It’s natural to feel a bit nervous about what you’ll be asked and what you should say. Here’s our advice: share your experiences from the perspective of our company values.At 1Password, our company values are woven into everything we do. They inform how we show up to work, how we treat our colleagues and customers, and how we connect with our company mission. Through recognition programs such as Bonusly, which lets team members thank each other with redeemable points, and our newly formalized Values Awards, team members are empowered to live our values in ways that feel meaningful to them.Below, we share our best pieces of advice to help you succeed in your interview and embrace our three company values: keep it simple, lead with honesty, and put people first.Keep it simple“Keep it simple” reflects how 1Password employees strive to focus on what’s most important. It prompts us to stay solutions-oriented and communicate with each ot +
1年前
記事のアイキャッチ画像
Now available: Save and sign in with passkeys using 1Password in the browser and on iOS
1Password Blog
+The moment you’ve been waiting for has finally arrived. Passkey support is now available in 1Password, letting you create, manage, and sign in with passkeys on a growing number of websites and apps.Starting today, you can save and sign in with passkeys using the desktop version of 1Password in the browser, as well as your iOS 17 and iPadOS 17 devices. You can also use 1Password on any device to view, organize, and share your saved passkeys.It’s the most convenient and complete passkey experience.There’s no better time to get started with Google, Nintendo, GitHub, and others turning on capabilities for passkeys this summer.Visit our online passkey directory or open Watchtower in 1Password to discover which of your logins can be upgraded with a passkey.Passkeys are hereNeed a refresher on what passkeys are, and how they work? No problem. Passkeys are the future of account security and how we protect our private data. And they’re here to stay.You can use passkeys to sign in to compatible +
1年前
記事のアイキャッチ画像
Passkeys vs. SSO: What are the differences?
1Password Blog
+Understanding how passkeys fit into the existing landscape of security and authentication is what our ‘versus’ series is all about. The goal of authentication is to verify that the person trying to gain access to a secret (e.g. an account) has permission to access it.In previous posts, we’ve compared passkeys to passwords, magic links, and 2FA and TOTP – now we’re going to dive into single sign-on (SSO).What is SSO?Single sign-on authentication allows users to sign in to accounts using a single identity provider rather than individual credentials for each account. This means people don’t need to remember unique credentials for every account. Instead, they just have to log in to their SSO provider.To learn more about a topic we could discuss for hours, check out our blog post on the differences between SSO and password managers, and why they make a great pair.What are passkeys?Passkeys are the cool new authentication kid on the block. They’re the next serious contender to shift people t +
1年前
記事のアイキャッチ画像
Why you should care about a data breach
1Password Blog
+Data. Breach. We see these two words all the time in the news, on social media, and in company emails notifying us that our information might have been affected.(You may have read about one affecting a password manager recently.)Data breaches occur so frequently that it’s easy to tune out or convince yourself they’re not worth paying attention to. “Are these breaches really all that bad?” “Is anything really going to happen if I ignore a breach that might have affected one of my personal accounts?”It’s never been more important to be proactive when you hear about a data breach that affects one of your online accounts. To do this, you don’t need to be a security professional or devour the news every day. You simply need to know the potential impacts of data breaches, and how the right tools can help you quickly and effectively respond to them.What is a data breach?Let’s start with a quick data breach definition. The term refers to any security incident where a criminal gains access to s +
1年前
記事のアイキャッチ画像
Shell Plugins summer roundup: Pulumi, Cloudflare Workers, and more
1Password Blog
+1Password Shell Plugins bring one-touch access to programmers' favorite command line interfaces (CLIs). I’ll never get tired of cutting steps from what was once a manual process, especially if we can secure that workflow in the process. And that’s exactly what shell plugins do.As of this writing, 42 Shell Plugins are now available – and the developer community has written 22 of them! Because they’re open source, anyone can write a shell plugin for their favorite CLI. In fact, 1Password Engineer Amanda Crawley created a walkthrough to show you how to build one in less than ten minutes:Let’s explore the latest additions: Cloudflare Workers, Snyk, Pulumi, and Laravel.Cloudflare WorkersCloudflare Workers is your web development superpower. It’s like having a team of speedy mini servers all over the world. Instead of living on a distant server, your code runs on “edge” servers, speeding up your site for visitors. Plus, you control these servers with your own code, written in familiar langua +
1年前
記事のアイキャッチ画像
4 reasons why Visma chose 1Password as its enterprise password manager
1Password Blog
+Why do businesses choose 1Password over other options on the market? We have a few ideas but thought it would be better to ask one of our customers directly.Visma is a European powerhouse that builds software for schools, governments, accounting departments, and more. They often acquire other software companies, which means they’re constantly onboarding new employees and teaching them about their security policies.Vlad Boldura, security manager at Visma, and Daytona Earley, customer success manager at 1Password, joined the Random but Memorable podcast to discuss:Why Visma chose 1Password.How they successfully rolled it out across the organization.The expected, and unexpected impact 1Password has made since implementation.Read the interview below or listen to the full episode on your podcast app of choice.Listen to episode 112 ›Michael “Roo” Fey: Can you tell us about the importance of cybersecurity and credential security at Visma?Vlad Boldura: The focus on security in Visma is top-not +
1年前
記事のアイキャッチ画像
We're open-sourcing the library that powers 1Password's ability to log in with a passkey
1Password Blog
+You may have heard that 1Password beta testers can sign into websites using passkeys stored in their vaults. We’re actively developing the internal library powering passkey authentication, and now we’re open-sourcing it!You can use the same passkey crate that powers 1Password’s authenticator to develop a WebAuthn client and/or authenticator. The passkey v0.1.0 crate is an easy access crate that doesn’t implement anything itself. Instead, it re-exports the other crates as modules:passkey-authenticatorpasskey-clientpasskey-transportspasskey-typesWe’re also open-sourcing our public-suffix library, which is based on the one from the Go standard library. Before setting off any language wars, please read the FAQ below for the reasons why.All of these libraries are released at version 0.1 as they are still in relatively heavy development to support Android 14’s new credentials library and Apple’s updated Authentication Services APIs, which will release with iOS 17. We are also planning on add +
1年前
記事のアイキャッチ画像
Why protecting 1Password with a passkey is just as secure as a password and Secret Key
1Password Blog
+Account password. Secret Key. These two pieces of information have been the backbone of 1Password’s security model for years. The Secret Key in particular is what makes 1Password fundamentally different to other password managers, and why you can be confident that your data is always safe, even if someone breached our servers.Now, we’re introducing the ability to create and unlock a 1Password account with a passkey. (It’s currently in private beta, and we’re working on a version that’s ready for everyone.) This is a big and exciting change, to put it mildly, that will streamline the experience of using 1Password for many people.But it also raises the question: Does a passkey offer the same level of protection as 1Password’s existing account password and Secret Key combo?The short answer is yes. While the two solutions protect your 1Password account in slightly different ways, they both offer excellent security. So whichever option you choose, you can rest easy knowing your data is well +
1年前
記事のアイキャッチ画像
Introducing a new way to try experimental 1Password features
1Password Blog
+We’re incredibly excited to introduce labs, a new space in the 1Password apps that lets customers test new experimental features to help influence the future of 1Password.These experimental features will be in the early stage of development, so we can collect valuable feedback from customers like you. You hold the power to enable or disable each of these features, putting you in full control of your 1Password experience.Why are we adding this to 1Password?We have a lot of great ideas that come up from customer feedback, the community forums, and social media. We’d like to explore more of these ideas before committing to bringing a new feature to 1Password. This way we know if we should continue to invest time and energy into a project or, sometimes more importantly, if we should move on to something else that better suits the needs of our customers.Labs lets us share early prototypes and new product explorations to every 1Password customer, so you’ll be able to tell us if we should kee +
1年前
記事のアイキャッチ画像
Easily govern how and where teams use 1Password from the new policies page
1Password Blog
+Policies are getting a new home, making it easier for 1Password Business admins to govern how and where teams use 1Password to help them stay in compliance.Employees don’t want to violate security protocols. When they do, it’s often a result of stress – or simply trying to get things done. The trick is to put the right guardrails in place so employees don’t have to think about protocol. Ideally, they can just go about their work.With the new, dedicated policies page, we’ve brought together all of 1Password’s existing policies, making it easier to manage them and to put the right guardrails in place to help employees stay secure.Going forward, we’re focused on giving you even more flexibility by expanding available policies, and adding more precise controls and granularity so you can configure 1Password to your exact specifications.What are policies?Policies in 1Password are a collection of security and administrative controls you can use to govern how and where your workforce accesses +
1年前
記事のアイキャッチ画像
Reduce your digital footprint: 5 steps recommended by Theresa Payton
1Password Blog
+We all leave a trail of digital breadcrumbs from our adventures in the online world. They might seem harmless but these breadcrumbs can lead others to a digital treasure trove of your personal information.The websites you visit should respect your privacy and security – but that’s often not the case. That means it’s up to you, the individual, to take steps to cover your digital tracks.So what should we be doing? Theresa Payton, the first female White House Chief Information Officer and CEO of security consulting company Fortalice Solutions, has a few ideas. She joined Matt Davey on the Random but Memorable podcast to share some simple, practical, and fast steps you can take to minimize your digital footprint.Listen to episode 111 ›Editor’s note: This interview has been lightly edited for clarity and brevity. The views and opinions expressed by the interviewee don’t represent the opinions of 1Password.Matt Davey: Could you explain what a digital footprint is and why individuals should b +
1年前
記事のアイキャッチ画像
1Password is attending Black Hat USA 2023!
1Password Blog
+1Password will be in Las Vegas for the annual Black Hat USA conference. Will we see you there?Black Hat USA is an internationally recognized cybersecurity event series providing the most technical and relevant InfoSec research. The global security community congregates at the conference for the latest cutting-edge research, developments, and trends.This year, we’re thrilled to be sponsoring the event, hosting our own booth, and running a session on passkeys.Here’s a quick rundown of everything we’ll be up to:Stop by the 1Password boothIf you’re attending Black Hat USA, come by booth 2816 any time and say hi! Come chat with our team about all things cybersecurity, enterprise solutions, developer tools, and passwordless. You’ll find out why over 100,000 businesses trust 1Password with their security and get to leave with a smile.Plus, you can come grab a free drink and see 1Password in action with a live demo during the scheduled booth crawl.Black Hat Booth CrawlAugust 9, 4:00 – 5:00 PM +
2年前
記事のアイキャッチ画像
Author Scott J. Shapiro explains the role of ‘upcode’ in famous hacks
1Password Blog
+Here’s an existential question: is technology always the answer? Or are there other ways to solve our biggest problems?Author Scott J. Shapiro explores this debate in a book called Fancy Bear Goes Phishing, The Dark History of the Information Age in Five Extraordinary Hacks, which breaks down how some of the most fascinating cybercrimes were committed and what we can learn from them. Matt Davey, Chief Experience Officer at 1Password, spoke with Shapiro on the Random but Memorable podcast about when it makes sense to use technology to solve a problem like cybersecurity – and when it doesn’t.Hint: The answer has to do with “upcode” and “downcode” and lawyers being programmers – sort of. Read the interview below or listen to the full podcast episode to get Shapiro’s perspective on why fixing cybersecurity will involve rewiring more than just our technology.Listen to episode 107 ›Matt Davey: Can you give us a bit of background on you and why you decided to write this book?Scott J. Shapiro: +
2年前
記事のアイキャッチ画像
Congratulations to the 1Password Hackathon winners! 🏆
1Password Blog
+I remember my first hackathon. I was a junior developer at a civil engineering firm in Portland. I built a learning platform for employees to learn internal policies and procedures. It was a project that moved fast because we had a deadline - and my partner and I had so much fun.All of which is to say, this year’s 1Password Hackathon came with a heavy dose of nostalgia. Everyone obviously had a lot of fun – and I’m blown away by the ingenuity of the submissions.Some of you submitted entries to secure daily workflows (in true 1Password fashion!). Some built fun games, including one to help us all strengthen our passwords. Others built integrations that extend passkeys to new integrations and frameworks.In short, we saw a whirlwind of innovation, collaboration, and groundbreaking submissions.The 1Password Hackathon prizesA quick recap on the hackathon itself. Hackathon participants competed for $10,000 in prize money across five different categories, including:Innovation Award: Goes to t +
2年前
記事のアイキャッチ画像
New 1Password SIEM integration with Datadog
1Password Blog
+We’re thrilled to share that we’ve partnered with Datadog to give you greater visibility into the security posture of your business, all from one central location!Starting now, your team can view 1Password security reporting in Datadog to easily monitor potential risks and investigate security issues while spending less time jumping between dashboards.Integrating with Datadog is simple and secure, and will give you and your team everything you need to monitor the security health of your business. Datadog customers can connect their 1Password Business account in minutes and use pre-built rules from Datadog to start monitoring for security events right away.1Password’s Events APIThe 1Password Events API lets you stream 1Password events to your SIEM (security information and event management) tool. These 1Password events can then be incorporated into things like custom dashboards, alerts, visualizations, and search to give you a deeper understanding of how your team uses 1Password.1Passwo +
2年前
記事のアイキャッチ画像
Meet Allie Weiner, Manager of Account Management (Mid-Market)
1Password Blog
+Have you ever wondered what it’s like to work at 1Password? Or wanted to know the career paths that other people followed before taking a job here? You’re not alone!In this blog series, we’re sharing what it’s really like to work at 1Password. To do this, we sat down and talked to team members from across our more than 900-strong organization, including engineering, human resources, and customer support. You’ll learn about the journeys that each person took to 1Password, as well as their their current role and day-to-day responsibilities.Today, we’re chatting with Allie Weiner, who leads our Account Management (mid-market) team at 1Password!Why did you join 1Password, and how did you end up here?Back in October 2020 I was searching for my next role. A former colleague (and now friend of mine!) had just joined 1Password and had nothing but brilliant things to say about the organization and the direction it was heading in.A former colleague had just joined 1Password and had nothing but b +
2年前
記事のアイキャッチ画像
Passkeys vs. 2FA and TOTP: What are the differences?
1Password Blog
+We’ve compared passkeys to passwords and magic links, and recently explored two-factor authentication (2FA) and time-based one-time passwords (TOTP). We think this calls for a passkey and 2FA face-off, don’t you?Passkeys are the hot topic right now. This form of passwordless authentication allows you to sign in to websites and apps (that support passkey authentication) without a typical plaintext password. You authenticate with your biometric information or device passcode, and everything else happens behind the scenes, like that.Two-factor authentication requires two separate and distinct factors — it’s not merely the step of entering a TOTP that creates true 2FA. Let’s say you store your passwords digitally — in a first-rate password manager, for example. If you want the protection of true 2FA, your one-time passwords need to come from a different device than the one that holds your account passwords.So, passkeys or traditional 2FA? Let’s look at the differences between them, and wha +
2年前
記事のアイキャッチ画像
Privacy-preserving usage data: Under the hood
1Password Blog
+We recently shared that we’ll soon be rolling out a privacy-preserving telemetry system that will help us improve 1Password by leveraging aggregated, de-identified usage data. Here we’ll share technical details about how this system works and the steps we’ve taken to protect customer privacy while engaging with the resulting data.Our goal is to understand more about how our growing customer base – not specific individuals – are using 1Password. Our intent is to pinpoint where and how we need to improve our products by studying and drawing insights from aggregate usage patterns.While this is our goal, we are also 100% committed to our privacy and security standards and our technical architecture is designed to align with our core privacy principles:The passwords, credit card numbers, URLs, and other data that you save in your 1Password vaults is end-to-end encrypted using secrets that only you know. 1Password’s zero-knowledge architecture will remain unchanged. Our telemetry system cann +
2年前
記事のアイキャッチ画像
Now in private beta: Create a 1Password account using a passkey
1Password Blog
+1Password’s summer of passkey announcements continues!Earlier this year, we said “goodbye passwords” and shared that we’re going all-in on passkeys: a simpler and more secure alternative to passwords.Since then, we’ve been hard at work bringing passkey support to 1Password. You can already create and use passkeys to sign in to online accounts with the public beta versions of 1Password in the browser. Plus, you can also use the 1Password desktop and mobile apps to view, organize, share, and delete passkeys saved via the browser.But you might remember we promised something else too: the ability to unlock a 1Password account with a passkey, rather than a password.Today, we’re delighted to share that we’re launching a private beta that allows a small group of testers to create and unlock a 1Password account with a passkey. This is an important step as we move toward our goal of releasing this capability for everyone later in the year.Learn more about what passkeys are, and how they work, i +
2年前
記事のアイキャッチ画像
Darknet Diaries host Jack Rhysider talks about hacker teens and his AI predictions
1Password Blog
+It’s human nature: when we do something we’re excited about, we want to share it. So it’s not surprising that cybercriminals and others in the hacker space love an audience. Darknet Diaries, a podcast that delves into the how’s and why’s and implications of incidents of hacking, data breaches, cybercrime and more, has become one way for hackers to tell their stories – whether or not they get caught.Darknet Diaries creator and host Jack Rhysider joined 1Password’s Michael Fey (aka Roo) on the Random but Memorable podcast to chat about some of the fascinating cybercrime stories he’s covered recently. Read highlights from the interview below or listen to the full episode for answers to questions you might never have thought to ask, such as:What nefarious shenanigans are some of today’s hacker teens up to?How can I get someone else to pay for my burrito?What’s a hacker’s version of a microtransaction?Bonus: Find out how Darknet Diaries gets these stories and who wants to take credit for th +
2年前
記事のアイキャッチ画像
1Password is now available on the Microsoft Store on Windows
1Password Blog
+We’re delighted to announce that 1Password is now available for download on the Microsoft Store on Windows!Not soft on securityIn 2021, Microsoft unveiled a brand new, redesigned Microsoft Store on Windows, offering apps, games, movies, and TV content.If you’ve been looking to try 1Password and prefer to download and manage all your apps from the Microsoft Store on your Windows device, the wait is over! 1Password is now available to download directly from the Microsoft Store. All content in the Microsoft Store is tested for security, family safety, and device compatibility, so you can feel confident that the 1Password app meets these requirements.Safety at the speed of life1Password keeps you and your loved ones safe online without giving up on convenience – the whole family can create, store, and autofill login credentials whenever and wherever they need to.With intuitive apps and seamless syncing, 1Password puts your data at your fingertips across all your devices. From credit cards +
2年前
記事のアイキャッチ画像
1Password: New features unlocked [Summer edition]
1Password Blog
+A big part of 1Password’s mission is to make it both easier and safer for you to get things done every day, whether you’re at home or at work.Over the past few months, we’ve been hard at work making improvements to our apps and browser extensions so you can enjoy a faster, more consistent and convenient experience whenever you use 1Password.Watch our video to see what’s new in action, or read on for a rundown of what we’ve been up to.Save new Items to the correct 1Password accountIf you have multiple 1Password accounts, like one for home and one for work, 1Password will now automatically suggest saving it to the correct account based on the email address you use to create the new login. No more mixups!Plus, you’ll now also see a Watchtower alert if a login may have been saved to the wrong account, so it’s easier to fix even if some logins still do get misplaced.Manage accounts directly from the 1Password mobile and desktop appsIf you’re a Family Organizer for a 1Password Families accou +
2年前
記事のアイキャッチ画像
How Kanad Gupta made a 1Password Shell Plugin for ReadMe
1Password Blog
+Why should consumers have all the fun (and less friction) using biometrics to stay secure? 1Password offers a suite of tools to help developers work faster and more securely. One of these tools is 1Password Shell Plugins, which enables one-touch access to command-line interfaces (CLIs) in your terminal.Know of a CLI we haven’t built a Shell Plugin for yet? Great news: you can build your own!Many developers have done just that. In a recent episode of our Random but Memorable podcast, host Michael Fey (aka Roo) talked with Kanad Gupta, the creator of the ReadMe Shell Plugin. Read the interview below (or listen to the podcast episode) to learn about Kanad’s experience using 1Password Developer Tools, how he built the ReadMe Shell Plugin – and how you can create one, too.Listen to episode 107 ›Michael Fey: Can you explain what ReadMe is?Kanad Gupta: ReadMe is a small startup. We’re essentially a CMS platform for API-first companies that are trying to build out an interactive developer hub +
2年前
記事のアイキャッチ画像
Unlock 1Password with Duo, OneLogin, and more
1Password Blog
+1Password Business customers can now unlock 1Password with identity providers (IdPs) that support the generic OpenID Connect (OIDC) configuration like Duo, OneLogin, JumpCloud, and others.We announced Unlock with Okta for 1Password Business earlier this year, and Unlock with Azure soon followed. Feedback from 1Password Business customers on those releases has confirmed our expectations: Pairing 1Password with your identity and access management (IAM) infrastructure simplifies adoption and improves auditing, compliance, and reporting workflows.“Everyone is now used to unlocking with Okta, and they definitely love that they don’t need to remember an extra password (anymore).” – David Baverstock, Senior IT Engineer at AirwallexOkta and Azure were our most popular integration requests, so between the two, a sizable portion of 1Password Business customers gained the ability to pair 1Password with their existing identity and access management (IAM) infrastructure.Unlock 1Password with additi +
2年前
記事のアイキャッチ画像
New: Manage accounts directly from the 1Password app
1Password Blog
+Coming to iOS later this week and available today on macOS, Windows, Linux, and Android, manage invites, guests, and more – all directly from the 1Password app.We’re making it a lot easier to protect and organize you and your loved ones’ online lives. You can now take care of some of the most common administrative tasks right from the 1Password app on your phone or computer instead of signing in to 1Password.com.What’s newManaging your 1Password Families membership just got a lot more accessible no matter where you are. As a Family Organizer, open the 1Password app on any of your devices and navigate to Manage Accounts… from the menu. You can now:Invite people to join your Families accountReady to share passwords with your new love interest or roommate? Quickly send out an invite from the 1Password app to new members or guests. Plus, you can also confirm or reject any new members who are listed under Waiting to be confirmed.Check the progress of account invitationsIf you’re wondering w +
2年前
記事のアイキャッチ画像
Securing CI/CD pipelines with 1Password Service Accounts
1Password Blog
+Attention developers and DevOps teams! Today we’re excited to announce that 1Password Service Accounts are now generally available to all users. Whether you’re a growing startup, a thriving mid-size company, or a sprawling enterprise, service accounts offer a secure, automated way to access infrastructure secrets exactly where they’re needed.This post will guide you through integrating service accounts with GitHub Actions, one of the leading CI/CD platforms, to secure your secrets within your pipelines. We also offer pre-built integrations for CircleCI and Jenkins.Managing secrets in shared environments is challengingWe all know that secrets management can be tough, especially in shared environments. With the stakes so high, it’s essential to keep secrets secure and ensure they don’t end up in the wrong place, like logs or code repositories.With service accounts and the CLI, you can encrypt all of your secrets in 1Password and grant applications programmatic access, with the ability to +
2年前
記事のアイキャッチ画像
Developers: Stop exposing your OpenAI API keys
1Password Blog
+Less than six months ago, artificial intelligence (AI) was largely considered to be in its infancy and primarily used for niche applications, like editing photos and keeping your home at a comfortable temperature. But that’s all changed. Since OpenAI introduced GPT-3.5 in November 2022, the possibilities of generative AI have come to dominate the popular imagination.And with good reason: ChatGPT-4 not only outperforms 90% of law students taking the bar exam, it also ranks highly for dozens of specialized tests ranging from economics to writing. Over the last few weeks, you’ve probably seen convincing images of famous people, heard catchy songs by popular artists, and read articles all completely generated by AI models.Excited by the untapped potential, many developers are jumping in and building new apps that integrate with OpenAI. Unfortunately, in their enthusiasm to create and share, many of these developers are accidentally giving attackers the opportunity to rack up thousands of d +
2年前
記事のアイキャッチ画像
1Password and 2FA: Is it wrong to store passwords and one-time codes together?
1Password Blog
+We introduced support for time-based one-time passwords (TOTP) way back in the dark ages of 2015.The addition of TOTP storage lets you use 1Password as an authenticator for websites that support two-factor authentication (2FA). As 2FA became increasingly common, even required in many cases, people started to question the safety and security of using 1Password to store TOTP instead of an authenticator app that exists solely for that purpose.It remains a fairly common question — and a great one.The short answer is that storing your TOTP in 1Password is safe. It’s also faster and more convenient than using a separate, dedicated app.The rest of this article is the nuanced (and far less brief) answer. It addresses what dedicated authenticator apps provide (and don’t provide), and how you can 2FA the right way. 1A little two-stepLet’s create a (theoretical) account to illustrate the authentication process – and it is a process – then dive into those infamous factors and what we need from the +
2年前
記事のアイキャッチ画像
Rolling out our privacy-preserving telemetry system
1Password Blog
+Back in March, we shared our plan to develop a privacy-preserving telemetry system that will help us build an even better 1Password. The goal was simple: to better understand how people are using 1Password, where they’re getting stuck, and which updates we should be focusing on first.Since that announcement, we’ve been testing our telemetry system internally with 1Password employees before rolling it out to anyone else. We wanted to be certain that our system, which collects small amounts of in-app usage data, could deliver valuable insights while staying true to our privacy principles.After months of development and refinement, we’re now confident we can deploy this system in a way that helps us build a better 1Password without compromising on our commitment to protect your privacy.Later this summer, you’ll see the option to participate in our telemetry system and help improve 1Password. You don’t need to take any action right now, and we won’t collect any usage data without your awar +
2年前
記事のアイキャッチ画像
WWDC23: What’s in our vision this year?
1Password Blog
+It’s that time of year again. Summer? Yes … but no. Vacation? No. It’s WWDC, Apple’s World Wide Developer Conference! Each year, the company uses this event to give us a sneak peak at some of the new software headed to Apple’s devices, and sometimes new devices themselves!While one new product definitely stole the show this year, there was a lot more to take in and plenty that could benefit 1Password in the near future! So let’s get into what caught our team’s attention, and how we’re thinking about some of Apple’s most important announcements.Vision ProWow, nobody — okay, almost everybody — saw this coming. But Apple’s first spatial computer exceeded our expectations. The device is packed with impressive hardware, including two micro-OLED displays with 23 million collective pixels, an M2 processor, and an all-new R1 chip.The Vision Pro could be the future of personal computing. We’re excited about this new platform, and how 1Password could play a part in it. Our team is anxiously awai +
2年前
記事のアイキャッチ画像
1Password named in Enterprise Tech 30 list for 2023
1Password Blog
+We’re proud to announce that 1Password has been selected as one of 30 companies in the prestigious Enterprise Tech 30 list for 2023.What’s the Enterprise Tech 30?Now in its fifth year, the Enterprise Tech 30 showcases the most promising private companies in the enterprise technology space. The 30 chosen companies are split into three groups that reflect their size and the level of investment they’ve attracted to date: early, mid, and late stage.1Password made the Enterprise Tech 30 list for the first time this year. We came eighth in the late-stage group, which features other amazing organizations like Rippling, Canva, and Notion. And when all 30 companies are sorted by industry, we rank number one in the security category.We’re honored to be recognized for our impact in the enterprise space and proud to play a part in helping organizations secure their data.Read the report to see the full list of companies that were chosen for the Enterprise Tech 30 this year. You’ll also learn about +
2年前
記事のアイキャッチ画像
Safety and security are human rights: How 1Password is honoring Pride
1Password Blog
+Pride month can be a time full of joy and is a great reminder of so much progress and so many people to be thankful for – but it’s also a reminder that the fight for 2SLGBTQIA+ rights is far from over.While our community has faced ongoing prejudice, we’ve recently seen a significant increase in hatred, discrimination, and transphobia. With uncertainty, fear, and anti-2SLGBTQIA+ legislation on the rise, it’s a particularly important time to advocate for the community, whether you’re a member or an ally.We believe that safety and security are basic human rights. These rights extend to everyone, and we can all play a part in making sure they’re protected all year round.Here’s some of what 1Password is doing to fight for equality and inclusion.Pride month initiativesWe’re always focused on finding ways to support our 2SLGBTQIA+ team members and the community in tangible, effective ways, and we encourage other businesses who publicly support the 2SLGBTQIA+ community to commit to doing the s +
2年前
記事のアイキャッチ画像
Passkeys in iOS 17: Watch a sneak peek at what's coming to 1Password for iOS
1Password Blog
+We’re always captivated by WWDC, Apple’s annual developer conference, and the announcements shared during its keynotes and various breakout sessions. This year’s conference was particularly exciting because Apple unveiled a new passkey API that will be implemented in iOS 17. The API will enable password managers like 1Password to create and use passkeys inside any native app that has added passkey support, including Safari.We’re thrilled about this announcement.If you need a quick refresher: passkeys are a new kind of login credential that entirely replaces passwords. Passkeys don’t need to be memorized, there’s no such thing as a “weak” passkey, and they can’t be stolen in a data breach. These passwordless login credentials also speed up the process of signing in to your online accounts. Research by Google shows that signing in with a password takes twice as long as a passkey login.Apple’s newly announced API will make passkeys even more useful and seamless to use on iPhones. Our deve +
2年前
記事のアイキャッチ画像
Now in beta: Save and sign in with passkeys using 1Password in the browser
1Password Blog
+Last year, we joined the FIDO Alliance and committed to building safer, simpler, and faster login solutions for everyone. Today, we’re taking a major step forward and announcing that passkey support has started to arrive in 1Password. Using the public beta versions of 1Password in the browser, you can now save and sign in to online accounts with passkeys.Our beta extensions cover the following browsers:Chrome (macOS, Windows, and Linux)Firefox (macOS, Windows, and Linux)Edge (macOS, Windows, and Linux)Brave (macOS, Windows, and Linux)Safari (macOS)1Password for Mac, iOS, Windows, Android, and Linux have also been updated so you can view, edit, move, share, and delete any passkey you’ve created using 1Password.If you need a quick refresher: passkeys are a new kind of login credential that entirely replaces passwords. Passkeys don’t need to be memorized, there’s no such thing as a “weak” passkey, and they can’t be stolen in a data breach. These passwordless login credentials also speed u +
2年前
記事のアイキャッチ画像
Join the 1Password Hackathon hosted by Hashnode and compete for $10,000 in prizes
1Password Blog
+We love hackathons. In fact, that’s where the idea for 1Password came from – with all-night coding sessions that demanded credentials throughout the process.Hackathons are high-energy, creative marathons that serve as a playground for innovation and collaboration, and often result in exciting projects that are a joy to deliver. That’s why we’re excited to announce the first virtual 1Password Hackathon hosted by Hashnode.Taking place June 1st through June 30th, participants will compete for a chance to win $10,000 in cash prizes by building with 1Password Developer Tools and Passage by 1Password.As much fun as in-person hackathons are, we’re also big fans of virtual ones that are global in scope and inclusive of all skill levels. If you’re a developer looking to sharpen your skills, network with like-minded individuals, and craft something extraordinary, the Hashnode Hackathon should be on your list. There are 10,000 reasons why – and utilizing 1Password Developer Tools and Passage can +
2年前
記事のアイキャッチ画像
Passkeys vs. magic links: What are the differences?
1Password Blog
+The term ‘passwordless’ is easy to wrap your head around (no passwords!) but is often used as an umbrella term that includes passkeys and magic links sent via email or text message.That often leads to the question: “Are passkeys and magic links the same?”The short answer is no. While they both serve as a replacement for passwords, the experience of using them, and how they work behind the scenes, is quite different.Here, we’re going to explain what passkeys and magic links are, how they differ, and why more developers are working to include both options on their websites and apps.What are passkeys?Passkeys allow you to create online accounts and sign in to them without entering a password, copying a one-time code, or clicking on a special link sent to your inbox.Instead, you just:Confirm your authenticator (in the context of passkeys, this could be your phone, tablet, or PC.)Authenticate with biometrics or your device password when prompted.Behind the scenes, passkeys use public and pr +
2年前
記事のアイキャッチ画像
Introducing Passage by 1Password – the simple way to add passkey support to your app or website
1Password Blog
+Toward the end of last year, Passage joined 1Password to bring passwordless authentication to everyone. Now, we’re ready to introduce you to Passage by 1Password: the fastest and most secure way for developers and businesses to add passkey support to their products.According to a FIDO Alliance survey, 58% of consumers in the U.S. have abandoned purchases due to the difficulty of managing passwords. Creating a secure, frictionless sign-in experience will benefit both your customers and your business – they get a smoother login process, and you get happy customers less likely to abandon their purchases.Recent research from Google shows that users are four times more successful logging in when they authenticate through passkeys rather than passwords. This means businesses who implement passkey support could gain a competitive advantage by making it easier for customers to log in.The problem? Adding a passwordless login experience to your website or app can be complicated.That’s where Pass +
2年前
記事のアイキャッチ画像
AI can crack your passwords (and other very old news)
1Password Blog
+Artificial intelligence (AI) made a larger-than-usual splash recently when word broke of an AI-powered password cracker. I have a bit of AI fatigue, but these stories immediately grabbed my attention — they had me at “passwords.”If you saw the same headlines and plan to run for the off-the-grid hills — wait. Many of the articles fail to tell the whole truth.AI absolutely can be used to crack a password. And, no, you shouldn’t worry about it.I’ll explore the whole truth (and nothing but the truth), and reveal what needs to happen before AI password cracking can truly become new news.Old news happening to new peopleThe password cracker mentioned in the recent spate of articles was introduced nearly six years ago in September 2017. But the headlines at the time were dominated by other news so the deep-learning technology didn’t earn much attention.I’ll summarize the research to save you a deep dive into an academic paper: The tool was marginally successful but never came close to the accu +
2年前
記事のアイキャッチ画像
Advice for my younger self: Celebrating AAPI Heritage Month at 1Password
1Password Blog
+May is a particularly special time for the AAPI (Asian American and Pacific Islander) community. The annual celebration of AAPI Heritage Month is a time to honour the histories, cultures, and contributions of AAPI people, as well as draw attention to some of the challenges that the community faces today.It’s important to recognize that within the AAPI community, there is no one-size-fits-all experience. Each group within the community has its own unique history and culture. Here at 1Password, we’re honouring these multifaceted stories by embracing the unifying theme of “The Immigrant Experience”. Our goal is to amplify the voices and lived experiences of immigrants and children of immigrant parents. It’s a reflection of the conversations being had within our virtual walls, and beyond.With this in mind, we asked members of our AAPI community for some pieces of advice they would give to their younger selves. Here’s what they shared…Dave Chen, Senior Director, Research & InsightsAlways ha +
2年前
記事のアイキャッチ画像
1Password Developer Tools joins the GitHub Student Developer Pack
1Password Blog
+Students can now get a free year of 1Password with the GitHub Student Developer Pack to jump-start their careers in software development.Once upon a time, I was a computer science student who depended on getting access to academic versions of software development tools for my courses. When Microsoft released Visual Studio Academic, I was excited that I could finally advance my skills without paying thousands of dollars for the suite.Today, things are a bit different. Code development, testing, and deployment require a host of cloud-based tools and platforms such as Amazon AWS, Azure, and others. If you’re learning software development, costs can rack up quickly as you pay for dozens of subscriptions and credits. That’s why we’re excited to partner with GitHub, to help students jump-start their adventure in software development.1Password in the GitHub Student Developer PackAs of today, through our partnership with GitHub Education and the GitHub Student Developer Pack, all students veri +
2年前
記事のアイキャッチ画像
Why today is a breakthrough moment for passkeys
1Password Blog
+Earlier today, Google announced that you can now create and use a passkey to secure your personal Google account. This support is an important step toward the widespread adoption of a simpler, more secure alternative to passwords.You might be wondering: Okay, but what does that have to do with 1Password?We’ve been working hard to bring you the ability to create, store, manage, and use passkeys in 1Password – just like you do with passwords today. Beginning in June, this will mean easy access to all your logins across all your devices, no matter what kind of credential is under the hood.Here’s a sneak peek of how passkeys are going to work in 1Password:Google & 1PasswordWe’re delighted that Google is supporting passkeys. There are a handful of critical services on the web that will drive passkey adoption, and Google is right at the top of that list.Google’s announcement will help more people discover passkeys, and encourage other companies to add passkey support to their websites and ap +
2年前
記事のアイキャッチ画像
An update on our recent service disruption
1Password Blog
+On April 27th, between 9:03 PM and 9:26 PM ET, 1Password experienced a brief service outage. This was not a security incident, and customer data was not affected in any way.After completing a planned maintenance, our service received an unexpected spike in sync requests from client devices to the servers. During the outage, users erroneously received a message indicating that their Secret Key or password had changed.Our mission is to help people safeguard their most important information. 1Password is designed to protect your information, with local copies of vault data always available on your devices – even without a connection to the 1Password service or the internet itself. As a result, your passwords and other vault items remain safe and sound.We’re deeply sorry for any inconvenience this outage may have caused and appreciate your patience during our investigation. Service has been fully restored, and we can now share further details about what happened and how we’re working to av +
2年前
記事のアイキャッチ画像
Watch every episode of Hello CISO on YouTube
1Password Blog
+Few disciplines change as quickly and continually as cybersecurity. For many CISOs, the pace of change and learning opportunities are what drew them to security in the first place. But it’s also hard to keep up with.That’s why we teamed up with Troy Hunt, web security consultant and creator of Have I Been Pwned, on a YouTube series called Hello CISO. In each episode, Hunt breaks down some of today’s biggest security challenges, and the approach you should take to combat them as a modern CISO.“The responsibilities of the modern CISO are expanding as digital infrastructure grows more complex. It’s no longer feasible to protect against every single threat, so you have to think more strategically. We need to work smarter, not harder – and that’s what I want to explore in this series." – Troy Hunt, web security consultant and creator of Have I Been PwnedThe last episode in the series was recently published on YouTube, so what better time to sit down and binge watch them all? You can browse +
2年前
記事のアイキャッチ画像
Hey, we're at RSA!
1Password Blog
+RSA Conference is here! It’s the security industry’s equivalent of Sundance Film Festival. Or Paris Fashion Week. Or … well, you get the idea.Each year, the security industry flocks to the Moscone Center in beautiful San Francisco for three and a half days of keynotes, seminars, networking, and more. This one is special though because … 1Password is attending for the first time!We’re excited to have our own booth, and to be taking part in some of the conference talks. There’s so much to discuss, including how our industry can best support passkeys, a secure and convenient alternative to passwords.(In case you missed it, we’re all in on passkeys!)Here’s a quick rundown of everything we’re doing at the show:Find us on the show floorIf you’re attending RSA Conference, swing by our booth and say hello! You can chat with our team and get an in-depth look at how to administer 1Password, our user experience, and our developer tools. You’ll find us in the North Expo hall, at booth number 5385. +
2年前
記事のアイキャッチ画像
Through the keyhole: A look at our refreshed brand
1Password Blog
+You may have noticed that some things have started to look a little different at 1Password. Over the next few weeks, we’ll continue to roll out new elements of our brand across our website, advertising, social channels, and more. And yes, while we’ve made some visual changes to the way we express our brand, we’re still the same 1Password. The values, goals, and ethos of 1Password are the same today as they were years ago.We’re still the same 1Password that was founded by four friends in Ontario. The same 1Password that’s committed to providing the most secure and easy-to-use password manager. The same 1Password that puts customer safety and satisfaction above everything else. And the same 1Password that will continue to lead and shape the future of authentication.We, like the industry and technology we work with, continue to evolve and advance. In the beginning, we barely acknowledged that what we were building is not only a product, but a brand. In taking the step back to see all that +
2年前
記事のアイキャッチ画像
New research: Preparing for a passwordless future
1Password Blog
+We’ve used passwords to protect our private data for a very long time. But if you don’t use a password manager, it can be difficult to keep them memorized – especially if you’re using strong, unique passwords for each account.Enter passkeys.Passkeys are a modern alternative to passwords. They make it simpler and more secure to sign in by allowing you to create online accounts you can log into without entering a password. All you need is a trusted device to act as your authenticator, which could be your phone, tablet, or PC. When you go to sign in to an account, your device will prompt you to authenticate using your fingerprint or face for maximum protection, or a secure PIN if biometrics aren’t available.Passwordless technology is positioned to change our lives. If we can get rid of passwords, we can also get rid of the many frustrations that come with them, from resets and phishing to failed logins and wasted time.But how do people feel about a passwordless future? Are they open to it +
2年前
記事のアイキャッチ画像
Why you should start using 1Password at university
1Password Blog
+Life as a university student can get pretty hectic. You’ve got classes to attend, assignments to complete, and notes to memorize ahead of exams. On top of that, you might be juggling a part-time job, extracurricular clubs, and a busy social calendar.Setting up a password manager might not feel like the most important item on your to-do list. But it’s a small investment that can have a large positive impact on your student experience. Here, we’ll explain how 1Password will save you time, keep your accounts secure, and give you peace of mind so that you can focus on graduating with top marks.1. You’ll never forget a password for any of your university accountsMost university courses require you to create a lot of new accounts. You’ll likely have an academic email address, accounts for accessing teacher notes and resources, downloading research papers, and even accessing the school library.Remembering the password for each of these new accounts can be a real pain – especially if they’re a +
2年前
記事のアイキャッチ画像
Passkeys vs. passwords: What are the differences?
1Password Blog
+Humans have used different forms of passwords to guard secrets for centuries. These days, we use strings of characters to access everything from garage doors to digital documents.The average person has over 100 passwords, all of which should be complex, random, and unique — a tall order if you don’t use a password manager like 1Password.We can add more special characters and make them absurdly long (when apps and websites allow us to) but they’re still the same passwords with the same risks. It’s time for passkeys.But what are passkeys and how do they differ from passwords? Can you use passkeys and passwords together? And are passkeys safer than traditional passwords?Let’s find out.On the surfaceWhen you create an account today, you choose a password and enter (or fill) that password when you want to sign in. You’re given access if what you enter matches what you chose when you signed up.Passkeys give the sign-up process a bit of a makeover. You use your biometrics (face or fingerprint +
2年前
記事のアイキャッチ画像
Less is more — especially when it’s a 'Learn More'
1Password Blog
+Over a decade ago, the sketch comedy show Portlandia tried to answer a simple question: why do hipsters put birds on everything? Teapots, tote bags, greeting cards, pillows — even toast. When in doubt, put a bird on it.It’s always fun to laugh at silly hipster trends, but UX designers also have quirky habits. Last year, the content design team at 1Password started to notice a lot of “Learn More” links across our product. A few Learn Mores are fine, but a website or app full of them creates accessibility and usability problems.To put all of this in super technical UX language: 1Password might have too many birds in it.The problemLet’s start with accessibility. Screen readers can navigate a page by jumping from link to link. If most of those links say Learn More, it’s impossible to know where they’ll take the user.Too many “Learn More” links can also make it harder to understand new features or change existing settings. Those are issues that every designer wants to avoid. Our goal is to +
2年前
記事のアイキャッチ画像
How a small team of volunteers is helping people break free of ransomware
1Password Blog
+It’s like a technological thriller come to life. Ransomware entered the global spotlight in 2021 after a number of high-profile cases caught the media’s attention. But long before the growing threat entered the public domain, a small group of individuals started quietly helping thousands of people and businesses get their information back – without paying the ransom.Journalists Renee Dudley and Dan Golden have written about this incredible story in a book called The Ransomware Hunting Team, A Band of Misfits’ Improbable Crusade to Save the World from Cybercrime.We invited the pair onto our Random but Memorable podcast to talk about this remarkable group, and what they’ve both learned about the evolution of ransomware and cybercrime. Read on for the highlights of the interview hosted by Michael Fey (Roo), Head of User Lifecycle & Growth at 1Password, or listen to the entire episode on your favorite podcast player.Listen to episode 102 ›Michael Fey: Can you give us some background on how +
2年前
記事のアイキャッチ画像
Now in beta: Securely automate infrastructure secrets with 1Password Service Accounts
1Password Blog
+Devs, have you ever wished you could quickly and securely automate infrastructure secrets in your apps and development workflows without spinning up additional infrastructure?1Password Service Accounts do exactly that - and today we’re making a public beta available to all 1Password Business customers.Service Accounts are a special type of account that isn’t tied to an individual user. They can be customized to only allow access to specific vaults, and to perform certain actions on those vaults. That adds an additional layer of security and access control for organizations when accessing 1Password programmatically using the CLI. It works by configuring the CLI to use a Service Account access token for authentication, rather than requiring a specific user to authenticate manually.Service Accounts provide a convenient way to automate tasks and streamline development and deployment workflows. You can use them to load secrets into GitHub Actions, or to share and manage infrastructure secre +
2年前
記事のアイキャッチ画像
Bringing my GitHub workflow into Neovim using 1Password CLI
1Password Blog
+1Password CLI brings seamless biometric authentication to your favorite terminal-based editor, Neovim.As a full-time Neovim user, the more things I can do without leaving my terminal, the more efficient my development workflow can be. However, command line tools that require authentication can present a potentially big problem: They all have their own ways of storing credentials, often using plaintext files stored on disk. We can mitigate this and keep everything safe and secure in 1Password using 1Password CLI!What is Neovim?Neovim is a flexible text editor that runs in a terminal. It is a modal editor, which means there are several “modes” that are optimized for different types of interactions with the interface. For example, there’s Insert mode for typing text, Visual mode for selecting text, Normal mode for navigating around and manipulating text, and Command mode for running commands.While very basic with the default configuration, it can also be highly customized and endowed with +
2年前
記事のアイキャッチ画像
Protect 1Password accounts by enforcing security key 2FA at work
1Password Blog
+Here at 1Password, we’re big fans of two-factor authentication (2FA). It adds an extra layer of protection to your online accounts, making it much harder for attackers to break into them.One of the strongest forms of 2FA is a FIDO2/WebAuthn hardware security key, like a YubiKey. That’s a small USB dongle that you plug in to your device, or tap via NFC, to authenticate who you are.We recently introduced the option for 1Password Business admins to enforce this type of 2FA inside their organizations. Once enabled, all team members will be required to use a physical security key when they first sign in on a new device at work.1Password is the only major password manager that gives you the choice to enforce FIDO2/WebAuthn hardware security keys in this way.We understand that the strength of your security matters. That’s why we’re giving you the choice to level up your digital defenses by ensuring your team is using the strongest possible form of 2FA with 1Password.“YubiKeys provide an extra +
2年前
記事のアイキャッチ画像
7 common misunderstandings about passkeys
1Password Blog
+Almost everyone understands what passwords are, and how they work. But passkeys? That’s a different story.Here at 1Password, we’re excited about passkeys, which let you create online accounts and securely sign in to them without entering a password.But we know it’s early days, and the technology hasn’t gone mainstream (yet!)Many people don’t know what a passkey is, or have heard an explanation that isn’t quite right. Here, we’re going to address some of the most common misconceptions so you can better understand how passkeys work, and use them with total confidence.Misunderstanding: Behind every passkey is a passwordMany of us use biometric authentication to unlock our devices and access our favorite online accounts. But in these scenarios, your biometrics don’t eliminate your password.Passkeys, meanwhile, act as a replacement for traditional passwords.Here’s a quick summary of how passkeys work:Passkeys leverage an API called WebAuthn. Instead of a traditional password, WebAuthn uses +
2年前
記事のアイキャッチ画像
Gain deeper insights into business security with the enhanced 1Password Events API
1Password Blog
+There’s one thing IT and security professionals can never have enough of: visibility. Now, 1Password Business customers can gain even greater visibility into their security posture with the upgraded Events API.The enhanced Events API features full event parity with the 1Password Activity Log, both to expand your field of vision and to support your auditing efforts.What is the 1Password Events API?You can’t protect what you can’t see. With the original Events API, you could stream some 1Password events to your SIEM (Security Information and Event Management) tool.Those 1Password events could then be incorporated into custom dashboards, alerts, visualizations, and search, for example, to give you a deeper understanding of how your team uses 1Password.The Events API makes it easy to correlate and enrich 1Password events data to surface security insights that may require action. Think automated alerts for threat detection, and the ability to visualize 1Password usage.That means you can mon +
2年前
記事のアイキャッチ画像
We're changing how we discover and prioritize improvements
1Password Blog
+For 17 years, we’ve prided ourselves on making 1Password a delight to use. But no product is perfect, and when I hear of someone getting stuck, I get curious. How can we fix it? How can we prevent that friction for future customers?Today, we’re taking a step toward being able to better understand those moments by embarking on an internal, employee-only trial of our new in-app telemetry system. And, of course, we’re doing it the 1Password way – making sure it doesn’t compromise on our commitment to protecting your privacy and your data.Here’s a quick summary of what’s happening:1Password is beginning an internal test of our new, privacy-preserving in-app telemetry system. Initially, this functionality will be active only for 1Password employee accounts using the latest beta builds of the app.No customer vault data can be seen or collected. We’re only interested in how people use the app itself, what features and screens they interact with – not what they store in their vaults, what site +
2年前
記事のアイキャッチ画像
Introducing Unlock with Okta for 1Password Business
1Password Blog
+Unlock with Okta has been available in public preview since February. Starting today, all 1Password Business customers can sign in to 1Password using Okta instead of their account password – and support for other SSO providers is coming soon.People just aren’t built to juggle all the logins we use for work. IT departments spend so. much. time. on login-related issues that adopting 1Password reduces IT support tickets by 70%. That can save your IT team members 291 hours each every year – a $286,000 efficiency gain.Single Sign-On (SSO) helps, too. SSO can reduce your attack surface, strengthen minimum security requirements, and reduce IT support costs. It’s also a better login experience for workers, giving them a single set of credentials to log in to every service covered by your SSO provider.Now, you can combine 1Password and SSO to enforce stronger authentication policies, improve auditing capabilities, and give employees a simpler sign-in experience.Unlock 1Password with OktaTogethe +
2年前
記事のアイキャッチ画像
Passkeys and the future of authentication: Q&A with Andrew Shikiar, CMO of FIDO Alliance
1Password Blog
+What are passkeys? How do they fit into a passwordless future? Why is user experience the key to adoption for passwordless? These are just a few of the questions people have for the FIDO Alliance – an open industry association that wants to reduce the world’s reliance on passwords.Matt Davey, Chief Experience Officer at 1Password, sat down with Andrew Shikiar, Executive Director and CMO at FIDO Alliance, on the Random but Memorable podcast to get answers to these questions and more. Read on for the highlights, or listen to the full interview and subscribe to Random but Memorable on your favorite podcast player.Matt Davey: Can you give us a bit of the background on FIDO Alliance and its core mission?Andrew Shikiar: FIDO Alliance is an open industry body focused on reducing industry reliance on passwords. When FIDO launched, the problem we were really trying to address was a data breach problem. We still seek to address that but the vast majority of data breaches are due to passwords for +
2年前
記事のアイキャッチ画像
1Password is now the official password manager of the Golden State Warriors
1Password Blog
+Hey Bay Area, we couldn’t be more pumped to announce that 1Password is teaming up with the Golden State Warriors!Anyone can rebound from bad security habits – and partnering with the Dubs brings us one step closer to making online safety a slam dunk for everyone.Why the Golden State Warriors? 🌁We know that passwords and basketball might seem like an odd match at first, but you may have heard that defense wins championships – and defense is 1Password’s specialty, after all. Talk about an MVP.When it comes down to it, sharing the same values and principles as the Warriors made joining forces a pretty easy decision. Whether it’s taking teamwork to the next level, improving our communities, or continuously striving for innovation, 1Password and the Golden State Warriors are truly on the same team.No more jumping through hoops 🏀When your security is at stake, you deserve the best defense and the best offense – and it shouldn’t be complicated. When we’re on your team, we keep it simple. Th... +
2年前
記事のアイキャッチ画像
33 Shell Plugins and counting!
1Password Blog
+I’m always amazed at just how quickly the developer community gets things done. Case in point: Just weeks after we launched 1Password Shell Plugins, we’re now 33 plugins strong… 14 of which were built by you, the developer community. 🤯Shell Plugins enable one-touch access to command-line interfaces (CLIs). 1Password embraced an open-source model with Shell Plugins, so anyone can write a Shell Plugin for their most-loved CLI and include them in future releases of the 1Password CLI. Within days of the Shell Plugins announcement, we received half a dozen contributions!We’re thrilled that there are now 33 Shell Plugins spanning AWS, GitHub, Okta, Stripe, Snyk, Tugboat and more!Let’s walk through each Shell Plugin that you can now access through the 1Password CLI.Build and ReleaseArgo CD Shell PluginArgo CD is a declarative, GitOps continuous delivery tool for Kubernetes. We want to give a special thanks to open source contributor Seyed for helping make the Argo CD Shell Plugin happen.Expl... +
2年前
記事のアイキャッチ画像
Celebrating 100 episodes of Random but Memorable
1Password Blog
+Over the past 100 episodes we’ve heard Roo say “drop it in here” approximately 98 times, created six random but fun security games, interviewed leaders from around the globe, and asked the world’s greatest philosophical question: are cherries a berry?One of the best parts of producing Random but Memorable has been interviewing so many brilliant security experts. (Second only to hearing from you, our amazing listeners!) We’ve interviewed Twitter royalty @hacks4pancakes (Lesley Carhart), dived into email privacy with Ricardo Signes from Fastmail, and explored how data analysis can uncover insider threats with Distinguished Professor David Bader.The podcast has also given us an outlet to share 1Password tips and tricks, like how to archive items you don’t use often, and how to share items with people who don’t use 1Password.Whether you’ve been listening for the past 100 episodes, or just found us today, we’re excited to share a little more about Random but Memorable, and what you can expe +
2年前
記事のアイキャッチ画像
Meet Megan Barker, Senior Security Specialist at 1Password
1Password Blog
+Have you ever wondered what it’s like to work at 1Password? Or wanted to know the career paths that other people followed before taking a job here? You’re not alone!In this new blog series, we’re sharing what it’s really like to work at 1Password. To do this, we sat down and talked to team members from across our more than 800-strong organization, including engineering, human resources, and customer support. You’ll learn about the journeys that each person took to 1Password, as well as their their current role and day-to-day responsibilities.Today, we’re chatting with Megan Barker, who works as Senior Security Specialist, Documentation at 1Password!What’s your current role, and what are your day-to-day responsibilities?I write security-focused posts for the 1Password blog, create informative (and lighthearted) posts for an internal security group, and edit security-related information for our Content team. I’m also responsible for all security, compliance, and privacy documentation!My +
2年前
記事のアイキャッチ画像
Keep your heart and your passwords safe with 1Password
1Password Blog
+With February upon us, we can all feel the love in the air. But no matter what kind of love you’re celebrating, you and yours deserve a place to keep your secrets safe – from love letters to passwords.1Password makes sharing passwords, logins, credit cards and more a (romantic) walk in the park. And nothing says my partner is off the market quite like matching clothes, jewelry, and password managers. Show off your couple status by helping them switch to 1Password today – we’ll even help you entice them over by crediting the remainder of their invoice with a competitor when they make the move.To make your Valentine’s Day even more safe and sweet, we called in our favorite newspaper columnist, the 1LoveExpert, to answer some questions about love and security. 💝 🔑Dear 1LoveExpert,I need your opinion. Things are getting serious between me and my partner, and I just don’t know if I’m ready. I went to their place for dinner, and we’d just settled in to stream a movie when they said those t... +
2年前
記事のアイキャッチ画像
Goodbye, passwords
1Password Blog
+We’re all in on passkeys, and we’re starting with 1Password.Passkeys are the modern alternative to passwords. They’re easier to use, harder to steal or crack, and built on proven, open standards designed to make logging in to your favorite apps and services faster and more secure.And they couldn’t come at a better time: credential-based attacks are only accelerating. In 2022, it was rare that a month went by without a high-profile social, identity, or security service being breached.Instead of playing whac-a-mole with passwords, why not eliminate that avenue of attack outright? That’s our mission. It’s why we’re at the forefront of passwordless advocacy, and why we’ve committed to adding full support to 1Password for generating, managing, and using passkeys.But there’s still one small gotcha, and it’s right there in our name: “one password.”For passkeys to be the way forward, it’s not enough for them to replace some of your passwords. They have to be able to replace all passwords – inc +
2年前
記事のアイキャッチ画像
How to disable browser password manager prompts
1Password Blog
+So you’ve set yourself up with a password manager and you’re feeling like a cybersecurity wizard – as you should! Flying high, you hop online, ready to effortlessly log in with a single click – but suddenly, it happens.Your go-to browser is still offering to save your passwords, getting in the way of your smooth sailing. Not cool.These prompts can turn from mild inconveniences to major annoyances fast, so it’s best to turn them off as soon as possible. Struggling to find the right option or toggle to disable your browser’s built-in password manager? Here’s a quick guide for Chrome, Safari, Edge, Brave, and Firefox.Disabling browser password manager promptsFirst, if you haven’t already, make sure to move any passwords you’ve saved in your browser over to your password manager so they’re safely stored and easily accessible. Now you can move on to disabling your browser password manager prompts:Chrome:Launch Chrome.At the top right, select Profile and then Passwords.Turn Offer to save pas +
2年前
記事のアイキャッチ画像
Why you can trust 1Password's cloud-based storage and syncing
1Password Blog
+‘Can I trust a password manager that stores my data in the cloud?'It’s a good question to ask.After all, your passwords, credit cards, and other private information are precious. And when you choose a password manager with cloud-based syncing, you’re relying on someone else to watch and guard the server where your data is stored.But to answer the question: Yes, you can trust 1Password, which uses the cloud to keep your data in sync across your devices.Our systems are designed so that your data would remain safe even if an attacker gained access to our servers.Here’s how it works.What would happen if 1Password’s servers were breachedThe data you store in 1Password is always kept fully encrypted on our servers. And when we say “data”, we mean everything, including the names of your vaults, and the website URLs associated with each saved password.If an attacker somehow infiltrated one of our servers, the best they could hope to find is reams and reams of scrambled information. All of this +
2年前
記事のアイキャッチ画像
Git + Touch ID, plus four more reasons why developers love 1Password
1Password Blog
+Recent breaches at Uber and Slack highlight the risks of storing secrets in plaintext on disk. But that’s just the way it works, right?1. Your daily git pull is as easy as scanning your fingerprintWith our SSH Agent we’ve made your morning git pull as easy and secure as unlocking 1Password – only a scan of your fingerprint required! New keys can be generated in 1Password and synced with Git clients in seconds, then used without the private key ever leaving 1Password. You can use the SSH agent not only for authenticating Git in your daily work, but also to SSH into remote machines. Plus, when you work from other devices, you can take all your keys with you.2. Shell plugins make the magic happen with all your CLIsWhy should the magic stop at Git? Shell Plugins allow you to authenticate with biometrics to all the CLIs you know and love, saving you from unnecessary typing or storing keys in plain text on your disk. Not only do we have over two dozen CLIs currently supported, but you can al +
2年前
記事のアイキャッチ画像
Simplify managing your team and business with the new Admin Dashboard
1Password Blog
+Starting today, 1Password Teams and Business customers have access to a new, streamlined Admin Dashboard. The new dashboard is your home for reporting, Insights, Travel Mode, and user management.The current 1Password admin homepage and dashboard have joined forces to give you a single, more helpful homepage experience. The new dashboard brings the 1Password Business features you rely on together into one well-organized, easily accessible place.What’s newBringing together high-level details about your business and quick-access links to useful features, the Admin Dashboard will give you a comprehensive overview of your account, team, and security posture.All the 1Password Teams and Business features and functionality you know and love will remain the same, but you’ll now have a more accessible and efficient experience in one central location.Find actionable information and potential risks through InsightsYou can now access Insights directly from the Admin Dashboard so you won’t miss a th +
2年前
記事のアイキャッチ画像
Building a better, more useful 1Password
1Password Blog
+The difference between good and great software isn’t flashy features: it’s the feeling of using a tool that just works. With this in mind, our team recently decided to press pause, roll up our collective sleeves, and spend some quality time improving the fundamentals of 1Password 8.First, we collected all the feedback you’ve been sharing on our forum and on social media, in various app store reviews, and through conversations with our team. We then turned these requests into a to-do list and tasked ourselves with bringing as many of them to life as possible.Below is a sneak peek at what we’ve been working on. (If you’re an iPhone user, there’s a lot to be excited about.) All of these improvements are either live right now, or coming in the near future. We can’t wait for you to try them.Reorder fields and sections inside itemsiOS: Available nowAndroid: Available nowDesktop: Available nowEvery item can contain multiple fields and sections. But what if you want to re-order those different +
2年前
記事のアイキャッチ画像
How the 1Password Starter Kit items keep you secure
1Password Blog
+Allow me to tell you a brief story — a story in which you (yes, you) are the protagonist.You signed up for 1Password, opened the app, and noticed there were items in your newly created vault. You revealed the item fields to find your Secret Key and account password.You didn’t create the item and know 1Password doesn’t have your credentials; you understandably wonder what happened — and how.Sound familiar? You’re in the right place. In this article, I answer those very legitimate questions, in order, for bonus points, and address a couple others that may be lingering in the back of your mind.Let’s start at the beginning.Here’s what happenedThe 1Password sign-up process consists of many technical and mathematical complexities. Among them is the code that triggers the creation of an Identity item and a Login item1 on your device.You’ll find the fields empty in the Identity item — they’re left for you to complete. Add your name, address, phone number, email address, and any other personal +
2年前
記事のアイキャッチ画像
Doing good in 2022 and beyond
1Password Blog
+When I joined 1Password at the beginning of 2022, I immediately recognized the value that the company places on its employees, its customers, and its community.With the support of our employees, we are fortunate to be able to give back and support important initiatives around the world.Our employee survey this year showed that over 80% of employees agreed 1Password is taking action to address issues of fairness, diversity, equity, and inclusion. Alongside our employees, we’re proud to support a range of important causes around the world. We know there is more to do, but we are truly excited to continue building on the partnerships we’ve built.Here are some of the ways we worked to make a difference this year.Standing with Ukraine 🇺🇦1Password stands with the brave citizens and leaders of Ukraine who are defending their homes and values. Earlier this year, we showed our support in a few different ways: pledging to match employee donations up to $50,000 USD, and standing with other Cana... +
2年前
記事のアイキャッチ画像
Unlock with SSO: under the hood
1Password Blog
+Recently, we announced that 1Password Business customers will soon be able to unlock 1Password with Okta.Since then, we’ve spoken with many of you who are eager for more of the technical details – and we’re happy to oblige! We love a good deep dive, so let’s talk about some of the thinking behind our approach.In this article, we’ll pull back the curtain a bit on the technical foundations of Unlock with SSO. We’ll touch on why it’s a tricky problem and how we engineered a solution that lives up to the 1Password promise – including how we ensured that no one but you can access the data in your vaults. Finally, we’ll share some notes on what Unlock with SSO means for the security of your 1Password account, and what the future holds.SSO and a decryption problemMost web services “just” need to solve authentication and authorization problems – ie. determining whether a user is who they say they are, and whether they should have access to a resource. For these kinds of services, SSO is an ide +
2年前
記事のアイキャッチ画像
What it’s like to be an intern at 1Password
1Password Blog
+Here at 1Password, we’re lucky enough to work with students throughout the year on our goal of creating a safer, simpler digital future for everyone.Roughly 15-20 Canadian university students join us each semester to spend four months as a member of our engineering and technical teams. Each student is given an opportunity to work on important projects, as well as develop relationships with senior members of their teams.We’re big on learning and development, and we believe that co-op programs not only benefit students but our full-time team members as well. Students have fresh perspectives that help us see things differently, and we all benefit from their enthusiasm and excitement for learning new skills.We asked three of our internship students what their experience at 1Password has been like, and what they’ll take with them when they go.Andrew SemchismDeveloper Intern, Full StackUniversity of WaterlooWhat made you choose 1Password for your internship?I chose 1Password because of its e +
2年前
記事のアイキャッチ画像
Unlock 1Password with Okta: Available in Public Preview
1Password Blog
+A public preview of Unlock with Okta is now available.We’re pleased to announce that a public preview of Unlock with Okta is now available for all 1Password Business customers. This allows admins to set up their 1Password account so that team members sign in to 1Password with their Okta username and password, rather than their account password and Secret Key.How did we get here?A few years ago, unlocking 1Password with SSO began to come up more and more in conversations with our customers. While the value and benefits were clear, we didn’t pursue this feature because at the time we didn’t have a way to build it that met our stringent security standards. Unlocking with SSO has its own risk considerations that differ from 1Password’s traditional unlock model, and we wanted to make sure our solution was truly secure.After many months of research and listening to our customers, we’ve engineered a solution with the same careful consideration for our customers' privacy and security as every +
2年前
記事のアイキャッチ画像
Happy 1Password updates for the New Year! ~ from Dave's newsletter
1Password Blog
+Hello everyone,I hope you’re having a wonderful New Year so far. I had lots of fun with friends and family over the holidays and am excited about all the things we have planned for 1Password in 2023.Before looking forward, let’s take a look back at some of the things that I didn’t have a chance to share with you last year.Security is our foundationI love highlighting our security model whenever I get a chance, and with at least one of our competitors being breached recently, I thought now would be a great time to review how we designed 1Password to keep you and your data safe. Always. Even in the event of a breach.We built 1Password with security and privacy as our foundation. You see this in the features we add, the “features” we refuse to add, and how we design those features to always preserve your security and privacy.There’s many aspects to this but given recent events, the star of today’s show is our unique Secret Key and how 1Password uses it to encrypt your data in a fundamenta +
2年前
記事のアイキャッチ画像
How 1Password is designed to keep your data safe, even in the event of a breach
1Password Blog
+How 1Password protects your sensitive data, and why an attack on 1Password would pose no threat to information stored in your vaults.As data breaches become increasingly common and scary headlines hit the news, you may be feeling a bit uneasy. Here’s the good news: if you’re a 1Password customer, there’s nothing you need to do and no reason for you to worry.We’ll explain why below, but if you’re in a hurry you can rest easy knowing that:If you use 1Password, your information is safe. 1Password encrypts your vault data in a fundamentally different way than other password managers. Our dual-key encryption ensures a breach of 1Password’s systems would pose no threat to sensitive information stored in your vaults.1Password encrypts crucial metadata to protect your privacy. In addition to the contents of your vaults, we also encrypt vault names and stored website URLs. Without them, someone who obtains your encrypted vault data would have no way to guess what’s inside – they wouldn’t know i +
2年前
記事のアイキャッチ画像
How to password protect your PDF files
1Password Blog
+PDF files have become an essential part of our digital lives. We use them to create and share invoices, reports, contracts, and countless other documents every day.Here, you’ll learn several ways to add password protection to your PDFs. This guide also explains how you can securely store and share your PDF files using a password manager like 1Password.Why protect your PDF files?By default, a PDF file can be opened and viewed by anyone. This is often useful and convenient. For example, if you run a restaurant, you want everyone to be able to visit your website and look at a PDF version of your menu.But PDFs can also be used to record and share private information. You might create one for your company’s next quarterly earnings, or to prove to a mortgage lender that you’re earning enough to buy a home. The best way to keep these types of PDFs secure is by protecting them with a strong password.A quick search online will reveal many websites and apps that promise to add password protectio +
2年前
記事のアイキャッチ画像
1Password’s top four predictions for security in 2023
1Password Blog
+The security landscape is always evolving. This can make predicting what’s going to happen next complicated, but no less necessary.Part of our security team’s job is to keep an eye on the security landscape so that we can be flexible as changes need to be made. As part of that, we’ve asked them to share some of their security-related predictions for 2023.1. Passkeys are going to achieve critical mass in 2023People have been talking about the end of passwords for more than a decade at this point, but for once, they might actually be right. With the introduction of passkeys there is now an accessible password replacement option that is strong and secure.Passkeys are digital credentials that let you sign in to apps and websites without using a password. And in 2022, passkeys finally worked their way into mainstream awareness – which is the first step towards reaching mass adoption. Not only do people now know about passkeys – and the passwordless future they promise – but there’s even a p +
2年前
記事のアイキャッチ画像
Not in a million years: It can take far less to crack a LastPass password
1Password Blog
+LastPass, a competitor, recently announced that password hashes were included in an August 2022 breach of their cloud storage.The company’s notice claimed that if users had followed default settings, “it would take millions of years to guess your master password using generally-available password-cracking technology.” That claim is highly misleading. In this article, I’ll explore the LastPass claim and unique 1Password features that protect you — now and in the event of a similar breach.If 1Password were to suffer a similar breach, the attacker would not be able to crack your combination of account password and Secret Key – even if they put every computer on Earth to work on the cracking and ran them for zillions of times the age of the universe.The newsOn December 22nd, LastPass posted an update to their announcement around an August 2022 breach. The update states that encrypted user data “remains secured with 256-bit AES encryption and can only be decrypted with a unique encryption k +
2年前
記事のアイキャッチ画像
How to password protect your Excel spreadsheets
1Password Blog
+Millions of people use Microsoft Excel to record, organize, and analyze important information. If you fall into this group, you may want to password-protect some of your most important spreadsheets and Workbooks.Here, you’ll learn a few different ways to add password protection to your Excel files. We’ll also explain how you can store and share those passwords in a password manager, alongside your account logins and everything else that’s important in your digital life.Keep your important data privateMany Excel spreadsheets contain a lot of sensitive information. If you’re using the software professionally, that could include client contact details, credit card information, social security numbers, or data about your co-workers.Using Excel for school projects, or to keep your personal life organized? You might still have some spreadsheets that you want to keep private. For example, if you’re planning a surprise birthday party for your partner, you don’t want them to find and open the s +
2年前
記事のアイキャッチ画像
From our kitchens to yours: our favorite holiday recipes
1Password Blog
+With the holidays around the corner, our team is not only whipping up ideas and plans for 2023, but also some delicious holiday creations in their kitchens. For the second year in a row, we asked our team to contribute to an internal cookbook that everyone can draw inspiration from. We welcomed both sweet and savory recipes, as well as any stories about how the recipe came to be a favorite.The cookbook is part of a larger program we call Season of Giving. After a long and exciting year, we want to ensure our teams take the time to give back to their communities, chosen families, and themselves. We’ve been running a number of internal events over in December that focus on everything from mental fitness coaching to laughter yoga (yes, it’s a thing!) Our hope is that by taking a moment to reflect and give back, our teams can head into the holiday season feeling proud of what they’ve done in 2022.In the spirit of the season of giving, here are three of the recipes from our cookbook. We pro +
2年前
記事のアイキャッチ画像
Distraction on overdrive: Security in a time of permacrisis
1Password Blog
+Permacrisis: ‘An extended period of instability and insecurity, especially one resulting from a series of catastrophic events.'We can probably all agree that we’re living in a state of permacrisis right now. After grappling with Covid-19, the world has been rocked by volatile stock markets, record-setting inflation, and the ongoing conflict in Ukraine. No wonder Collins Dictionary chose permacrisis as its word of the year for 2022.Last year, our State of Access report delved into burnout and its impact on cybersecurity in the workplace. This year, we’re exploring how these trends, challenges, and behaviors have evolved in a time defined by permacrisis. To do this, we surveyed 2,000 adults in the U.S. and Canada who are in full-time employment and spend most of their working hours in front of a computer.Here’s what we found:Our key findingsThe permacrisis is causing more stress. One in three employees (32%) told us they’re more stressed than ever before.Non-stop crises are making worker +
2年前
記事のアイキャッチ画像
Unlock any CLI using biometrics with 1Password Shell Plugins
1Password Blog
+1Password Shell Plugins brings the security and ease of use of biometrics to every tool in your terminal.I love Touch ID. When I use it to log in to a site or authorize a purchase, authentication just kind of happens. It doesn’t feel futuristic anymore, but it does feel like the present. It’s the modern computing experience.Then I open my terminal, and I’m transported right back to the past. Why can’t devs have that modern experience?I know I’m not alone. When we introduced Touch ID support for 1Password CLI 2.0, one of the most frequent pieces of feedback we heard was: Can we have touch ID for all CLIs?So, about that.Introducing 1Password Shell PluginsWe use CLIs to perform quick actions from the comfort of our terminals and automate recurring tasks. You might use the GitLab CLI to submit your code in a merge request, so the team can review it and include it in the next release, for example. Many other developer platforms like AWS, Stripe, Sentry, and CircleCI offer CLIs as well.Conne +
2年前
記事のアイキャッチ画像
What is a hashed password?
1Password Blog
+Data breaches are on the rise, so it’s critical that companies properly protect their customers’ passwords. One of the ways that businesses do this is by hashing passwords before storing them.But what is hashing, and how does it work? And can a hashed password ever be cracked? Here, we’ll answer all of these questions and more.How does password hashing work?Hashing is a cryptographic technique invented more than 50 years ago, long before the internet and the personal computer. Today, companies use hashing to secure all kinds of sensitive data, including customer passwords.Hashing is a one-way process that protects a password by turning it into a different and seemingly random string of characters.When you choose a new password for one of your online accounts, it’s usually run through a mathematical algorithm called a hash function. The hashed password that comes out the other side is then stored on the company’s server. This helps protect it from an attacker who manages to access the p +
2年前
記事のアイキャッチ画像
Running an Airbnb: How to share passwords securely with your guests
1Password Blog
+As an Airbnb host, you have a lot to manage. Reservations, cleaning, finances – the list goes on and on. But one of the most important parts of being a host is keeping your guests, and your property, safe and secure.You might think that Airbnb security starts and stops with having a robust lock for the front door. But there’s also a digital aspect that you should be aware of. Sharing passwords securely can protect your property, and your guests, from property damage, hackers, and even uninvited people. In this post we’ll explore some ways you can digitally secure your property, and the people staying there, so everyone has a stress-free experience.Lock down access to your propertyMany Airbnb hosts are happy to meet their guests in person and physically hand over the front door key or passcode. However, an increasing number of property owners are using lockboxes and other solutions that don’t require them to be present at arrival. If you fall into this camp, you need to make sure that y +
2年前
記事のアイキャッチ画像
Sign in with Google, Apple, and other providers... and save it in 1Password
1Password Blog
+We have more sign-in options than ever, but keeping track of them all is becoming increasingly difficult. So we’re making it easier.Every morning, I sit down with a mug of iced coffee – shoutout to Pilot Coffee Roasters 😉 – and open my laptop. I like to throw on a Spotify playlist before I get started, so my very first action is launching Spotify in my browser. (Some good punk rock always gets me going strong early.)Occasionally I find myself logged out of Spotify, so I need to sign in. And every single time, I fail to remember which set of credentials I used to create the account more than a decade ago.Did I sign up with my Google account? Or maybe it was Apple? Or Facebook? Or an email and password?Luckily, I can avoid the guesswork simply by using 1Password in my browser to log in, because it now remembers how I signed in (or signed up), even if I used a Google, Apple, or other account to do so.No more guesswork. No more password reset loops. No more frustration.Sign in to your fav... +
2年前
記事のアイキャッチ画像
We can do better: The tech industry and its response to data breaches
1Password Blog
+My colleague, 1Password Senior Security Specialist (and all round stand-up guy) Chris Butler, and I recently chatted about a trend that’s emerged over the past few years: attempts to capitalize on cybersecurity incidents through self-promotion.Chris drew an interesting comparison: “Data breaches are similar to car accidents in some ways. And members of the security industry are like the first responders.”Just like highway traffic slows after a collision so drivers can sneak a peek at the damage, all eyes (and minds) are on cybersecurity after a breach. That period of heightened interest and awareness is the ideal time to share information, insight, and instruction.Rather than take to social media and other platforms to essentially shame the affected business and fearmonger others, we should shout about how similar attacks can be prevented.And our industry needs to lead the charge.Say it loudImagine someone could perform a basic Google search and locate a tool that scans your network an +
2年前
記事のアイキャッチ画像
Rust developers can now generate consistent type schema with Typeshare
1Password Blog
+Today, 1Password is making Typeshare publicly available as an open-source project to help Rust developers generate consistent type schema across multiple languages.With Typeshare, developers can now create FFI (foreign function interfaces) with confidence.What problem does Typeshare solve?We often write code in another language and have Rust call that code. For example, 1Password is powered by a Rust framework built from the ground up to be highly performant and secure, with a separate frontend to display the UI (user interface) on various platforms.Decoupling the display code from our business logic gives us cross-platform consistency while also letting 1Password look great on any device. But the frontends are written in a different language, so we use a foreign function interface to communicate with the frontends.But we needed to ensure the data we gave to the frontend was understood correctly - if the data types between the languages weren’t in sync, it would result in a host of pro +
2年前
記事のアイキャッチ画像
Passkeys & 1Password: The future of passwordless
1Password Blog
+You may have seen mention of a “passwordless future” – the concept of simpler authentication and no passwords. That future is rapidly approaching, and we’re excited to share a glimpse of it with you today.Recently, we’ve shown you 1Password’s vision of the future, a future that goes beyond passwordless to provide a simple sign-in flow no matter what kind of credential you use.We’ve been members of the FIDO Alliance for some time now, but we were recently invited to sit on the board, where we’ll be able to work more closely with our fellow tech leaders to build out a universal password-free sign-in experience. The wider introduction of passkeys is an important step on this path, but what happens next is crucial.As a group, we have to deliver on the promise of making this future accessible to everyone, everywhere, and we see our appointment to the FIDO Alliance board as an important opportunity to strengthen our commitment to the cause.Explore passkeys in 1PasswordExperiencing the future +
2年前
記事のアイキャッチ画像
What are SIM swap attacks, and how can you prevent them?
1Password Blog
+SIM swapping, also known as SIM jacking, is a technique used by attackers to gain access to a person’s phone number and, ultimately, their two-factor authentication (2FA) codes.A fraudster will impersonate a target while calling their mobile service provider and ask for the target’s phone number to be ported to a new SIM card. The attacker will then check whether they can use the phone number to intercept any SMS-based 2FA codes.How does SIM swapping work?SIM swapping is a growing problem that leverages social engineering.Criminals will call their target’s mobile service provider and recount a fake but believable story for their SIM swap request. For example, they might say: “I lost my phone at a music festival and need help transferring my number to a new SIM card.”The mobile service provider will likely ask some security questions to verify the caller’s identity. However, criminals are smart and will prepare for these questions by researching their target beforehand. They’ll root thr +
2年前
記事のアイキャッチ画像
Deploy and manage 1Password 8 with MDM and MSI/PKG installers
1Password Blog
+Administrators, this one’s for you. 1Password 8 for Mac now includes a set of mobile device management (MDM) options. We’re also releasing PKG and MSI installers for Windows and Mac respectively, which we know have been highly requested by our business customers. These new tools make it simple to deploy and manage 1Password across your entire organization.But wait, there’s more! We’ve also added support for ARM-based Linux devices such as the Raspberry Pi, alongside many other quality-of-life improvements.Deploy 1Password 8 with MSI and PKG installersFirst, let’s talk about deployment.You can now roll out 1Password 8 to any team member with a Mac using the 1Password PKG installer. Do some or all of your team members use Windows PCs? No problem. You can quickly install 1Password 8 for Windows on a per-user basis with the 1Password .exe installer, or on a per-machine basis using 1Password MSI.These tools streamline the process of rolling out 1Password to new hires and existing team membe +
2年前
記事のアイキャッチ画像
What many recent data breaches have in common
1Password Blog
+When a data breach appears in the news (which has happened a lot recently), many of us picture a hacker in a black hoodie, trawling through reams of code on a custom-built PC. We often imagine them finding a single mistake – a zero that should be a one, or vice versa – that lets them slip through a company’s defenses.After all, that’s how hacking is usually portrayed in movies and TV shows.But re-read the latest news reports and you’ll notice that most data breaches can be traced back to a single cause: social engineering. Increasingly, hackers are exploiting human psychology, rather than technical vulnerabilities, to access company accounts, tools, and databases.The success of these attacks hinges on how persuasive the hacker can be – or how well they can imitate someone trustworthy – rather than their knowledge of a particular programming language.It’s a timely reminder that cybersecurity is always changing, and the best way to protect a company is by focusing on the people who work +
2年前
記事のアイキャッチ画像
How to navigate 1Password like a pro with Quick Access
1Password Blog
+We like to get things done at 1Password, which is why we’re such big fans of Quick Access in 1Password 8.Quick Access gives you … well, quick access to everything you’ve stored in 1Password. If you’ve ever used Spotlight on a Mac, it will feel awfully familiar.Like Spotlight, you can summon Quick Access from anywhere on your desktop with a keyboard shortcut or mouse click. When you do, you’ll see a simple search window in the middle of the screen. Start typing to find any item in your 1Password vaults, then take fast action on the item so you can get back to what you were doing.Quick Access is smart, too. Let’s talk about what makes Quick Access such a capable companion, and how you can master its capabilities to make quick work of any task that requires one of your saved items.Quick Access basicsFirst, the fundamentals. You can open Quick Access using the following default settings:On Windows or Linux: Use the Ctrl + Shift + Space keyboard shortcut, or select the 1Password icon in you +
2年前
記事のアイキャッチ画像
What are passkeys and how do they work?
1Password Blog
+Every single day we use passwords to sign in to our online accounts. But that doesn’t mean they’re a perfect solution.If you don’t have a password manager, it’s challenging to create and remember hundreds of strong passwords. Many people give up and use the same password for everything, or a few predictable passwords, which makes it easier for cybercriminals to hijack their accounts.Enter passkeys. You may have heard of them in the news, and with good reason. Many companies (including 1Password!) are excited by this technology as a simple, fast, and secure sign-in solution. Here, we’ll break down what passkeys are, how they work, and some of the benefits they offer over traditional passwords.What are passkeys?Passkeys allow you to create and sign in to online accounts without a password.When you use a passkey, you don’t have to memorize or type anything out, or enter a two-factor authentication (2FA) code. And, if you land on a fake but convincing (phishing) website, your passkeys won’ +
2年前
記事のアイキャッチ画像
1Password acquires Passage to help bring passwordless authentication to everyone
1Password Blog
+Passage, a leader in modern authentication technology, is joining the 1Password team to help accelerate the adoption of passkeys for developers, businesses, and their customers.Today, I’m thrilled to welcome the Passage team to 1Password. Together, we’re ushering in the next chapter in our journey toward secure and simple sign-ins for everyone.When I look at the growing interest in passkeys, I can’t help asking myself: what will it take to make passwordless technology flourish? How will 1Password contribute? After all, the underlying technology isn’t new.What’s changed is an emerging consensus around how to make that technology available to any developer, business, or individual that wants to use it – on any platform or device.And that’s where Passage comes in.What is Passage?The Passage team is dedicated to making it easy for developers and businesses to implement passwordless authentication. Their API allows anyone to build a class-leading sign-in experience that prioritizes device-n +
2年前
記事のアイキャッチ画像
What is a dictionary attack, and how do you protect yourself from it?
1Password Blog
+Have you ever heard the cybersecurity term “dictionary attack”, and wondered what it means? You’re not alone. Here, we’ll break down what a dictionary attack is, and explain what steps you should take to protect yourself from this threat.What is a dictionary attack?A dictionary attack is a type of brute-force hacking method that relies on specific lists (i.e. “dictionaries”) of words or phrases the attacker thinks will have the highest chance of success. Unlike a typical brute-force attack, which tries every possible password combination (e.g. “AAA”, “AAB”, “AAC”, and so forth), a dictionary attack is much more focused and efficient.The list could include words from a dictionary, passwords that have leaked in the past, or common regional references or phrases, like a Florida resident using“Dolphinsfan305”. They then use automated programs to try combinations of possible usernames and passwords until they’re able to break into the account.While hackers can use dictionary attacks directl +
2年前
記事のアイキャッチ画像
Tip: Personalize your 1Password experience with custom account, vault, and item icons
1Password Blog
+Your password manager protects your digital life. Passwords. Credit cards. Your most important documents. By its nature, the password manager is personal.But you can go a step further and make 1Password truly yours by changing your profile picture and using custom icons for your 1Password Families and 1Password Business accounts, as well as individual vaults and items.With these options, you can:Reflect your personal sense of style in 1Password.Make it easier to glance at 1Password on any device and find exactly what you’re looking for.Ready to add a personal touch to your favorite password manager? Here’s how…1password.comChange your profile picture:Select your name in the top right-hand corner, followed by My Profile.Select Edit Details.Select the arrow on top of your profile picture.Choose from one of our many icons, or upload your own by selecting the “+” symbol.Change your family or business icon:Find your family membership or business account in the sidebar and select Settings.Se +
2年前
記事のアイキャッチ画像
WebAuthn: what it is, and how it works
1Password Blog
+WebAuthn technology is pivotal to passwordless authentication. When implemented correctly, the specification makes it simple and secure to sign in to accounts without entering a traditional password.If you have questions about WebAuthn, you’re not alone. After all, it’s not a term you hear often in casual conversation … unless you’re really into security.Here, we’re going to unpack the term and explain how it allows developers to offer passwordless solutions. This will give you a better understanding of where cybersecurity is headed, and why so many companies including 1Password are excited by the technology underpinning it.What is WebAuthn?WebAuthn, or Web Authentication, is an API that gives website developers the ability to support a passwordless login experience on their websites and in apps. It’s an essential piece of software that connects those websites and apps with your chosen authenticator.Authenticators are available in two forms:Roaming authenticators. These are standalone +
2年前
記事のアイキャッチ画像
New research: the realities of parenting and growing up online
1Password Blog
+The internet’s evolution is transforming our way of life in real time. That includes the experience of being a parent, and to an even greater degree, a young person. Today, it’s not uncommon for kids to have an online presence before losing their first teeth. But we’re only just starting to learn about the impact of these changing habits, and the challenges they’re creating for families around the globe.There’s never been a greater need to understand the internet’s influence on parenting and childhood – especially as more kids grow up and become parents themselves. That’s why we partnered with Malwarebytes for a comprehensive survey that asked parents and Gen Zers about their habits and honest feelings on the topic. Today, you can read our findings in a joint report titled “Forever connected: the realities of parenting and growing up online.”The new struggles for today’s kidsThe challenges of life online are far greater than choosing the best profile photo. Misinformation, identity the +
2年前
記事のアイキャッチ画像
Introducing 1Password 8 for Apple Watch
1Password Blog
+Your most precious data is now securely accessible from your most personal device. The all-new 1Password for Apple Watch offers customizable access to nearly anything in your 1Password account, with full support for complications and the same intuitive experience you know and love.For many of us, Apple Watch is the most personal piece of technology we own. It accompanies us even in places our phones do not, offering glanceable access to the time and date, app notifications, the weather, even information about our health and wellbeing.With the latest update to 1Password 8 for iOS, your Apple Watch can now serve as a secure window into your most important information as well – even when your phone isn’t on you, or you have no internet connection.1Password for Apple Watch provides quick access to two-factor codes, Wi-Fi passwords, secure notes, or any other items you choose to bring with you.Complications, Large Type, and moreWe’ve rebuilt our Apple Watch app to take full advantage of wat +
2年前
記事のアイキャッチ画像
Secure your family with 1Password and provide food security to communities
1Password Blog
+Here in Ontario, the leaves have begun changing colors and Thanksgiving has arrived. It’s a welcome reminder to appreciate what we have, from the simplicity of a warm meal to the joy of sharing that meal with loved ones.It’s a great opportunity for us to give thanks and give back to our communities. Since Thanksgiving comes early for Canadians, we’re kicking off our season of giving thanks now!Help your community this Thanksgiving 💙From now until November 25th, when someone becomes a new 1Password Families customer, 1Password will be donating to three different charities. These groups work within our communities to help provide food security and build stronger networks for all.Food Banks Canada helps those across Canada living with food insecurity by relieving hunger today and preventing hunger tomorrow in collaboration with the food bank network.Second Harvest is creating an efficient food recovery network, reducing the environmental impact of food waste while ensuring that everyone ... +
2年前
記事のアイキャッチ画像
Community spotlight: Extending 1Password for JetBrains users
1Password Blog
+1Password is serious about securing developers' workflows. That’s why we’ve built and continue to improve upon 1Password Developer Tools.Today we’re talking to developer and friend of 1Password Soner Sayakci, who is both a Jetbrains and 1Password user. Just a few weeks ago, Sayakci released a fantastic integration that enables developers to make use of 1Password vaults, secret references, and more within the Jetbrains integrated development environment (IDE).By automating tedious tasks, 1Password Developer Tools speeds up development workflows while eliminating the potential for human error. We’ve automated SSH key management. We’ve added biometric unlock to Git authentication and other SSH workflows to simplify secrets management in the terminal. We also aim to bring 1Password’s security model and ease of use to the tools developers use every day. Earlier this summer, we released 1Password for VS Code, an open-source integration that enables VS Code users to take secrets (such as Stri +
2年前
記事のアイキャッチ画像
1Password SCIM bridge explained: what it is, and why we made it
1Password Blog
+The 1Password SCIM bridge is a powerful tool for businesses that want to use a password manager alongside an identity provider like Okta, Rippling, or Azure Active Directory. But if you haven’t used the SCIM bridge before, you might be wondering: What exactly is it? And does my company need a SCIM bridge?Today, we’re going to dive in and answer both of these questions. But to do so, we have to explain the problem the SCIM bridge solves.The problem: your time is valuableHow can you effectively provision, manage, and deprovision users in 1Password if you work for a large organization?Imagine you’re an administrator for a Fortune 500 company. You have over 100,000 users in your directory, and management is telling you that everyone needs access to 1Password.Now, let’s be generous and assume inviting a user, confirming their account, and placing them in the right 1Password groups takes a total of 30 seconds via 1Password.com. Congratulations! Your new job for the next three months is going +
2年前
記事のアイキャッチ画像
Why SSH security practices need to change (and how 1Password can help)
1Password Blog
+SSH key management practices reflect the environment in which they were first introduced. The 1Password SSH agent is a big step toward aligning practices with the modern world.Earlier this year, we introduced the 1Password SSH agent as part of our commitment to bring developers the kinds of things developers want to see. Today, I’ll discuss a re-evaluation of the security properties and habits some of us old-timers may have regarding SSH keys, and which of those habits are outdated.The short version is that SSH was originally a drop-in replacement for rsh (remote shell) and rlogin, which were centered around one machine trusting another machine, or one account on a machine trusting an account on another machine. SSH private keys were associated not just with individuals, but individual accounts on particular hosts.Some of us old-timers need to adjust how we think about SSH keys.SSH key management tools and conventions grew out of that environment. A key pair didn’t so much belong to a +
2年前
記事のアイキャッチ画像
What is public-key cryptography?
1Password Blog
+Encryption is an essential step in cybersecurity that protects confidential information by turning it into scrambled gibberish. This ensures attackers can’t understand it, and only trusted individuals can make it understandable again.There are different types of encryption, with different security and access levels. There are two main types of encryption:Symmetric, which uses a single key for encryption and decryption.Asymmetric, which relies on pairs of connected keys called a public key and private key. This means a different key is used for the encryption and decryption processes.Asymmetric or public-key cryptography is an increasingly popular method used in modern technology. Here, we’ll explain how public and private key pairs work, and why they’ve become such a widely used form of encryption.What are encryption keys?First, let’s establish what a “key” is. In cryptography, it’s a tool that can turn readable data into something indecipherable. It’s not, as it may sound like, a plot +
2年前
記事のアイキャッチ画像
How 1Password and SSO fit together – and what comes next
1Password Blog
+Single sign-on (SSO) and 1Password make a great team. Separately, 1Password and SSO each reduce your attack surface by securely logging you in to sites and services you use to get things done. Together, they’re a powerful risk reduction duo.And we’re working with 1Password Business customers to unlock the true power of that combination. More on that in a bit.Let’s talk about why SSO and 1Password are better together, and where the pairing can go from here to improve your security posture by:Streamlining security policies.Simplifying administration and onboarding for IT.Improving the sign-in experience for your workforce (and why that matters for security).How SSO simplifies your security postureFirst, a quick primer on SSO and how it fits into your enterprise security framework.If you’re not using a single sign-on provider like Okta, Google Workspace, or Microsoft Azure Active Directory to sign in to work services, it’s up to each worker to create their own logins for every service the +
2年前
記事のアイキャッチ画像
3 of the most common ways hackers steal passwords
1Password Blog
+You’ve probably watched at least one movie or TV show where a hacker sneaks into someone’s house, finds a computer, and then guesses the password on the first try. They then declare, “I’m in!” before downloading reams of sensitive data.You may have asked yourself, “Is this really how criminals figure out people’s passwords?” The short answer is no. But hackers do have some tried-and-tested ways to obtain passwords. In fact, almost half of all data breaches involve stolen credentials.Here, we’ll explain the most common techniques hackers use, and what you can do to protect yourself.1. Social engineering and phishingSocial engineering is a form of manipulation. Attackers trick people into sharing their passwords, payment details, or other sensitive information by posing as someone trustworthy or authoritative. Criminals will use this tactic over the phone, in an email or text message, or a DM on social media – anywhere that you could feasibly be contacted by the person or company they’re +
2年前
記事のアイキャッチ画像
Meet Josh Gorman, Senior HR Program Specialist at 1Password
1Password Blog
+Have you ever wondered what it’s like to work at 1Password? Or wanted to know the career paths that other people followed before taking a job here? You’re not alone!In this blog series, we’re sharing what it’s really like to work at 1Password. To do this, we sat down and talked to team members from across our more than 800-strong organization, including engineering, human resources, and customer support. You’ll learn about the journeys that each person took to 1Password, as well as their their current role and day-to-day responsibilities.Today, we’re chatting with Josh Gorman, Senior HR Program Specialist at 1Password!Why did you join 1Password, and how did you end up here?It was a long, winding journey full of starts and stops. But I think a better story is my journey from when I started. I was hired in customer support and spent my first month doing that role. But my manager recognized my skill set and helped me onto the path I’m on now. I quickly started teaching our new team member +
2年前
記事のアイキャッチ画像
New 1Password research reveals the risks of login fatigue
1Password Blog
+For many workers, accessing the tools required to do their jobs is a hassle. This ‘login fatigue’ could be putting your business at risk as employees find less secure workarounds to complete tasks, or, in some cases, give up on a task altogether.To better understand login fatigue and the risks it poses, 1Password surveyed 2,000 adults in Canada and the U.S. These were all full-time employees at companies with more than 250 workers, and who primarily used a computer to do their job. We expected login fatigue to be a source of frustration. What we found is an escalating and far more complex problem, with wide-ranging effects on worker productivity, security, and mental health.Key findingsFatigue and frustration: Nearly half of employees (44%) say that the process of logging in and out at work harms their mood or reduces productivity.Incomplete work product: 26% of workers have given up on doing something at work to avoid the hassle of logging in.Missing meetings: 62% of employees miss pa +
2年前
記事のアイキャッチ画像
Automate provisioning in 1Password with Google Workspace
1Password Blog
+1Password Business customers can now connect 1Password to Google Workspace to automate provisioning and deprovisioning tasks, saving valuable IT resources and strengthening your security posture in the process.Manually provisioning and deprovisioning users isn’t the most valuable use of your IT team’s time. And because it’s a manual process, it’s also prone to mistakes and oversights that can create security vulnerabilities.The 1Password SCIM bridge makes it easy to automate provisioning and deprovisioning in 1Password by connecting your identity provider – in this case Google Workspace – to your 1Password account. Once the connection is established, you can automate tasks like creating users and groups, controlling access to groups, and suspending deprovisioned users.The new Google Workspace integration enables automated user provisioning (to provision or deprovision all users at once) and group provisioning (to provision or deprovision a predefined group of users).Once you’ve connect +
2年前
記事のアイキャッチ画像
6 cybersecurity tips for teachers to share with their students
1Password Blog
+Much of online education directed at students focuses on internet safety and privacy – and rightfully so. But it’s important that equal attention be directed towards teaching the next generation how to keep their accounts and identities safe online.That starts with helping them know how to spot the most common scams and threats, and sharing what preventative measures they can use to reduce their risk.The first week of school is the perfect time to introduce students to online security. As they get acquainted with school devices and set up new accounts it’s a great time to talk about risks and how they can be proactive about avoiding them. But security should be an ongoing conversation. Invite your students to approach you with any questions they have about security – if you don’t know the answer you can always find out together with your student.Security should be an ongoing conversation.Create a positive space for students so they feel safe sharing threats they’ve encountered, and eve +
2年前
記事のアイキャッチ画像
Incident response: how to prevent and respond to data breaches
1Password Blog
+A well-thought-out incident response plan is no longer recommended – it’s critical. With the rate that cyber attacks are increasing – putting customer privacy at risk and forcing some businesses to close – it’s never been more important to educate your team on the risks, and help prepare your organization for the worst case scenario.Most businesses don’t have a plan in place for when a security breach occurs. That’s a costly oversight given that, according to the same research, the majority of large U.S. businesses have experienced some form of cyber attack before. An effective incident response plan brings people, processes, and technology together to reduce the chances of a breach, and minimize the damage of any that do occur. No matter what type of business you operate, putting this plan in place is critical to creating a strong, proactive cybersecurity strategy.1Password is excited to share two new resources to help with navigating the modern threats that businesses face. The data +
2年前
記事のアイキャッチ画像
Sign your Git commits with 1Password
1Password Blog
+So 1Password CEO Jeff Shiner just committed code to one of my GitHub repositories. That’s strange. While he’s a developer at heart, I don’t think he gets much time to code these days. What’s going on here?As you might have guessed, this didn’t actually come from Jeff Shiner. In fact, anyone can spoof a Git committer or author name with just a few terminal commands and pretend to be someone else:$ git config user.email "jeff.shiner@1password.com"$ git commit -m “Add tractor autopilot mode.”This can make for a fun prank but is also a security liability. If you don’t know who is pushing code to your repositories, how will you know if your codebase is being hijacked by someone pretending to be a coworker?The answer is, you won’t know who is actually committing code unless your team signs their commits. This means using a cryptographic key pair to add a digital signature to each commit that verifies your identity. Once you sign, GitHub adds a handy “verified” badge to each commit. Goodbye f +
2年前
記事のアイキャッチ画像
Why schools and colleges should invest in a password manager
1Password Blog
+Schools and colleges are increasingly using technology to deliver engaging classes, track student progress, and more. But as the classroom shifts online, it’s never been more important for educators to practice good security habits.Schools and colleges are increasingly using technology to deliver engaging classes, track student progress, and more. But as the classroom shifts online, it’s never been more important for educators to practice good security habits. Data breaches are on the rise – ransomware attacks cost schools and colleges an estimated $3.56 billion in 2021 alone. Like any other business, educational institutions need to protect their private information.A password manager may seem like a luxury when budgets are tight, but there are many reasons to invest in one. Here, we’ll explain how it can make your teachers, lecturers, and administration staff more secure and productive, saving you time, money, and stress in the long run.Your staff will never forget a password againWe +
2年前
記事のアイキャッチ画像
Hacking 101: What is pretexting?
1Password Blog
+Ever heard of pretexting? And no, we’re not talking about when you first carefully draft a risky text message before sending it! Pretexting is a sneaky and highly effective form of social engineering that attackers use to dupe people into sharing their personal information.If you spend a lot of time on the internet, you’ve probably encountered it in some form many times before. Suspicious texts, calls, and emails trying to trick you into sharing your data have become an all-too-common part of our daily lives. Some of these attempts may seem silly, obvious, and easy to dismiss, but a growing number of attackers are learning to create more sophisticated and convincing stories.We’re all still susceptible to becoming a victim of social engineering, including pretexting, so it’s important to understand how this tactic works in order to stay secure.What is pretexting?Pretexting is a type of social engineering attack that involves a criminal creating a story, or pretext, that manipulates thei +
2年前
記事のアイキャッチ画像
Adding the Save in 1Password button to your website just got way easier
1Password Blog
+Have you ever wanted to put a Save in 1Password button on your website? You can now add the integration to your website without anyone from 1Password building, approving, or getting involved with the process.Adding the Save in 1Password button allows your website visitors to easily save their sign-in details, credit cards, and other private information to their vaults with a single click. Read on to learn more about the update and how some of our partners have integrated the new button on their websites.Why you should add a Save in 1Password button to your websiteThe Save in 1Password button has many benefits – both for your business and your customers.This integration is both secure and convenient – helping make it easy for your customers to save their information and then autofill that saved information the next time they visit your site.Adding the Save in 1Password button can also help to drive sales and improve your customer’s journey. It’ll also save your organization time and mon +
2年前
記事のアイキャッチ画像
Shift left: How developers can take ownership of security
1Password Blog
+In a perfect world, software developers would not only have an innate understanding of security but be able to create bulletproof code from the get-go.I have been working across the software development lifecycle for over 25 years, so I can say with confidence that we don’t live in a perfect world.In 2021, a survey of DevOps and IT professionals revealed that roughly 80% of companies admit to not managing their infrastructure secrets well. With the myriad of secrets that software teams manage, it becomes a herculean task to keep track of all of those secrets at a granular level.As a result, developers often store secrets in plaintext files and other formats to make them easily accessible – but if they’re accessible to devs, they’re also accessible to attackers. Unattended secrets such as database credentials and API keys open a security backdoor, and the payoffs for bad actors are bigger than ever. According to 1Password’s “Hiding in plain sight” report, organizations that experience s +
2年前
記事のアイキャッチ画像
What is doxing, and how do you protect yourself from it?
1Password Blog
+If you’ve spent a lot of time on the internet, you’ve probably heard the term “doxing” before. You may know that it has something to do with online bullying, harassment, and crime, but still have questions about exactly what it means. If so, you’re not alone. Here, we’re going to explain what doxing is, how it works, and how you can protect your sensitive data.What does doxing mean?Doxing is an abbreviated form of “dropping dox”, an old revenge tactic created by the hacking community in the 1990s. Hackers would find and release documents – known as “dox” or docs – about previously-anonymous rivals, revealing their true identities and exposing them to authorities who might have been trying to track them down.Doxing has since evolved into a more mainstream type of online harassment. It usually involves uncovering and compiling someone’s personal information without their knowledge or permission — such as their real name, address, job, or phone number — and sharing it publicly on the inte +
2年前
記事のアイキャッチ画像
Meet Mark-Shane Scale, Team Lead for Customer Support at 1Password
1Password Blog
+Have you ever wondered what it’s like to work at 1Password? Or wanted to know the career paths that other people followed before taking a job here? You’re not alone!In this blog series, we’re sharing what it’s really like to work at 1Password. To do this, we sat down and talked to team members from across our more than 800-strong organization, including engineering, human resources, and customer support. You’ll learn about the journeys that each person took to 1Password, as well as their their current role and day-to-day responsibilities.Today, we’re chatting with Mark-Shane Scale, Team Lead for Customer Support at 1Password!Why did you join 1Password, and how did you end up here?In February 2019, I attended a job fair at a small Canadian city mall. Armed with my resume and cover letter, I was set on talking to three businesses, and I wanted one to be a technology company. That day, I met a hiring manager and one of the founders of 1Password.I knew nothing about 1Password until I saw t +
2年前
記事のアイキャッチ画像
1Password named one of Forbes Cloud 100
1Password Blog
+We’re thrilled to announce that 1Password has been included in the Forbes 2022 Cloud 100, the definitive ranking of the top 100 private cloud companies in the world!We’re on cloud nineThe Cloud 100 reviews hundreds of cloud organizations each year. Companies are ranked across four factors: market leadership, estimated valuation, operating metrics, and people & culture.“The companies of the Cloud 100 list represent the best and brightest private companies in this fast-growing sector. Every year, it gets more difficult to make this list – meaning even more elite company for those who do.” - Alex Konrad, senior editor at ForbesComing in at number 66 on the list, 1Password is the first Canadian company to be chosen for the Cloud 100 since 2019! Not bad, eh?This is quite the honor for 1Password, and we couldn’t be prouder. The cloud helps us make the digital world simpler and safer for everyone, delivering better experiences to more customers.1Password and the cloudPhones, laptops, tablets +
2年前
記事のアイキャッチ画像
Say hello to 1Password 8 for iOS and Android
1Password Blog
+Sometimes I forget to marvel at what we, as an industry, have built in the past 30 years.I have this little device in my pocket, and a slightly larger version on my nightstand. With either one, I can video chat with a friend in the UK, access my medical records, or check in for a vet appointment. I can track my workouts or reserve a table at my favorite restaurant.I can buy movie tickets, concert tickets, and plane tickets. I can watch videos uploaded by creators from around the globe and learn how to do almost anything. Heck, I can even pair up a controller and play some pretty awesome games. All from the device in my pocket.Unless I was tethered to my desk, I couldn’t do any of that when our founders – Dave, Sara, Roustem, and Natalia – built the first version of 1Password in 2006. The smartphone and tablet as we know them didn’t yet exist.But today, when I pull out my phone or grab my iPad, a world of possibilities opens to me.That’s the world for which we built 1Password 8. The one +
2年前
記事のアイキャッチ画像
How great usability tripled Duke University's password manager adoption
1Password Blog
+Duke University is one of the most storied and prestigious learning institutions in the United States. Duke and its healthcare arm, Duke University Health System, are home to tens of thousands of students and employees.With so many coming and going from the Duke campus every day – and accessing Duke’s many state-of-the-art services within its digital network – security is a top priority for Duke’s Office of Information Technology (OIT). And like any IT department head, IT Security Office senior manager Nick Tripp knows that password security is the backbone of a sound security approach.“Password managers make life easier, more secure. We’re all aware that the main problem with passwords is it’s hard for users to create strong passwords,” Tripp says.The trick, though, is getting everyone to use their password manager to generate and store strong passwords. Having adopted a 1Password competitor years ago, many on campus simply didn’t use it. And even those that did struggled to integrate +
3年前
記事のアイキャッチ画像
How the 1Password CLI makes DNS management easier
1Password Blog
+I own a lot of domains, and keeping track of where all of them are pointing can be more than a little tricky. I found a tool that helps me keep everything in sync with a single point of truth.After mixing in the 1Password command-line tool, I had everything I need to keep my domains up to date and pointing where I want them, without having to worry about my credentials being stored unsafely.For creatives and online professionals, we’ve all been there. We think of an idea or concept and say: “Oh, that’s a good domain name”, click, repeat. Eventually, you end up with your domain registrar looking a little something like this.Not only do I have it bad here, I’ve got three other name registrars chock full with domains between them. I’ve been managing them mostly by moving them into a single nameserver provider, but for various reasons, I keep a few on a separate nameserver provider.I’m constantly seeking a better way of managing them and a few weeks ago, a friend of mine pointed me in the +
3年前
記事のアイキャッチ画像
Join us for 1Password’s Security Summer Camp
1Password Blog
+Feeling a bit lost in the woods when it comes to cybersecurity? Up your security skills at 1Password’s Security Summer Camp. Learn from our security summer camp counselors about attacker’s motivations, how and why data breaches occur, and best practices for how you can protect your organization from unwanted threats.Join us August 1st at 4PM PT / 7PM ET for a Twitter Spaces event and then August 2nd – 4th at 9AM PT / 12PM ET for a daily 1-hour webinar – we promise it won’t be too in-tents for summer! To learn more about the week’s events, check out the camp activities in this post – or visit Security Summer Camp to learn more.Security Summer Camp: Twitter Spaces event 🔥🪵Have you ever wanted to share your security horror stories around a campfire? We’ve got you covered with our Security Summer Camp kick-off Twitter Spaces event. Join 1Password hosts Michael Fey (Roo), VP of Engineering, and Andrew Beyer, Browser Experience Lead, around the virtual campfire on August 1st at 7PM ET for ... +
3年前
記事のアイキャッチ画像
Hardware security keys: What are they, and should you use one?
1Password Blog
+Have you ever seen someone plug a USB dongle into their device in order to sign in to something? Or worked for a company that required you to use one whenever you unlocked your laptop, or logged in to an important account?These authenticators are called hardware security keys. Some people will also refer to them as just security keys, or two-factor security keys.Here, we’ll break down what these dongles are and how they make it harder for criminals to gain access to your devices and accounts.What is a hardware security key?A hardware security key is a way to prove that you or someone you trust – and not a criminal – is trying to access or sign in to something. They’re known as a “possession factor” because they prove you physically own something used to authenticate your account.Security keys are a form of second or multi-factor authentication (MFA). This means that when you log in with your normal credentials – which could be a four-digit pin code on your phone, or a username and pass +
3年前
記事のアイキャッチ画像
Meet Sean Foster, HR Program Specialist at 1Password
1Password Blog
+Have you ever wondered what it’s like to work at 1Password? Or wanted to know the career paths that other people followed before taking a job here? You’re not alone!In this blog series, we’re sharing what it’s really like to work at 1Password. To do this, we sat down and talked to team members from across our more than 600-strong organization, including engineering, human resources, and customer support. You’ll learn about the journeys that each person took to 1Password, as well as their their current role and day-to-day responsibilities.Today, we’re chatting with Sean Foster, HR Program Specialist at 1Password!Why did you join 1Password, and how did you end up here?Before, I was working in the IT department at a TV production company with Andrew Costen. He eventually left that company and went on to work at 1Password - an app he introduced and converted me to! I was immediately a fan of the product.A year or two later, I was looking for work and a friend who was already at 1Password p +
3年前
記事のアイキャッチ画像
Tip: Never forget or lose an old password with 1Password's item history
1Password Blog
+Addresses, credit card numbers, software licenses, and more. There’s a lot you need to keep track of to manage your online world.Modern life can be messy, and it means we’re all likely to make a mistake at some point.You might use 1Password to update a weak password, only to realize you still need the old one for a different website. Or you accidentally opened the wrong item in 1Password and replaced a set of important security questions and answers. Maybe a family member updated the password to your streaming service but forgot to click save, and now you still need the old login. Accidents happen!In situations like these, it’s easy to think, “Uh oh, what now?”Don’t panic – you haven’t lost access to any of your favorite accounts. And you won’t have to go through the tedious process of resetting the password. 1Password remembers the history of every item saved in your vaults. If you need to see the older version of any item, you can easily review older versions of it – including passwo +
3年前
記事のアイキャッチ画像
12 productivity hacks from the 1Password team
1Password Blog
+“Hey, did you read about (blank)?” Keeping up with the barrage of news is just one of our many daily distractions from work. Toss in our personal obligations and other stressors – all fighting for space in our minds – and making a dent in the to-do list is often harder than we expect.For many, a healthy work-life balance is increasingly difficult to maintain (or find in the first place). Your life is far more than your work, but work still has to get done. So figuring out how to stay productive is crucial for both you and your team’s success. Just a few tiny habits or perspective shifts can make a world of difference and help keep you on task without feeling overwhelmed.If you need some inspiration, our team is excited to share a bit about what works for us! Experiment with some of these tips for yourself and find out what works for you.Mental health is top priority (always)Thankfully, mental health is becoming less of a taboo topic at work – a shift that is well overdue. Along with mo +
3年前
記事のアイキャッチ画像
New 1Password SIEM integration with Sumo Logic and Panther
1Password Blog
+Reduce the time your team spends investigating security issues by using a customizable dashboard that shows your organization’s entire security posture. With the new Sumo Logic and Panther integrations for 1Password, you can monitor potential risks around company data or credentials stored within 1Password.Now, as a 1Password Business customer, managing all your 1Password security reports with your security information and event management (SIEM) system can be done in one central location.1Password’s Events API as a reporting bridgeAs the cost of a data breach increases each year, hitting $4.24 million in 2021, businesses can no longer afford to set and forget their security protocols. To minimize risk it’s important to keep track of your organization’s security and address risks on a regular basis.With a dashboard related to events like failed sign-in info and item usage, along with security recommendations, 1Password is the easiest way to monitor and manage your organization’s secret +
3年前
記事のアイキャッチ画像
Brick by brick: why Docusaurus is a powerful documentation framework
1Password Blog
+At 2022’s AGConf (1Password’s annual employee conference), every employee received a goodie box to celebrate the event and the company’s successes over the past year. Our theme this year was “space”, so the goodie box included a kit for a Lego rocket ship (very appropriate considering our own CEO is a Lego aficionado).Building the spaceship brought me back to when I was younger and played endlessly with those little bricks.For me, though, it wasn’t so much about building the specific items in a kit. Sure, I absolutely loved putting together the houses and planes and cars, but what I was most fascinated by was how I could use tiny bricks to expand my creation and build anything I could dream up. The possibilities were endless, my imagination ran wild, and sometimes – usually through through dumb luck – I built something way cooler than what the kit offered in the first place.Late last year, I started exploring the React-based documentation framework Docusaurus, and spent a good chunk of +
3年前
記事のアイキャッチ画像
“Sign in with” anything – and save it in 1Password
1Password Blog
+With so many ways to sign in to apps and services, there’s even more to keep track of. That’s why we’re introducing the ability to save and fill new kinds of logins in 1Password.Signing in to websites used to be as easy as filling in a username and a password. But lately, it’s started to feel more like a multiple choice exam. So many of us stare at login screens and wonder if we need to:a) “sign in with Google”“Sign in with…” buttons are becoming more popular, and it’s easy to see why. They let you reuse an account you already have, instead of creating a new one with a unique password for every site.But as convenient as these options are, they’re not hassle-free. They still involve too many steps, clicks, and, yes – passwords. And it’s so easy to get lost in the sea of choices and forget which account or provider you used for which website.No password? No problem.When we announced our vision of the future, we introduced the concept of Universal Sign On. What that means to us is that lo +
3年前
記事のアイキャッチ画像
Now you can securely share 1Password files and documents with anyone
1Password Blog
+In October, we introduced a new way for 1Password customers to securely share virtually anything in their 1Password vault with anyone – even if the recipient doesn’t use 1Password.Now we can remove that “virtually” bit. Item sharing now supports sharing documents (the Document item type in 1Password) and files (files attached to any other 1Password item, like logins, secure notes, and credit cards). 📄🙌What is 1Password item sharing?Item sharing with 1Password is the easiest way to share anything in your 1Password vault with anyone else. Let’s say I want to share my bank account information with my partner.To do that, I first open the item in 1Password. Then I navigate to the item menu and select “Share.”When I do, I’ll see two options. I can set an expiration date for the sharing link I’m about to generate, and I can choose to share it with anyone with the link, or only with people I specify. (If I restrict sharing to only people I specify, they’ll need to verify their email address ... +
3年前
記事のアイキャッチ画像
WWDC22: Everything that caught our attention
1Password Blog
+Each June, Apple hosts a week-long Worldwide Developers Conference (WWDC) to showcase exciting features for their upcoming OS releases, help developers learn new APIs, unveil fresh hardware, and more.This year’s WWDC followed a similar formula with previews of dramatic changes to the iPhone lock screen, improvements to how apps using SwiftUI can handle navigation, and the reveal of a redesigned MacBook Air powered by a new M2 processor.When WWDC rolls around, we like to set aside time to brainstorm new ways to improve the 1Password experience for our customers. Before the week was over we were able to put together some exciting ideas to really elevate 1Password on iOS and macOS.Log in with PasskeysEarlier this month, we announced that we had joined the FIDO Alliance along with companies like Apple to help build the future of authentication. This year, Apple revealed Passkeys which will leverage the WebAuthn protocol. We’re excited to see how this space develops and will continue to wor +
3年前
記事のアイキャッチ画像
Meet Katie Davis, Senior Developer at 1Password
1Password Blog
+Have you ever wondered what it’s like to work at 1Password? Or wanted to know the career paths that other people followed before taking a job here? You’re not alone!In this new blog series, we’re sharing what it’s really like to work at 1Password. To do this, we sat down and talked to team members from across our more than 600-strong organization, including engineering, human resources, and customer support. You’ll learn about the journeys that each person took to 1Password, as well as their their current role and day-to-day responsibilities.First up is Katie Davis, Senior Developer at 1Password!Why did you join 1Password, and how did you end up here?I joined after hearing from a friend who had recently been hired that the culture was incredible, and that I should apply. I had used 1Password personally and professionally for years, so it was an easy sell. I was coming from a larger company and drawn to 1Password’s size and growth rate - it seemed like a place where I could make a posit +
3年前
記事のアイキャッチ画像
Introducing 1Password for Visual Studio Code
1Password Blog
+In writing software, we’re used to embedding secrets and other configurable values right in the codebase. They might be Stripe keys to power your online shop, webhooks for a custom Slack bot, a Docker username and password for a CI config, AWS credentials, or an API token and host to set up 1Password Connect.Secrets are used everywhere in our code. Sometimes, though, we forget when we’ve been using real secrets in our work. Maybe there’s a leftover token you dropped in to build that one feature, or maybe you didn’t delete the .env file you set up to test drive the app. Now you’ve got to rotate your secrets because you accidentally committed and pushed sensitive values for the whole world to see. Yikes.We’ve all been there. That’s why I’m delighted that I get to announce the launch of the all-new 1Password for VS Code extension.Go ahead, commit your secrets referencesWith 1Password Secrets Automation, the 1Password Developer Products team introduced the concept of secret references. It +
3年前
記事のアイキャッチ画像
Announcing Insights from 1Password
1Password Blog
+IT and security professionals rely on one thing above all else to minimize risk: information. Today, we’re announcing a brand new way for 1Password Business customers to view their account security posture with unprecedented visibility into password health, data breaches, and team usage.Say hello to Insights from 1Password, a new way to monitor and mitigate security risks across your business.The Insights dashboard consolidates information already available in places like the Team report, domain breach report, and Watchtower reports in one glanceable dashboard. Open the detailed view of a particular section to see and act on the insights presented in the dashboard view. Dive deeper still by accessing the complete report to get the full picture.Use Insights to get ahead of potential security risks and take action on those risks with suggested next steps, all in one place – because you can’t protect what you can’t see.Illuminating and eliminating riskImagine you’re a small business owner +
3年前
記事のアイキャッチ画像
What is a Distributed Denial-of-Service (DDoS) attack?
1Password Blog
+If you don’t work in IT or security, there’s no need to fret about every detail of every online danger. Nevertheless, it’s worth having awareness of the strategies and techniques that criminals are using to achieve their goals online.In this explainer, we’ll be breaking down DDoS attacks to help you understand the basics and how you can be affected.What is a distributed-denial-of-service (DDoS) attack?A DDoS attack is a method that criminals use to overwhelm an online service, like a website, by bombarding it with fake internet traffic from multiple different locations. The sheer amount of traffic prevents real users from accessing the targeted sites or online services.Am I at risk of a DDoS Attack?The average person isn’t likely to be on the receiving end of a DDoS attack. However, you could be one of the users unable to access an online service because of one, or even own one of the devices being used to perpetuate an attack. If you’re running a business – big or small – you’re much +
3年前
記事のアイキャッチ画像
Small Talk: mindfulness when surfing the web at work
1Password Blog
+Two decades ago, the web was a casual escape dominated by message boards, AOL Instant Messenger, and Homestar Runner. Only some people used it for work. Fast forward 20 years, and countless jobs require that you use the internet in some way. This has made it easier than ever to take a quick break, open a new tab, and do some personal surfing – blurring the line between work and leisure.While on the clock, it’s crucial that you and your employees use the internet wisely. Everyone needs a break, and watching the occasional funny video can actually be a healthy habit. But that doesn’t mean you can be careless, either. Everyone on your team should know how to browse wisely, securely, and respectfully while working or using company devices. Some basic online awareness can also be one of the most effective plays in small business security, while keeping your team mindful participants in a web-friendly workplace.We be surfin’Have you ever paused work to read an online movie review? Or used yo +
3年前
記事のアイキャッチ画像
Go ahead, delete your .env.example file
1Password Blog
+When we develop software, it’s common practice for engineers to require system configuration in order to run a program. We specify instructions on how to set up your own local environment in a .env.example file or README.md file.For every project that we work on and for every configuration change of those projects, we need to do manual work to keep our local environments up to date so they continue to work. Often, this is a struggle. Also, aren’t we all sick of hearing “it works on my machine”?Why are we creating and maintaining this configuration manually? The reason: our required configuration contains sensitive values that should be kept secret. For this reason, the environment file that’s consumed by our applications is added to the .gitignore file, in order to avoid it being synced to source control.To date, there is no common practice to collaborate on and share these sensitive values securely and effectively. We’re either sharing the values insecurely (via email and other messag +
3年前
記事のアイキャッチ画像
We’ve joined the FIDO Alliance to build a better future for authentication
1Password Blog
+I’m happy to announce that 1Password has joined the FIDO Alliance to help build safer, simpler, and faster login solutions for everyone. In fact, we’re already on our way … keep reading for a sneak peek at the future of authentication in 1Password.Passwordless: we’re ready when you areWhen it comes to online security, people are often at their most vulnerable when logging in to accounts. That’s why 1Password has spent the better part of two decades making that process safer, easier, and more convenient for our customers.As technology advances, new methods of authenticating – including passwordless – continue to appear. By joining the FIDO Alliance, we’re taking an active role in shaping what comes next.As more services adopt passwordless approaches for authentication, 1Password will be ready to ensure our customers can log in securely without worrying about what technology is under the hood.This is an important step toward our vision of a future where signing in is no longer complicate +
3年前
記事のアイキャッチ画像
Strong unique voices: Celebrating and honoring Pride Month
1Password Blog
+Pride Month is about coming together to honor, celebrate, and show support for the LGBTQ+ community. A number of our 1Password team members are part of the LGBTQ+ community, and it’s important to me personally, and to us as a company, to be allies and create space for everyone to be their truest selves. While we’re celebrating Pride this month, showing support for LGBTQ+ year round is important to us. Which is why we created a number of programs to champion equity and diversity on an ongoing basis at 1Password.Alongside my colleagues and team this month, I’m taking the step to make my pronouns more visible across my social channels as well as internally across Slack and Zoom. I do this to normalize the use of sharing pronouns in advance of meeting new team members and colleagues, and to ensure that no 1Password team members feel they are alone in declaring who they are at work.We’ll be hosting a number of learning sessions that will be led by speakers and organizations who are part of +
3年前
記事のアイキャッチ画像
1Password 8 🤩 Power to the Macs ~ from Dave's newsletter
1Password Blog
+Hello everyone, 👋I hope you’re doing well and enjoying weather as nice as we have here in Canada.It’s gardening season and I have big plans to make sure I (once again!) win my tomato competition with my neighbour. I’m on a winning streak and am planting twice as many this year to guarantee victory. 😃1Password 8 has scored some big wins as well. Let’s take a look.1Password 8 for Mac is here!Mac is where it all began. Way back in 2006, Roustem and I coded the first version of 1Password on our shiny new PowerBook G4s. The love and support we received from the Mac community was tremendous and launched us to where we are today. 🥰Every year since we’ve pushed hard to create the best experience possible on Mac, and I’m thrilled to announce that 1Password 8 for Mac extends that tradition. 😍1Password 8 integrates deeper and tighter with macOS than ever to bring you the most modern, productive, and secure version of 1Password yet. 🙌1Password 8 for Mac announcement postThere were too many am... +
3年前
記事のアイキャッチ画像
Quest for the Lost Console – a game by 1Password and Gen.G
1Password Blog
+“You find yourself in front of an old mansion. The grand prize, a coveted console, is hidden somewhere deep inside. To complete your quest you’ll have to move from room to room and overcome complex puzzles and obstacles. Looking around you see your competitors – you’re all here for glory and the grand prize. But you aren’t afraid of a little hard work. Armed with determination, skill, and grit you step forward with confidence – this prize is yours for the taking…”Intrigued? That’s the introduction to Quest for the Lost Console, a browser-based game we created in partnership with Gen.G, a top esports organization that competes in League of Legends, Valorant, PUBG, and more.Quest for the Lost ConsoleQuest for the Lost Console is free to play and available in your web browser. We’ll release new puzzles over the next three weeks to test your creative thinking and perseverance. But don’t worry if you get stumped – top video game streamers including Stanz, Goofywise, and Luxx will share hint +
3年前
記事のアイキャッチ画像
Automated provisioning with 1Password and Rippling
1Password Blog
+Streamline your organization’s processes by managing all of your permissions in one place. The 1Password SCIM bridge and Rippling integration makes it easy for you to provision and deprovision users, manage group memberships, and secure your business.Protecting your organization’s data and secrets with 1Password, while working seamlessly within Rippling, will help reduce the demands on your IT team so they can focus on other priorities.1Password and RipplingSmaller businesses are three times more likely to be the target of cyberattacks. Unlike larger corporations, small and medium-sized businesses often don’t have the resources required to effectively combat security threats.1Password helps businesses protect against password reuse, reduces the frequency of password resets, and lets administrators manage who has access to what business secrets. Rippling is an employee management tool that simplifies and combines HR and IT into one platform – allowing administrators to manage payroll, d +
3年前
記事のアイキャッチ画像
Happy birthday, 1Password for Linux! 🎉🥳
1Password Blog
+1Password for Linux turns one today. 🎂One year ago today, we welcomed Linux to the 1Password family, knocking out the single most-requested feature in the history of 1Password and fulfilling a years-long personal goal.Since then 1Password for Linux has learned many new tricks and for their birthday and I thought we’d celebrate with a year-in-review post that covers their greatest achievements.Let’s see what 1Password for Linux has been up to.Quick AccessQuick Access is all-new, and it puts 1Password right at your fingertips. Just tap the Ctrl + Shift + Space keyboard shortcut, start typing, and any items in your 1Password vaults that match your query are instantly available.Quick Access is smart, too. It’ll automatically highlight items for apps you have open when you launch it and prioritize items based on previous searches, so it’ll get even smarter over time.Customizable appearanceYou can also customize your sidebar to include Categories or hide Tags – or hide it altogether for an ... +
3年前
記事のアイキャッチ画像
1Password 8 for Android is now in Early Access! 🎉
1Password Blog
+It’s your turn, Android folks! The newest generation of 1Password is now available in Early Access – so put on your explorer hats, help us track down those bugs, and let the feedback flow.🕵️‍♀️This early preview represents one of the most monumental updates we’ve ever created for Android, and it’s all about two things that make Android such a great mobile OS: fun and extensibility. It’s 1Password to the Core, and it makes the most of everything Google’s latest mobile operating system has to offer.If you’re already sold, then by all means, head over to the Play Store and install it right now. Happy testing — and don’t forget to report those bugs!There’s a lot of goodness below the fold, so if you’d like to take a quick tour first, let’s dive in…Modern designEvery aspect of 1Password 8 for Android has been redesigned for a more cohesive experience across every platform you might use. Jumping over from Windows, macOS, Linux, or even iOS? You’ll feel right at home regardless, because this... +
3年前
記事のアイキャッチ画像
How to protect your gaming accounts from scammers
1Password Blog
+It’s been more than a year since the PlayStation 5, Xbox Series X and Xbox Series S hit store shelves. These releases, combined with the ongoing pandemic, have led to an unprecedented number of people turning to gaming to spend their free time. But with that increase comes more interest from scammers hoping to take advantage of unsuspecting customers.People spent more than $60.4 billion on video games in the U.S. last year – an 8% increase over 2020. The first lockdown saw a 54% increase in gaming-related phishing attacks. But it’s not just the money that makes gaming attractive to criminals – it’s also the wide variety of information that can be stolen and exchanged for real-world dollars.Criminals who target gaming can steal in-game currency, in-game loot, or even sell entire accounts. Some convert game items like skins or rare items to cash on Ebay, or use stolen currency to purchase and sell expensive items.That’s why it’s more important than ever to secure your game accounts.Level +
3年前
記事のアイキャッチ画像
How to improve your Watchtower score in 1Password
1Password Blog
+Happy World Password Day!The idea behind World Password Day is simple: to promote the use of strong, unique passwords to keep your accounts protected and your browsing safe. For those of you wondering how best to celebrate the day, we’ve got a challenge for you: how high can you get your 1Password Watchtower score?While a high Watchtower score won’t give you access to better loan rates, it will give you peace of mind. Not to mention some bragging rights, too.Level up your Watchtower scoreThink of the Watchtower dashboard as your online security HQ – a 24/7, always-on command center where you can review and resolve potential vulnerabilities. To view your Watchtower report and score, simply navigate to the Watchtower tab in 1Password.Improving your score is easy. With the new Watchtower dashboard in 1Password 8, you can quickly see what needs your attention.To give you a head start, we’ve outlined some actions below that you may see flagged in your dashboard – resolve these and watch you +
3年前
記事のアイキャッチ画像
Spend smarter and more safely when gaming online
1Password Blog
+As microtransactions in gaming increase and more money is exchanged online, it’s become more important than ever to secure your financial and personal information.In 2021, there was an 8 percent increase in spending on video games, including subscriptions and in-game purchases across mobile, console, and PCs. That means people spent over $60.4 billion on video games in the U.S. last year. This growth is contributing to an uptick in scams looking to take advantage of gamers' poorly protected financial information.The cost of convenienceTo avoid interrupting the gaming experience, game makers have made it easy to save payment details. Of course, adding credit card information to your account makes it accessible to anyone who logs into your account – legally or not. With an increase in attacks acquiring login credentials, it’s more important than ever to protect your game account.Lock your accounts downCriminals aren’t the only ones with sticky fingers; a quick Google search shows many ca +
3年前
記事のアイキャッチ画像
1Password 8 for Mac is here! 🎉🙌
1Password Blog
+Today I have the honour of introducing the most powerful and capable 1Password ever. Wrapped in a gorgeous new design and blazingly fast, 1Password 8 is our love letter to Mac users everywhere. 💌Mac is where it all began. Way back in 2006, Roustem and I coded the first version of 1Password on our shiny new PowerBook G4s. The love and support we received from the Mac community was tremendous and launched us to where we are today. 🥰17 years later, the pressure was on to create the best Mac app possible and I’m thrilled to say that the team delivered. 1Password 8 integrates deeper and tighter with macOS than ever to bring you the most modern, productive, and secure version of 1Password yet. 🙌Modern, sleek designWe created an entirely new design language, code-named Knox, to unleash the power and productivity we’ve been dreaming of – all while preserving the heart and soul of 1Password. 😍I absolutely adore our new design language. From the vibrant sidebar and unified toolbar to the typ... +
3年前
記事のアイキャッチ画像
Small Talk: the small business recovery journey
1Password Blog
+It’s a tough time for small business owners and their employees. Surging operational costs and supply chain issues are colliding with a rate of inflation that’s limiting how much consumers are willing and able to spend. And as the pandemic continues, there could be more legal and economic hurdles on the way. Startups and other small businesses are fighting to keep their doors open, or to open them in the first place.If your team is struggling, cybersecurity may not seem like the highest priority. But investing in the right tools and processes is critical to keep employees productive and your business protected. Any upfront costs are nothing when compared to the potential price of a data breach. Most businesses that are attacked don’t get a second chance to improve their defenses, either.In the small business comeback story, secure-minded habits like better password management will be a critical plot point. Since most cyber attacks involve “human error” – like weak or reused passwords o +
3年前
記事のアイキャッチ画像
An update on our recent service disruption
1Password Blog
+On April 27th, 1Password experienced a brief service outage owing to an internal code issue – it was not a security incident, and customer data was not affected in any way.1Password is designed to protect your information at all costs, with local copies of vault data always available on your devices – even without a connection to the 1Password service or the internet itself. As a result, your passwords and other vault items remain safe and sound.We’re sorry for any disruption this outage may have caused and deeply appreciate your patience during our investigation. Service has been fully restored, and we can now share further details about what happened and how we’re working to avoid similar situations in the future.What happened?On April 27th, our scheduled maintenance included an upgrade to our database aimed at improving performance.Although the upgrade itself was successful, the improvement had unintended consequences. It revealed that certain queries weren’t optimized for the new p +
3年前
記事のアイキャッチ画像
Where to store your 1Password Emergency Kit
1Password Blog
+In case of emergency – that is, forgetting your login for 1Password, or someone else needing to get in – the 1Password Emergency Kit can truly save the day. This short and sweet document keeps all the necessary details for getting into your account in one place. But you shouldn’t need to break glass to retrieve it (which is a huge pain to clean up, not to mention dangerous). Here’s how to keep your Emergency Kit both safe and accessible.What is the Emergency KitWe’re not talking about a flashlight and a pocket knife. The 1Password Emergency Kit is a simple document that you should know about and look after if you use 1Password to store your passwords and other sensitive details or documents.Here’s why: To best protect your secrets, every item you save in 1Password is fully encrypted. Your account password and a randomly generated Secret Key are both required to decrypt your data – and only you have the Secret Key. That means we couldn’t look at your passwords if we tried – nor could an +
3年前
記事のアイキャッチ画像
1Password for SSH changed the way I work
1Password Blog
+1Password for SSH was shared with the world last month. I have been using it since it was available for internal beta. I knew it would improve my endpoint security. I didn’t expect it to change the way I generated, stored and used SSH keys the way I work.Let me take a step back.The first time I used SSH, I connected my college’s global lab linux server with PuTTY. I used a username and password to authenticate and never really appreciated the magic that made it all work. It was a step away from the familiar world of FTP and RDP.SSH later became an integral part of my developer experience when my job switched from Subversion to Git. I was a Jr. Developer at the time and struggled to generate an SSH key. Another developer on the team generated an RSA key pair for me and shared it on a thumb drive. It was some years later before I realized this was less than ideal.Eventually, I fell into a routine. I would get a new laptop, generate a private key – sometimes I would even use a passphrase +
3年前
記事のアイキャッチ画像
Tip: Use passphrases when you need a secure but easy-to-type password
1Password Blog
+While 1Password is usually there to autofill your passwords, sometimes you still have to manually type them in.We’ve all had the experience of connecting to Wi-Fi on a new device, setting up a gaming console, or signing in to a streaming service on our TVs. When these moments come up, typing in a password liken1}C9_X>V-^A5hc]z8!uCXB]bc3jTRWx+Csis not a fun experience, regardless of how secure it may be.So what’s the answer? Enter Memorable Passwords (also known as passphrases). These are created by combining a handful of real but unrelated words. A passphrase could beball-orange-moon-car-pilot, for instance. As long as each word is random, the complete passphrase can be just as difficult for an attacker to crack as a password that contains characters, letters, and symbols.With Memorable Passwords, 1Password can generate passwords that, while still distinctive and random, are easier to remember. Memorizing and typing something likestern-patron-mailmen-degreaseis a practical way to maint +
3年前
記事のアイキャッチ画像
Building communities for developers – an interview with Jeremiah Peschka of Stack Overflow
1Password Blog
+Michael Fey, VP of Engineering at 1Password, recently interviewed Jeremiah Peschka, staff software developer at Stack Overflow, on our Random But Memorable podcast.Stack Overflow is an extensive online community where you can get answers to all your technical questions. Michael and Jeremiah dive into why building communities for developers is so important and how code is reshaping our world. Check out the highlights below, or listen to the full interview.Michael Fey: I’m sure most of our listeners are aware of what Stack Overflow is and have taken code snippets and shipped it out to production systems, but for those who might not know, can you give us a quick overview?Jeremiah Peschka: Stack Overflow is the finest repository of copy and paste snippets you can find. It’s where users can ask questions and get answers to questions. We have a lot of different sites where there are different communities – like sci-fi, cooking, and woodworking – where you can focus on more than just general +
3年前
記事のアイキャッチ画像
How to convince your friends, family, and peers to start using a password manager
1Password Blog
+One of the many values of 1Password is that we make it faster and easier to use strong, unique passwords everywhere online. That’s great if you already have a good handle on why password strength matters for online security. But we know that not everyone does.If you’re ever in a position of needing to explain the benefits of using a password manager – whether to a friend, family member, boss, or colleague – this post is for you. We hope this helps you share the value of stronger online security.Online threats are on the riseA great place to start is with the problem a password manager solves. We try not to be scaremongers, but at the same time, everyone should know that the internet can be risky to use. For all that it adds to our everyday lives, there are also innumerable threats in the shape of criminals, hackers, and con artists who want access to your personal information. Stealing passwords and logins is fundamental to their work.Websites and the companies that operate them are fr +
3年前
記事のアイキャッチ画像
Is it safe to write down your passwords?
1Password Blog
+Very few people can memorize all of their passwords – especially if they’re using unique ones for each account. Many solve this problem by embracing a password manager like 1Password, while others turn to pen and paper. The latter could be a tiny notebook, a whiteboard on their office wall, or an array of sticky notes attached to their PC monitor.We hear two questions a lot: Is it safe to record your passwords in an analog format? And, what are the benefits of switching to a password manager?The short answer to the first question is … yes, pen and paper can be a secure way to manage your passwords. But that doesn’t mean it’s the best way to protect your accounts and stay safe online. Read on to learn why.Is it really that bad if I write down my passwords?Grabbing a pen and writing down your passwords isn’t necessarily insecure. It depends on where you keep the object (your notebook, whiteboard, etc.) that contains your passwords, and the likelihood that a criminal will stumble upon it. +
3年前
記事のアイキャッチ画像
1Password 8 for iOS is now in Early Access! 🎉
1Password Blog
+Update: Our TestFlight program for 1Password 8 for iOS filled up fast! We’re making room for new testers every week, so check back often to sign up.I have been waiting to publish a post with this title for a long time. With 1Password 8 for Linux and Windows out in the world – and the Mac version in beta – many folks have justifiably been asking, “but what about iOS? When do I get to see that?The answer to that question is: today! We are lifting the Early Access curtain on our brand new iOS app – and it is gorgeous.I’ve written a whole post about why you’ll love this update and why you should check it out, but maybe you don’t need that. Maybe all you need is the TestFlight link. If that’s the case, happy testing – and don’t forget to report those bugs!It’s worth noting that 1Password 8 is a separate app from 1Password 7, and you’ll need to join this TestFlight crew even if you’re already a 1Password for iOS tester.If you’d like to take a quick tour before testing, I’m happy to oblige. L +
3年前
記事のアイキャッチ画像
How Y42 quickly onboards new team members with 1Password
1Password Blog
+Full-stack data platform Y42 is growing fast. The company kicked off 2021 with 15 employees. By February 2022, they were closing in on 100 team members.Hai Nguyen Mau, VP of Operations at Y42, is tasked with designing and refining the systems that allow everyone to get their work done – both securely and efficiently. He loves how simple 1Password makes it. “We need to make sure everyone has the right credentials, and 1Password is part of our infrastructure for doing that. It’s turned out to be a superpower,” Hai says.Y42 uses 1Password to:Scale company onboarding so more people can be brought on quickly and securelyEnsure secure usage of company and customer data across a growing teamMake sure everyone has fast, easy access to the logins they need – and only the logins they needHow Y42 structures 1Password vaults to simplify onboardingHai takes advantage of 1Password’s granular permission settings to streamline onboarding.Ensuring proper permissions starts by giving each team its own v +
3年前
記事のアイキャッチ画像
How to keep your home Wi-Fi network secure
1Password Blog
+From smartphones to smart fridges, the Internet of Things is producing more and more devices that are meant to be connected to a Wi-Fi network. The average household was expected to own 50 connected devices in 2021, up from just 10 devices the year before. With so many gadgets living on your home network, it’s never been more important to ramp up your Wi-Fi security.The basics of home Wi-Fi securityMany of the steps required to fortify your home network involve adjusting some settings. Every router and Internet Service Provider (ISP) will have some variation in the way you can access and change these settings, but you should be able to easily find the information you need on your ISP’s website. If you can’t find the instructions online, contact your ISP directly or reach out to the manufacturer of your router.1. Change the default name and password of your Wi-Fi networkOne of the simplest ways to protect your internet connection is to change the default name and password for your Wi-Fi +
3年前
記事のアイキャッチ画像
QR codes: what are the security implications?
1Password Blog
+From restaurant menus to sporting tickets, using a QR code has become a regular part of life for many. They’ve been widely used in some countries for years, and during the pandemic they finally hit mass adoption in North America and the UK.But as QR codes grow in popularity, so do the security risks. It’s important to understand these risks and what you can do to avoid them, so you’re prepared the next time you encounter one in the wild.Why QR codes are on the riseQR codes were first invented in 1994 for tracking automotive parts during manufacturing, and slowly began to spread into parts of everyday life. In China, contactless payments driven by QR codes have been the norm for a long time, with many businesses not even accepting credit cards or cash. However, the QR code initially struggled to gain traction in the Western market.But when the pandemic hit in 2020, there was a clear benefit to touchless technology. Suddenly it wasn’t just an option, but the preferred choice for consumer +
3年前
記事のアイキャッチ画像
Developers deserve great UX, too
1Password Blog
+As a consumer, I’m a bit spoiled. When I pick up my phone to check my messages in the morning, I scan my fingerprint to get instant access to everything I’ve added to my homescreen. It’s my very own personalized magic portal to all my stuff.Even the apps themselves are (with some exceptions) built to delight.That’s not the case for most tools that developers use every day. Once you leave the consumer ecosystem and get to work in a terminal or an IDE, the experience changes. Because of our technical know-how, we think we need complexity. But we’re here to build the software that powers the world, not necessarily to remember an arcane command and copy access keys a million times every day.When you need to authenticate in your terminal or IDE, why can’t you just use your fingerprint, watch, or face like we can do today in most consumer products?There’s nothing I want more than to extend the magic that we take for granted as consumers to developers. And with last week’s release of 1Passwor +
3年前
記事のアイキャッチ画像
New and improved 1Password 8 features! 🤩 ~ from Dave's newsletter
1Password Blog
+Hello everyone!I hope you and your family are safe and well. 🙏Thankfully my family and I are, and with the snow starting to melt here in Canada, I’m excited to come out of hibernation and so happy to be out walking again.Our development teams were busy over the winter creating some great new things. What better way to spend the cold months than indoors with their machines to keep warm, eh? 🙂We have a lot to cover so let’s jump right in.SSH and Git and CLI, oh my!Developers and designers and those in IT are going to love this section. If that’s not you, you may want to jump ahead while I geek out here. 😘Roustem and I originally created 1Password as a development tool for our web consulting business. Being able to automatically fill logins, addresses, and credit cards was a huge boon to our productivity.I’m excited to announce that the team has built on these roots and have brought this magic into development workflows to make them easier and more secure.They started with SSH keys and... +
3年前
記事のアイキャッチ画像
What incognito and private browsing modes do and don't do
1Password Blog
+There are countless reasons why you might want to keep the websites you’re visiting a secret. For example, you could be planning a surprise vacation for your best friend, seeking out information that’s meant to be banned in your country, or simply trying to minimize what advertisers know about you.In these situations, many people turn on their web browser’s built-in private browsing or incognito mode. Why? Because the names of these features suggest they’ll turn you into a temporary ghost that can’t be tracked by any person, employer, advertiser, or government.But they don’t work like that.Private browsing and incognito modes can be useful, but they don’t hide your activity from everyone. If you want to take back control of your privacy, it’s important to know what these modes conceal, and who they conceal it from. Once you know their limitations, you can turn them on at a time that makes the most sense for you, and take other precautions to increase your privacy when necessary.What pr +
3年前
記事のアイキャッチ画像
1Password 8.6 for Windows
1Password Blog
+When we released 1Password 8 for Windows, it marked the start of the next chapter for 1Password. And though Santa may have come and gone in the weeks since, we’ve still got a bag full of shiny new toys for our Windows customers.Earlier this week, we released 1Password 8.6 for Windows and Linux and a new beta for Mac. And while the new SSH agent and 1Password CLI 2.0 rightfully stole the show, there are so many other goodies I wanted to highlight since 1Password 8 for Windows launched in November.It’s only been four months since that release but 213 improvements have shipped since. 🤯 Let’s review the hightlights. 😍Beautiful-er sidebarLet’s start with the sidebar as it contains some of the most visible changes. One of our biggest requested features was to bring Categories back to the sidebar and that is once again possible. 😍You can bring Categories back to your sidebar from within the new Appearance settings. And while we were there we added the ability to hide tags, too. Speaking of... +
3年前
記事のアイキャッチ画像
Responding to the conflict in Ukraine
1Password Blog
+We are halting new account creation in Russia, along with renewal payments for existing customers in the region.Effective immediately, we are halting the creation of new 1Password accounts and renewal payments from sanctioned regions.Affected accounts will become read-only at the end of their current billing period. Customers can continue to view and export everything in their account, but can no longer add or edit items.Customers outside of sanctioned regions remain unaffected.1Password has customers all over the world, and we’re proud that our product is being used internationally to keep people safe online. However, given the current events, we’re taking action to comply with international sanctions and to further our support of Ukraine.Earlier this month, we showed our support in a few different ways: pledging to match employee donations up to $50,000 USD, and standing with other Canadian business leaders in a letter to the Prime Minister in support of Ukraine.Steps we’re takingWe +
3年前
記事のアイキャッチ画像
SSH and Git, meet 1Password 🥰
1Password Blog
+1Password now includes full support for SSH keys, providing the easiest and most secure way for developers to manage SSH keys and use Git in their daily workflow.The magic of 1Password has always been making the secure thing to do the easy thing to do. Today I’m thrilled to announce that we’re bringing this magic to development teams everywhere with the all-new 1Password SSH Agent. 🦄In today’s release 1Password can now create new SSH keys, keep them organized, and make them securely available everywhere you need them with just a few clicks. Best of all, each feature was built for developers, by developers, so they fit perfectly in your existing workflows.Our private beta hit #1 on Hacker News last month so it seems we’re not the only ones that had this itch. 😍Using SSH keys is now as easy as 1, 2, 3…Many toolchains and workflows rely on SSH keys. Everything from git to scp to logging into remote servers require properly configured SSH keys before being able to get your work done.It g... +
3年前
記事のアイキャッチ画像
Your CLI wish is our command 🪄💫
1Password Blog
+Our new command-line tool makes authorizing with services and securing your development toolchains easier than ever.The magic of 1Password has always been making the secure thing to do the easy thing to do. Today I’m thrilled to announce that we’re bringing this magic to development teams everywhere with our new 1Password ssh agent and op command-line tool. 🦄Use op to level up your shell by seamlessly providing secrets to all the services and accounts you use in your workflow.Here we see op in action as we attempt to list our S3 buckets on AWS.Did you see the magic? You need to look close as it’s easy to miss. 🕵🏻You can catch a glimpse behind the curtain in the window title as aws is not being run directly. It has been aliased.$ alias aws="op run --env-file=$HOME/.config/op/aws-env -- aws"Now when aws executes it does so from within an op run context.When it’s time to locate the access secrets aws does what it always does, but there is no (plain text) ~/.aws/credentials RC file for ... +
3年前
記事のアイキャッチ画像
How to manage your company's IT security without stressing out
1Password Blog
+Responsible for keeping your business secure? We know it can feel like a daunting task. After all, the average business has multiple employees using different devices with varying amounts of technological expertise. A single team member might use just one app to stay productive, while another may use 1,000. And they could work in a company-owned location, like an office, or hundreds of places around the world, including their own home.That’s a lot to consider.If cybersecurity is leaving you tired, anxious or overwhelmed, you’re not alone. In our first State of Access Report, 84% of security professionals said they were currently feeling burned out.The truth is there’s no quick fix that will make cybersecurity an easy or endlessly relaxing problem. If you start cutting corners, the likelihood of a breach will only increase. But there are some basic principles that can help you manage your company’s digital defenses, and encourage other team members to make smart, secure decisions on the +
3年前
記事のアイキャッチ画像
Talking to your kids about online safety
1Password Blog
+Raising a family today means, for many parents, having kids who use the internet for entertainment, talking with friends, and schoolwork. Millions now have a smartphone around the time they lose their first tooth. This creates new challenges for parents who want to help their children navigate around mature content, misinformation, and other online risks.But kids need space to explore and learn about technology at their own pace. So don’t monitor or look over their shoulders at all times. Instead, give them advice on how to use the internet securely. Below are some tips on how to approach these conversations, and what specifics you should share with your children when it comes to online safety.Approach with care, and be an allySome early guidance will set your child up for success – both in using technology and handling any problems. Have a relaxed but realistic conversation at a time and place where you’ll have their full attention. Remember that this isn’t meant to scare them away fr +
3年前
記事のアイキャッチ画像
How a password manager fits into a digital minimalist lifestyle
1Password Blog
+Getting a password manager is the ultimate minimalist move – after all, reducing the number of passwords you need to remember down to one is pretty significant. When we’re talking about digital minimalism we’re referring to the idea of simplifying your digital life to help you focus on the things that are truly important to you. A password manager is an important tool in any digital minimalist’s life and can help you achieve that organizational, zen-like happiness.Why digital minimalism is importantDigital minimalism is about intentionally choosing the technology we use in order to improve our lives. This is important from both a security standpoint and a well-being standpoint. Security-wise, using a password manager means you can use strong, unique passwords for every account. 1Password also points out websites where you can enable 2FA, and highlights websites where a breach has occurred advising you to update your password on that site.From a well-being standpoint, not having to worr +
3年前
記事のアイキャッチ画像
Forgot your password? Learn how to reset and change passwords safely
1Password Blog
+Creating and remembering strong, unique passwords can be a challenge, and resetting them when you forget can be annoying and time-consuming. But it doesn’t have to be this way. If you adopt a password manager like 1Password, you can instantly generate and safely store all your passwords in one place.The problem with passwordsWith nearly everything online requiring an account these days, password security has never been more important. You can’t protect every account with your pet’s name or your mom’s birthday and expect them to remain safe. Instead, you need to use strong, unique passwords. But if you don’t have a system for remembering them, it’s easy to fall into a frustrating cycle of creating, forgetting, and constantly resetting them.Security breaches and password theft are on the rise, so it’s no surprise that many sites are demanding longer, more complex passwords with upper and lower case letters, and at least one number and special character. They’re tougher for cybercriminals +
3年前
記事のアイキャッチ画像
A message of solidarity for Ukraine
1Password Blog
+1Password stands with the brave citizens and leaders of Ukraine who are defending their homes and our values.I am taking a stand, alongside the founders of 1Password – David Teare, Sara Teare, Roustem Karimov and Natalia Karimov – and 78 other Canadian business leaders, to urge the Government of Canada to continue taking bold action with the conflict in Ukraine.We signed an open letter to Prime Minister Justin Trudeau, Deputy Prime Minister Chrystia Freeland, and Minister of Foreign Affairs Mélanie Joly, which was published in The Globe and Mail this week to express our deep sorrow, concern, and recommended action steps. Thank you to Michael Katchen and Som Seif for organizing this letter.To help support the people of Ukraine, 1Password is matching donations made by our employees up to $50,000. We’re also offering support to our employees who are impacted by the conflict.I stand with peace.We're listeningQuestions? Reach out if you want to discuss the letter or our support of Ukraine d +
3年前
記事のアイキャッチ画像
Save your Phantom wallet details in 1Password
1Password Blog
+We’re making it easier for Phantom wallet owners to save their account password, secret recovery phrase, and wallet address in 1Password. Phantom is a digital wallet that lets you manage cryptocurrencies, tokens, and NFTs built on the Solana blockchain.This is the first of many partnerships that we’ve been working on in the cryptocurrency space. It’s always been our goal to make it easier for everyone, regardless of their technological proficiency, to protect everything that’s important to them. And for an ever-growing group of people, everything includes digital assets.It all feeds into our mission to bring human-centric security to everyone.Starting today, if you create a Phantom wallet in your browser – and have an active 1Password membership – you’ll see a Save in 1Password button. Choosing this option will save everything you need to access your Phantom wallet and safely trade Solana-based tokens and collectibles.That includes:Your Phantom wallet passwordYour wallet address (You n +
3年前
記事のアイキャッチ画像
Webcam security in the age of Zoom
1Password Blog
+The trusty webcam used to be a “nice to have” for the occasional job interview, virtual hangout, or simple YouTube recording. But that all changed when the pandemic started. In just a few months it became a daily tool for people around the world, from fully remote businesses to families and friends kept apart in lockdown.Webcams now play such a large role in our lives that it can be easy to forget their potential risks. Many people don’t realize that cybercriminals can exploit laptop webcams, phone cameras, and standalone webcams if they’re used incorrectly. The exploding popularity of video calls and personal livestreams also means that more cameras are in use at any given time, creating more opportunities for attackers.Webcam usage is only going to rise as more of us work remotely, connect with loved ones on platforms like Zoom, and experiment with apps like Twitch and Instagram Live. So it’s important you take some precautions to keep out would-be attackers.How attackers target your +
3年前
記事のアイキャッチ画像
Leaving your job? Here’s how to protect yourself and your employer’s data
1Password Blog
+The end is in sight. You’ve decided to leave your job and have already handed in your notice. You’re finishing up some final projects and, before too long, will be saying one last goodbye to your coworkers.Job (literally) done? Not quite. Before your last day, you need to decide what to do with all of your corporate accounts and devices.Why it mattersYou might be thinking: “Why do I need to do anything?” After all, if you leave and something goes wrong, it’s not like it’s your responsibility, right? Wrong. We all bear some responsibility when it comes to security, and figuring out the best, most secure action for all of your work-related hardware and passwords has its merits.Taking the correct steps will help you maintain a good relationship with the company. Because who knows – you might want to work for them again someday.It will protect your former employer from data breaches. The average cost of a data breach rose to $4.24 million in 2021, according to IBM’s annual Cost of a Data B +
3年前
記事のアイキャッチ画像
Do you really need to change your password every 90 days?
1Password Blog
+You power on your computer and open your inbox, ready for another day at work. But instead of some unread emails, you see a login screen with an all-too-familiar message: it’s time to update your password. And it can’t just be any password. It needs to be one you haven’t used before, and it must include a number… and a special character… and be 8 characters long…Sound familiar? Many companies require their employees to change their password every 90 days. It’s an inconvenient policy which leads people to ask: Is it really necessary?The short answer is no. Frequent password changes may have been a good idea in years gone by, but they’re not necessary today. Read on to learn why.The thinking behind mandatory password changesThe idea behind forced password expiration is simple. If your credentials are always changing, it’s harder for an attacker to know what they are at any given time. For example, a cybercriminal might stumble upon a list of leaked passwords. But if the leak is three mon +
3年前
記事のアイキャッチ画像
Small Talk: putting data privacy at the forefront with your customers
1Password Blog
+Conversations about consumer data privacy grow louder each year, with the news headlines to match. Trust in the technology sector is now at an all-time low and customers are increasingly concerned about the privacy of their personal information. It’s become a serious topic that all business owners need to follow, not just security specialists and tech bloggers.For small businesses, there’s some good news: Customers are more likely to trust you than the larger brands, according to a 2021 study by the Kearny Consumer Institute. But remember that trust needs to be earned. As more data is collected, both inside and outside of tech, privacy efforts are now critical – both ethically and legally. No matter your size, it’s never been more important to treat personal data with the respect it deserves. This includes data from paid customers as well as those who simply visit your website or sign up for your newsletter.Even the most trusted companies can be careless with customer data. It’s not ju +
3年前
記事のアイキャッチ画像
Secure yourself with our digital declutter checklist
1Password Blog
+A digital declutter helps you organize your life and has the added bonus of reducing your vulnerability to common threats. But knowing where to begin can be hard – most of us leave a larger digital footprint than we realize. We’ve created a checklist to help you clear away the clutter and reap the rewards of a clean digital state.We recently covered the benefits of a digital declutter on our podcast, Random But Memorable, so you can have a listen to that as well (skip ahead to 23:16 to jump right into the decluttering discussion).Read on for our top tips for tackling your digital clutter.The benefits of a digital declutterSpotting online threats isn’t always easy – after all, their job is to deceive you. But, with a healthy polish of your online presence, you can reduce the likelihood of falling victim to a cyberattack. Here are a few hazards a digital declutter could help prevent:Data breaches: By deleting old accounts or shoring up your account security with two-factor authentication +
3年前
記事のアイキャッチ画像
Hacking 101: What is social engineering?
1Password Blog
+For the average person, “traditional hacking” isn’t really an ever-present threat. It’s unlikely that a hacker will ever try to track you down, steal one of your devices, and bypass whatever you’ve set up to protect your personal data. Social engineering, on the other hand, is an increasingly common security threat that you’ve probably encountered many, many times before.Ever gotten a suspicious email claiming to be from a well-known company? A robotic voicemail asking for your information? Most of us have. While it might just seem like a nuisance you can ignore, social engineering is a very real threat you need to be prepared for.We’ve all been there. You get a ridiculous-looking email full of typos claiming to be from a service you don’t even use, asking you to log in and share your information. It might seem impossible that anyone could fall for such a blatant scam, but don’t let the obvious tricks lull you into a false sense of security. Social engineering techniques are always evo +
3年前
記事のアイキャッチ画像
Secure online payments and grow your business with Brex and 1Password
1Password Blog
+Brex and 1Password have partnered to make online payments secure and frictionless. 1Password customers can now use Brex virtual credit cards to check out online with just two clicks.Brex is a powerful financial stack designed to serve the next generation of growing businesses, and now that power is accessible through 1Password in the browser.Growing businesses choose Brex because their all-in-one platform of financial software, services, and products makes it easy to control corporate spending and manage runway in one place. 1Password Teams and Business customers can now connect their Brex account to 1Password for frictionless, secure online payments in just two clicks.With the new integration, Brex customers can autofill their Brex corporate and vendor card information while checking out anywhere on the web – right from 1Password in the browser. Brex admins can also create and fill vendor cards during checkout.How to simplify and secure online payments with Brex and 1PasswordImagine y +
3年前
記事のアイキャッチ画像
Doing good in 2021 and beyond
1Password Blog
3年前
記事のアイキャッチ画像
How single sign-on fits into your enterprise security framework
1Password Blog
+Single sign-on, or SSO, is a valuable addition to your enterprise security arsenal. It doesn’t protect against every threat, but it can reduce your attack surface, lower IT costs, and provide a better login experience for your employees.What is SSO?Without single sign-on, employees typically create a unique login for each site and service they use at work. With SSO, employees sign onto their SSO platform with a single, strongly vetted identity. That single identity then gives them access to all the services within the SSO framework.Each SSO provider works a bit differently, but the basics are the same. Let’s use Okta – a leader in enterprise SSO – as an example. Once deployed, employees can log into Okta to see a dashboard that lists all of the services they can access. They simply click the site or web app they want to launch from the list, and Okta launches the URL and logs them in automatically using SSO.That’s a very different experience from opening each site and entering login in +
3年前
記事のアイキャッチ画像
Bringing human-centric security to everyone
1Password Blog
+As our online lives become subject to new and evolving threats, we’re doubling down on protecting the digital privacy and peace of mind of everyday people – at home and at work.1Password has raised $620 million (USD) in the largest funding round ever for a Canadian company.Our latest round was led by ICONIQ Growth, with participation from other wonderful partners including Accel, Tiger Global, Lightspeed Venture Partners, and Backbone Angels.I’m delighted to announce that 1Password has raised $620 million in our latest investment round that values our company at $6.8 billion. This moment represents a lot of hard work by a lot of amazing people.Most days, I find myself too busy to truly reflect on all we’ve accomplished over the past 17 years. I think back to our tiny Macworld booth, or the weeks we’d spend at the Cupertino Inn working on our latest iOS or Mac release. It feels like yesterday that I was excited to cross the 100-employee threshold, yet here we are just a few years later +
3年前
記事のアイキャッチ画像
My Collab Lab story: nurturing underrepresented developers in tech
1Password Blog
+The journey to becoming a developer has many paths. The most traditional is through attending a university and obtaining a computer science degree. However, many in the industry arrive via a different route.In particular, those who come from traditionally underrepresented groups often find themselves entering this space later in life and with vastly different experiences than those from university.But it can be tricky to enter the profession from an unconventional route because so many learning and training opportunities are restricted to university students. So where does this leave those who found their way into tech outside of the traditional path?Introducing The Collab LabLuckily there are organizations like The Collab Lab that are trying to help fill in this gap. The Collab Lab exists to help early-career developers, especially ones from underrepresented groups, learn the skills used every day on development teams. These include pair programming, code reviews, writing great PR des +
3年前
記事のアイキャッチ画像
How to keep your business secure during the Great Resignation
1Password Blog
+Millions of workers are leaving their jobs after enduring stay-at-home lockdowns and reflecting on what they need to be truly happy and healthy. While the ‘Great Resignation’ could have a positive impact on society, it also represents a security risk for businesses of all sizes.Because if your company doesn’t keep tabs on its rapidly changing workforce, it could accidentally grant someone the wrong access and, in the worst-case scenario, give cybercriminals access to critical data.To safely navigate the Great Resignation, you need to focus on two key areas: provisioning and device management.Why provisioning matters“Provisioning” can refer to many aspects of IT infrastructure, but here we’re talking about access to important files, accounts, and services. In 2021, almost every employee needed a combination of software and digital resources to do their job. Depending on your industry, that might have included apps, browser-based services, or files stored on a company-managed server.To k +
3年前
記事のアイキャッチ画像
1Password’s 2021 year in review - everything you might have missed
1Password Blog
+If year-end reviews have taught us anything, it’s that people love recaps that cram 12 months of growth and change into a five minute digestible read. Last year we worked hard to bring easy but secure password management to everyone – businesses and individuals alike.New apps, integrations, research, and partnerships – 2021 had it all. 1Password was even named one of G2’s Best Software Products of 2021. Here’s a quick overview of everything our teams got up to:Product releases and updatesLast year was the starting point for the next generation of 1Password.We launched our first Linux app, which doubled as a world debut for 1Password 8 – an all new design optimized for peak productivity and unrivaled security. We also released 1Password 8 for Windows – first in early access, then fully featured and ready for the world.1Password 8 introduces a new design language, code-named Knox, and countless additions that make it faster and simpler to use, like Quick Access search.Apple devices also +
3年前
記事のアイキャッチ画像
Small Talk: why cybersecurity matters beyond the office
1Password Blog
+Business security is often associated with larger companies where employees spend most of their time in front of computers. This stereotype can lead small business owners – especially ones outside the tech industry – to think they’ll never be targeted by hackers and don’t need to invest in security. It’s a mistake that cybercriminals are exploiting. Even without a traditional office environment or complex IT infrastructure, your growing business needs to take security seriously.If your team uses the web in any capacity, it’s critical they protect their accounts with strong, unique passwords. Stolen logins are at the heart of most modern attacks. But there are other vulnerabilities and threats to be aware of, some which might be specific to your industry or company structure. So staying informed is critical.Most businesses are “online businesses”Restaurants, law firms, and even doggy day spas are all connected to the web. You might advertise online, handle transactions electronically, o +
3年前
記事のアイキャッチ画像
Credential stuffing: How 1Password protects you against it
1Password Blog
+Several layers of protection guard the data you store in 1Password, but is it enough to defend against cyberattacks like credential stuffing?Few things are scarier than getting an email about someone trying to log into one of your accounts. Doubly so when that account is for your password manager.The good news is that by using 1Password, you’re already protected against the most common type of cyberattack that triggers these emails: credential stuffing.What is credential stuffing, and how does it work?Modern cyberattacks rarely involve actual hacking.It’s become easier and more effective to simply use credentials stolen from data breaches without wasting time trying to crack individual passwords. Hackers use specialized software to make login attempts against popular web services using those stolen credentials on a massive scale. This type of attack is known as credential stuffing.By now, we’ve all learned that data breaches are a fact of life online. In 2021, they were at least 17% mo +
3年前
記事のアイキャッチ画像
How to stay creatively inspired while working from home
1Password Blog
+Creativity can be fickle. One day, your brain is full of bright ideas you’re keen to jot down, develop, and share with others. The next day, you have nothing. Zilch. Not even a flicker of an idea. You suddenly feel like a world-class restaurant that’s run out of ingredients.A key element of creativity is finding the odd jolt of inspiration. But discovering that spark can be tricky if you work from home. You don’t have a normal commute, which for many is a chance to let your mind wander and experience random but inspirational moments. Similarly, you’re not working in a busy office that’s full of sights, sounds, and smells to draw from.But that doesn’t mean you can’t be just as creative while working remotely – you just need to make a conscious effort to surround yourself with sources of inspiration. These can be physical objects, online communities, or activities that encourage you to hit pause on work, turn off your devices, and clear your head.Real-world serendipityRecreate the commut +
3年前
記事のアイキャッチ画像
Cybersecurity in the workplace: 15 tips to stay secure without burning out
1Password Blog
+Staying secure at work doesn’t need to be complicated. Minimize stress and avoid burnout by following these simple cybersecurity tips.How cybersecurity and burnout are relatedNo-one wants to feel burned out at work. Battling physical or emotional exhaustion can impact your health, happiness, and any sense of professional fulfillment. That in turn can affect your productivity and the likelihood you’ll make an honest mistake that puts your company’s data at risk.Our first State of Access study found that burned-out employees are 37% more likely than other workers to have poor practices when setting up work-related passwords.While there are many factors that can lead to burnout, staying secure doesn’t need to be one of them. Follow these 15 cybersecurity tips to protect yourself and your company from the vast majority of attacks:Passwords1. Use Strong, unique passwords.That means no common passwords like “123456,” “qwerty” and “password,” or anything that includes your name or date of bir +
3年前
記事のアイキャッチ画像
1Password treats 🎁🍪 to wrap up the year ~ from Dave's newsletter
1Password Blog
+2021 has been an incredible year! 🙌 Here’s my last newsletter of 2️⃣0️⃣2️⃣1️⃣ to wrap up the year. 🤗Hello everyone, 👋I hope you and your family are safe and well. 🙏I’m fortunate that my biggest concerns this year are stocking up on all the ingredients for our three family dinner celebrations and making sure everyone has something wrapped under the tree. I’m very thankful for that!We also have some presents for you. Let’s unwrap them together now, shall we?Dave's Newsletter1Password 8 for Mac is now in beta 🎉I’m thrilled to announce that 1Password 8 for Mac has officially entered beta. 🙌I shared the early access with you earlier and the response was incredible. I was blown away by how many people reached out to discuss our latest baby. 🥰Now that we’ve had a chance to polish things further we’re ready to invite all of you to our beta family and give it a go. Here’s the gorgeous design that will greet you.I really love our new design language and the incredible speed of 1Password 8... +
3年前
記事のアイキャッチ画像
How fully remote companies can create a culture of security from day one
1Password Blog
+In 2020, millions of businesses were thrust into remote work. What started as necessity has revealed lasting benefits for both employers and employees, though. The model improved productivity and employee morale, while lowering operational costs. Between these benefits and the continued priority of worker safety, many startups are launching with a remote or hybrid approach from the outset.New businesses may find it easier to adopt this style of work because they don’t have a team that’s used to being in the office together, or to following processes that were never designed with a remote model in mind. This provides an advantage for cybersecurity, as well.With employees working from anywhere, security education and involvement are more crucial than ever. A culture of security can be a unifying force that makes safe online habits a source of pride, rather than a chore. The good news for startups is that it’s less work to create this from scratch than it is to transform an existing cultu +
3年前
記事のアイキャッチ画像
Small Talk: security considerations for your startup
1Password Blog
+As a startup, you might have branded swag well before a cybersecurity strategy. And it’s not hard to understand why. Printing stickers is easy. Knowing where to start with security – the who, what, how, and why – can feel a bit more daunting. But it doesn’t have to, and is far more important to your company’s future.Cybersecurity risks are growing by the day, especially for startups. Almost half of smaller businesses reported cybersecurity breaches or attacks over the last year, up from less than a third in the previous year. It’s an epidemic that forces 60 percent of affected businesses to close within 6 months.Part of the problem is a lack of resources – small companies are often stretched thin, and IT hires aren’t always seen as a priority early on. But the larger issue is a lack of awareness. Startups often don’t know the extent of risks they face, their particular vulnerabilities, or that solutions don’t need to be expensive or complicated.If you’re leading a startup, and have a s +
3年前
記事のアイキャッチ画像
We donated $50,000 to Sustainable Ocean Alliance to help protect our oceans
1Password Blog
+Finding new ways to help the planet and the people around us is some of the most important work we do here at 1Password. At some point we started to wonder, what can we do to support the health of our oceans? As part of our continuing 1Password for Good initiative, we’ve decided to partner with the Sustainable Ocean Alliance to make a positive impact on our environment.Sustainable Ocean Alliance (SOA) is a global community of over 6,000 youth, experts, and entrepreneurs based in 165 countries, all collaborating to solve the greatest challenges facing our ocean. They support solutions and projects that address the targets of United Nations Sustainable Development Goal 14: to conserve the ocean and sustainably use marine resources. SOA does this by providing funding, network access, mentorship, and other resources to startups and grassroots leaders around the globe who are working to improve ocean health.Seas the day 🌊Our donation of $50,000 supported 10 projects, with missions that ran... +
3年前
記事のアイキャッチ画像
Data breach 101: How you can stay safe online
1Password Blog
+If you feel like you can’t go a week without hearing about yet another data breach on the news, you’re not experiencing déjà vu. Data breaches are on the rise, and massive organizations like Solar Winds and Facebook aren’t the only ones vulnerable to attack.From businesses to individuals, data breaches can affect anyone. For example, small and medium sized-businesses are now targeted by 70% of cyber attacks, and 58% of breaches involve personal data.It might seem like a battle you just can’t win, but there are ways to minimize your risk and stay secure online. We’ll walk you through a simple data breach definition, how to protect yourself from a data breach, hacking and social engineering attacks, and what you need to do if your data is ever compromised.What is hacking?People often confuse the words “hack” and “breach” or use them interchangeably. So before we go any further, let’s quickly clarify what they mean. Hacking is when someone, sometimes called a “black hat hacker,” aims to c +
3年前
記事のアイキャッチ画像
Burnout: The next great security threat at work
1Password Blog
+Many companies feel like they’ve successfully pivoted to remote and hybrid work. Team members have learned the tools and processes required to be successful outside the office, and IT departments have adjusted their security rules and policies accordingly.But now, nearly two years into the pandemic, another cybersecurity threat has emerged: employee burnout.Work-related exhaustion isn’t a new phenomenon, but it’s been amplified by Covid-19. And when it’s left unaddressed, burnout can put companies at risk because it influences employees' habits and decision making.To understand the issue, 1Password surveyed 2,500 adults in the U.S. and Canada who are in full-time employment and spend most of their working hours in front of a computer. It’s the focus of our first annual State of Access study, which explores the latest security threats, how workers feel about them, and what businesses should do to protect themselves.Our key findingsBurnout is a huge problem across the U.S. and Canada. 80 +
3年前
記事のアイキャッチ画像
Secret Key: What is it, and how does it protect you?
1Password Blog
+A unique feature of 1Password’s security is the Secret Key, but its value is often misunderstood by users and security experts alike. Instead of thinking in terms of “is it like a second factor” or “is it like a key file” it’s best to explain it in terms of what it actually does: It protects you if we were to be breached.What is the Secret Key?The Secret Key is central to what makes 1Password’s security uniquely strong. It offers our users exceedingly strong protection if our servers were to be breached. However, its uniqueness makes it difficult to understand. Not only is it difficult to understand, it places an additional burden on users. Burdening users with an additional task that is hard to understand is really not our style. The fact that we do so should give some idea of just how important the Secret Key is for security.A cracking reviewLet’s review what happens when some service gets breached. If you already know a bit about password cracking and hashing, just skip this section +
3年前
記事のアイキャッチ画像
When and why you should use different usernames online
1Password Blog
+You don’t reuse passwords, so why are you reusing your usernames? Using a unique username does more than just protect your privacy, it also has important security benefits.Below, we’ll explain what threats unique usernames protect you from, when you should use a unique username, and how to use a username generator to create them.The dangers of repetitive usernamesIt’s risky to use the same username for everything. Why? Because if it’s visible to the public, or is exposed in a leak, cybercriminals don’t have to worry about figuring it out when they try to access any of your other online accounts. With more than 61 % of breaches involving credentials used to authenticate a user, having both a unique password and a unique username makes any attempts to breach your account more difficult.Are you guilty of using a variation of your own name or adding some other personal identifying information – like your birth year – to make a new username unique? You’re not alone. However, using personal +
3年前
記事のアイキャッチ画像
Coming together to make a difference
1Password Blog
+Thanksgiving is the holiday so nice we do it twice – a quirk of having our North American team members distributed across the US and Canada! With your help, we raised over $51,000 USD this year to support Second Harvest, United Way Centraide, and Food Banks Canada in their efforts to make the holidays happy for everybody.Too often it feels like our ability to make an impact is limited, but during times like these it’s helpful to remember the compounding power of small gestures. You may think one person can’t move the needle much, but collectively we can effect real change.And we have.Between Canadian 🇨🇦 and US 🇺🇸 Thanksgiving, over 51,000 of you signed up to keep your loved ones safe with a 1Password Families account. By choosing to protect your family online, you’ve also chosen to help other families put food on the table this holiday season.🤝 Supporting Our CommunitiesOver the past month, $1 from each of those sign-ups was donated to three notable organizations working hard to s... +
3年前
記事のアイキャッチ画像
Fortify your security with 1Password and JumpCloud
1Password Blog
+Starting today, we’re adding JumpCloud to the list of popular enterprise identity providers compatible with the 1Password SCIM bridge, making it easier for more teams to provision and manage their users. We’re thrilled to add JumpCloud’s easy-to-use and highly rated service to our growing list of integrations.Using JumpCloud and 1Password, you can establish the oversight you need to fortify your security policies and protect your team.“Password management is a critical part of any company’s security model, and we find that 1Password does it better than anyone else. The 1Password and JumpCloud integration allows us to have a complete Single Sign-On solution, and offers a very effective way of programmatically managing access.” – Reilly Scull, CTO at MacktezUninterrupted workflowThe 1Password SCIM bridge helps you manage your teams at scale, bringing 1Password into the workflows you already know and trust. It lets you control the rollout of 1Password Business from your existing IDP (Iden +
3年前
記事のアイキャッチ画像
Small Talk: balancing workplace productivity and security for small businesses
1Password Blog
+Go, go, go, go. And then go some more. For countless small businesses, this is your reality. But breakneck productivity is not always the healthiest approach, and it often comes at the cost of security.You’re focused on building your business. You may be piling on assignments for employees, even outside of their expertise, just to hit your goals and stay competitive. So you may think focusing on improving security is either unnecessary or, worse, hindering production. If that sounds like you, consider this your polite slap on the wrist. 💁You shouldn’t have to sacrifice workplace productivity in the name of security – even if your “workplace” is fully remote. Believe it or not, when your employees work securely, improved productivity often follows. Striking the right balance now, in the early stages, can create lasting change as you scale and greet new challenges – and successes – in your journey. Stay secure … and productive? 🤯The tunnel vision of workplace productivityIn recent year... +
3年前
記事のアイキャッチ画像
How the pandemic made millennials rethink their digital legacies
1Password Blog
+Before the pandemic, most millennials didn’t have a will, let alone a plan for handing over their digital accounts.Why? Many simply don’t know how to get started, or worry the process is too expensive, complicated, and time consuming. Others simply feel that it’s not a pressing issue, especially if they’re still healthy or don’t have a lot of savings.The COVID-19 pandemic changed everything, however. It forced millions of millennials to reconsider their health, finances, and relationships, as well as what would happen if they were to suddenly pass away. But has this moment of reflection triggered a wave of new wills and digital estate plans, which include passwords and other online credentials? To find out, we conducted a survey with estate-planning experts Willful and Trust & Will.Some of the findings might surprise you.Takeaways from the U.S.68% of millennials still don’t have a will. However, the last two years have been a wake-up call. Almost three quarters (72%) of respondents who +
3年前
記事のアイキャッチ画像
1Password 8 for Windows is here! 🎉
1Password Blog
+Got a Windows PC? You can now enjoy the modern design, improved productivity, and enhanced security & privacy of the all-new 1Password 8. 🥳I’m so excited to share 1Password 8 for Windows with you today. We went back to the drawing board and recreated every bit and every pixel to bring you the most modern, productive, and secure version of 1Password yet!Let’s start with the all-new lock screen. 🔐Sold already? Here’s the download link. 🙂You can also hop on over to our 1Password 8 for Windows: Dark Mode Edition companion post to see this announcement and every screenshot in glorious dark mode. That’s right, 1Password 8 fully supports dark mode! 😎Modern DesignWe set out to create a modern, first-class experience that feels right at home on Windows 11. To make this possible we created an entirely new 1Password design language, code-named Knox.Let’s open things up to see the beautiful design in its full glory. 😍Despite its simplicity, 1Password 8 is packed with features to help you orga... +
3年前
記事のアイキャッチ画像
How does a VPN work, and do you need one?
1Password Blog
+A virtual private network (VPN) is a useful tool that protects your online activity by creating a secure ‘tunnel’ that sits between your device and the site or service you’re trying to access.These days, VPNs are everywhere. Many workers rely on them to access their email and corporate files while they’re outside the office. Others use them to visit sites and watch content that isn’t normally available in their country. Or to better protect their internet traffic while they’re browsing the web on a public Wi-Fi network.Using a VPN is usually quite straightforward: launch the client, click connect. But understanding how one works is trickier. Tunneling? Encapsulation? These terms are hardly commonplace, unless you’re an IT or security professional. Here, we’ll break down the basics and answer a common question: is it always necessary to use a VPN while connected to the internet?The basics: How does a VPN work?A VPN acts as a gatekeeper between your device and whatever you’re trying to i +
3年前
記事のアイキャッチ画像
How and why we built Masked Email with JMAP – an open API standard
1Password Blog
+Our core values as a company center around our users’ privacy, security, and satisfaction. While developing Masked Email – our integration with Fastmail that lets users create new, unique email addresses without ever leaving the sign-up page – we needed a technology that brought all three values together.Enter JMAP: the developer-friendly, open API standard for modern mail clients. Below, we’ll introduce you to JMAP, explain why we chose it for Masked Email, describe how the integration works, and share how you can get started using JMAP in your own projects.I’ll be honest, I’d never heard of JMAP (JSON Meta Application Protocol) before we started working on the proof of concept for Masked Email. I was amazed that I’d never heard of this standardized open protocol (RFC8620) that can do so much – JMAP is faster than its predecessors, it’s an open standard, and it’s easy to use.The more I read about JMAP, the more I realized how antiquated the de-facto APIs that run our digital lives are +
3年前
記事のアイキャッチ画像
Why security scare tactics aren't effective – and what to do instead
1Password Blog
+We hear a lot about the consequences of practicing poor security. And for a while, this was rightfully so. When the importance of cybersecurity was still emerging, many people didn’t understand what could happen if they weren’t following proper security procedures.But those days are long behind us, so it’s time to retire the scare tactics of the past.I like to call it “spooky security”. It’s when we try to scare people into submission or use fear mongering to force people into behaving more securely. It’s not working, and it’s stopping businesses from building a healthy security culture. A strong culture of security includes individuals not only being aware of policies and procedures but also understanding security and the role they play in it. It also involves employees’ attitudes towards security and how that impacts their actions. If that attitude is fear and uncertainty, they’re less likely to take an active role. An organization with employees disengaged from security is bound to +
3年前
記事のアイキャッチ画像
You’ve inherited a digital estate plan: Now what?
1Password Blog
+With each passing year, our digital lives grow in size and complexity. We open new accounts and place more value on the ones we log into and use every day. The trend has led to a rise in digital estate plans – a handover that ensures your friends and family members can take over your most precious accounts after you’ve gone.Creating a plan is one challenge; figuring out what to do with someone else’s is another. Maybe you’ve inherited one, or know a family member who plans to give you their accounts after they’ve passed away. Regardless, it’s important to have a strategy before logging into anything that was once owned by a loved one.Step 1: List the accounts in order of priorityThe first step is to take stock of everything in your loved one’s digital estate plan. Grab a piece of paper or create a digital document and rank the accounts in order of priority. It might seem laborious, but this exercise will help you identify which accounts require your attention first, and just as importa +
3年前
記事のアイキャッチ画像
Cyber attacks: the risk your small business can't afford
1Password Blog
+As we’ve all learned, often the hard way, amazing tech has introduced not-so-amazing risks: viruses, hacks, and leaks, to name a few. A data breach or cyber attack can happen at any moment, to individuals or businesses of any size – and attackers do not discriminate.Many small and medium-sized businesses (SMBs) may have the “it won’t happen to us” mentality. Smaller teams and tighter resources can lead to the indefinite delay of a security strategy, skipping over cyber insurance, and even a lack of awareness or response when attacks do happen.But as it turns out, SMBs are now targeted by 70 percent of cyber attacks, making them especially vulnerable. At the same time, a majority of small business owners say they aren’t concerned about a potential attack in the next 12 months.To our friends in the SMB community, we want to offer a friendly nudge: You should prepare for anything, because an attack is something your growing business simply can’t afford. And improving your defenses can be +
3年前
記事のアイキャッチ画像
How the 1Password Security team evaluates new tools
1Password Blog
+The 1Password Security team is a crew of wonderful characters responsible for security, privacy, and compliance. We have three very high-level objectives:to keep customer data safeto keep company/employee data safeto keep the product safeAnd a lot of (slightly) smaller efforts go into meeting those larger goals. One important onging effort is the tool review, which is an in-depth analysis of a proposed app, tool, or service before it’s used internally. Today, I’ll explore why we chose the tool review method, how we perform our reviews, and share a few things we’ve learned along the way.Why we chose the tool review methodThe in-depth review process isn’t the only way to vet software. Some organizations submit a questionnaire to the developer, others choose their apps based upon reviews and industry recommendations. There’s also the blind faith approach (popular and not recommended).Back when 1Password was a small startup, we’d get excited to try the latest and greatest apps and services +
3年前
記事のアイキャッチ画像
Psst! Now you can securely share 1Password items with anyone
1Password Blog
+1Password customers can now securely share virtually anything in their 1Password vault with anyone – even if the recipient doesn’t use 1Password.Before I was Chief Product Officer at 1Password, I was a 1Password customer. Back then, I often shared items in my 1Password vault with friends and family who also use 1Password. I shared the Netflix login with my kids, I shared secure notes about doctor’s visits and grocery lists with my wife, and I shared all kinds of things with my colleagues to get our work done securely.But sharing with anyone who doesn’t use 1Password wasn’t as easy. What if my in-laws came to visit and needed the Wi-Fi password? (They’re not 1Password customers, but rest assured, I’m working on that.) What if I needed to share a login with a contractor for a temporary project at work?Sure, I could copy those items from my 1Password vault and paste them somewhere: in an email, in a chat message. Or I could screenshot and send it as an image. Of course, doing so dramatica +
3年前
記事のアイキャッチ画像
Making a difference this Thanksgiving
1Password Blog
+Whether you’re spending time with family around the dinner table or on a video call, Thanksgiving is a time to reconnect with the people who matter most.While it hasn’t been the easiest year, now is a good time to reflect on what we’re grateful for. For you, it might be reuniting with loved ones (in-person or virtually), being in good health, and even simple things like that perfect slice of pumpkin pie. It’s an opportunity for us all to give thanks, but also to give back to our communities.Since Thanksgiving comes early here in Canada 🇨🇦, we’re getting a head start on our efforts.🌽 Giving BackFrom now until November 25th, 1Password is donating $1 from every new 1Password Families sign-up to a few of our favourite causes:Second Harvest is creating an efficient food recovery network, reducing the environmental impact of food waste while ensuring that everyone ​​– regardless of their economic situation – is able to feed themselves and their family.United Way Centraide works across Can... +
3年前
記事のアイキャッチ画像
How to transfer crypto assets after you die
1Password Blog
+If you own any virtual currency, what will happen to it after you’ve passed away? Would your friends and family know what you owned? Or how to access the funds?If your answer to both of these questions is ‘no,’ consider creating a handover plan. Something your loved ones can follow without being crypto-experts or diving into unfamiliar message boards for assistance.Not sure where to begin? Just follow this guide.Hot or cold?First, understand what you’re trying to hand over. Cryptocurrencies are stored in one of two ways: hot or cold wallets. Many people hear the term ‘wallet’ and believe their funds are held inside, but that’s not the case. A cryptocurrency wallet simply contains the encryption keys required to access assets on a blockchain. It’s the blockchain — a digital ledger held by many people, rather than a single entity — that verifies every transaction and keeps track of who owns what.So if you want to give someone your assets, first figure out how to give them your keys. The +
3年前
記事のアイキャッチ画像
1Password and SSO - a perfect match
1Password Blog
+We’re often asked about single sign-on (SSO) solutions here at 1Password. We get questions like ‘Can we use 1Password and SSO?’ and ‘Why do we need 1Password if our organization uses SSO?’I’m about to cheat and answer (hopefully) every question at once: You absolutely can (and should) use 1Password alongside a single sign-on solution. Let’s start with a brief overview of the fundamentals.SSO, identity access management (IAM) solutions, and password managers are often conflated because they have similar high-level protocols: one login provides access to multiple accounts. While SSO and password managers aren’t the same — they aren’t mutually exclusive, either.SSO solutions allow users to authenticate with one username and password and use the same login session to access other websites and services. 1Password, at its core, is a password manager that allows users to securely store, fill, and share (if they choose) credentials, personal information, and documents.Now, let’s explore all th +
3年前
記事のアイキャッチ画像
Protect your privacy with 1Password and Fastmail
1Password Blog
+Last year, we made it easier to make secure payments online through direct integration with Privacy. Now, we’re doing the same for email. Announcing Masked Email – a 1Password and Fastmail integration. Create new, unique email addresses without ever leaving the sign-up page. Keep your real email address private from the apps or services that you sign up for – using a masked email address can protect you from breaches, and puts control of your inbox back in your hands.Taking control of your privacy and masking your email address is now as easy as generating a strong password.1Password and Fastmail – a privacy-focused partnershipAt 1Password, we believe your data should be kept private and protected from prying eyes. Our friends at Fastmail wholeheartedly agree that privacy matters, which is why we’re thrilled to integrate their privacy-focused email experience with 1Password.We’ve teamed up to create Masked Email, making it easier for you to separate your online identities and reclaim s +
3年前
記事のアイキャッチ画像
How strong should your account password be? Here's what we learned
1Password Blog
+It’s been a while since we ran our challenge, How strong should your Master Password be?, in which we gave out prizes to the first people who could figure out the passwords in carefully constructed challenges.The challenges were designed to simulate the threat to a user who has had their 1Password data stolen from their own machines (1Password data captured from our servers are protected by your Secret Key and so aren’t subject to this sort of attack). After paying out a total of $30,720 USD, we have a better picture.The short answer is that it costs the password cracker about $6 USD for every 2³² (4.3 billion) guesses of a 1Password account password. An attacker, on average, only needs to try half of all the possible passwords, and had we not provided hints, it would have cost the attackers $4,300 USD to crack the three-word passwords in our challenge.This figure of $6 USD per 2³² guesses allows us to calculate the cracking costs for any known password strength. Given that passwords c +
3年前
記事のアイキャッチ画像
Keeping you at the center of 1Password
1Password Blog
+At 1Password, we’re committed to a customer first, human-centered approach to inform our product roadmap and create award-winning experiences our users love.That commitment starts with a genuine curiosity about how and why people use our password manager. We need to understand our customers’ goals, needs and wants before we can improve the product and make a positive impact in their lives.When and how do people use 1Password? What problem is it solving for them? How can we make this experience better without making any compromises on our core values of security and privacy?To answer these questions we need research. User experience research.What is user experience research?User experience research is an essential part of any product development process. It involves making structured, deliberate efforts to understand current and potential customers and their experiences. Product teams use these insights to make smarter decisions and design solutions with customer needs in mind. This res +
3年前
記事のアイキャッチ画像
1Password for Safari is here for iOS 15, and it's life-changing
1Password Blog
+Everything you love about 1Password is now available in Safari on iPhone and iPad. And it’s as incredible as you could possibly imagine.Ever since we first released 1Password X for desktop web browsers, we’ve dreamed of bringing its power to iPhone and iPad. With today’s release of iOS 15, we’ve done just that! 😍You have immediate access to all of 1Password directly in Safari. Fill with a tap, search all items, generate Smart Passwords, or even view your favorite shortbread recipe. Having your entire digital life available directly within Safari is life-changing.And that’s just the beginning. We brought in-page suggestions over from the desktop as well.In-page suggestions allow you to access your items exactly where you need them. For sites that have complicated sign-in forms, we use our on-device machine learning to detect what’s happening and automatically fill the password for you.And if you use two-factor authentication, we automatically fill the codes, so you don’t need to copy t... +
3年前
記事のアイキャッチ画像
1Password named one of the top five large companies for remote workers by Quartz
1Password Blog
+1Password has been a remote company since we started more than 15 years ago. We’ve worked hard to build and maintain a remote culture, as we grew, that places value on a healthy work-life balance, transparent communication, and trust. That’s why we’re thrilled to announce that we’ve been included in Quartz’s Best Companies for Remote Workers 2021.Making remote work, workAt 1Password we’re big advocates of remote working – after all, it makes teams happier and more productive. But a distributed workforce comes with its own set of challenges, too – collaborating with more than 400 people across multiple time zones takes a lot of empathy, support, and trust.With so many people and projects to coordinate, communication is key. Open communication and transparent expectations are at the center of our remote work culture. Each team’s projects and workflows are tailored to the individual capabilities (and availability) of its employees.Employees can always engage with managers and each other o +
3年前
記事のアイキャッチ画像
Privacy and the future of email – an interview with Ricardo Signes of Fastmail
1Password Blog
+What does the future of email look like? How can you be a better digital citizen? And, why is online privacy so important? We answered all these questions and more when we sat down with Ricardo Signes, Chief Technology Officer at Fastmail – a privacy focused email service with no tracking and no ads. Check out the highlights below, or listen to the full interview with Ricardo on our podcast, Random but Memorable.Random But Memorable: Tell us a bit about Fastmail.Ricardo Signes: Fastmail – we provide email, contacts and calendar hosting. When someone asks me what we do I say we’re like hotmail, except our product is really, really good. We want the features that we build to make people feel good about using them – to make people enjoy the experience of reading their mail, writing their mail, and dealing with their calendar.RBM: What’s interesting about Fastmail is it’s a paid email service in a sea of free email providers – how is that received and how does that work?RS: I think it work +
3年前
記事のアイキャッチ画像
1Password 8: The Story So Far
1Password Blog
+Greetings everyone! With the recent launch of our Early Access preview of 1Password 8 on macOS I wanted to take a few minutes to pull back the curtain on this software development project that is over two years in the making. Before we get into that, though, I think a bit of backstory is warranted.1Password 7, 6, 5, 4…With a fifteen year history, 1Password has seen a lot of changes across all our supported platforms, but the way we’ve built our apps has largely been the same over those years. The very first version of 1Password was built by Dave and Roustem as a weekend project to help them with their day jobs of building websites. They got tired of manually filling in usernames, passwords, and contact information to test the sites they were building and figured they could build a tool to automate that. This weekend project quickly took over their day job and spawned a whole company and industry.The first version of 1Password was a Mac app with a small team of four dedicated to it. Whe +
3年前
記事のアイキャッチ画像
1Password 8 for Mac is now in Early Access! 🎉
1Password Blog
+Earlier this year we released our new Linux app and soon after opened early access to 1Password 8 for Windows. Now it’s time for Mac to join in on the fun! 🎊Mac has always held a special place in my heart. Roustem and I created the very first version of 1Password on our Mac PowerBooks way back in 2006. And our love has continued throughout our 15-year history. 🥰When we set out to create 1Password 8 we wanted to create a familiar, unified experience while staying true to what makes each platform special.With 1Password 8, we’ve done exactly that. 1Password 8 is our best Mac app to date and today we’re opening early access so you can get in on the fun.Welcome aboard the next generation of 1Password for Mac. 😍Let’s start at the top. Categories now sit atop your item list as a simple dropdown filter, giving the sidebar plenty of room to show all your vaults and their accounts.You’ll also notice an indicator next to each shared vault, making it easier to see which vaults are private and w... +
3年前
記事のアイキャッチ画像
Tech needs women: an interview with the women leading Fastmail
1Password Blog
+As we discovered in our Women in Tech panel earlier this year, it’s important to show women succeeding in male-dominated industries, like technology/security, and to talk about how men can help create space for others in the workplace. We’ve previously highlighted our women-led Security team and now want to continue sharing stories about women in leadership by introducing you to two leaders that are helping create space for women and non-binary people in the tech industry.We talked to Helen Horstmann-Allen (Chief Operating Officer) and Nicola Nye (Chief of Staff) of Fastmail, a privacy-friendly email provider, about their interest in privacy-focused technology, challenges they’ve encountered in the industry, and their advice for women and non-binary folks working in or thinking about joining the tech industry.What’s your role at Fastmail?Helen: I came to Fastmail in 2015, when they acquired my email forwarding company, Pobox. As the Chief Operating Officer, I work to bring the best ema +
3年前
記事のアイキャッチ画像
Security culture explained
1Password Blog
+If you’re reading this, and you don’t live under a rock, you know organizational security is important. But, these days, the term ‘organizational security’ means so much more than it has in the past. It’s not quite as simple as installing a highly-rated anti-virus solution on employees' computers and calling it a day.One can hire the best IT security people, purchase the most secure software, and procure the services with the safest and most private practices, and it’s still not enough. As we’ve learned, even high-profile organizations with every resource at their disposal aren’t immune to missteps.What that organization, and many organizations just like it, lack is a true culture of security.A what?A culture of security is the collective habits of employees who engage in security defences, and actively help protect an organization. When everyone on your team, from entry-level folks to your CFO, has an interest in the safety of operational data, you’ve created a security culture. As I +
4年前
記事のアイキャッチ画像
Investing in our future (again!)
1Password Blog
+I have some fantastic news to share. Today we’re announcing a new investment round in 1Password. Our current investor Accel led this round and a number of incredible folks including Ashton Kutcher’s Sound Ventures and top executives from Shopify, Slack, Squarespace, Google, Eventbrite, MessageBird and Atlassian also came on board.That’s a pretty awesome list of partners, but why would we take a second round when we are still profitable? Let’s take a little trip back in time to roughly two years ago to find out.Taking that first funding stepIt was the summer of 2019 and founders Dave, Sara, Roustem, Natalia and I were discussing whether or not we should partner with Accel and take our first ever funding round.1Password was successful, profitable and growing so we didn’t need the money. We also knew that we had something truly special and wanted to make sure we weren’t going to screw things up. At the same time 1Password needed to grow in order to help as many people as we wanted to, and +
4年前
記事のアイキャッチ画像
How to reclaim your privacy online
1Password Blog
+Have you ever been convinced that your devices are listening to what you’re saying? We’ve all been there. Despite popular belief, your gadgets aren’t eavesdropping – but they are tracking everything you’re doing online and creating a hyper-personalized mega profile that advertisers use for targeted marketing.Here are some of the easiest ways to reduce your digital footprint and take back control of your privacy online.Privacy vs security: What’s the difference?While privacy and security are often thought of as synonymous, or used interchangeably, there are actually distinct differences between the two. Security is about protecting your data from being accessed without your consent, whereas privacy is your ability to choose what information you share. Privacy is a bit like sending a message in an envelope versus a postcard that anyone can read. While security is like sending a message in a lockbox that no one else has the key to open.Privacy is almost always context-sensitive. If you’re +
4年前
記事のアイキャッチ画像
Together we’ve raised more than $75,000 for Let’s Encrypt
1Password Blog
+A month ago, we asked for your help in supporting Let’s Encrypt, the world’s largest certificate authority.And boy, did you deliver.In just 17 days, you raised more than $28,000. The total came from more than 600 donors based in 28 different countries. We’re going to match everyone’s donations, as promised, and throw in an extra $22,000, bringing the campaign’s grand total to $78,141.That makes it the most successful fundraising campaign in Let’s Encrypt’s history.From everyone at 1Password and Let’s Encrypt: thank you. None of this would have been possible without your incredible support and generosity.How your donations will make a differenceLet’s Encrypt relies entirely on charitable donations to operate. Your support ensures the team can continue to support website owners around the world by removing the cost and complexity associated with HTTPS encryption.When you visit a website like 1Password.com, you’ll see a padlock icon in the address bar, which represents HTTPS — Hypertext T +
4年前
記事のアイキャッチ画像
Introducing the 1Password Events API
1Password Blog
+Visibility is critical to security and IT teams. If they can’t see what’s going on, they can’t act. So today we’re giving security and IT greater data visibility with Events API, a public REST API for 1Password Business customers.In addition to the events that have always been available to admins, item usage and successful and failed sign-in attempts can now be routed to third-party platforms to create dashboards, alerts, and much more.With greater visibility, security and IT teams can now correlate 1Password events with other data sources to gain a deeper understanding of how workers are using 1Password.We’ve built the API with SOC (Security Operations Center) and SIEM (Security Information and Event Management) tools in mind – database tools which analyze and present time series event data with alerts, dashboards, visualization, and search. In fact, we’ve already created pre-built integrations with Splunk and Elastic (more on those in a minute).What can I do with Events API?With Even +
4年前
記事のアイキャッチ画像
1Password is ready for macOS Monterey
1Password Blog
+As a huge Apple fan I’m always looking forward to the next operating system updates, and Monterey is bringing some really cool new features. FaceTime calls for everyone (with spatial audio!), a spacious new design in Safari, Quick Notes, Universal Control, and more.As a huge 1Password fan and 1Password developer I’m always looking forward to the next operating system updates to make sure everyone’s favorite password manager runs as smoothly as possible there.Our track record is quite good with out-of-the-box compatibility for Apple’s latest OSes over the past decade. So how’d we do this year? Our team members have been running the developer prerelease versions of Monterey since WWDC and 1Password has been running wonderfully.The best part? You can get on the prerelease bandwagon right now! Apple has released a public beta of macOS Monterey ahead of its official release later this year.Installing a beta is always a tad risky. (If you’re not sure, we recommend holding off or installing i +
4年前
記事のアイキャッチ画像
Food allergies, brown M&Ms, and random passwords
1Password Blog
+Simple, well-tested protocols prevent disasters.Food allergiesMy daughter has a life-threatening food allergy, so eating out is always a little scary. Over the years, we have learned which restaurants are “safe” for her and which are not. Those restaurants that are safe for her have one thing in common – an established protocol for dealing with food allergies. The typical protocol is something along these lines:Inform the server of the food allergy and the specific allergen.The server informs the kitchen of the allergy.The manager makes the food or supervises the making of the food.Her food is brought out on a special plate or by the manager.Having a documented protocol allows us to enforce adherence to the protocol, and the simplicity of the protocol allows us to easily spot violations. As an example, one restaurant we visited frequently would plate all allergy orders on yellow plates instead of their usual white. If my daughter’s order came out on a white plate, we spoke to the manag +
4年前
記事のアイキャッチ画像
Finding a secure way to monitor the SCIM bridge
1Password Blog
+We know that many businesses use identity providers like Okta, Rippling and Azure Active Directory to control what their employees have access to. That’s why we built the 1Password SCIM bridge — a way to connect these services with our enterprise password manager. It streamlines common administrator tasks, such as setting up new employees with a 1Password account and granting them access to specific groups.To sync everything up, all of our customers that want to leverage automated provisioning deploy the SCIM bridge on one of their own servers. But that made us ask the question: what would happen if a SCIM bridge went down? Could we do more to help companies diagnose and fix the problem?To solve this issue, we decided to build health monitoring, a tool that administrators can use to quickly check on their SCIM bridge and narrow down any technical issues. We had a good idea of how this should work, but we’re in the password management business, not the server monitoring business. Buildi +
4年前
記事のアイキャッチ画像
Secrets management: the next big security threat for businesses
1Password Blog
+With the recent launch of 1Password Secrets Automation, we were eager to learn more about current habits and feelings related to secrets management – good, bad, and everything in between – to help illustrate the problem and the risks involved. We surveyed 500 businesses on the topic, and today we’re excited to share our findings in a new report.Today’s high-tech ecosystems involve thousands of vulnerable secrets, which are often spread out across multiple services with no visibility or auditability. To avoid a data breach, these need to be encrypted and delivered to machines and services safely; but as the report shows, there’s a long way to go. We’ve summarized some of the key takeaways below, or you can download the report to read the complete findings.Do you know where your secrets are?Around 80 percent of IT and DevOps teams are not managing their secrets properly – think API keys, tokens, and certificates. These secrets let a database admin access a database, an app access another +
4年前
記事のアイキャッチ画像
1Password is making the Juneteenth pledge
1Password Blog
+In summer 2020 a spotlight was placed on racial inequality and the institutionalized racism experienced daily by Black people around the world. The global Black Lives Matter protests highlighted just how important it is for people and organizations to raise their voices and take action with, and for, those who have been historically oppressed.Last year 1Password and its employees donated $85,214 to Black Lives Matter causes, including matching employee donations to help support causes important to our team. But while donations are important, we know there is so much more work to be done. As an individual, an employer, and a leader at a large organization it is my and others responsibility to help increase awareness around important issues that speak to our values.By taking the Juneteenth pledge we at 1Password are taking another step forward in our commitment to improving the lives of our employees, our communities, and society as a whole.The Juneteenth pledgeLast year was the first ti +
4年前
記事のアイキャッチ画像
1Password 8 for Windows is now in Early Access! 🎉
1Password Blog
+We’re on a journey to reimagine everything 1Password can be on Windows. And you’re invited to join us!It seems like just yesterday I unveiled 1Password 7 for Windows. At the time I said every bit and every pixel had been recreated from scratch to make 1Password the best it could be. It was a tremendously successful release.Fast forward 3 years to today and I’m excited to reveal that we’re doing it all over again. We’re gearing up for all-new 1Password apps on every platform. Each one will be better and faster, and each will push the envelope for what you’ve come to expect from 1Password.Today we’re opening early access for the next generation of 1Password for Windows. And it’s gorgeous! 😍Next level designOur designers and user experience specialists never stop iterating, polishing, and reimagining how 1Password can best help you get your work done.For the next 1Password for Windows we’re applying every lesson we learned to create a delightful experience. And a delightful experience is... +
4年前
記事のアイキャッチ画像
Supporting Let’s Encrypt, the nonprofit making HTTPS free for all
1Password Blog
+Today, we’re thrilled to be partnering with Let’s Encrypt, the world’s largest certificate authority. Part of the nonprofit Internet Security Research Group (ISRG), the team supports website owners by removing the cost and complexity normally associated with enabling HTTPS encryption. That, in turn, helps the web become a more secure and privacy-respecting place for everyone.We want Let’s Encrypt to continue this important work. That’s why we’re teaming up and supporting the nonprofit’s annual summer fundraising campaign. We’ll be matching the next $50,000 in supporter donations this month, and giving $20 1Password gift cards to the first 500 people who donate $50 or more. You can donate here to get involved and help eliminate weak, insecure website connections for good.How Let’s Encrypt makes the world a safer placeIf you open a new tab and navigate to 1Password.com, you’ll notice a padlock icon in the address bar. Click on that symbol or the URL, and you’ll see the acronym “HTTPS.” T +
4年前
記事のアイキャッチ画像
WWDC21: Virtual Conference, Redux
1Password Blog
+Apple’s second fully-remote Worldwide Developer Conference kicked off this week and, as always, our Apple development and design teams have been excitedly studying the documentation and sessions all week.For the last year and change, Apple has been perfecting the art of transforming their typical in-person keynotes into highly polished tours through their incredible campus and the future of software on their platform. Even though we’re all at home, Apple still manages to reach through the screen and pull us into the excitement and the possibilities that make WWDC one of our favorite developer events of the year.One of my most-loved things about WWDC is how we challenge ourselves to see just how quickly we can take the new technologies Apple is touting and apply them to 1Password. This year was no different. In fact, you may have already seen some of what our amazing Browser Experience team was able to do by the end of the day on Monday.Safari Web Extensions on iOS and iPadOSI’ll be hon +
4年前
記事のアイキャッチ画像
How ignoring the PoLP and password123 can cost you $4.4 million
1Password Blog
+If you’ve heard the news in the last month or so, I’m sure you know about the Colonial pipeline cyber attack that took place at the end of April. If you’ve not heard about this, I’ll summarize the story.On April 29, 2021, hackers gained access to the network of the largest fuel pipeline in the United States. The attack led to a ransom payment of $4.4 million and fuel shortages throughout the east coasts of the US and Canada.I work in cybersecurity so I understand the risks we face in this digital world. But when an organization of this scale is thwarted by the smallest security gap, I still think, “How does that happen?”On a purely technical level, I can tell you. The attackers - believed to be members of an infamous cybercrime group - hacked into the network through a Virtual Private Network (VPN). The VPN account that acted as the gateway for the attack wasn’t in use at the time, but it was still active (we’ll get to that in a minute).The password was the other problem. It was later +
4年前
記事のアイキャッチ画像
Static analysis and constant time comparisons
1Password Blog
+At 1Password, we regularly hire outside experts to check our source code and look for security vulnerabilities. A recent penetration test by Cure53 identified a case where the 1Password server wasn’t using a constant-time comparison when it should. The fix, while trivial, created an interesting challenge for us: How can we confidently say that we don’t have this issue elsewhere?This is the first in a series of new developer-written posts on our blog about Building 1Password, a behind-the-scenes look at what goes into making the app. You can expect these to be technical, nerdy, and frankly… not nearly as polished as what our crack marketing and content teams put out.What are we trying to solve?Before we get to the solution, let’s talk about the problem. It’s recommended that security-sensitive comparisons be done in a constant-time manner. In this case, the comparison was a token string that is sent to the user via email. The recipient uses this to effectively prove they received the em +
4年前
記事のアイキャッチ画像
Big changes to 1Password in the browser: biometric unlock, dark mode, and a new save experience
1Password Blog
+The browser experience has been the core of 1Password since the very beginning. We’re constantly rolling out improvements, and today I’m happy to announce some huge updates that take things to the next level. 🎉Touch ID, Windows Hello, and biometric unlock 👉💻Our #1 requested feature has been Touch ID & Windows Hello support. Now, if 1Password is locked and you have the desktop app installed, you can use biometric authentication to unlock faster than ever!No matter your flavor—Touch ID, Windows Hello, or biometrics on Linux—you can now enjoy passwordless unlocking for 1Password in the browser. Yet another example of how apps help make the browser experience better.Dark mode 🌒If you stay up into the wee hours of the night like I do, you likely favor websites and apps that do dark mode well. This update brings full support for dark mode to 1Password in the browser—and it’s never looked better.And the pop-up isn’t the only piece that looks great in shades; our on-page suggestions also l... +
4年前
記事のアイキャッチ画像
Welcoming Linux to the 1Password Family
1Password Blog
+The wait is over. 1Password for Linux is officially here.Linux support is far and away our most requested feature. Bringing the world’s most loved password manager to such a passionate community – and building on the incredible work of the open source community – is both humbling and exciting for all of us at 1Password.So today we’re rolling out the red carpet for our Linux friends. 🤗I know many of you have been using 1Password in your browser to generate and store strong, unique passwords for a long time. And we’re proud of how well that works. But nothing beats a full-featured desktop app that takes advantage of everything the operating system has to offer, especially if it can make the browser experience itself better (spoiler alert: it does).Let’s take a walk up the red carpet and see what awaits us.Loaded with goodiesWe believe that native apps with deep integration create a better experience, so 1Password for Linux will feel right at home on your desktop, whichever flavor of Lin... +
4年前
記事のアイキャッチ画像
Digital estate planning: How to share digital accounts safely
1Password Blog
+We’re all familiar with wills. But have you considered your digital estate? By that, we mean all of your personal data, including any service that you log into online. Many people don’t realize they need a handover plan, which can create complications for their loved ones when they pass away.If you want to avoid any legal and technological headaches, follow this beginner’s guide, which we created in partnership with estate-planning expert Trust & Will. “By creating a digital estate plan, you are protecting your online assets from risks like identity theft, hacking, and fraud,” Patrick Hicks, Head of Legal at Trust & Will explained.What is digital estate planning?Digital estate planning is like traditional estate planning – but focused on everything that makes up your digital life. The process involves taking stock of your assets, including online accounts, cryptocurrencies, and data stored on personal devices, hard drives, and cloud-based services. The next step is to make arrangements +
4年前
記事のアイキャッチ画像
Secure your medical record with 1Password
1Password Blog
+At 1Password, we’ve always worked hard to help you secure your digital life. You can use our password manager to safely store and access logins, passwords, company credit cards, email addresses, and other identity information.It’s also a great place to keep copies of important documents – everything from birth certificates to real estate records – the list is endless.And today, that list got a little bit longer with the addition of a brand new item type with distinct fields to help you store and track health-related information. Introducing the Medical Record, available to all 1Password subscribers.Add a title, date, practitioner’s name, and anything else you want to save. We’ve included some default data suggestions and, like other 1Password item types, you can add custom fields and remove others as you see fit. It’s all incredibly flexible and practical – and that was the goal.New features and item types aren’t born out of think-tank brainstorm sessions in far-away company offices. W +
4年前
記事のアイキャッチ画像
Why World Password Day is more relevant than ever
1Password Blog
+Cybercrime is on the rise, businesses have become the number one target, and data breaches are costing companies millions. With most breaches caused by weak, reused, or stolen credentials, it’s time to talk about your passwords.Times have changed, passwords haven’tBusinesses have relied on passwords for more than 70 years. Back then, and until the rise of enterprise software, there was little need for long, complex passwords. A pet’s name or a spouse’s birthday worked just fine. Fast forward a few decades, and it’s a different story. An estimated 81% of data breaches are now caused by compromised credentials.If data wasn’t valuable, hackers wouldn’t hack itThe prevalence of cookies, trackers, and other data collection tools has boosted the volume and value of a company’s data assets. Even the smallest company has something to lose from a breach, the most precious being its reputation as a trusted place to do business. And without trust, sales suffer, customers leave, and market shares +
4年前
記事のアイキャッチ画像
Hello from SecretHub
1Password Blog
+By now, you’ve heard the news. SecretHub, the company I founded in 2014, is joining 1Password. I’ve shared my thoughts and next steps with SecretHub customers – without whom I wouldn’t be here – but today I want to address you, 1Password customers.I’ll start by saying this:Boy, it’s good to be here. Let me tell you why.The SecretHub storyThe first product we built at SecretHub was a secure, end-to-end encrypted file syncing service. While working on that application, we ran into an interesting problem.Like everyone else, we were deploying more frequently than ever before, sometimes multiple times a day. And like every cloud application, our software needed a handful of credentials to access a database and a few APIs. But where to put those credentials?We had two options. We could put the secrets in our code (or somewhere else where they would be visible to a number of people) but that would leave them exposed. Or we could restrict access to one person (me) and manually input the creden +
4年前
記事のアイキャッチ画像
Introducing 1Password Secrets Automation
1Password Blog
+Secure, orchestrate, and manage your company’s infrastructure secrets with 1Password Secrets Automation.Today is a big day at 1Password. Today, we’re launching 1Password Secrets Automation, a new way to secure, orchestrate, and manage your company’s infrastructure secrets. With the addition of Secrets Automation, 1Password can now protect all of your company’s secrets in one place.Passwords and infrastructure secrets, all in one placeSince 2005, 1Password has been keeping secrets safe for humans like you and me: our passwords, our credit cards, our personal documents.Machines have secrets, too. These secrets give humans and machines access to other machines. They’re how a database admin accesses a database, or an app accesses another app. Secrets are the lifeblood of the growing organism that is your infrastructure.And that organism is growing faster than anyone could’ve predicted. Every company is now, to some degree, a technology company. We’re all shipping software at an incredible +
4年前
記事のアイキャッチ画像
Introducing automated provisioning 2.0, featuring improved management and enhanced monitoring
1Password Blog
+It’s now easier than ever to secure your employees at scale with our powerful new updates to automated provisioning in 1Password. We’ve redesigned the user experience to be more straightforward to navigate from initial setup to managing existing deployments.The SCIM bridge automates provisioning by securely connecting 1Password to your identity provider. 1Password integrates with Azure Active Directory, Okta, Rippling, and OneLogin, allowing you to fold the management of your 1Password account into your existing workflows, using the systems you already trust.Once set up, you can use your identity provider to deploy 1Password, invite employees, grant them access to groups, and deprovision them when they leave.With the latest updates, administrators gain access to an assortment of new features and refinements including a streamlined setup flow, improved user interface, health monitoring, expanded security options, and better Let’s Encrypt support.Together, these updates further improve t +
4年前
記事のアイキャッチ画像
Introducing the “Save in 1Password” button in partnership with Ramp
1Password Blog
+We’re thrilled to be partnering with Ramp, a corporate card and spend management platform, for the initial rollout of the “Save in 1Password” button.The new “Save in 1Password” button makes it easier than ever to save payment cards and other details in 1Password.What is it?Starting today, Ramp customers will see the “Save in 1Password” button when they sign into their Ramp dashboard.If they have 1Password installed, when they click the button, 1Password will offer to save their payment card details and, from then on, 1Password will automatically surface those payment card details whenever an online purchase is made.Launching with RampRamp offers corporate cards and spend management tools to help mid-sized companies accelerate growth without compromising on their finances.If you’re a Ramp customer, the “Save in 1Password” button will let you quickly add your card details to 1Password so they’re at your fingertips the next time you’re making an important business purchase. And, of course +
4年前
記事のアイキャッチ画像
Privacy: one more reason to switch your business to 1Password
1Password Blog
+We know there are several password managers to choose from. They all have different names but promise to do the same thing: protect your employees’ accounts with complex, hard to guess passwords. So why choose 1Password for your business? There are many reasons, but the most important is our promise to prioritize your privacy over everything else.Encryption you can rely onWe have many protections in place to stop would-be attackers from accessing our servers. (It’s no coincidence that we’ve never been hacked!) And even if a thief somehow slipped through, they would only have access to reams of scrambled information. That’s because 1Password uses end-to-encryption to safeguard everything that your team has in their accounts. Unless the hacker had access to everyone’s decryption keys, the data would be worthless.Every team member’s decryption key comes in two parts. There’s a Master Password, which you need to remember to access your account, and a Secret Key. The latter is a long series +
4年前
記事のアイキャッチ画像
Tech needs women: an interview with the women leading security at 1Password
1Password Blog
+On International Women’s Day, we shared highlights from our recent Women in Tech panel, where women at 1Password discussed the obstacles faced by women and non-binary people in the tech industry. One of the issues raised during the panel was how important it is for women working in male-dominated spaces to see other women succeeding. With that in mind, we wanted to highlight and celebrate our women-led Security team.We spoke to Harlie Hardage (Security Training Coordinator), Pilar García (Privacy Officer), and Rainbow (Incident Response Manager) about their paths into the industry, the challenges they’ve faced, and their advice for women and non-binary folks considering a career in privacy and security.What’s your role in the Security team?Harlie: I coordinate our internal security training initiatives, so I spend a lot of time talking to other teams, as well as developing and leading training sessions.Pilar: My area is privacy and compliance. I talk to people in different areas of the +
4年前
記事のアイキャッチ画像
A smart(er) password generator
1Password Blog
+We’ve been told what makes a strong password for years. The rules are indelibly etched in our minds: Make ‘em long, and make ‘em random. The more difficult a password is to guess, the harder it is to crack.That’s true. But there’s more to it.Our password generator has created an incalculable number of long, random passwords since 2006. It’s gone through a few iterations in that time, but it’s been dubbed the Strong Password Generator for about 14 years. Because, well, that’s what it is, and who needs flashy nomenclature?But it’s 2021; it’s time for a change, and I’m excited to announce the Smart Password Generator.Still strong. So much smarter.One smart cookieI spoke with Client Apps Product Lead, Mitchell Cohen (also a smart cookie), about how the Smart Password Generator (SPG) earned its name.Mitch first walked me through a user interface (UI) that’s clean and simple.The UI is sparse because you don’t really need it. And therein lies the beauty. Elsewhere lies the brain.The (aptly na +
4年前
記事のアイキャッチ画像
Tech needs women: how the industry can create a space for them to thrive
1Password Blog
+Being a woman in tech means navigating an industry that is difficult to enter, and even more difficult to advance in. It means facing the gender pay gap, challenging systematic bias, and even dealing with harassment – amongst other challenges.We want to get real this International Women’s Day and talk about what everyone can do to help women overcome the obstacles they continue to face in tech.During AGConf this year, our annual company conference, we hosted a Women in Tech panel with seven women leaders at 1Password – Jeannie De Guzman (Chief Financial Officer), Rachel Yarnold (Director of Marketing Campaigns), Meena Lakhanpal (General Counsel), Lynette Kontny (Senior Manager of Customer Success), Mary Sison (Director of Finance), Sasha VanHoven (Staff UX Writer), and Youri Wims (Senior Web Developer).These women shared stories of challenges they’ve faced, how they’ve managed to thrive in the tech industry, and what they think could make the most significant differences for the future +
4年前
記事のアイキャッチ画像
Received a data breach notification in 1Password? Take these 5 steps
1Password Blog
+News of a data breach is stressful, to say the least. You may be thrown into a panic, wondering:Is my sensitive data safe?How much of my information was stolen?What am I actually supposed to do next?Thankfully, 1Password has your back. Let’s break down what a data breach actually is, and walk through five simple steps you can take to secure your data in the event of a breach.What is a data breach?A data breach is when someone with malicious intent gains access to sensitive data, such as financial information or social security numbers, without the owner’s permission. This information may be sold on the dark web, held under ransom for payment, or leaked to the public.How to protect your data in the event of a breachHere are five steps that you can take right now to protect your data in the event of a breach.1. Check Watchtower for data breach reportingWatchtower is built right into 1Password. The data breach monitoring tool informs you about security breaches on the websites you use alo +
4年前
記事のアイキャッチ画像
Transparency, privacy, support: becoming the world's most trusted password manager
1Password Blog
+At 1Password we’re committed to transparency, customer privacy, and support. But becoming the world’s most trusted password manager didn’t happen overnight, and it didn’t come for free. 1Password memberships help power this machine at the highest level, keeping customers safe and satisfied across the globe.If you’re considering using a password manager for the first time or making the switch to 1Password, here are a few reasons why the small membership cost goes a long way.Privacy and transparencySince day one, we’ve placed customer trust at the forefront, a commitment that extends from our data privacy protocols to our hundreds of support interactions every day.With any membership you’ll get everything 1Password has to offer, with no hidden details or surprise fees. This includes expert-tested data encryption developed on top of open standards. You can read all about how we keep your online secrets secure, while never having personal access to your passwords or other info you store in +
4年前
記事のアイキャッチ画像
Fall in love with 1Password Families
1Password Blog
+Even if you’re not a fan of all the mushy stuff, Valentine’s Day might still get you in the mood to think about those important relationship milestones.Making things exclusive, getting a drawer at their place, moving in – these are all important steps in a relationship. But one milestone rarely mentioned – perhaps so commonplace it often goes unnoticed – is sharing passwords with your significant other.Okay, so giving someone your Netflix login doesn’t sound that romantic. But while it may not sweep them off their feet, it’s a big sign of trust. Whether you’re married, living together, or you’ve just reached the password sharing stage, if you’ve been flirting with the idea of 1Password Families, it’s time to make your move.Not sure you’re totally ready to commit? You can share only the logins and information you’re comfortable with while keeping everything else private. Even better: 1Password Families is cheaper than two separate accounts while still letting you maintain any boundaries +
4年前
記事のアイキャッチ画像
Sharing passwords with a partner: here's what the research says
1Password Blog
+Last year we published a report looking at the state of online security and password habits in the home. Today we’re publishing the second half of that research in a new report that focuses on password sharing in relationships and the online security habits of romantic partners.How dating and relationships factor into the online security equation is interesting to say the least. If you want to dive right in, you can download the report – but I wanted to share some of the most interesting findings here.Trust and personal comfortAs with anything, we all have different philosophies on this topic. Your comfort with sharing private details is your own, and we’re not here to judge. The findings in our report show the range of habits and opinions here, at the intersection of online privacy and romance.According to our survey, 25 percent of people won’t share their smartphone password with a partner until they get married. While not insignificant, that tells us the majority are still trusting +
4年前
記事のアイキャッチ画像
It's easy to move to 1Password Families
1Password Blog
+Upgrading your 1Password membership to 1Password Families lets you securely share passwords and documents with family members – no matter where they are. It’s also a great way to encourage your family to adopt better digital security habits.Whether you’re in a relationship or looking to help secure your parents, siblings, or kids, there are plenty of benefits to upgrading to a 1Password Families membership.The benefits of 1Password Families1Password Families is a budget-friendly way to protect your whole family. For less than the cost of two individual memberships, you’ll be able to add five family members to 1Password Families – and if you need to, you can invite more family members for one dollar a month. Upgrading to 1Password Families is a great way to save money while protecting your family.Don’t worry if you’ve got accounts and passwords you’d rather keep to yourself, as each family member has their own private vault where they can tuck away anything they want to keep separate fr +
4年前
記事のアイキャッチ画像
1Password wins a G2 Best Software award
1Password Blog
+1Password has been named one of G2’s Best Software Products of 2021 and is the only password manager to appear on the list. That seems as good a reason as any to share a brief recap of some highlights from the last 12 months.In 2020, in an effort to slow the spread of coronavirus, many businesses made the shift to remote or hybrid work. This unexpected transition left many businesses scrambling to adjust to new ways of working.We responded to the COVID-19 pandemic by offering businesses 1Password free for 6 months, sharing our experience around hybrid work and security, and helping businesses adjust to the changing nature of the workplace.Though 2020 posed challenges for 1Password – as it has for many – in some ways it’s been a great year for us. The number of businesses using 1Password grew to over 75,000, as more companies shifted to hybrid work and began looking for a secure way to share information and passwords outside of a physical workspace.With plans for both small teams and en +
4年前
記事のアイキャッチ画像
COMB data breach: what it means, and how to protect yourself
1Password Blog
+In the Compilation of Many Breaches (COMB), more than 3 billion unique sets of login credentials have been shared online in what some say is the largest data breach of all time.Though it seems that no new login information has been exposed, the compilation and sharing of so much data significantly increases the risk that previously exposed credentials could be used to gain access to online accounts – particularly where passwords have been reused.With an event of this magnitude, it’s crucial to stay informed and take steps to prevent your online accounts being compromised, whether at home or at work. In a nutshell, that means changing affected passwords ASAP. We’re here to help.What is the COMB data breach?COMB is made up of compromised email and password combinations exposed by around 252 previous breaches, including from major sites like Netflix and LinkedIn. It’s the largest incident of its kind on record – far exceeding the 2019 Collection #1 data breach.This mammoth compilation of +
4年前
記事のアイキャッチ画像
Protect yourself from identity fraud scams
1Password Blog
+Identity fraud has become a growing problem as more people work, socialize, and shop online. Unsurprisingly, having your identity stolen has a significant impact on your financial and mental health, and it can take years to recover. And unfortunately, identity theft, credit card fraud, and having your bank accounts compromised are only the tip of the iceberg.ContentsEmerging scamsPandemic-centric identity fraudEarly signs of identity theftPrevent fraudIn April last year, Google reported that nearly one-fifth of all phishing scams were related to coronavirus. Based on previous trends, especially given the effects of the pandemic, we can expect another increase in identity fraud scams in 2021. As scams evolve, it’s important to learn how to spot them so you can protect yourself from these kinds of attacks.Emerging scamsWhen lockdowns started in March, banking online became a new reality for many, and online shopping increased exponentially. Technologies like Zoom, HouseParty, TikTok, and +
4年前
記事のアイキャッチ画像
1 in 5 corporate passwords include the company name. You need a password manager
1Password Blog
+If you keep an eye on security headlines, you may have seen the news that up to one in five work passwords include the company name.This is according to new research by data protection specialists Acronis, which also suggests that around 80 percent of companies don’t have an established password policy. Both stats are concerning from the point of view of businesses’ online security – but they are trivial to fix if you use an enterprise password manager.The problem with non-random passwordsPeople use the name of the company they work for as part of their password to make it memorable. When people are forced to remember passwords, especially those that they need to change regularly, it carries the unintended consequence of making passwords less secure.People rotate through minor variations of the same base password, such as using their company name with a few extra characters on the end, to check off password policy requirements while still being able to remember their password.The probl +
4年前
記事のアイキャッチ画像
There’s an app for that: why we built the 1Password apps
1Password Blog
+Right now at 1Password, we’re in the process of a large-scale development effort focused on the apps that our customers use every day on macOS, iOS, Windows, Android, and in the browser.We kicked off this effort with the addition of a new platform where we’ve never had a desktop app before: Linux. At the genesis of this project we had a lot of internal discussions about programming languages, tech stacks, toolkits, and more. However, one thing we never disagreed on was our commitment to continue building great apps.We’ve been developing native apps since 2004 so we understand the value they bring to our customers – things like offline access, deep integration with system features, and the ability to manage more than passwords. With every new platform we support, we strive to deliver an experience that feels like the 1Password you know and love, but also feels right at home on the platform you’re using.Your passwords, right where you need themIf you’re a 1Password customer there’s a goo +
4年前
記事のアイキャッチ画像
Set yourself up for security success in 2021
1Password Blog
+2020 is over – we can finally say it out loud. While we may not be able to put everything behind us, there are a few things we can pack up and wave a cheery goodbye to. The first one that comes to mind? Bad online security.While it might not be the most obvious new year’s resolution, scrubbing up online habits can be a little more exciting than ushering in a reduced Netflix schedule.Internet use changed dramatically over the past year, as companies moved to hybrid work and families opted for virtual gatherings. This shift in online activity comes with an increase in vulnerabilities due to careless online habits, like weak passwords and reusing the same password for multiple accounts (hint: Changing the number at the end just isn’t good enough).The good news is that, with a few simple changes, you can set yourself up for security success this year.Start with emailThink of your email as the gateway to each of your other accounts. That said, it’s a logical first step when buttoning up you +
4年前
記事のアイキャッチ画像
+The family password paradigm
1Password Blog
+Today we’re publishing a new report which has some great insights into the state of online security, password use, and password sharing in the home.It’s a must-read for anyone interested in improving their family’s online security, or with a professional interest in consumer-level security. Please feel free to download the report right away, but I did also want to take a moment to share a few highlights and thoughts.A brighter, more secure futureKicking off on a note of optimism, I’m personally delighted to see that, according to our survey, 40% of parents talk about online security with their preschool children. Yes, that number could be higher, but it still amounts to a huge number of parents talking about online safety with young children. The idea that 40% of little ones are budding security and privacy advocates is very heartening indeed.Points of concernPerhaps inevitably, though, points of concern do arise – particularly when we dig into the areas of password use and password sh +
4年前
記事のアイキャッチ画像
What we (don't) know about you
1Password Blog
4年前
記事のアイキャッチ画像
+Deploy 1Password across Slack Enterprise Grid
1Password Blog
+We’re excited to announce that it’s now easier than ever for Slack Enterprise Grid admins to initiate an org-wide deployment of 1Password Slack app across all of their workspaces. You’ll be able to manage and monitor how your team uses 1Password, and a variety of other apps, in one place – saving you time and focus.If your team is already using 1Password and Slack and you want to know how org-wide deployment of 1Password through Slack makes your work easier, check out the benefits of this top-down deployment approach below.Secure employees at scaleThe 1Password Slack app lets you monitor important actions your team takes in 1Password and is one of the simplest ways to roll out 1Password across your business. You can invite an entire workspace at once, invite team members in a specific channel or group, or send a direct message to anyone who hasn’t already joined your team. Using the 1Password Slack app, Admins can see who has been invited and their status.As you know, employees are mor +
4年前
記事のアイキャッチ画像
1Password on Apple Silicon
1Password Blog
+My new 13” MacBook Pro arrived on Friday and the first thing I did was install 1Password to see how things perform on the new M1 chip.The current official release of 1Password was built to target an Intel x86 architecture so Big Sur prompted me to install Rosetta to translate things to run on Apple Silicon.My heart sank a little as hardware emulation is often slow. Upon launching, however, I was surprised to find 1Password launched as fast as ever. This was an incredible delight for sure. Apple really hit the mark here and the developer in me is very thankful they made this transition so smooth.Of course I wanted to enjoy all the power of this new M1 chip so I tried our new beta release which comes as a universal binary. This means it includes both Intel and Apple Silicon instruction sets, allowing macOS to choose the best for the machine it’s running on.This is where things really heated up. 1Password built for Apple Silicon running on the M1 is incredibly fast! 🏎🔥1Password launches... +
4年前
記事のアイキャッチ画像
Ready for Big Sur: Introducing 1Password 7.7 for Mac
1Password Blog
+Hot on the heels of Apple’s release of macOS Big Sur, 1Password 7.7 for Mac brings a host of new features, including support for Apple Watch Unlock.Big Sur is here, and we’re celebrating with a slew of new features that highlight the technological advances that power Apple’s newest operating system.Let’s start with my favorite new way to unlock 1Password.Unlock with Apple WatchOne of our most highly requested features, Apple Watch can now unlock 1Password on any Mac with a Secure Enclave. If you’re using macOS 10.15 or later and using the latest devices, you’ll now see an option in 1Password preferences to turn on Unlock with Apple Watch alongside the Touch ID option.After you set it up, you’ll get a notification on your Apple Watch any time you open 1Password in macOS. Double click to unlock, and you’re in.I can’t tell you how handy this has been for me – especially when I’m using my MacBook with an external keyboard and trackpad. Now I don’t have to reach across my desk to get to the +
4年前
記事のアイキャッチ画像
Best bits: highlights from 50 episodes of Random but Memorable
1Password Blog
+How do we like our passwords? Just like our podcast: Random but Memorable. We recently hit a huge milestone, recording our 50th episode! That means our fans and listeners have tuned in for 1604 minutes worth of security advice and banter from 1Password and guests. That’s like watching The Lord of the Rings trilogy three times on repeat!Along the way, we’ve been fortunate enough to interview some of the leading voices in the security space. We’ve climbed up a mountain of data breaches with Troy Hunt, navigated the wild west of surveillance with Ann Cavoukian, and dived into the pool of private browsing with Daniel Davis from DuckDuckGo. We’ve also dished out a healthy dose of 1Password tips and tricks to keep your hunger for security satiated along the way.I’m in the mood to celebrate, so whether you’ve never tuned in before or you just want to relive the highlights, here are my favourite Random but Memorable memories.Password Cracking Hacking Spree with Mike PoundI love this episode. Y +
4年前
記事のアイキャッチ画像
Ghosts of passwords past: When old accounts come back to haunt you
1Password Blog
+If you’re reading this, you probably take your online security seriously – but was your past self as diligent? Most of us have been guilty at some point of reusing passwords or not making our passwords strong enough. But if you haven’t corrected those mistakes, your past just may come back to haunt you.We’re going to help you clear out those virtual cobwebs and set you up to defend against any ghosts that may be trying to haunt your old accounts.Here’s what you need to watch out for, and how to make sure all your accounts belong to the land of the living.Ghost accountsThe Internet moves fast, and in our enthusiasm to try the latest and greatest, we often leave old sites behind. You might not ever have intended to “quit” Myspace or Ello exactly; you probably visited less and less over time, until it had been months, then years, since your last sign-in. Dormant accounts like these never really go anywhere – and they can come back to haunt you in a data breach.Abandoned accounts are still +
4年前
記事のアイキャッチ画像
Troy Hunt partners with 1Password as Strategic Adviser
1Password Blog
+I’m excited to announce that Troy Hunt will be joining the 1Password advisory board. He’ll be helping us support businesses that have been affected by data breaches and continue our work building the world’s most trusted password manager.A natural next stepMany of you will already be familiar with Troy and his work: he’s a key voice in the security industry and the founder of Have I Been Pwned (HIBP), a free service that allows anyone to check if their accounts have been compromised in a data breach.We’ve been collaborating for a number of years already and this feels like the natural progression of our existing partnership. Troy’s been writing about 1Password since 2011 and has already introduced millions of people to better password security.In 2018, we partnered with Troy to bring the power of HIBP to Watchtower. For the first time ever, this meant people had both the knowledge of being affected by a data breach and the tools they needed to protect themselves. Over the last two year +
4年前
記事のアイキャッチ画像
Domain breach reports: More power to protect your data
1Password Blog
+In June, we released domain breach reports to help businesses guard against data breaches. Today, we’re excited to share some powerful new features that make it easier to quickly identify threats and notify employees so they can secure their accounts immediately – even if they’re not using 1Password.Guard against external breachesMost hacking attacks are relatively straight-forward. More than 80% involve lost or stolen credentials, or use brute force – guessing different combinations of characters to crack a password.With as many as 65% of people reusing passwords for their accounts, it only takes one leaked password to open the door to others – including some you may not have visibility of.The best way to defend against these types of attacks is to act fast: identify the breach and update exposed passwords to strong, unique alternatives.Notify everyone affected in a few clicksNow you can send a customizable email notification to everyone who has been affected by a breach, including th +
4年前
記事のアイキャッチ画像
Randomness (or things humans do poorly)
1Password Blog
+Our Chief of Security (AKA Chief Defender Against the Dark Arts), Jeffrey Goldberg, wrote a fascinating article back in 2012 that ended with this:1Password, like pretty much all cryptographic software, needs cryptographically secure random numbers to do its stuff securely. What it means for a number to be cryptographically secure, why 1Password needs such numbers, and where it gets those from will be the subject of a future article.It’s been eight years, and I’m here to make good on that pledge with said article. Good things come to those who wait and all that, right? I won’t make any promises that what you’re about to read will be a “good thing” but let’s shoot for the stars.That’s (not) so randomAs I’ve alluded to with the title of this post, humans are notoriously terrible at creating randomness.For example, if I ask you to choose a number between 1 and 10, statistics show about 30% of you will choose 7. There’s an excellent chance everyone will choose an integer, and not something +
4年前
記事のアイキャッチ画像
1Password for Linux beta is now open 🎊 🐧 🎊
1Password Blog
+Buckle up Linux Desktop users! We just opened an awesome ride that we’d love for you to join us on. 🎢 🙌🏼I’m super excited to announce our first beta release of 1Password for Linux. That’s right – we now have a full-featured desktop app for Linux which you can use to quickly find, edit, and organize your items! And it looks gorgeous, too! 😍Planned for official release early next year, we couldn’t wait to share the news with you so today we’re unveiling a beta so you can join in on the fun.A true Linux appOur new app is built to meet the security and performance expectations of Linux users. Its backend is written completely in Rust, a secure systems programming language that has made a lot of waves in the Linux community. We’re especially proud to be using the incredible ring crypto library to power the end-to-end encryption that keeps your data safe.We used this new foundation to bring you the 1Password experience you know and love to Linux and extended it further with:Quick Find an... +
4年前
記事のアイキャッチ画像
From the Founders’ Desk: Finding our centre this Thanksgiving
1Password Blog
+Breathe in, two, three, four. Hold it for two, three, four. Now breathe out, two, three, four, five, six. One more big breath in, and exhale, all the way to your toes.It’s amazing how something that seems so silly – counting your breath – can help to pull you into a completely different mindset. By taking that minute to count and concentrate, you can focus on something that is completely you and under your control.You might be wondering why any of this matters to us here at 1Password. Are we about to add a “count my breath” feature to the world’s best password manager? Although we’re always looking for great ways to bring security and convenience together, that’s not on the roadmap. 😂As we enter that season where we’re usually reflective, during a year when we all have more to reflect on than ever, I want to talk a little about the importance of finding that centre when you need it most, and how we’re helping our team do that at 1Password.Make self-care a priority, seriouslyAs we’re a... +
4年前
記事のアイキャッチ画像
Security questions: How to create and store random answers in 1Password
1Password Blog
+Security questions. Used for online account recovery, we’re faced with these queries nearly every time we register with a new service or website.You know the deal: Choose about three questions (though the number varies) from a list of presets, and provide the answers in freeform text boxes. If you forget your username or password for that website in the future, answer one (or more, again, depending on the site) of your security questions correctly, and you’ll be granted access to your account.Want to stay secure online? Create a unique username with 1Password’s free Username Generator!Common security questionsHere are some examples of common security questions:What is your father’s middle name?What was the name of your first pet?What is the name of your favorite teacher?What was the model of your first car?Where is your favorite place to go on vacation?Creating and remembering answers to all of these is easy peasy, right?(insert eye roll emoji)Security questions are common authenticati +
4年前
記事のアイキャッチ画像
Make safer payments online with 1Password and Privacy
1Password Blog
+Today we’re announcing a new partnership with Privacy. 1Password now lets you create Privacy Cards, virtual payment cards that protect you when you spend online. You can create as many Privacy cards as you need and control where and how they’re used.Contents1Password and PrivacyPayments with 1PasswordGetting started1Password and PrivacyWe’re so pleased to add these features to 1Password – we’re pretty sure it’s new territory for password managers across the board. This partnership means we can now do for your money what we’ve always done for your passwords; namely, create unique information for every service you use to keep your most important data as safe as can be.We have all the details below, but here’s a video with the main details if that’s your jam:Payments with 1Password1Password is now the best way to create and use virtual payment cards in your browser. The Privacy integration is available now for 1Password X, and soon for the 1Password Safari extension. It lets you:Create ne +
4年前
記事のアイキャッチ画像
1Password 7.7 and Android 11: enhanced security, more control
1Password Blog
+To coincide with the launch of Android 11, we’re bringing you a brand new update to 1Password. Your favourite password manager now takes full advantage of the new features and security enhancements that come with Google’s latest OS update.Awesome autofillTo start, let’s look at the change nearest and dearest to my heart. With Android 11 comes support for displaying autofill results in the suggestions strip above your keyboard.Now, you can see your logins from 1Password as suggestions in Gboard when signing in to supported apps and browsers.This feels like a natural fit, as the suggestion strip already supports smart suggestions, emojis, and pasting from the clipboard.Protect your privacy with app permissionsAndroid 11 also gives you even more control over the permissions for apps, like access to your mic, location data, or camera.You can set permissions to automatically expire, so if you haven’t used an app for a while, it won’t continue to access your information. Or, you can grant on +
4年前
記事のアイキャッチ画像
What is the principle of least privilege? And how does it work?
1Password Blog
+You’ve probably seen the term “principle of least privilege” (or “PoLP”) around the interwebs, or perhaps you’ve heard it from your own security consultant.ContentsWhat does the principle of least privilege (PoLP) mean?Why does the principle of least privilege (PoLP) matter?How does the principle of least privilege (PoLP) work?How does the principle of least privilege (PoLP) look?How is the principle of least privilege (PoLP) used?The bottom lineI’m sure you’ve surmised it’s dubbed a “principle” for a reason (i.e. it’s a good thing). It’s another one of the (myriad) phrases tossed around when people talk about organizational security and – I get it – how can one know each of these phrases in depth unless security is their sole responsibility? It’s just not realistic.That’s why we’re here with our From the Security Desk series, and why I’m here to tell you all about the principle of least privilege and how it can strengthen your company’s security.What does the principle of least privil +
4年前
記事のアイキャッチ画像
Return of research: the IAM time suck, the complexities of shadow IT, and EPM to the rescue
1Password Blog
+Back in May, we released the first installment of findings from a survey we conducted of 1,000 US knowledge workers, including 500 IT department personnel. Those findings shed light on the opportunities and challenges that companies faced as they embarked on their remote work journey, and the largely overlooked successful job of IT in leading the transition.The next chapter of this research, released today, dives into the enormous amount of time IT spends managing Identity and Access Management (IAM), and how this influences the quest that all enterprises have to achieve the holy grail of security, productivity, and convenience.Our research paints a picture of shadow IT that is more complicated than many of us expected. While most employees do follow IT’s rules, a small group of workers tries to get more work done by circumventing company policies — and sometimes those workers are enabled by IT personnel who grapple with limited resources and empathize with their pursuit of productivit +
5年前
記事のアイキャッチ画像
What it means to intern at 1Password
1Password Blog
+The end of the academic semester is always bittersweet at 1Password – a time when we part ways with the talented people who’ve joined us for an internship over the weeks before. Bittersweet because it’s always sad to say goodbye to new friends, but lovely to reflect on the valuable contribution they’ve made to 1Password – both our product and our culture.This year I wanted to share some thoughts from Mio who interned with us over the spring semester as part of the integrations team, working on the command-line tool. I hope Mio’s story gives you some insight into what it’s like to intern at 1Password – and hopefully encourage you to get in touch if it’s something you’d like to do in future. We’re always thrilled to have new students join the team.Take it away Mio…I got to introduce secure password generation to the command-line interface (CLI). I think it’s an awesome feature for a passwordmanager to have, so being able to add that to the CLI myself was honestly pretty exciting.Nothing +
5年前
記事のアイキャッチ画像
Watchtower notifications: Timely security alerts for the websites you use
1Password Blog
+Today we’re announcing a major update to Watchtower, the part of 1Password that lets you know about security breaches on the websites you use.This update adds notifications, so you don’t have to remember to check Watchtower to see if any sites you use have been compromised. Instead, 1Password will notify you if and when there’s a problem, so you can change your password to help keep your online accounts safe.Notifications you really wantWatchtower will only alert you to security issues with sites you’ve saved, so you can be sure notifications will be relevant. They’ll save you time and worry because you no longer need to check in on Watchtower to see if any websites you use have been compromised.Website security breaches don’t happen often, so you shouldn’t see Watchtower notifications very much. It won’t send you more than one notification per day, and you’ll only receive notifications when 1Password is unlocked.If a site you use has been exposed by a security breach, your username an +
5年前
記事のアイキャッチ画像
More Big Sur-prises: Password AutoFill on macOS!
1Password Blog
+UpdateThere’s a .well-known saying: Save the best for last. That’s exactly what Apple has subtly done for 1Password during Friday’s AutoFill Everywhere session at WWDC20! Not only did Apple announce that macOS Big Sur is bringing full support for password and security code AutoFill to all apps, they also dropped this gem at the very end of the session:And one more thing that’s cool is that macOS Big Sur also supports password manager apps as a data source for AutoFill.Autofill is key to 1Password, so we rounded up our crack team of Apple developers and added support for Password AutoFill during a Friday afternoon hack-fest.Look for 1Password in the apps on your Mac this fall when macOS Big Sur launches!Sign up for 14 days free!Signup for 1Password today and get your first 14 days free.Try 1Password FREE
5年前
記事のアイキャッチ画像
The iOS clipboard conundrum
1Password Blog
+CorrectionIt was back in March when researchers discovered that a popular video-sharing service was accessing users’ iOS clipboard contents without permission. Apple vowed to address the problem.At last week’s WWDC 2020, Apple made good on their promise with the release of the iOS 14 developer beta which, among other great security enhancements, notifies you when an application accesses your clipboard.It’s now been revealed that a number of other apps (53, to be precise) access the iOS clipboard without consent.This has sparked a lot of conversation, questions, and concern from our customers, and I’d love the chance to address the issue.What this meansIt’s important to remember that nothing has really changed – this clipboard “scraping” has happened for some time. The only difference is that, with the release of iOS 14, you’ll know when it happens. And knowledge is power. Now that companies have been (and will be) called out for their behavior, those with legitimate business models wil +
5年前
記事のアイキャッチ画像
Guard against external data breaches with domain breach reports
1Password Blog
+I’m excited to announce the release of a new 1Password feature designed to help businesses keep their data safe: domain breach report. Create a report to get a list of all company email addresses that have been caught in known data breaches, so you can find and close doors to your data that have been unwittingly left open.Identify risks, secure your companyOnce you have the list of exposed email addresses, you can see the kinds of data exposed in each case. This helps you prioritize next actions.Crucially, the domain breach report flags exposed passwords, so you can let affected team members know they need to change those passwords immediately. You can also invite affected users to 1Password directly from the report so they can generate strong, unique passwords to use instead.Once set up with 1Password, they can also use 1Password Watchtower to see where breached passwords have been reused, and change them to make sure those exposed passwords don’t lead to more important accounts being +
5年前
記事のアイキャッチ画像
WWDC20: Live from our living rooms
1Password Blog
+Every June, our development team embarks on the great journey to sunny San Jose, California for Apple’s Worldwide Developers Conference. This year the journey was…shorter. In fact, it was just a few steps to the couch for the first remote WWDC. Amidst all the challenges facing the world, Apple did what they do best: Think different.Credit to Apple – they’ve exceeded our expectations for a remote WWDC. The keynote was entertaining and informative. The sessions were clear and concise. And even the labs were great, with one-on-one time with Apple developers from the comfort of our homes.While we’ve really missed hanging out with everyone in San Jose, this was easily a WWDC for the record books. Here are a few highlights from our week as WWDC draws to a close.macOS: This one goes to 11 👩‍🎤I immediately installed the beta of macOS 11 Big Sur, and it’s no Big Sur-prise that I’ve been loving it ever since. The new design language, SwiftUI-based Control Center and Notification Center, and br... +
5年前
記事のアイキャッチ画像
Log in with ease on Apple TV
1Password Blog
+I’ve been using my time stuck at home to catch up on the movies and TV shows in my digital queues. While my Apple TV makes it easy to access the right streaming app to watch Grey’s Anatomy or Avengers: Endgame, having to individually enter the passwords for each app can be frustrating.ContentsHow to use 1Password to log in to Apple TVHow safe is it?Whether it’s fighting with the onscreen keyboard to painstakingly move between characters, or trying to speak clearly enough for Siri to understand, it’s challenging to enter a suitably complex password correctly on first try. But with 1Password set up on my iOS device, I can take advantage of the AutoFill feature to access my stored credentials from my phone or iPad with just a tap.How to use 1Password to log in to Apple TVAutoFill makes it easy to enter passwords on iOS without having to type out a full username and password. This makes it easier for me to use more complex generated passwords in places where I may not have before, keeping +
5年前
記事のアイキャッチ画像
1Password command-line tool 1.0: More commands, more power
1Password Blog
+Today we’re thrilled to announce the release of 1Password command-line tool 1.0. We’re excited to highlight some of the features the team has worked hard to build.This tool makes your 1Password account accessible entirely from the command line. It gives you robust ways to interact with and manage your 1Password account.Working with itemsThe command-line tool makes it easy to create a new item in 1Password with op create item:op create item server title=Staging username=admin@example.com url=sftp://staging.example.comThe new op edit item command allows you to update an item directly from the command line. Now you can update dozens or even hundreds of items at once with some simple scripting.op edit item “Personal Visa” pin=8910You can also get specific field values from items using the get item command and the new --fields option. This is super convenient when you want to use information that’s stored securely in 1Password in your command-line workflows.op get item GitLab --fields passw +
5年前
記事のアイキャッチ画像
Remote work survey: How IT teams managed the Covid-19 transition
1Password Blog
+1Password has always been a remote-first company. But how have other organizations adapted to remote and hybrid work, especially during the Covid-19 pandemic?In the spring of 2020, we polled knowledge workers in the U.S. to find out how the opportunities and challenges of remote work were affecting companies and their employees.The responses underlined the scale of the changes that had taken place, and the role IT played in enabling it. (That’s IT both in terms of the technology itself, and the professionals that make IT happen.) Here, we’ll share some of our findings and talk about the heroic efforts we saw in IT departments.We only spoke with workers in the U.S, but have no reason to think these findings weren’t representative of other businesses around the world.Before we go any further, here are a couple of the most important stats:89% of respondents had no criticism of their company’s IT team. Given the scale of the upheaval, that’s testament to the incredible work IT teams were d +
5年前
記事のアイキャッチ画像
Apple and Google's contact tracing is privacy preserving
1Password Blog
+You may have heard about contact tracing apps, which are designed to help health authorities identify people who have been in contact with someone infected with SARS-CoV-2, the novel coronavirus which causes COVID-19. It’s natural to worry that such apps could be used to collect data about who you meet and where you go.Fortunately, there is some clever technology that leaves the user in control and protects privacy, while giving individuals and health authorities the information they need. Apple and Google are introducing that technology to their phones.I fully anticipate that I’ll enable the relevant app that uses this exposure notification technology when it becomes available, and that I’ll encourage others to, as well.Privacy still mattersIt’s reasonable to ask whether privacy preservation still matters when there is a pressing and compelling public health need for improved contact tracing. As we face the choice of whether to adopt privacy-preserving tracing apps, privacy-violating +
5年前
記事のアイキャッチ画像
Rolling out 1Password: tips for onboarding your team
1Password Blog
+If you’ve just signed up for 1Password Business, this article will help you deploy 1Password quickly and easily, regardless of the size of your organization. However you choose to roll out 1Password, it can all be done remotely.ContentsStep 1: Start smallStep 2: ScaleDeployment tipsWe’re here to helpStep 1: Start smallIt’s a good idea to start with a small group of people so you have the flexibility to tweak your setup as you go. All businesses and their password policies vary, but here’s some advice everyone can follow to get started:Add another owner. Account owners are the people with ultimate control of 1Password in your business. If an owner runs into access issues, only another owner can help out. So a great first step is adding another owner to make sure you don’t lose access to 1Password. A senior and established member of your organization is usually a good choice. While you’re at it, implement a recovery plan for your team.Add a few administrators. We recommend inviting admin +
5年前
記事のアイキャッチ画像
Managing security when remote work is thrust upon you
1Password Blog
+Some organizations are born with remote culture and security, some achieve it, and some have it thrust upon them. It’s important to understand that setting the wrong goals can backfire. Take a step back and look at some of the greater changes you face.1Password came into the world as a fully remote organization 14 years ago. Even though we’ve opened two offices in that time, the majority of our staff still work remotely. Although nobody has an easy time of anything these days, we were in a far better position to adapt than most when we had to suddenly shutter those offices on March 10, 2020. It didn’t require the development and implementation of new security policies and practices for remote workers.Yet we can understand what those suddenly thrust into such a change are confronted with.It is our business to help people and organizations improve their security in ways that work for those people. Security for real people in real organizations is our bread and butter. Because of that, an +
5年前
記事のアイキャッチ画像
Sort, share, and tag with 1Password 7.5 for iOS
1Password Blog
+The world may feel like it’s on pause, but that hasn’t stopped the team from going full steam ahead on a fantastic update to 1Password for iOS. We’ve added some new features that make it easier to stay organized and share the essentials with your family and coworkers.There’s a lot to love about 1Password 7.5, so let’s dive right in.Stay organized with tagsTags and favorites make it a breeze to keep everything organized in 1Password. You can use multiple tags on a single item, and there’s no limit to the number of tags you can create. This release rolls out a new tag editor that allows you to effortlessly apply new and existing tags to your items.Tags can now be added to an item without needing to edit first. While viewing an item, tap on the Add Tag button to unveil the all-new tag editor and make your changes.Share your itemsWe’ve made it easier than ever to securely share passwords, documents, and other items with your family and coworkers. Now when you put an item in a shared vault +
5年前
記事のアイキャッチ画像
1Password 7.5 for Android: making its mark
1Password Blog
+The world looked very different a couple of months ago when I wrote about 1Password 7.4 for Android. Since then just about everything has changed. Grocery shopping has gotten a whole lot more strategic. Celebrating birthdays and special occasions requires a new level of creativity. And continuing with school necessitates that parents and kids alike embrace new modes of learning.Despite those and other challenges, it’s good to remind ourselves that many things remain the same. Even if we have to do it from a distance, we still love to share laughter with friends and family. We still enjoy reading a good book, we just happen to be reading a few more than usual. And we still love improving the 1Password experience for you!Here are some of the ways we’ve improved 1Password this time around.Sort your itemsWith all the time we have at home these days, there’s an extra opportunity for spring cleaning. And a good cleaning starts with sorting through your stuff. We’ve made that easier than ever +
5年前
記事のアイキャッチ画像
How remote teams can reduce the risks of shadow IT
1Password Blog
+As the COVID-19 situation develops, businesses are scrambling to adjust to the new reality of remote and hybrid work. The sudden nature of this shift has meant IT teams are ill-prepared for the security implications of remote working.One such risk is shadow IT – the use of apps and services by employees without the knowledge or oversight of your IT team. In our recent look at the risks of shadow IT, we saw that a remarkable 63.5 percent of workers had created at least one shadow IT account in the 12 months prior to our survey.Right now, the use of shadow IT is only likely to increase as people find new workflows to replace old ones that are suddenly unfit for purpose. And people will be all the more tempted by extended free trials offered in the spate of home-working caused by coronavirus. Even the simple act of having a face-to-face conversation needs an app now.Banning the use of shadow IT isn’t practical, and doing so could stifle productivity and innovation in your organization. Pe +
5年前
記事のアイキャッチ画像
Remote work: Looking beyond productivity and prioritizing mental health
1Password Blog
+As we all adjust to our new normal and many of us are doing remote or hybrid work for the first time, it’s important to look beyond productivity advice and consider the deeper impact of this situation.There are plenty of reports that highlight the benefits of remote working, but it also has consequences for our mental and emotional health that need to be carefully considered.As an experienced remote team these are lessons we’ve been able to learn over the last 14 years, but it can’t be emphasized enough that nothing about this situation is “normal”. All of the struggles and side effects of hybrid work will be amplified by current events, so it’s more important than ever to be aware of them and to look after yourself.Stop worrying about productivityIt’s likely you’re finding it hard to be productive right now because there’s a lot going on. You might have kids at home, be working in a new and distracting environment, or just worrying more than usual – you’re not alone. A new report from +
5年前
記事のアイキャッチ画像
The 1Password team share their work-from-home setups
1Password Blog
+Looking for inspiration for your remote work setup? From Studio Ghibli-inspired spaces to clean, minimalist setups, our team share what makes their workstations work for them.Alex, Sales“My table is 160 cm × 80 cm and height-adjustable with four memory settings. The desk and the chair were considerable investments, but so worth it. Apart from that, there’s a camera always at the ready, my earphones, a 1Password pin on the foot of the monitor, my ever-present coffee mug, a stainless steel water bottle, and the Enterprise E (Nemesis version).” Marica, Web Development“I’m going for “Mom from Kiki’s Delivery Service” or “Alchemist next door” kind of vibes.” Alessandro, Development“The desk is a standing desk. In my opinion, having a height-adjustable desk is as important as having a good chair. I always have my thug life glasses handy as well as my horse mask (they’re useful when joking with friends on a video call during this quarantine!).“The medicine container has some Fisherman’s in it +
5年前
記事のアイキャッチ画像
4 ways to keep your family safe online
1Password Blog
+Working from home, taking online classes, and getting together with family over video chat. We’re all living an increasingly virtual way of life, so it’s more important than ever to use the internet safely at home.ContentsPhishing scams are on the upTip 1: Check all messages carefullyWe’re signing up to more online servicesTip 2: Vet apps and software carefullyTip 3: As always, practice good password habitsTip 4: Secure your home networkTo help, we’ve looked into how scammers can take advantage and have put together some tips to help you and your family protect yourselves.Phishing scams are on the upThree percent of all global spam is now estimated to be coronavirus-related, with many messages impersonating reputable, global organizations like the World Health Organization and the United Nations. These phishing emails are designed to trick you into clicking malicious links or attachments by claiming to direct you to information about the virus, or even direct you to places to buy masks +
5年前
記事のアイキャッチ画像
Working from home with kids: How our team juggles jobs and childcare
1Password Blog
+Like many others, I’m learning what it’s like to work from home with a child in tow. Overnight, lots of us have found ourselves with three full-time jobs: parent, teacher, and the job we’re paid to do. I’ll be honest, I’ve found it overwhelming – and as I write this, my daughter is under my desk, howling that she’s bored.I’m very fortunate to be surrounded by colleagues in the same position, and some have been juggling childcare, homeschooling, and work for a while. So I reached out and asked for help. Here’s what I’ve learned. I hope it will help you too.Accept that you can’t work at full capacityOne message came through loud and clear: You are one person, and it’s simply impossible to do three full-time jobs. Even if you’re managing between two people, that’s an awful lot to ask. And, with everything that’s going on at the moment, it’s completely understandable that you’re distracted too.Be honest with yourself and your boss. Ask whether it’s possible to work flexible hours, or to fo +
5年前
記事のアイキャッチ画像
Going remote: 3 tips for building a strong remote work culture
1Password Blog
+Workplace culture may not feel like your priority right now. But your culture is defined by how you handle difficult situations – these are the moments it’s both tested and formed. We hope our experiences will help you build a remote or hybrid culture that empowers your team to do great work.Be kind and empatheticWe recognize that our folks are all dealing with a spectrum of exceptional circumstances – family sickness, financial pressures, childcare issues, and more. Even though we’re 14-year veterans of remote work, we’re aware that right now we have to slow down and prioritize mental health, and give everyone the space and time they need.Leaders need to take the helm here. During our all-hands call, Jeff (our CEO) let everyone know it’s absolutely okay that productivity isn’t going to be 100 percent. Our focus should be staying safe and healthy. When important messages come directly from the top, there’s less room for misinterpretation and teams are more likely to take advice on boar +
5年前
記事のアイキャッチ画像
If you only use 1Password in Safari, it’s time to start also using an app
1Password Blog
+If you signed up for 1Password in Safari and aren’t already using one of the 1Password apps, it’s important to start today. Here’s why.Apple has always been at the forefront of the fight to protect your privacy, and the WebKit team that builds the foundation of Safari is no exception. In 2017, they introduced Intelligent Tracking Prevention, which helps prevent advertisers from tracking you when you use Safari. This was great news for privacy, and a lot of us at 1Password use Safari because of its strong commitment to privacy.Starting in Safari 13.1 for Mac and iOS 13.4, there are some additional changes to Intelligent Tracking Prevention. Information a website stores in local storage will now be erased if you don’t visit that website at least once every 7 days. This affects full-featured web apps like 1Password that use local storage for legitimate purposes. For example, 1Password stores your Secret Key in local storage. If your Secret Key is removed from Safari and you don’t have it +
5年前
記事のアイキャッチ画像
Say hello to 1Password 7.4 for Windows
1Password Blog
+We’re excited to announce that after great work from the team, 1Password 7.4 for Windows is now available! We’ve streamlined the app you know and love, so it runs smoother, faster, and more intuitively.There’s a lot to like about this latest Windows release, and we’ve got you covered with an overview of the essential features. As always, you can view the release notes for a full list of all the changes and updates.Say Hello to 1PasswordWindows Hello integrates smoothly into your workflow, eliminating the need to stop and type out a passcode to open an app or sign in to an account. The built-in biometrics use fingerprint or facial recognition to give you instant access to your information.And in this release, we’ve made it even easier! In 1Password 7.4, we now automatically invoke Hello on every lock view, eliminating the button needed to gain access to the biometric systems. Removing that extra step means the app opens, and your information is available with just a tap or a glance.Move +
5年前
記事のアイキャッチ画像
New to remote working? Here's how to keep your team secure
1Password Blog
+Many businesses are having to rush to remote or hybrid working for the first time, but it’s important not to let your security slide during the transition. By taking a few simple precautions, remote work can be as secure as working from an office full-time. These tips will help your whole team do remote and hybrid work safely, wherever they are in the world.HardwareThe first thing is to make sure you work with devices set up to keep company information safe.Use the safest device available.If your computers are provided by work, use them. If they’re not, make sure you work from your own device. Don’t work from public computers, or computers belonging to friends, family or anyone else – these could be insecure in any number of ways. If it’s possible to designate a computer solely to work, it’s a good idea to do that.Set up device passwords.Make sure all devices you work with are password-protected. If someone finds one unattended, you don’t want them to be able to use it.Encrypt storage. +
5年前
記事のアイキャッチ画像
COVID-19 Response - Removing trial limits to help businesses work securely from home
1Password Blog
+Our six-month free trial has ended. If your business still needs support due to the impact of COVID-19, please contact our sales team and we’ll see what we can do to help.Over the past few weeks, we’ve seen some unprecedented and frightening changes around the world as a result of COVID-19. We’ve watched as events are canceled, travel becomes restricted, and towns (and even countries) go into lockdown.In an effort to slow the spread of coronavirus and protect the vulnerable, an increasing number of companies — including Google, Twitter, Shopify and more — are asking their employees to work remote. Here at 1Password, we’re a largely remote company by nature, but even we have implemented steps to slow the spread of the virus by closing our meeting spaces and eliminating business travel.These are important steps we should all take to protect our teams and loved ones.Tips to make remote work, workWe’re big proponents of remote and hybrid work, but adjusting to it can be a challenge, especi +
5年前
記事のアイキャッチ画像
How to make remote work, work: tips from 1Password
1Password Blog
+Testing the waters of remote or hybrid working for the first time – whether it’s due to a snow day or a worldwide pandemic – can be a daunting prospect. At 1Password, we understand the challenges all too well – we’ve been an almost entirely remote workforce for 14 years, and have learned a lot along the way.The good news is going remote could actually make your teams happier and more productive if you get it right. If your team needs to work remote or hybrid, or you’re considering trying it out for your business, here are our top tips for getting started.Communicate, communicate, communicateKeeping communication open and collaboration going can be one of the biggest challenges of remote work – loneliness can creep in and teams can begin to feel siloed. Luckily, there are some great tools that make collaborating as a remote or hybrid team a lot easier. Here are a few of our favorites:Slack. Our go-to tool for everyday collaboration. Channels are a great place to work on projects togethe +
5年前
記事のアイキャッチ画像
Strengthen your identity strategy with 1Password and OneLogin
1Password Blog
+I’m thrilled to announce that, starting today, we’re partnering with OneLogin to make it easy for you to provision and manage your business accounts in 1Password. OneLogin is a leader in identity and access management (IAM), and this collaboration is something our customers have been requesting for quite some time.“We are excited to partner with 1Password by creating a powerful integration for our joint customers that significantly reduces the work required to onboard new employees through our automated user provisioning.”– Matt Hurly, VP, Global Channels and Strategic Alliances & GM, Asia PacificTogether, OneLogin and 1Password give you the controls you need to make sure everyone in your company follows your password and security policies. Here’s how it works.Seamless integration with your workflowThe 1Password SCIM bridge gives you the ability to strengthen your identity strategy and manage your teams by folding 1Password into your already-established workflows.Now, with OneLogin int +
5年前
記事のアイキャッチ画像
Achieve a better work-life balance with 1Password Families
1Password Blog
+When you practice secure password habits at home, those good habits will follow you into work. That’s why, if your company uses 1Password Business, you get a free 1Password Families membership. Your family account can be shared with up to five family members to help keep everyone more secure – no matter where they are.Your family account belongs to you, not your company. Your family and business accounts work independently from each other, meaning your information is never shared between them. Here’s what you need to know about how your business and family accounts work to keep your personal information private and make sure all your data is safe.No details sharedWith multiple accounts, it’s easy to keep your personal and business data completely separate and see all your information together in the 1Password apps.Linked family accounts only share their subscription status with the business account, so business administrators can’t see what’s stored in your family account, how many ite +
5年前
記事のアイキャッチ画像
Introducing 1Password 7.4 for Android
1Password Blog
+Congratulations on making it through January with some of your New Year’s resolutions intact! While you’ve been sticking to your new exercise routine and drinking healthy smoothies, we’ve been blending up something new for you as well. And although convenience and security don’t make very tasty drink ingredients, they sure do go well with 1Password.Now I could try to introduce the hallmark features with words, but why do that when our What’s New screen does it so much better?Create vaults on the goVaults are great for organizing the items in your account at a very high level. For example, you may want to store all your travel essentials in one vault and your tax documents in an entirely different vault. In this update, you can exercise that desire to organize even while on the go. In just a few taps from the vault menu, you can create a new vault, give it a fitting name, and choose a unique icon. And with that, it’s now ready to store your latest secrets!Preview your logins with Autofi +
5年前
記事のアイキャッチ画像
New 1Password research reveals risks of shadow IT
1Password Blog
+From project management software to plugins that correct your grammar, it seems like a new tool for supercharging workers’ productivity launches every day. While that’s great for innovation, there’s a downside: the accounts employees create without a business’s authorization or awareness, known as shadow IT.At first glance, shadow IT might appear harmless. The problem is, without the oversight and direction of IT, it’s easy for employees to unwittingly create vulnerabilities in even the tightest of security setups.How prevalent is shadow IT?There’s plenty of anecdotal evidence of how disruptive shadow IT accounts can be, but we wanted data.So, we surveyed a representative sample of 2,119 U.S. adults who work in an office with an IT department and use a computer for work (see end of post for methodology), and found that a staggering 63.5% (± 1.03) of respondents have created at least one account in the past 12 months that their IT department doesn’t know about:Yes 63.5% (± 1.03)No 36.5% +
5年前
記事のアイキャッチ画像
Privacy by default with Brendan Eich from Brave
1Password Blog
+This week on Random but Memorable, we welcome Brendan Eich, Co-founder and CEO of Brave Software and Basic Attention Token. Brendan previously co-founded Mozilla, where he helped launch Firefox, and is the creator of JavaScript. Today, he works with Brave to help people protect their privacy online.If you want to know who can access your information while you surf the web, and how you can take back control, then read on.What is surveillance capitalism?Most websites you visit have ads or links with trackers that are designed to associate or identify you. These trackers then follow every move you make online, collecting more information as you browse. When you use single sign-on (SSO) options like Google, Facebook, Apple, or Twitter, they even follow you across devices. That’s why ads for coats start appearing on your mobile after you’ve been shopping for one on your PC.That information is then shared with marketers, publishers, and companies, so they can target you with ads tailored to +
5年前
記事のアイキャッチ画像
Make the most of 1Password Business with reports
1Password Blog
+You’ve set up 1Password Business for your team, but how do you make sure everyone uses it? With reports, you can track how your team uses 1Password and give everyone access to what they need. If anything doesn’t look right, it’s easy to take action.Here’s how you can use reports to help your team succeed and make the most out of 1Password Business.Understand employee needsReports hone in on the heart of your company: the people. Everyone slots 1Password into their workflow in a way that best suits their needs. To learn how an employee uses 1Password, create a usage report. It tells you when they last signed in and how many vaults, groups, and items they can access. You’ll also see a list of all the shared items they’ve used and when they last used them.You can use the item list to help you decide what they need access to. To make it easier, sort the item list by vault, or focus the report around a specific vault. If they haven’t used any items in a vault, or they’ve used items they sho +
5年前
記事のアイキャッチ画像
Yubico’s Stina Ehrensvärd on security keys and second layers
1Password Blog
+We’re kicking off the new year on our podcast, Random but Memorable, by talking with Stina Ehrensvärd, co-founder and CEO of Yubico. Stina started the company in 2007 with her husband, a former white hat hacker, after realizing just how easy it would have been to hack her bank account.If you’re wondering how a security key or other external two-factor authentication (2FA) device could benefit you or your business, read on to learn more.What is a security key?A security key is a small physical device that adds a second layer of protection to your online accounts. When two-factor authentication is turned on for your accounts, you are prompted to use your second factor any time you sign in from a new device. A small security key like Yubico’s YubiKey fits in your pocket. It can be used as an extra layer of protection on 1Password, Google, macOS, Firefox, and more.Support for these keys is built in to most web browsers via Yubico’s new WebAuthn API, creating what Stina calls “the seatbelt +
5年前
記事のアイキャッチ画像
How to use 1Password for Android
1Password Blog
+Lucky enough to have found a new Android device under the tree this Christmas? Here’s how to set it up so you can take it for a spin.I recently upgraded to a Pixel 4 XL, and I have a few tips and tricks to share for getting your shiny new phone up and running with 1Password 7 for Android.How to set up and use 1Password for AndroidFirst things first: If you don’t already have one, sign up for a 1Password account. With 1Password 7.1 for Android, we made it quick and easy to sign up and set up your subscription through Google Play billing.Take your time creating your Master Password. Your Master Password plays an important role in protecting your data, so you want to go with something that’s memorable to you but unguessable to anyone else.If you already have a 1Password account, scan your setup code to add your 1Password account to your new device.The perfect setupThere are a few 1Password features I’d recommend enabling or tweaking as soon as you set up.The first thing I’d suggest is get +
5年前
記事のアイキャッチ画像
1Password X 1.17: New brain, new menu, and even more accessible
1Password Blog
+1Password X harnesses the power of your 1Password account to fill and save passwords, view and edit items, and more – all in your browser. And with today’s release, 1Password X gets even better! Here’s what’s new in 1Password X 1.17.New filling brain written in Rust1Password’s filling brain is the technology responsible for autofilling your information. The brain analyzes webpages in the background so it can suggest relevant items to fill in the available fields.In 1Password X 1.17, we’ve completely rewritten the brain in Rust and WebAssembly. Rust gives us a boost in both speed and portability – making it smarter, faster, and more embeddable in all our apps.Not to get too technical on you, but we’re now using Rust libraries to power many parts of the extension, including all Markdown parsing and time-based one-time password (TOTP) generation. By taking advantage of Rust’s ability to compile to WebAssembly, we can now share this implementation across all of our apps.New inline menuThe +
5年前
記事のアイキャッチ画像
1Password SCIM bridge now available on the DigitalOcean Marketplace
1Password Blog
+I’m excited to announce that you can now install the 1Password SCIM bridge from the DigitalOcean Marketplace! The SCIM bridge makes it simple to automate many common administrative tasks in 1Password Business while keeping your account keys within your control.This one-click install makes it easy to manage your team and control your 1Password account using the enterprise identity provider you’re already familiar with. Give your administrators a central place to:Create users and groups, including automated account confirmationGrant and revoke access to groupsSuspend deprovisioned usersGet started with just a clickWe’re thrilled to partner with DigitalOcean. They make it easy to run and scale your applications, services, and environments in the cloud. Our one-click application allows you to quickly set up and deploy the SCIM bridge to a cluster in your environment. The SCIM bridge uses the same security as the rest of 1Password, so the encryption keys for your account are only available +
5年前
記事のアイキャッチ画像
From Black Friday to seasonal travel: how to stay safe over the holidays
1Password Blog
+‘Tis the season for travel, shopping, and family visits, and this tends to leave us busy and distracted. Scammers and crooks like to take advantage of this, so here are some tips for staying safe and merry over the holidays.No holiday promo is worth risking your securityThe holiday season brings a drastic increase in emails. Phishing scams are a favorite of cybercriminals, and the lasting popularity of online shopping has made email phishing even more effective. Be wary of emails with attachments like fake receipts or invoices. These files can expose your computer and account to malware, keyloggers, and ransomware when you open the attachment.Malicious links like false purchase verifications or shipping notifications offer prime opportunities for hackers to steal your login credentials. And if you’ve reused those login credentials on multiple sites your other accounts may be vulnerable.Secure your wallet when shoppingOnline shopping saves time during the busy holiday season. But the pr +
5年前
記事のアイキャッチ画像
What is CEO fraud? And what can your business do to prevent it?
1Password Blog
+CEO fraud is a simple scam that has cost businesses USD$26 billion worldwide since 2016, according to the FBI. We’re calling for CEOs to step up to protect their business. All it takes is a conversation.What is CEO fraud?1Password (like many others) has experienced a recent spate of phishing attempts. The team received emails from an attacker pretending to be me, asking for personal information. Although the scam wasn’t successful at 1Password, businesses all over the world have been less fortunate.CEO fraud is a form of BEC (Business Email Compromise). An attacker spoofs the email address of the CEO or poses as them in an email. In the message, they ask an employee to transfer money to an account they control, or to provide personal or financial information.Often, the message will invoke a sense of urgency and put pressure on employees to act quickly. Here’s a real example that resulted in USD$8million going missing.“Hey, the deal is done. Please wire USD$8 million to this account to +
5年前
記事のアイキャッチ画像
1Password partners with Accel for continued growth
1Password Blog
+I wanted to be the first one to tell you: I’m incredibly proud to announce that we’ve partnered with Accel to help 1Password continue the amazing growth and success we’ve seen over the past 14 years. Accel will be investing USD$200 million for a minority stake in 1Password. Along with the investment – their largest initial investment in their 35-year history – Accel brings the experience and expertise we need to grow further and faster.1Password is a completely bootstrapped company that’s never taken a dime of outside investment, so this announcement may surprise some of you. We’ve built the most-loved password manager and a world-class company, all while remaining profitable during our entire history. So why, after 14 years of self-funding, are we now partnering with Accel? That’s a great question. To answer it, let’s visit our founding heroes where it all began.We’ve come so farWhen Roustem and I founded 1Password in 2005, we were trying to solve a simple problem. We were developing +
5年前
記事のアイキャッチ画像
Use the SCIM bridge and the command-line tool to automate 1Password Business
1Password Blog
+As a developer, I love getting different services to work together. Automating things gives me more time to focus on what matters and I want you to have that power, too. So, I’m going to show you how your business can use the 1Password command-line tool and 1Password SCIM bridge in perfect harmony to automate all sorts of administrative tasks. Let’s get to it.Speed up specific tasks using the command-line toolWith 1Password Business, it’s simple for even the biggest, most complex enterprise to manage their account using the command-line tool. Just type a command to perform common administrative tasks like adding items, granting access to vaults, managing groups, and more – all in Terminal.But what should you try first? Something we hear from a lot of large businesses is that it’s difficult to see and manage exactly who has access to what. The 1Password command-line makes it easy. I’ll show you.To find out who has access to our Directors vault, I just type:op list users --vault=Director +
5年前
記事のアイキャッチ画像
Why 1Password excels on the new Surface Pro
1Password Blog
+Working remotely gives me the freedom to work from wherever I like: the couch, a coffee shop, a plane, or a hotel room. When I’m on the move, I need a device that’s both powerful and portable, so I often work from my iPad. And while I love my iPad, I’ve recently been thinking about changing it up.I’ve spent a lot of time with our Windows team lately, hearing about the hard work they’ve put into 1Password for Windows, and it’s given me some food for thought. Now, I’m seriously considering swapping my iPad for a new Surface Pro. Here’s why.Privacy-focused browsingI’ve been using Edge on my Mac for a few months now, and I’ve been impressed by its performance and security features. Edge is faster, lighter-weight, and more secure than its predecessor, Internet Explorer. It’s the same browser I’ve come to know and love on my Mac, but feels even more intuitive on the Surface Pro.And it’s only going to get better. The new Microsoft Edge, currently in beta, is built on the Chromium engine, givi +
5年前
記事のアイキャッチ画像
1Password + Pixel 4 + Android 10 = ❤️🔐
1Password Blog
+I’ve been itching to write this post since the end of September, when we added support for Android’s newest biometric library in 1Password for Android. We’ve known for a while now that face unlock was arriving with the Pixel 4, and this update prepared 1Password for that eventuality. The only thing I was missing was the actual device so I could write about the experience firsthand.Each year, I eagerly await the Made by Google event in October when Google shows off their latest and greatest hardware. It’s like Christmas come early for me, and this year was no exception. As soon as I was able to, I pre-ordered a Pixel 4 XL from my carrier and waited impatiently for it to arrive.I’m happy to say that it arrived last week, and it was well worth the wait. I’ve since put 1Password through its paces on my new device, and here’s where we truly shine.Pixel 4 XL, meet 1PasswordOf course, the first thing I do whenever I get a new device is set up 1Password. As you might imagine, I use a long Mast +
5年前
記事のアイキャッチ画像
Security is a key focus in macOS Catalina
1Password Blog
+macOS Catalina launched earlier this month, and it’s chock full of fantastic new features. We’re thrilled to see the emphasis Apple has placed on user privacy and security in this latest release. I installed it on launch day and have been exploring the ins and outs ever since. Here’s what I was most excited to see – and what the 1Password team thinks you’ll love too.Lock it up tightLosing my laptop is one of my worst nightmares – all my photos, music, and writing gone in a flash. Sure, I keep backups of everything, but I don’t want anyone else getting their hands on my important information. Or my high school photos that prove I had no sense of style. That’s why the new Activation Lock feature is so incredible.With the new security feature in place, no one can access your account even if they physically have your computer. So, if your laptop is stolen from a coffee shop, the only person who can erase and reactivate it is you. It gives you peace of mind and adds an additional layer of s +
5年前
記事のアイキャッチ画像
1Password and Mozilla at The Glass Room exhibition
1Password Blog
+Last week I was in San Francisco to attend the opening of The Glass Room, a pop-up event brought to you by Mozilla and 1Password. It’s designed to generate a global conversation about privacy and personal data, and invites us to explore how technology is shaping our lives and our interactions with the world.Our belief in your right to privacy informs every decision we make at 1Password, from how we design our product to what events we get behind. We’re delighted to support an exhibition whose mission aligns so closely with ours, and help more people make informed decisions about their privacy and personal data.Several fascinating pieces explore different aspects of technology and digital information. The space is divided into five thematic areas, all designed to shine a light on different aspects of digital technology: Deeply Personal, Invisible Labor, Trust in Us, Big Mother, and Open the Box. There’s even the Data Detox Bar, where you can find advice on how to take action to create a +
5年前
記事のアイキャッチ画像
Mozilla has selected 1Password X as a Recommended Extension for Firefox
1Password Blog
+Mozilla’s Recommended Extensions program rigorously vets Firefox extensions for quality and security. Out of thousands of extensions, fewer than 100 have been chosen, so we’re incredibly proud that 1Password X meets their high standards.Third-party developers build extensions to add features and customize how your browser works. There are extensions for everything from ad blockers to coupon codes, translation to social sharing, and more. 1Password X brings the full functionality of 1Password into your browser, making it easy for you to sign in to sites, use suggested passwords, and find what you need in your account.However, not all extensions are created equal. Downloading the wrong extension can pose a serious threat to your privacy and security. App add-ons and extensions require you to grant permission to read and even change your data on the websites that you visit, which gives them quite a bit of power.With that level of access, a malicious extension that’s been granted access to +
5年前
記事のアイキャッチ画像
The Climate Fixathon: using tech to fight climate change
1Password Blog
+At 1Password, we aim to make the online world a better, safer place. But climate change is the biggest threat to the future of our planet, and we want to make a difference there too. That’s why we chose to sponsor the Climate Fixathon.The Climate Fixathon is the world’s first online hackathon for makers to help fix the climate. If you’re not familiar, a hackathon is a coding competition, usually held over a set period. People come together to test their skills to solve a particular problem or just create something great. The Climate Fixathon is a 4-week competition, held entirely online.As someone who cares deeply about our planet (last year, I embarked on a 24-day expedition for marine conservation), I was thrilled to be one of the judges. Reviewing and testing the 43 projects from across the globe was eye-opening. It was exciting to see the tech community come together to create websites, apps, and services that aim to help restore a safe climate for our planet. Technology is a power +
5年前
記事のアイキャッチ画像
Behind the scenes of Random but Memorable
1Password Blog
+It’s Random but Memorable’s first birthday, and while we’re already into the third season of our security advice podcast, it feels like just yesterday we released the first episode.“Random but memorable” is good advice for creating a strong Master Password, but it also applies to the discussions Matt Davey, Michael Fey (Roo), and I have on the show. Each episode blends informative discussions with humor as we talk about what’s new in the world of security.In this post, we’re giving you a peek behind the curtain at how our podcast comes together.Planning and researchYou can’t just wing it when recording a podcast. That’s how you get long tangents about where to find the best tacos in Toronto. Which, while informative, isn’t exactly the breaking security news we want to cover. That’s why we have a list of items we need to complete before we can sit down and record.Each episode focuses on a single theme or security topic. Since our goal is to help our audience make the best security choic +
5年前
記事のアイキャッチ画像
1Password 7.4 on iOS 13: Dark Mode, Documents, and Voice Control
1Password Blog
+Hello and happy iOS release day, everyone! We’ve been excited for this release since iOS 13 was first announced at WWDC. Now that it’s finally here, we’re excited to share 1Password 7.4 for iOS with you.There’s a bunch of stuff I’m pumped to tell you about, so let’s dive in and take a look.Dark Mode for iOSEver since Apple rolled out Dark Mode for macOS at WWDC 2018, I’ve been waiting for them to bring it to iOS. Whether I’m checking my emails first thing after waking up, or looking something up online before turning in for the night, being blasted in the face by a bright screen has never been a positive experience. Dark Mode on iOS solved this problem for me, though, and I couldn’t be happier. I’ve been using iOS 13 exclusively in Dark Mode for a while now, and I love it.We began the work to bring Dark Mode to 1Password for iOS in June and we’re really excited to show it off to you today.We’ve also added a special dark app icon that I think looks right at home in the dock on my iPhone +
5年前
記事のアイキャッチ画像
Get to know 1Password Advanced Protection with our next webinar
1Password Blog
+We’ve just launched 1Password Advanced Protection, a suite of powerful new security tools for 1Password Business, and we’re excited to show you what it can do.Join us on September 24th or October 8th at 2 p.m. EDT, when we’ll show you how to create security policies, prevent threats, and monitor your team’s access in 1Password Business.In this live webinar, you’ll learn how to:Set a Master Password policy.Turn on two-factor authentication for the team.Create and manage firewall rules.Monitor your team’s sign-in attempts.Set and manage software update requirements.We’ll also have time for a Q&A session at the end to answer all your questions about Advanced Protection.Join the webinar on either September 24th or October 8th at 2 p.m. It’s free, and it’s a great way to get to know Advanced Protection.
5年前
記事のアイキャッチ画像
Introducing 1Password Advanced Protection: powerful security tools for business
1Password Blog
+Today, I’m excited to announce the release of 1Password Advanced Protection, a suite of powerful new security tools for 1Password Business.With 1Password Advanced Protection, administrators have the power to create security policies, prevent threats, and monitor their team’s access. We’ve got five features to cover, so let’s get started.Master Password policyEmployee passwords are the biggest point of failure for most companies. With the Master Password policy, administrators can enforce stricter Master Password requirements to match their internal security policies.You can increase the minimum length, and require uppercase or lowercase letters, numbers, or symbols. When you update your policy, everyone on your team needs to meet those requirements when they create a new Master Password.Two-factor authenticationEver since we released two-factor authentication, administrators have asked us for the ability to manage it for their entire team. So we made it happen.Choose which second facto +
5年前
記事のアイキャッチ画像
Trust, browsing, and privacy with Daniel Davis from DuckDuckGo
1Password Blog
+The next video in our Essentials of Business Security series is ready to watch! Cat talks with Daniel Davis from DuckDuckGo about how to make digital privacy a priority.DuckDuckGo began as a privacy-focused search engine. Today, it offers a browser extension and mobile app to prevent you from being tracked as you browse the web.Here are four key points from our chat with Daniel that will help to keep your business data safe and private.Make privacy a priorityCustomers and employees want to know that their personal information is safe in your hands and on your servers. And as more companies go above and beyond to protect their customers’ privacy, competitive pressure is building for others to keep pace.With data leaks and breaches becoming more frequent, you need to show that privacy is a priority for your business. To do this, put together a privacy policy that is comprehensive, clear, and easily accessible. Be open and transparent with customers about exactly what information you’re s +
5年前
記事のアイキャッチ画像
Tracking, blocking, and safeguarding with Bennett Cyphers from Privacy Badger
1Password Blog
+A brand new video in our Essentials of Business Security series is now live! This time, Cat talks with Bennett Cyphers from Privacy Badger about tracking, blocking extensions, and what you can do to safeguard your data while browsing the Internet.Created by the Electronic Frontier Foundation, Privacy Badger is a browser extension designed to block advertisers and other third-party trackers from monitoring your web activity. It works in the background while you browse, automatically analyzing and blocking any code that seems to track you across multiple websites.Ad companies like Google and Facebook not only track you on their pages – they also use invisible pixels and cookies to follow your journey across the Internet.While we know it’s not realistic for most people to quit Google and Facebook altogether, here are five other things you can do to protect your privacy online.Switch to a privacy-focused browserGoogle Chrome may be a popular browser, but it collects quite a bit of data abo +
5年前
記事のアイキャッチ画像
Introducing the 1Password SCIM bridge
1Password Blog
+I’m thrilled to announce the first major release of the 1Password SCIM bridge! The SCIM bridge is the best way to automate provisioning of your team in 1Password Business.We’ve spent the past year making it easier to roll out 1Password to your company. The 1Password SCIM bridge is available today, and it’s compatible with the most popular enterprise identity providers: Azure Active Directory and Okta. It’s available for one-click deployment on the Google Cloud Platform Marketplace, or it can be installed more traditionally using Docker, Kubernetes, or Terraform.The SCIM bridge makes it easy to manage your team because it brings 1Password into the workflows you already know and love. It allows you to control your 1Password account from your existing systems, so you can use the enterprise identity provider that your team is already familiar with. Your administrators can remain hands-off and manage your team from one central place to invite employees, grant them access to the correct grou +
6年前
記事のアイキャッチ画像
Keep students safe with 1Password Families
1Password Blog
+Summer may still be in full swing, but school is just around the corner. If you’re sending your child off to college for the first time, take the opportunity before they leave to instill the security habits that will keep them safe in college and beyond.With a 1Password Families membership, you can give your loved ones the tools to protect themselves – without taking away their independence.Get the basics rightStart teaching your child good password management skills by adding them to your family account. If you have an individual account, you can upgrade it on 1Password.com.1Password keeps your family safe online by helping everybody create and use strong, unique passwords for all their accounts. And, because it makes it quicker and easier to sign in to apps and websites, they’ll actually want to use it.Students starting college need to sign up for a lot of new services, like school emails and online shopping accounts. It’s a lot to take in all at once. This is the perfect time to tea +
6年前
記事のアイキャッチ画像
There's never been a better time to upgrade to 1Password 7
1Password Blog
+1Password 7 was released over a year ago, and thanks to all the new features we’ve added since, there’s never been a better time to upgrade. Let’s take a look at what you get with the latest and greatest version of 1Password.1Password mini1Password mini has a beautiful new design in 1Password 7. Every pixel has been reimagined to give you more information and control, so you can keep all your passwords, credit cards, and other important items right at your fingertips. It still works in your favorite browsers, and now you can fill in apps with drag and drop. The new 1Password mini is available in 1Password 7 for both Mac and Windows.Watchtower and securityData breaches happen all the time. If you use 1Password 7, Watchtower alerts you if any of your passwords have been compromised and need to be changed. It also keeps track of expiring items (like credit cards or passports) and warns you of unsecured websites.Watchtower even lets you know when you aren’t using two-factor authentication +
6年前
記事のアイキャッチ画像
1Password 7.2 for Android: the Dark Theme Rises
1Password Blog
+Thought I’d go with the obvious Star Wars reference? I have to admit it was tempting, but villains monopolize the dark side in that universe. Heroes can have a dark side too, as evidenced by our friend the Dark Knight, and Dark Theme is definitely the hero feature of this release!Without further ado, and only a few more pop culture references, let’s get into what’s new in 1Password for Android 7.2.Dark ThemeThe new feature I’m most excited about in 1Password also happens to be my favourite new feature in Android Q. When it launches later this summer, Android Q will bring support for a system-wide Dark Theme. And 1Password will be ready and waiting with our new gothic stylings.I only work in black … and sometimes very, very dark greyWhile we did darken things dramatically, we didn’t quite limit our palate to Bat-approved colours. Instead, we used the contrast provided by a dark background to really make important elements pop. Look for bold shots of 1Password blue to tell you where the +
6年前
記事のアイキャッチ画像
Testing out Brave with 1Password X
1Password Blog
+As people grow more cautious of online tracking and data collection, space is opening up for privacy-conscious browsers like Brave, a relative newcomer that’s enjoying some time in the spotlight. To see what all the fuss is about, I’ve been giving Brave a spin.A quick introduction to BraveDeveloped by Brendan Eich, co-founder of Mozilla, Brave is a privacy-focused browser built on open-source Chromium.The backbone of Brave is the same as Chrome, so it shares a lot of its plus points: It has the same clean look, you can install extensions from the Chrome Store, and it syncs across devices. Brave supports Windows, macOS, Linux, Android, and iOS.Getting startedGetting Brave set up is easy. When you launch the browser for the first time, a welcome tour helps you import any bookmarks and settings from your old browser.You can install 1Password for your browser straight from the Google Chrome Web Store. Remember, when you sign in to 1Password.com for the first time in Brave, you’ll need your +
6年前
記事のアイキャッチ画像
Phishing, fraud, and threat reduction: advice from Alex Rosier
1Password Blog
+The third webinar in our Essentials of Business Security series is now available! In this video, Matt talks with Alex Rosier from ProtonMail about phishing, fraud, and how you can reduce the threats to your business.ProtonMail is five years old, and Alex has been involved since the early days. He started out doing anything and everything that was needed but now focuses on working with businesses of all sizes.To help keep your business safe from phishing attacks, we’ve put together five key points from their chat.Your email is at riskDespite the rise in popularity of Slack and other messages programs, email remains the largest communication model for businesses. The data you send over email is more vulnerable than you may think. Even internal emails can be intercepted and exposed if the right malware has been put into place.If you and the recipient of your email use an encrypted email server like ProtonMail, it makes it more difficult for third parties to read or tamper with your messag +
6年前
記事のアイキャッチ画像
Safari 13 is awesome, but 1Password 6 users need to upgrade to enjoy it
1Password Blog
+On Monday, Apple released the macOS Catalina public beta that includes a preview of Safari 13, which is set for release this fall. We’ve discovered there’s lots to love about Safari 13, but we’ve also learned that it will no longer work for customers using 1Password 6.Those already using 1Password 7 are all set; 1Password 7 is ready for Safari 13, so you won’t miss a beat.If you’re still using 1Password 6 in Safari, you don’t have to do anything immediately, but you’ll need to take action soon to prevent interruptions to your workflow when Safari 13 arrives.1Password 7 supports Safari 13The best way to experience Safari 13 is by using 1Password 7.1Password 7 is included with every 1Password membership, and contains a ton of new features to help you organize and secure your life. A few highlights:Watchtower can now tell you when items you’ve saved in 1Password – like credit cards, driver licenses, and passports – are about to expire. Plus, it can tell you what sites support two-factor a +
6年前
記事のアイキャッチ画像
Why I switched to 1Password X
1Password Blog
+I’ve used 1Password far longer than I’ve worked here, but until I came on board I only used the Mac and mobile apps. Although I knew that there was a browser-based option, I didn’t give it much thought until I was poking around during my new-hire training.Honestly, what took me so long? Within a few weeks of discovering that 1Password X existed, it became the primary way I use 1Password on my computer.1Password X is a full-featured version of 1Password that runs entirely within a browser. It runs on my Linux machine just as smoothly as it does my Mac. And because 1Password X connects to your 1Password account, you have access to everything you expect. That’s extremely helpful if you’re anything like a lot of us here and find yourself jumping between different computers and platforms multiple times a day.How does it work?Although I first discovered 1Password X on Linux, it quickly became my preferred way of using 1Password on Mac as well. I love having all my passwords stored in 1Passwo +
6年前
記事のアイキャッチ画像
Smooth sailing with 1Password on the new Apple betas
1Password Blog
+WWDC, Apple’s annual Worldwide Developers Conference, happened in San Jose earlier this month. It’s an exciting opportunity for developers from all over the world to meet and talk with Apple engineers and for Apple to show off their upcoming software.The conference always kicks off with a keynote, and this year it was bursting with announcements and updates. The most exciting news for our team was the announcement of brand new versions of iOS, iPadOS, and macOS! Roo has already talked about how impressed he is by Voice Control in iOS 13 and how excited he is for Dark Mode for iOS to finally arrive.If you’re a member of the Apple Developer Program, the developer beta versions of all three pieces of software announced at WWDC are already available to download and install.All of the software previews were absolutely stunning, and we know 1Password 7 will look amazing on all of them. But the best part? If you have 1Password 7 installed, everything should work as expected on the iOS 13, iPa +
6年前
記事のアイキャッチ画像
Improve your team’s security with our next webinar
1Password Blog
+As we move into the second half of 2019, it’s a great time to re-evaluate your team’s security habits. If their password management isn’t up to scratch, 1Password can help. Our next webinar will show you how to get started.On July 16 at 2 p.m. EDT, we’re hosting a repeat of our Administrators: Get Started webinar. If you’re looking to set up 1Password for your team, have just been appointed as a team administrator, or simply need a refresher, this webinar is for you.In this webinar, we’ll show you how to:Invite people to your teamShare data and manage permissionsCreate and manage groupsWe’ll also have time for a Q&A session at the end to answer all your questions about 1Password Teams and 1Password Business.To receive notifications of future webinars, sign up for the mailing list.(Editor’s note: This webinar is no longer available.)
6年前
記事のアイキャッチ画像
Scams, malware, and preventative measures: advice from Michael Sherwood
1Password Blog
+The second webinar in our Essentials of Business Security series is now available! In this video, Matt talks with Michael Sherwood from Malwarebytes about scams, malware, and what you can do to protect your business.Michael’s journey to Malwarebytes began with an interest in technology and an Apple IIc in ‘84. From there, he joined the U.S. military, where in the mid-90s (the Windows NT era) he found his feet in cryptography. Today, he is VP of Enterprise Online at Malwarebytes, and we’re thrilled that he’s bringing his expert insight to our latest webinar.To help keep your business safe from scams and malware, we’ve put together five key points from our chat for you to take away and consider.The landscape is shiftingMichael highlights that, in the past, ransomware has been mostly an annoyance rather than malicious. However, the focus has shifted; attacks have become more advanced, and it’s all about making money.The good news is that cybersecurity solutions are keeping up and getting +
6年前
記事のアイキャッチ画像
4 essential password and business security tips from Troy Hunt
1Password Blog
+We’ve kicked off an exciting new webinar series, Essentials of Business Security, designed to help your businesses stay safe online.In the first installment Matt talks with Troy Hunt, a longtime friend of 1Password and the founder of Have I Been Pwned. Troy created this site to help people find out if their passwords have been leaked on the internet, making him an expert on password-related security issues.Matt and Troy covered four key points in the webinar that will help you protect your business and employees.Use strong and unique passwords for every accountViews on passwords are always changing and evolving. Requiring employees to change their passwords every 30, 60, or 90 days has been a business standard for years, but the National Counterintelligence and Security Center (NCSC) changed their stance and now advises against password rotation as a policy.Your employees should create a strong and unique password for every account, and only change these passwords if they suspect an ac +
6年前
記事のアイキャッチ画像
Introducing support for U2F security keys
1Password Blog
+You can now use U2F-compatible security keys as a second factor for your 1Password account.Last year we added two-factor authentication to provide another layer of protection for your 1Password account. When this is enabled, you are prompted to enter your second factor any time you sign in from a new device.Initially, that second factor was a time-based one-time password generated by an authenticator app on your phone. Today, I’m happy to announce a new option: We now offer support for Universal 2nd Factor (U2F)-compatible security keys. This is done via the new WebAuthn API, and we’re excited to be among the first services to adopt this new browser standard. WebAuthn is backwards-compatible with U2F, so all certified U2F security keys will work with our WebAuthn-enabled flow.What is a security key?Security keys are small physical devices that can be used as a second factor. Support is built into most web browsers and works with many online services like Google and GitHub.“WebAuthn bri +
6年前
記事のアイキャッチ画像
Voice Control in iOS 13 is amazing and 1Password is ready
1Password Blog
+One of the most impressive parts of Apple’s enormous WWDC keynote on Monday was the announcement of Voice Control for iOS 13.This brand new feature is a complete game changer for users who may not have the ability to interact with their iOS device using their hands and fingers. Using simple, predictable voice commands you can control every aspect of your iOS device. We pride ourselves on providing a 1Password experience that works for all our customers and when it came time to add Voice Control support to our iOS app all that prior work paid huge dividends.Check this outSo many incredible things have been announced at WWDC this year and we’re only starting to scratch the surface of the things we can do. I can’t wait for you to try out Voice Control on IOS 13 when it launches this fall!
6年前
+記事のアイキャッチ画像
1Password for iOS shines in the dark on iOS 13
1Password Blog
+For those of us on the Apple team, it’s our favorite time of year: Apple’s Worldwide Developer Conference (WWDC for short, or Dub Dub if you want to go even shorter).This year Apple announced a plethora of promising updates for all their platforms. There was multi-user support on tvOS and HomePod, game-changing security announcements like Sign In with Apple, iPad officially branching off from iPhone with iPadOS, Project Catalyst, and that oh-so-incredible Mac Pro. We also got something I’ve been anticipating for quite some time: Dark Mode for iOS.Challenge acceptedEach year we watch the WWDC keynote with bated breath, waiting for the announcement that will dictate our workload for the next 3 months. We also take it as a personal challenge to see how quickly we can add Apple’s newest technologies to 1Password. This year is no different and I’m happy to report that our track record continues:See you in the fallAs always, you can expect to see 1Password ready for Dark Mode when iOS 13 lau +
6年前
記事のアイキャッチ画像
Bruce Schneier on bridging the gap between policy and tech
1Password Blog
+Last week on Random But Memorable, renowned security technologist Bruce Schneier joined me to discuss surveillance capitalism and internet security policy. Read the interview, or listen to the full podcast.Michael: Bruce, you don’t need an introduction, but I’m going to give you the opportunity to give one anyway. Welcome to the show.Bruce: Hi. People might not know that I now teach internet security policy at the Harvard Kennedy School. I’m trying to teach a little bit of tech to policy students, and internet policy to techies. I’m trying to bridge the gap between policy and tech. Our serious problems are how do we govern tech, and what is the governance of tech. We need people who can speak both languages.Michael: So often these days we have rules and laws being put in place that aren’t necessarily based in reality or practical matter.Bruce: Did you watch the Facebook hearings? If legislators ask questions like “How does Facebook make money?” we’re not going to get good internet secu +
6年前
記事のアイキャッチ画像
Taking a peek at Microsoft Edge for Mac
1Password Blog
+Although Microsoft Edge has been out for Windows for a few years, the beta version for Mac was only released in May. Microsoft Edge has been my go-to browser on the rare occasion I use a Windows PC, so I was excited to get a peek at how the browser, and 1Password, would work on my Mac.Solid as a rockThis new version of Microsoft Edge is built on Chromium, the same base that Chrome uses, making it more stable and reliable than the Internet Explorer of my early internet days. While it’s still only in beta, it feels speedy enough that it could easily fit into my day-to-day workflow without slowing me down or dragging my tasks out.And the best part is that on my Mac, Microsoft Edge not only looks like a native Mac application but it functions like one, too. All my go-to keyboard shortcuts work exactly as I expect them to, which means I don’t have to move my mouse to open 1Password! With just a tap of the keys, I’m able to sign in and access my saved information.Keep it secret, keep it safe +
6年前
記事のアイキャッチ画像
1Password 7.3 for Mac – our life in miniature
1Password Blog
+For the last several months the Design and Development team at 1Password has been hard at work on a major renovation to the smallest part of everyone’s favorite password manager: 1Password mini.Since we launched 1Password 7 last May, we’ve received more feedback about that incarnation of 1Password mini than any other part of our version 7 update. Given that it was such a significant departure from its predecessor, we anticipated this feedback. Instead of snapping into reaction mode, we took a wait-and-see approach; change is hard, and we didn’t want to jump to the wrong conclusions. Over time, we built up a wish list of improvements we wanted to bring to 1Password mini and we set off on our journey.Core competenciesBefore a single mockup or wireframe was created, we took a step back to define exactly what 1Password mini needed to do well:Show items that match the frontmost app or website.Fill your passwords, credit cards, and address information into a web page.Generate new passwords q +
6年前
記事のアイキャッチ画像
From the Founders’ Desk: thoughts on mental health
1Password Blog
+With several countries observing a mental health awareness week in May, now is a great time to think about how we care for ourselves and others. We are all worthy of support, encouragement, and happiness. Sometimes feeling okay is easier said than done, but by carving out a bit of time each day to focus on mental and physical health, we can work towards that reality together.Here at 1Password, a huge part of our culture is being positive and working to bring the “wow” factor to our customers – but to do that, we need to take time to recharge ourselves, too. That’s why we encourage folks to get active during the day, and spend time doing things they love. Whether we’re coding amazing new features or helping answer questions from awesome users, it’s a pretty sedentary job. Having activities outside of work – like going to the gym, yoga, a darts league, or squash – gets you moving, helps the body stay active, and feeds the brain. :)We also do a few things within 1Password to help keep peo +
6年前
記事のアイキャッチ画像
1Password X: May 2019 update
1Password Blog
+Welcome to the May update of 1Password X! They say April showers bring May flowers, and boy howdy do we have some incredible flowers to share with you today. 🌹🌷From a freshly redesigned pop-up, to drag-and-drop support, to some incredible speed boosts, 1Password X is lit AF better than ever.All new pop-up designThe 1Password X pop-up has been completely recreated to use a two-column layout. With one less column, things are now simpler, more responsive, and allow you to see your item details right away. Along with smart suggestions, you can quickly find your logins, credit cards, and identities when you need them.Search feels more natural in the new design and is faster than ever. Start typing and 1Password will do the rest. After you find the login you’re looking for, press Enter and 1Password will open the website and automatically fill your information.If you need to manually type a password on another device, use Large Type to make it as easy as possible. And you’re not limited to... +
6年前
記事のアイキャッチ画像
CSX: The internal tool that gives our support team superpowers
1Password Blog
+Since 1Password was founded in 2005, customer support has been at the heart of everything we do. I’ve been working with a small team to build CSX, a Chrome extension that makes providing support as easy as 1Password makes managing your passwords.Why do we need a tool like CSX?As 1Password grows, so do the number of customers we talk to. To make sure we have time to give every reply the thought it deserves, we wanted to automate the repetitive, more administrative parts of the process.For example, we’ll often get an email that mentions a forum thread or Twitter conversation. Finding that discussion is a repetitive, time-consuming endeavor, and it would be much better if we could spend that time crafting our reply.To give one more example, we have a collection of “Charms”, which let a new team member know how to write the perfect response for every situation. These are new to us and we’ll likely write about them in the future, but suffice it to say, they help us ensure that every custome +
6年前
記事のアイキャッチ画像
1Password wins a Webby!
1Password Blog
+We are thrilled to announce that 1Password has won its first Webby award!The Webbys, hailed as the “internet’s highest honor” by The New York Times, are presented anually by the International Academy of Digital Arts and Sciences (IADAS) and have been around since the mid ’90s.We’re delighted that 1Password has been chosen by the Academy as the 2019 winner for Services & Utilities in the Apps, Mobile, and Voice category, as well as being named an honoree in Web Services for the 23rd annual Webby Awards.We take great pride in providing the best user experience not just on iOS but across all of our platforms, and we’re excited to be recognized for it.We’d also like to thank everybody who voted for us in the People’s Voice component of the award. Your support means a lot to us!Award-winning password management1Password makes it easy to keep your online accounts safe. Try our award-winning app today for free, and find out how simple secure password management can be.Try free for 14 days +
6年前
記事のアイキャッチ画像
Introducing the Essentials of Business Security: a new webinar event
1Password Blog
+Are you doing enough to keep your business secure? We’re hosting a series of webinars with prominent security experts to help you learn the essentials of keeping your business safe online.Covering everything from ransomware to password breaches, each of these 30-minute webinars will teach you something new about the threats you face and the actions you can take to stay secure.Troy Hunt from Have I Been Pwned on Thursday, April 25th, 201910 a.m. BST / 5 a.m. ESTTroy Hunt is joining us for a security chat about password breaches, data dumps, and encouraging your team to use unique passwords.Troy Hunt is a security researcher and founder of Have I Been Pwned. You can learn more about Troy and his work at troyhunt.com.Michael Sherwood from Malwarebytes on Thursday, May 2nd, 20195 p.m. BST / 11 a.m. ESTMichael Sherwood, VP of Enterprise Online at Malwarebytes, is joining us to talk scams, malware, and preventative measures.Malwarebytes proactively protects people and businesses against dang +
6年前
記事のアイキャッチ画像
Setting up 1Password at work? Our webinar can help you onboard your team
1Password Blog
+Rolling out new business software can be a challenge. Getting everything set up is one thing, but training your team to use it can be time-consuming if you don’t have the right resources. Our webinar takes the guesswork out of onboarding.At 1Password, we want to give you the tools you need for a successful deployment. If you’re an administrator looking for the best way to train your staff, we’re here to do some of the heavy lifting for you.On May 7 at 2 p.m. EST, we’re hosting a webinar for team and business customers. This webinar is perfect for team members who are just getting started with 1Password or need a refresher.In this webinar, we’ll show you how to:Use 1Password.com to view and edit your passwords and other important informationSet up the 1Password apps and 1Password XSave, fill, and change your passwords to make them more secureWe’ll also have time for a Q&A session at the end to answer all your burning questions about 1Password.Register for the webinarTo receive notificat +
6年前
記事のアイキャッチ画像
Introducing the 1Password Internet Password Book (April Fools'!)
1Password Blog
+Don’t worry, we haven’t completely lost our minds over here — it’s just April Fool’s day!At 1Password we take privacy and security very seriously, and we think everybody else should too. That’s why we would never really suggest ditching your password manager for a cute password book you keep on your desk.And while writing down lots of unique passwords is admittedly safer than reusing the same password for everything, it still isn’t anywhere near as safe as using a password manager, and it certainly isn’t as convenient.Password books can get lost, damaged, or accessed by other people — and, worse, they encourage people to use weak, easy-to-type passwords (because if you’re manually typing things in, you don’t want to spend forever doing it). Our password generator creates passwords like =Rw}U5Wx}cHxc)2g6-^Z#7. Imagine writing dozens of passwords like that in a notebook, and copying them out each time you need to use them. You probably wouldn’t, right?Getting started with 1Password is th +
6年前
記事のアイキャッチ画像
Why you should change your Facebook password
1Password Blog
+Today, Facebook revealed that 200–600 million user passwords had been stored in a plain text file on an internal server. This left the affected users vulnerable and searchable by more than 20,000 employees – with around 2000 taking advantage of this. However, Facebook did state that no passwords were shared or leaked externally.Any affected users will be directly notified, and Facebook is not advising anyone to change their password. But, given the number of employees who accessed those passwords, we’d urge you to err on the side of caution and change yours just in case.Instances like this, where passwords are stored and accessible in plain text, are a good example why you should use a unique password for each site. Having a unique password means that the bad practices of one company don’t lead to your account being compromised on other sites where you use the same password.To keep your passwords truly secure, change them any time you suspect they’ve been compromised. We know it can be +
6年前
記事のアイキャッチ画像
AGConf[9]: Adventures on the high seas
1Password Blog
+One of the challenges as a remote company is that we’re scattered all across the world, which makes it difficult to meet in person. That’s why all of us at 1Password eagerly look forward to our annual meetup, AGConf, which is held each winter on a cruise ship in the Caribbean.We met up in Fort Lauderdale, Florida. Many of us were escaping cold and snow back home, and what better way to soak up the sun than to spend a week aboard Royal Caribbean’s Independence of the Seas — with stops in Nassau, Haiti, and Jamaica?Pre-cruise hangoutsWith people coming in from overseas, one even as far as New Zealand, a lot of folks like to get to Florida a day early. It helps them adjust to the time zone and get a good night’s sleep on land before venturing onto the boat.One group met up to get dinner and drinks at a tiki bar, another group went out in search of excellent Cuban sandwiches, and a lot of people just hung out in small groups in their hotel lobbies. It was a great way to meet up with old fr +
6年前
記事のアイキャッチ画像
Come find us at RSA Conference 2019
1Password Blog
+From March 4-8, RSA Conference 2019 will bring around 50,000 security professionals together in San Francisco to learn, share, and discuss the future of the industry. We’re all about improvement at 1Password, so we’re going to be there along with some of the leading lights in information security.Come and say hiThe 1Password Business and Security teams will be attending because we want to make sure that we remain at the forefront of the latest developments in the cybersecurity world. At 1Password, we firmly believe that the sharing of ideas is how we all get better at what we do, and I know our teams can’t wait to get started.If you’re making the pilgrimage to RSA Conference 2019, keep an eye out for your friends from 1Password at booth 2456. We love to meet our customers and we’ll have stickers and other goodies to hand out as well.Enjoy everything RSA Conference has to offerThere’s so much going on at RSA Conference 2019, and if you’re anything like me, you might not know where to be +
6年前
記事のアイキャッチ画像
Get more from 1Password Business with our next webinar
1Password Blog
+After you’ve set up 1Password for your business, it’s time to take things to the next level. Our new webinar will show you that the next step is just as simple as the first.On March 26 at 2 p.m. EST, we’re hosting a webinar to help you get more from 1Password Business. Whether you need help choosing a plan, are upgrading from 1Password Teams, or simply want to learn more about the 1Password Business features, this webinar is for you.In this webinar, we’ll show you how to:Organize your team with custom groups and rolesManage access with vault permissionsAudit your team with reports and the Activity LogWe’ll also have time for a Q&A session at the end to answer all your questions about 1Password Business.Register for the webinarTo receive notifications of future webinars, sign up for the mailing list.
6年前
記事のアイキャッチ画像
Connection, culture, and cruising in the Caribbean
1Password Blog
+1Password is a fully remote company with people scattered across the globe — from New Zealand to Germany to our home in Canada.Late last month, we all met up for AGConf, our annual company gathering. It’s a chance to meet new friends, reunite with old ones, and discuss the coming year’s plans while cruising around the Caribbean.But our week at sea isn’t just for sunbathing — it’s also how we connect on a personal level with those we work with. Instead of gathering in chat rooms and on conference calls, we’re able to spend time talking in person over food, drinks, games, and even while relaxing in a hot tub.Friends and partners are welcome too, and our new Chief Customer Advocate Lynette Kontny brought her husband Nathan along. He used the opportunity to cut some footage for his daily vlog. Nathan Kontny’s YouTube channel tackles important issues pertaining to business, family, and psychology in an engaging and thought-provoking way.The installment Nathan released after the cruise, “Sla +
6年前
記事のアイキャッチ画像
1Password 7.1 for Android - Super Awesome Edition
1Password Blog
+Our Android team has been working hard to make sure 1Password for Android sticks to its 2019 resolutions. We couldn’t be happier that after many hours in the gym, it’s now bigger and better than ever. I think you’re going to love 1Password 7.1 for Android.For this update, our Android team resolved to make it even easier for new 1Password customers to get started. That informed much of their work, and I’m sure you’ll agree when I say they absolutely met their goals. With a slicker sign-up process and easier Emergency Kit creation, you can be up and running much faster.A lot of work has gone into this update, and as ever, you can see everything that’s changed by reading the release notes. There’s a lot to whet the appetite in there, and I wanted to pick out a few of the biggest changes that we’re really proud to bring to 1Password for Android.Start your 1Password membership with Google PlayIf you install 1Password from the Google Play Store, you probably want your membership to be taken +
6年前
記事のアイキャッチ画像
SMS phishing - a cautionary tale
1Password Blog
+Scams that try to extract personal information via phishing sites, phone calls, or SMS are on the rise. It’s something we covered in detail in What is phishing, and how can you protect yourself?As someone who works for 1Password, security is a big focus of mine. I’m happy to admit that this job has made me far more paranoid than I used to be, and naturally I use 1Password to make sure all my passwords are strong, unique, and have never been included in any breach. I’ve read our internal security guide many times over, and I took part in a company-wide security training session just recently at our annual company get-together.You’d think all this preparation would keep me safe from phishing – but last week, I was nearly caught by an SMS phishing attempt. If I can be caught out, so can you, and so I write this post in the hope that my experience will encourage others to be cautious.The perfect time and placeIn January, the 1Password team got together in Florida for our annual AGConf, and +
6年前
記事のアイキャッチ画像
773 million records added to Watchtower after Collection #1 data breach
1Password Blog
+Earlier today, security researcher Troy Hunt announced the Collection #1 data breach and updated Have I Been Pwned with over 773 million new compromised logins. These are now available in Watchtower, so you can check if you’ve been affected by the breach right from 1Password.What is the Collection #1 data breach?Collection #1 consists of over 1 billion username and password combinations, taken from individual data breaches on thousands of different websites. The data has been circulating on the dark web and hacker forums and is the single largest breach to ever be added to Have I Been Pwned and Watchtower.Collection #1 contains:1,160,253,228 unique combinations of email address and password773,138,449 unique email addresses21,222,975 unique passwordsAround 140 million email addresses in this breach had never appeared in Have I Been Pwned before.What do attackers want with this data?Attackers use bots to try passwords stolen from breaches on many other websites with the aim of gaining a +
6年前
記事のアイキャッチ画像
Good password security: the perfect New Year’s resolution for your business and employees
1Password Blog
+The New Year’s resolutions we stick to have a few things in common: they’re realistic, focused, and have clear benefits. That’s why improving company-wide password habits is a great resolution for 2019.According to the most recent data from Verizon, over 70% of employees reuse passwords at work. The report also finds a staggering 81% of hacking-related breaches used stolen or weak passwords. A security breach of your own wouldn’t be a great start to the year, especially if you know it could have been avoided.1Password Business makes improving password habits an easy resolution for you and your employees to keep, both at work and at home. You get a password solution for your entire business — complete with advanced access controls and Watchtower breach monitoring — that’s compliant to the most stringent industry standards.When your employees are practicing good password habits at home, they are infinitely more likely to practice them at work. The beginning of the year is the perfect tim +
6年前
記事のアイキャッチ画像
1Password 7.3 for Windows - More polished than ever
1Password Blog
+When we said this release was just around the corner, we weren’t kidding! After some great work by the team over the last few weeks, 1Password 7.3 for Windows is ready, and you can download it now. There’s a lot to enjoy with this release, and we hope you love it as much as we do.With 1Password 7.3 for Windows, our teams have made some huge changes to the way the app looks and works. We’ve taken the 1Password that you all know and love and then supercharged it. With this update installed, you’re getting the best version of 1Password that Windows has ever seen.There’s so much to share that we’re just going to jump right in, and as ever the full rundown of what has changed under the hood can be found in our release notes.Watchtower and securitySecurity is always at the forefront of everything we do at 1Password, and we never miss an opportunity to make it easier for you to stay secure, too. To that end we’ve added support for Secure Desktop, giving you the option of unlocking 1Password i +
6年前
記事のアイキャッチ画像
Introducing 1Password 7.3 Beta for Windows
1Password Blog
+1Password 7.3 for Windows is around the corner, and you can help us get it ready. There’s lots to look forward to, and we’re sure you’ll agree that this is the best 1Password that Windows has ever seen.We’ve been working on this update for some time, and we want to make sure that it’s as awesome as can be. That means we’re still a few weeks away from the release of 1Password 7.3 for Windows, but if you want to test the waters and help us create something awesome, you can download the latest beta release right now.Whenever you download 1Password 7.3 for Windows — beta or otherwise — you’re going to see plenty changes this time around. They all build on the strong foundations that 1Password 7 gave us earlier this year, and we wanted to give you a quick sneak-peak of what you can expect.We think that you’re going to love 1Password 7.3 for Windows, and here’s why.1Password gains its own desktopNow 1Password is even safer with the addition of “Unlock using Secure Desktop.” 1Password can now +
6年前
記事のアイキャッチ画像
Improve your team’s security in 2019 with our next webinar
1Password Blog
+Start 2019 with the goal of improving your team’s security habits. Rolling out 1Password is one of the best ways to achieve that result. Our next webinar will help you get started.On January 15 at 2 p.m. EST, we’re hosting a webinar to help administrators get started with 1Password. If you’re looking to set up 1Password for your team, have just been appointed as a team administrator, or simply need a refresher, this webinar is for you.In this webinar, we’ll show you how to:Invite people to your teamShare data and manage permissionsCreate and manage groupsWe’ll also have time for a Q&A session at the end to answer all your questions about 1Password Teams and 1Password Business.To receive notifications of future webinars, sign up for the mailing list.(Editor’s note: This webinar is no longer available.)
6年前
記事のアイキャッチ画像
Does Australia's access and assistance law impact 1Password?
1Password Blog
+Australia recently passed the so-called Assistance and Access Act. This law (correctly) has many digital security and privacy experts worried. We’d like to offer some preliminary remarks on how it may impact the privacy and security of 1Password customers and how it may affect the way we work.Even at this early stage we can remind everyone that we do not currently, and will not introduce back doors into our products, and we will continue to operate in a way that would make it difficult for a back door to be inserted.Our remarks on the Assistance and Access Act (discussed under the hashtag #aaBill) must be preliminary at this point. There is a great deal of vagueness in the law in its current form, and we do not know how it will be interpreted and used when it goes into effect into effect. Nonetheless there are a number of things that we can clearly (re)state now.We don’t like back doorsA back door is a deliberate and hidden weakness in a system that is designed to allow certain people +
6年前
記事のアイキャッチ画像
Cyber Hotel Business Hack
1Password Blog
+Random but Memorable is back with an episode full of a new Watchtower Weekly, customer questions, and even a chat with Charles Arthur, author of Cyber Wars: Hacks that Shocked the Business World.Watchtower Weekly talked briefly about the Marriott breach, which potentially impacts nearly 500 million Marriott and Starwood customers. Data exposure can always leave you vulnerable, so it’s a good idea to take Marriott up on their offer for a free year of WebWatcher to monitor your information. They also brought up a rather embarrassing incident for Tesla in which a disgruntled customer complaining to their customer support forum got more than he bargained for. Instead of just an answer, a support agent ended up giving him administrative permissions for the entire forum! That’s right, he was granted full access to the entire forum. There’s going above and beyond to help your users and then there’s giving them the ability to not only edit and delete any post but also gave him access to full p +
6年前
記事のアイキャッチ画像
Better, faster, stronger - our new blog and how we made it
1Password Blog
+Welcome to our new blog! It’s been re-built, re-designed, and moved to a new home on 1Password.com. It’s the fastest and most efficient experience we can give readers and we really love it. Learn how we built it as a static, serverless site with Hugo and AWS.Our blog has seen many homes over the years, going all the way back to the original one nearly 13 years ago (which is impressively still live on the internet today).You may have already noticed the new blog you’re reading on now as it’s been around for a couple months, but today, we’re happy to officially announce it! As well as the retirement of our previous one at blog.agilebits.com. Be sure to subscribe via RSS and follow us on Twitter or Facebook to stay up to date with our news, announcements, security tips, and all things 1Password.The previous blog was built with WordPress, which served us well for the past decade, but we figured we could do better and build something more lightweight, fast, and secure. And of course there’s +
6年前
記事のアイキャッチ画像
Setting up 1Password at work? Our webinar can help
1Password Blog
+Rolling out new business software can be a challenge. Getting everything set up is one thing, but training your team to use it can be time-consuming if you don’t have the right resources. Our new webinar takes the guesswork out of onboarding.At 1Password, we want to give you the tools you need for a successful deployment. If you’re an administrator looking for the best way to train your staff, we’re here to do some of the heavy lifting for you.On December 4 at 2 p.m. EST, we’re hosting our first webinar for team and business customers. This webinar is perfect for team members who are just getting started with 1Password or need a refresher.In this webinar, we’ll show you how to:Use 1Password.com to view and edit your passwords and other important informationSet up the 1Password appsSave, fill, and change your passwords to make them more secureWe’ll also have time for a Q&A session at the end to answer all your burning questions about 1Password.Register for the webinarTo receive notifica +
6年前
記事のアイキャッチ画像
Special Thanksgiving presents from 1Password
1Password Blog
+The trees are turning colours and the smell of pumpkin pie is in the air. That can only mean one thing: Thanksgiving is almost here!I love this time of year for so many reasons but my favourite is being reminded of all the incredible things I have in my life.From a wonderful family to great friends to working at my dream job, I have a lot to be thankful for.All of this wouldn’t be possible without awesome customers like you. Thank you for supporting us all these years! 😘Give a free year of 1PasswordThis year I am giving you a gift for those special people in your life: give them the gift of security with a free year of 1Password and show them that you care.If you purchased 1Password 7 or have an active subscription into 2019, simply click this link to send your gift:Gifts can be sent to direct family members, extended family, friends, or someone who is doing good things in your community. Showing them that you care is sure to bring a smile to their faces.Thank you again for supporting... +
6年前
記事のアイキャッチ画像
Apps Love 1Password
1Password Blog
+People love using 1Password with their favorite apps. Other developers have integrated 1Password into their own apps because they were eager to offer their customers the very best experience. As developers ourselves, and people who use those apps, we can’t thank them enough for their work.Changes to the way iOS and Android handle password management and filling have given 1Password an opportunity to make password filling better than ever. It’s never been easier to use strong, secure passwords for every website and app you use. With support for Authentication Services and Password AutoFill in iOS 12 and the Autofill API in Android 8 (Oreo), 1Password is ready for the next step in our journey. And things will get even better as developers fully support all the new tools on offer.I’ve been using the latest autofill features on iOS and Android, and they’re brilliant. Entering passwords on a phone has never been easier. In fact, it’s downright fun. I’m a little bit in love with the work dev +
6年前
記事のアイキャッチ画像
Let's all go to the park - introducing 1Password Park
1Password Blog
+1Password was born and raised in Canada, with an amazing team of people working around the world to continue development and provide support to all our customers.Last Christmas, we wanted to help provide food security to those in need, and donated $50,000 to Food Banks throughout Ontario, where our Founders are based. We’ve been fortunate to be able to help others in our community, and found a new way to continue helping.Several years ago, Dave Teare began coaching in his hometown, with the St. Thomas Soccer Club. When the City of St. Thomas decided to build a new outdoor soccer space to ensure there would be fields for kids to play on, we knew it was something we wanted to be involved with.We’re super excited to announce that in the spring of 2019, kids from all over will be able to enjoy 1Password Park - a 65 acre outdoor complex featuring soccer fields, an artificial turf football field, a playground with a splash pad and walking trails. 1Password Park will be an awesome place to pl +
6年前
記事のアイキャッチ画像
From dark to light and back again
1Password Blog
+We’ve had a lightbulb moment and added Dark Mode to our blog. It makes it more readable, more enjoyable, and more fun than ever before. Read on to find out how we did it and how you can add it to your own website.Dark Mode in Mojave is great for apps, but until now websites didn’t have a way to participate in the fun. Apple just gave us a gift with their latest update to Safari Technology Preview, and we’ve been having fun exploring the new possibilities.Welcome to the dark side 🌗Today I’m happy to say that the 1Password blog is now 100% compatible with Dark Mode, and the experience is fantastic. 🎉Although the Safari app itself has supported Dark Mode ever since macOS Mojave debuted, websites had no way to know when their content was being presented in Dark Mode. You saw the same color scheme on each website, no matter which mode your Mac was in.Safari Technology Preview 68 changed this by adding support for the prefers-color-scheme media query. It’s exactly what websites need to sup... +
6年前
記事のアイキャッチ画像
Hello Brooklyn, Hello 1Password: Apple’s special event wrap-up
1Password Blog
+Today’s Apple Event in NYC was one of my favorites in years. From the new Macs, to the new iPads, to 1Password making an awesome cameo on stage it had everything I could want in an Apple keynote.Full disclosure before we go any further in today’s post, folks: I am tapping into a deep vein of long-running Apple fanboyism. If you’d rather not hear me gush about all the stuff that was announced at the Brooklyn Academy of Music, here’s the gist: 1Password on stage, woo! Brand new iPad Pros with Face ID, incredible! New MacBook Airs (with Touch ID) and Mac minis, fantastic!Speaking of that cameo, we were super surprised and honored to show up on the screen behind Laura. Touch ID on the Mac is one of my favorite features and having Apple use 1Password to show it off to the world was just terrific. 🙏Brand New MacsNow I don’t care to engage in hyperbole, and the word “finally” is usually uttered in a wry tone, but seeing new a whole new model of Mac mini finally announced today was so great.... +
6年前
記事のアイキャッチ画像
Random but Memorable: the security advice podcast from 1Password
1Password Blog
+Last month, we launched Random but Memorable, a bi-monthly security advice podcast. Random but Memorable is named after your Master Password, but is also very appropriate for the show. The “memorable” part mainly comes from my co-host Michael Fey (Roo) not reading the show notes until we start recording, and the “random” part is a direct result of this.In our first episode, Correct Battery Horse Pilot we talk about our iOS 12 and Mojave beta releases, and discuss the security news of the week. We experimented with a few ending segments of lighthearted banter but settled on trying to pronounce odd-looking place names, starting with the British city of Loughbrough.The second installment is called Machine Factor Toaster Data and introduces our first guest, Mitchell Cohen, who works on 1Password X. We discuss what 1Password X is and how it uses machine learning in a privacy-conscious way.The third episode, Nickelback Apologist Math Bounty is my favourite so far. In it, we answer some quest +
6年前
記事のアイキャッチ画像
1Password 7.2 for Mac: Welcome to the dark side
1Password Blog
+It’s fall and you know what that means: new Apple operating systems! When Apple announced macOS Mojave with Dark Mode back in June, we knew we wanted to be there on day one with an update to 1Password that looked great in the dark. So we hiked up our programmer pants and got to work.1Password has a dark sideAs soon as Tim Cook left the stage at the Worldwide Developers Conference keynote we hustled back to our hotel and got to work on some mockups for what a Dark Mode version of 1Password might look like. We started, naturally, with the lock screen:Of course we didn’t stop there. Once you unlock 1Password, you’ll be greeted with a user interface that is right at home in Dark Mode. I love how website icons pop against the dark background, making it easier than ever to spot the login you’re looking for.Safari support, baked right in1Password has had the ability to work within Safari for years, making it super easy to fill your usernames and passwords directly into websites. With 1Passwor +
6年前
記事のアイキャッチ画像
California Password Law
1Password Blog
+California just became the first state to put a cybersecurity law on the books for any internet-connected devices that are made or sold in the state. This new legislation goes into effect January 2020 and is designed to protect consumers by setting higher security standards for smart devices.To comply with this new law, companies will either need to set a unique password for the device at the time of manufacture or prompt people to set a new password during the initial device setup.This is a big step in the right direction for safety and privacy. Too often, people in a rush to get up and running will leave the default password in place rather than taking the time to set a strong password. Unfortunately, the default passwords are trivial to crack.As well as putting our privacy at risk, default passwords make it possible for hackers to take control of thousands of devices at once and use them to bring down other services. Twitter, Spotify, and Reddit have all been attacked in this way.Al +
6年前
記事のアイキャッチ画像
A journey into the new Mac App Store
1Password Blog
+macOS Mojave launched last week, and while Dark Mode was the feature I’d been most eager to test-drive, the redesigned Mac App Store quickly proved to be a dark horse itself. Here’s what I’ve been loving about the new Mac App Store, and what the 1Password team think you’ll love too. ❤️The first voyageThe Mac App Store has never been somewhere I’ve gone to browse, exactly — I’d usually open it with the intent of downloading a specific app. I wasn’t really expecting this to change, and the first time I opened it after upgrading to Mojave I was too struck by how incredible it looked in Dark Mode to notice much else.But after my initial “ooh, Dark Mode!” reaction subsided, I realized it wasn’t just the contrast between the dark backdrop and the rich illustrations that was impressive, but the design of the Mac App Store itself. For the first time ever, the App Store feels like one of the beautifully designed apps you’d go there to purchase — as well as a platform for discovering them.Discov +
6年前
記事のアイキャッチ画像
Customers love Password AutoFill on iOS and so will you
1Password Blog
+It’s been a couple of weeks since iOS 12 was released into the wild, and we have loved playing with all the new features it has to offer. Screen Time has shown many of us that we perhaps spend a little too much time on our iPhones, but one thing that has definitely sped up our mobile interactions is Password AutoFill.To recap, Password AutoFill opened up the filling technology included with iOS to third-party developers, meaning that we could make autofilling your passwords even easier.When iOS 12 was announced back in June, we were there in the audience of WWDC, and were thrilled to learn that we could now integrate 1Password directly into iOS. As soon as the keynote was finished, our developers jumped to work, and by dinner we already had a working demo.Skip forward three months and that demo has turned into a fully fledged feature, ready to transform how password filling works on iPhone and iPad.Love and praise from 1Password usersAs soon as our customers began to update their devic +
6年前
記事のアイキャッチ画像
1Password.com is now available in multiple languages
1Password Blog
+Over the past year alone, we’ve seen a 172% increase in non-English-speaking visitors to 1Password.com. We want everyone to feel completely at home using 1Password, so today we’re excited to announce an important step toward a truly global service.For the first time ever, all of 1Password – the apps and 1Password.com – is available in 11 languages:EnglishFrançaisDeutschItaliano日本語한국어PortuguêsРусскийEspañol简化字繁體字Whether you’re using 1Password on your own, with your family, or for business, you’ll find that everything has been translated: pricing pages, account-related emails – everything in your account on 1Password.com. View every button, field name, email, and vault item in the language you choose.Many of the most popular articles on our support website have already been translated, and we continue to translate more every day. Our in-house customer support team is also multilingual, spread around the world, and growing fast. We’re here to help you every day of the week.When you sign u +
6年前
記事のアイキャッチ画像
1Password X 1.10: Large Type, Watchtower, and easy two-factor authentication
1Password Blog
+New goodies abound, plus a treat for Linux users.1Password X is a 1Password experience that works entirely within your web browser, independent of a desktop app. It brings all the power of 1Password to Chrome and Firefox, and it works great on Linux, Mac, Windows, and Chrome OS.What’s new in version 1.10It’s been an incredibly busy summer for the 1Password X team, starting with our Independence Update in July. September brings some of our biggest features yet — and we mean that literally.Large TypeLarge Type is a beloved feature in the 1Password apps, and it’s made its way to 1Password X in style. Now you can make any of your passwords big and bold, so they’re easy to copy and read. Beautiful, eh??WatchtowerWatchtower helps you proactively identify breached passwords, so you can update them and stay secure. The Watchtower interface was completely redesigned for 1Password 7 for Mac, and we knew we had to include it in 1Password X as well. Watchtower integrates with the haveibeenpwned.co +
6年前
記事のアイキャッチ画像
An open letter to banks
1Password Blog
+Many banking sites impose password restrictions and security measures that do little to increase user security, while ultimately making it more difficult for users to rely on password managers to fill their complex passwords.These security measures include putting a limit on maximum password length and restricting the ability to paste passwords, with some banks claiming that having to memorize and enter your password regularly makes it more secure. For those of us who rely on 1Password (and other password managers) on a daily basis, this advice is cringe-worthy. Unfortunately, it’s really not all that uncommon in the banking world.We want to help users stay safe with all of their accounts and logins, including banking. The ultimate goal would be to work hand-in-hand with banks and other financial institutions, creating passwords that meet their strict rules, and then keeping those passwords safe.To help achieve that goal, I’ve written an open letter to banks and financial institutions +
6年前
記事のアイキャッチ画像
1Password 7 for Android: The Best Ever
1Password Blog
+We recently launched massive updates to 1Password on both Mac and Windows. Today, I’m thrilled to reveal that 1Password is getting a bold new update on the Android platform as well.1Password 7 blends the best features of 1Password with the unique style of Android to deliver the best possible experience for managing your vaults on the go. We started with a design overhaul of the screens you use the most and then packed in some great new functionality to make it easier to access and update your data. On top of the added convenience, we’ve also made it easier to up your security game with some fantastic features I know you’re going to love.Lock it downLet’s start by diving into the first thing that you’ll notice after updating to 1Password 7: the fresh new design. You’ll be greeted with a shiny new lock screen standing guard over your data.Not only does this new design pay homage to the strength of the protections around your data, but it also includes a delightful animation for those tim +
6年前
記事のアイキャッチ画像
A 1Password Journey Through SOC2
1Password Blog
+A while ago, we decided it was time for 1Password to become SOC2 certified… Don’t worry, we aren’t designing socks. Protecting customers’ data has always been our highest priority, and this certification is one more way we can attest to that.SOC stands for Service and Organization Controls, a family of certifications related to others you might have heard of like ISO or FedRAMP. While there are SOC1, SOC2 and SOC3 the one relevant to 1Password is SOC2. Being SOC2 certified means that we’ve demonstrated that we follow best practices for Security and Availability.Security in this case is not about our encryption, which we all know is the best out there. 😉 In the world of SOC2, Security ensures that we have—and follow—processes and policies that keep 1Password secure from all angles- everything from the way we train our employees to how the software is developed. Availability means -you guessed it- that 1Password will be working whenever you need it to.Demonstrating our commitment to sec... +
6年前
記事のアイキャッチ画像
1Password X 1.8: The Independence Update for Chrome and Firefox
1Password Blog
+A massive release with credit card and two-factor authentication code filling, password generator history, and a whole lot more.What is 1Password X? It’s a 1Password experience that works entirely within your web browser, independent of a desktop app. It brings all the power of 1Password to Chrome and Firefox, and it works great on Linux, Mac, Windows, and Chrome OS.With today’s release, we’re closer than ever to realizing our dream of independence. In fact, there’s more than enough in this release to call it 2.0, but seeing that 1Password X is evergreen software, we decided to cut out the version inflation and go with a good ‘ol name. 🙂Just in time for Canada Day and July 4th, let me introduce you to 1Password X: The Independence Update. 🇨🇦🇺🇸🎆Redesigned on-page experienceThe signature feature of 1Password X is direct integration with webpages. It’s what people love the most, and in the Independence Update we made it even better.1Password X is now smarter, more proactive, and mor... +
7年前
記事のアイキャッチ画像
Make a Pitstop in Denver and visit 1Password at GopherCon
1Password Blog
+Each year, a bunch of us make the annual pilgrimage to GopherCon, the largest and most well attended Go developer conference in the world.We take in the sights Denver has to offer, get the best coffee around from Denver Little Owl Coffee (If you think there’s better, please tweet us 😉), and most importantly learn all about the miraculous things people are creating with Golang.This year things will be even more special as we are the headline sponsor of GopherCon 2018!The GopherCon organizers have some amazing things planned this year, with the racing theme in full effect. As this is our first time sponsoring, make sure you visit the 1Password Pitstop while attending the conference!Visit the 1Password PitstopIf you are attending GopherCon, come and get a checkup from our expert Passwordologists at the 1Password Pitstop, and find out the best ways to secure your business and family online. We also love to hear from customers already using 1Password, so do come on over and chat about your... +
7年前
記事のアイキャッチ画像
Watchtower: we shall fight on the breaches
1Password Blog
+1Password’s Watchtower service has been helping users identify accounts that have been affected by breaches for years. Today we’re proud to announce an enhancement to how 1Password finds and identifies breached accounts.1Password can now use Have I Been Pwned to find accounts that have been compromised based on the email address associated with the account. It can even do this without needing to share your email address with anybody.Before we dive in to learn about the details, take a look at the awesome work Matt and Jasper did to bring this to life.Breach ReportThere’s actually a fair amount to unpack here, and it’s difficult to see detail on a video, so let’s break down the breach report in screenshot form.The Breach Report is split into three sections.The top most section is a list of websites where an account with your email address has been identified as having been compromised, but you don’t have any information about this website in 1Password.That’s amazingly powerful as 1Passw +
7年前
記事のアイキャッチ画像
WWDC18: Presents from Apple
1Password Blog
+Hello everyone! It’s WWDC week and a large portion of the 1Password development team is here in San Jose basking in the glow of this year’s Apple’s Worldwide Developer Conference. For me it’s my first time coming to WWDC since it was last held in San Francisco two years ago, and I absolutely love it. The conference center itself is gorgeous, and the surrounding area is wonderful. Somehow I’m finding it easier to run into folks I know, and I’ve already caught up with a bunch of old friends and made a number of new ones since I’ve arrived.WWDC is much more than a place for me to stretch the wings of my social butterfly tendencies, however; it’s all about new tech, and boy oh boy did Apple hook us up this year. Many of us are already rocking iOS 12 and macOS Mojave on our main devices and computers and they are awesome. Not only that, but 1Password is running quite happily on iOS 12 and needs just a couple small tweaks on macOS Mojave.iOS 12 and Password AutofillOn Monday afternoon, durin +
7年前
記事のアイキャッチ画像
1Password 7 for Windows: The Best Ever
1Password Blog
+Hot on the heels of last week’s 1Password 7 for Mac announcement, I’m pleased as punch to unveil the best version of 1Password for Windows ever: 1Password 7 for Windows is here! 🎉 👏This is a massive release where quite literally everything has changed. Seriously, every bit and every pixel has been recreated from scratch using the latest and greatest technologies to make 1Password the best it can be.From an incredible new design to having all your vaults in one place to a whole new architecture, 1Password 7 is the fastest, prettiest, and most powerful version of 1Password yet. In short, it’s simply the best. A bold claim but thankfully we can back it up. 😎All new modern designOur design team has been working their tails off reimagining every aspect of 1Password. We wanted to make it as powerful and beautiful as the Mac app while staying true to the Windows platform.It all added up to a breathtaking new design that you’re going to love. And it all starts with the lock screen.The steel... +
7年前
記事のアイキャッチ画像
1Password 7 for Mac: The Best Ever
1Password Blog
+Today is a momentous day! It’s time to take the wraps off something incredible that changes the world as we know it: 1Password 7 for Mac is here! 🎉🙌There’s a ton of amazing features packed into this release and I couldn’t stop myself from writing a lot about them. If you’d like to start rocking right away, feel free to jump ahead and download 1Password 7 now. For everyone else, it’s my distinct pleasure to share with you the awesome that is 1Password 7.Marvellous mini1Password mini is how most of us use 1Password on a daily basis and for version 7 we wanted to make that experience the best it could be.1Password mini has been completely reimagined and comes with so many features that we needed to give it its own window. When you bring up mini you’ll find it waiting for you with an incredibly powerful and beautiful new look.While in your browser, mini will automatically suggest the items you’re most likely to need. Select the login you want to sign in with and 1Password will do the res... +
7年前
記事のアイキャッチ画像
1Password at Google I/O 2018
1Password Blog
+Just over a week ago, I was incredibly lucky to attend Google’s annual developer conference at the Shoreline Amphitheatre in Mountain View. I always look forward to this event because it showcases the latest and greatest technologies coming to Google’s platforms. And to make things even better, I was joined by Gene, Peri, Shiner and Michael – our largest group at I/O yet!Google I/O 2018After grabbing coffee and snacks, we took our seats and eagerly waited for the keynote to begin. Sundar Pichai opened the conference by revisiting the most pressing issue of last year: the hamburger and beer emoji fiasco! With the cheese now in the right place, he continued with the keynote and introduced one of the main themes of the conference: leveraging machine learning to solve both simple and complex problems in our daily lives.The improvements to the Google Assistant such as “continued conversations” and the new voices are fantastic. I do worry that I may fall back asleep if John Legend’s soothing +
7年前
記事のアイキャッチ画像
Using Splunk with 1Password Business
1Password Blog
+1Password Business makes it easy to monitor events that happen on your team using the Activity Log, and you can take that to the next level by adding Splunk to the mix. Using the 1Password command-line tool, you can send your team’s 1Password activity to Splunk and keep track of it there alongside other happenings within your team.One of Splunk’s most popular features is the ability to find events and trigger alerts based on them. For example, in your team you could set things up so the sysadmins are alerted whenever someone is added to the Owners group in 1Password. I’ll get into that example a bit more later in this post.Set up the 1Password command-line toolTo kick things off, let’s set up the 1Password command-line tool, if you’re not using it already:1Password command-line tool: Getting startedWhen setting up the tool, start by creating a custom group and giving it the View Admin Console permission so it can view the Activity Log, then add a user to that group. Once the tool is se +
7年前
記事のアイキャッチ画像
Getting 1Password 7 ready for the Mac App Store
1Password Blog
+1Password 7 has been in beta for six weeks now and the feedback has been fantastic. We are getting close to the official release date and have begun final preparations, including submitting 1Password 7 to the Mac App Store. 🎉When 1Password 7 is released it will be available from the Mac App Store as well as our website, and will be available as both a subscription and a standalone license.When adding 1Password 7 to the Mac App Store we needed to answer the following two questions:Should it be a new app?Should it support both subscriptions and licenses?Ultimately we decided that 1Password 7 will be a new app in the Mac App Store, and available only as a subscription. I know that many of you will be curious about this, so I wanted to share with you why we decided on this approach.Mac App Store and upgradesThe Mac App Store is one of the most convenient ways to purchase apps for your Mac. You can purchase with confidence, pay quickly in your local currency, and updates happen automatical... +
7年前
記事のアイキャッチ画像
Learn how your business is using 1Password with reports
1Password Blog
+One of the top requests we’ve gotten from teams using 1Password over the past few years is a way to see what items their team’s been using. With 1Password Business, we’ve added item usage reports, a new tool for you to see how the people on your team are using 1Password.Know what your team can accessAn administrator or owner on your team can create a report for a team member to see what items they’ve used, how many vaults and items they have access to, and more. To create your first report for a team member:Sign in to your business account on 1Password.com.Click People in the sidebar.Click the name of a team member, then click Create Usage Report below their name.We’ve designed reports to focus on the vaults that matter to you, so you’ll see items from shared vaults in a person’s report.Know what’s being used in your vaultsYou can also create a report for a vault to see what people have been using in it. To create a report for a vault:Click Vaults in the sidebar.Click the name of a vau +
7年前
記事のアイキャッチ画像
Introducing Watchtower 2.0: The turret becomes a castle
1Password Blog
+Introducing the all new Watchtower – it is absolutely gorgeous, and appears to be rather timely!Twitter asked their 330 million users to change their password yesterday due to a security snafu, putting privacy and security at the forefront of everyone’s mind once again.1Password includes Watchtower, with its suite of security tools, making it the easiest and most comprehensive way for you to check the security of all your passwords.With a click of a button, Watchtower audits your passwords against a wide range of security vulnerabilities giving you an easy to read report with simple steps on how to fix any issues it finds.Let’s take a look at some of the defences.On the lookout for breachesWatchtower will automatically notify you if there’s been a security breach for a website you use. A bright red bar that’s pretty darn hard to miss will display across the top of the item, prompting you to change the password for that site.Please excuse me while I hop away for a sec and go change that +
7年前
記事のアイキャッチ画像
How strong should your 1Password account password be? For World Password Day we’d like to know
1Password Blog
+Just how strong should a 1Password account password be? We recommend that account passwords be generated using our wordlist generator using passwords that are four words long. This gets you something like “napery turnip speed adept”.Among other things, this gives you the chance to learn new words. My dictionary has now informed me that “napery” means household linens such as table cloths and napkins. But let me move on from obscure vocabulary to asking about 1Password account password strength: What we know about account password strength, what we would like to know about it, and how can we get expert password crackers to help us learn?That’s why we are announcing a password cracking challenge to be managed by Bugcrowd with cash money rewards. First prize earns $8192, second prize is half of that, and third prize is half again. The race will begin has begun at noon Eastern Time on World Password Day, May 3, 2018. For those who want to jump right to the contest details, without reading +
7年前
記事のアイキャッチ画像
Multi-Factor Authentication in 1Password
1Password Blog
+The more the merrier, my mother likes to say. And why shouldn’t that apply to authentication factors? You have your Master Password and Secret Key, and they’re combined to be one amazingly strong factor via Secure Remote Password. We’ve added two more to the guest list, and you get to invite whichever you’d like.ContentsTwo-Factor AuthenticationDuo SecurityAnother layer of protectionSupported across all 1Password appsTwo-Factor AuthenticationTwo-factor authentication in 1Password is implemented with Time-based One-Time Passwords. Time-based One-Time Passwords is a mouthful, so forgive me for abbreviating it to TOTP from here on out. TOTP is a widely adopted standard and it’s a great way of adding a familiar additional factor to your authentication process.When setting up two-factor authentication, you’ll be provided with a TOTP secret that you can store in an authenticator app of your choosing. 1Password has been a TOTP authenticator for years now and storing it there is very convenien +
7年前
記事のアイキャッチ画像
Meet the team that builds 1Password.com
1Password Blog
+Last week found a number of us flying out to Toronto for what we called RickConf (I swear I didn’t name it!). The weather did its best to try to get in our way as the ice storm caused some of us to arrive a day later than expected. We all made it though, and I think we all took turns assuring the Californians that this weather is not normal.RickConf was an opportunity for everyone that works on 1Password.com to get together, hang out, and prototype some ideas for the future. 1Password is a remote company, so this is one of the few times per year where the whole team gets together. We think that it’s incredibly important that we get to know each other beyond the avatars we have on Slack.I’d like to introduce you to the team, and help put faces to names you may have seen when emailing in with questions.From left to right we have Jiannine, Jasper, Jacob, Betty, Rob, Meek, Brett, Isha, Connor, Matt, and finally myself. Not pictured here are Shiner and Roustem who are an absolutely critical +
7年前
記事のアイキャッチ画像
Introducing 1Password Business
1Password Blog
+Since 2015, over 30,000 businesses have signed up for 1Password Teams and discovered how 1Password can help them be secure while also increasing their productivity.We’ve learned a lot by working with these companies and found that what works for a team of 20 doesn’t necessarily work for a company of 20,000. So we got to work.Today, I am thrilled to announce the results of that work: 1Password Business. 🎉1Password Business provides the features you need as a larger team. It gives you the tools to protect your employees, secure your most important data, and stay compliant. Your administrators will love it for the control it gives them, and your employees will love how easy it is to use.Control access and be compliantGDPR, HIPAA, SOC2, PCI, PIPEDA… man, there’re enough compliance requirements to make your head spin.Thankfully, 1Password helps by keeping you in control of who has access to what. Each employee gets a place to store their private, work-related passwords. But there are times... +
7年前
記事のアイキャッチ画像
MyFitnessPal Shows How to Handle a Breach
1Password Blog
+We all witnessed something refreshing last week when MyFitnessPal announced their data breach. They were open and honest about what happened and they should be congratulated.Many companies hide from the truth and make things much worse for themselves and their customers. Instead, MyFitnessPal did it right. Not only did they handle the disclosure with finesse, they also had excellent systems in place to limit the exposure of the leak.MyFitnessPal provides a great case study on how to handle a data breach and protect customer information. Let’s start with the announcement itself.The AnnouncementFirst it needs to be said that it was awesome that there actually was an announcement and that it was published in a timely manner. This is a very good thing!There was an in-app notification, direct emails, and a pinned Twitter post.They also posted Frequently Asked Questions that were excellent and when I emailed their support team with some questions for this post, their automated reply included +
7年前
記事のアイキャッチ画像
The 1Password 7 Beta for Mac Is Lit and You Can Be, Too
1Password Blog
+Guess what, Mac fam? 1Password 7 for Mac is on its way! 🎉👏This first beta is just a taste of what’s to come and it’s already packed full of new features and improvements. Here’s what we have so far.Beta blingThe awesome starts with the lock screen but the real magic happens when those doors open.Enhanced sidebar1Password 7 comes at you fast with its bold, beautiful sidebar. The sidebar shows more information than ever, but the dark theme and monochrome icons allow you to focus your attention on what matters most: your items.Drag and dropYou can now see all your vaults in the sidebar. This makes it easy to drag and drop items between vaults to organize them. You can even drag them between two different accounts. And if you drag items onto New Vault, a vault will be created for you right there and then. It’s never been easier to share and organize your information.Easily edit vaultsWith the new sidebar it seemed fitting to allow you to manage your vaults directly from there. So that’s ... +
7年前
記事のアイキャッチ画像
Introducing 1Password 7 Beta for Windows
1Password Blog
+1Password 7 for Windows is almost here! 🎉🙌 Today marks our first beta and you’re invited to join in on the fun.This is a massive release where quite literally everything has changed. And with support for local vaults, everyone can enjoy the awesomeness that is 1Password 7 for Windows.Read on to see what all the hullabaloo is about and I think you’ll find our excitement is quite contagious. 🙂Incredible New DesignOur design team has been working their tails off making 1Password 7 for Windows the best it can be, so it seems fitting that we start by showing how great 1Password 7 looks.The awesome starts with the lock screen.Once you unlock 1Password with your Master Password (or Windows Hello), you’re in for a delightful surprise. I’ll let 1Password speak for itself here.From the typography to the rich icons to the layout, everything has changed. Yet the soul of 1Password remains, so you’re able to jump right in and find everything you need.The new sidebar is not only gorgeous but it’s ... +
7年前
記事のアイキャッチ画像
1Password X: Better, Smarter, Faster, and Japanese! マジで!
1Password Blog
+If you’re new to 1Password X, you’re in for a treat! 1Password X is a full featured version of 1Password that runs entirely within your web browser. It’s great if you’re using Linux or Chrome OS and has quickly become my favourite way to enjoy 1Password on the web.Since launching in November we’ve been hard at work exploring what’s possible and polishing everything else. I’d love to share with you what’s new since 1Password X blasted off! 🚀Our best password generator yetOne of the things that we wanted to explore in 1Password X was how could we make our beloved password generator even better. And we were willing to go back to the drawing board to make it happen.We started by suggesting new passwords directly within websites:Just click Use Suggested Password when signing up and you’ve secured this website. It’s incredibly easy and perfect for most sites.Some websites, however, don’t accept long passwords. Or sometimes you need a memorable password or a numeric PIN code.1Password X now ... +
7年前
記事のアイキャッチ画像
Give the gift of 1Password
1Password Blog
+Ever since we launched 1Password memberships, people have been asking us how they can gift 1Password to their friends and loved ones. As you might expect, we see the most interest around the holidays, and this past holiday season was no different. I always thought it was a great idea, but we didn’t have a good answer – until now.$125 for only $99 🎉With 1Password Gift Cards, you can help anyone stay safe online. Give them to others or redeem them for yourself. You can purchase them in amounts of $25, $50, or $125. And because everyone loves to save money, we put the $125 gift cards on sale for only $99!PayPal and moreAnother request we’ve seen is the ability to pay for a 1Password membership without using a credit card. Gift cards make that easy.You can purchase 1Password Gift Cards with PayPal, and – because it’s 2018 – cryptocurrencies, like Bitcoin, Ethereum, and Litecoin. You can even use 1Password to manage your cryptocurrencies.And for those of you who are like myself – a bit old... +
7年前
記事のアイキャッチ画像
How to use 1Password to manage cryptocurrency
1Password Blog
+In 2017, the cryptocurrency market skyrocketed to over $600 billion. It’s the digital gold rush, and everyone wants their share. The lure of riches is too much to ignore, but there are also enormous risks. We can’t teach you how to make the best investments, but we can help you manage your cryptocurrencies securely.ContentsSet up 1Password before investing in cryptoHow to use 1Password to store your cryptoExchange accountsWalletsCryptocurrency addressesOrganize your crypto with tagsPay for your 1Password account with cryptoI’ve been trading crypto for a while now, and to be perfectly honest, none of it would be possible without 1Password. It helps me stay secure, and creating and managing all of my credentials – 46 and counting – is an absolute breeze.Set up 1Password before investing in cryptoBefore you invest in crypto, you need to take your security seriously. The best way to do that is with 1Password. I’ve seen people invest without using a password manager at all, and I’m seriousl +
7年前
記事のアイキャッチ画像
1Password is for Families
1Password Blog
+Today we’re celebrating Family Day here in Ontario and throughout other parts of Canada. It’s a great way to remind ourselves of the people in our lives who are always here when we need them. Family can mean a lot of different things – my brother-in-law Mike calling to ask if I need help shovelling snow, my aunt sharing a new card game, or a friend who needs a ride to an appointment – in the end, family means “together”.Sharing togetherMost of the time, sharing lives together is as simple as sharing a meal, sharing how your day was, and – these days – sharing Wi-Fi passwords and Netflix accounts. 1Password Families can’t cook for you or get your kids to clean their rooms, but it’s great with online accounts. In fact, it’s great for sharing a lot more than passwords, too.The Winter Olympics in Pyeongchang got me thinking about international travel, and I’m reminded of Jeff’s post about his son’s trip to Texas. He used 1Password Families to help his son prepare for his trip to the USA fo +
7年前
記事のアイキャッチ画像
Secure Remote Password (SRP): How 1Password uses it
1Password Blog
+1Password uses a multi-layered approach to protect your data in your account, and Secure Remote Password (SRP) is one of those very important layers. Today we’re announcing that our Go implementation of SRP is available as an open source project. But first, I’d like to show you the benefits SRP brings as an ingredient in the 1Password security parfait.ContentsParfaits: delicious and secureSRP: a hell of a layerHow 1Password uses SRPEnrollmentAuthenticationVerificationImplement SRP in your own appDonkey: Oh, you both have layers. Oh. You know, not everybody likes onions. Cake! Everybody loves cake! Cakes have layers!Shrek: I don’t care what everyone likes! Ogres are not like cakes.Donkey: You know what else everybody likes? Parfaits! Have you ever met a person, you say, “Let’s get some parfait,” they say, “Hell no, I don’t like no parfait”? Parfaits are delicious!Parfaits: delicious and secureThe first layer of security in 1Password, your account password, protects your data end to end +
7年前
記事のアイキャッチ画像
Terraforming 1Password
1Password Blog
+A tweet I posted a few days a go generated quite a bit of interest from people running or managing their services, and I thought I would share some of the cool things we are working on.@HashiCorp Terraform. It is like creating a brand new universe, from scratch. - @roustemView tweetThis post will go into technical details and I apologize in advance if I explain things too quickly. I tried to make up for this by including some pretty pictures but most of them ended up being code snippets. 😊1Password and AWS1Password is hosted by Amazon Web Services (AWS). We’ve been using AWS for several years now, and it is incredible how easy it was to scale our service from zero users three years ago to several million happy customers today.AWS has many geographical regions. Each region consists of multiple independent data centres located closely together. We are currently using three regions:N. Virginia, USA us-east-1Montreal, Canada ca-central-1Frankfurt, Germany eu-central-1In each region we hav... +
7年前
記事のアイキャッチ画像
1Password command-line tool 0.2: Tim’s new toys
1Password Blog
+Some of you may know Tim, our Beardless Keeper of Keys and Grounds here at AgileBits. Tim and his team keep everything running smoothly. The servers are serving happily and the networks are flowing gracefully. Tim is also the administrator of our company team on 1Password.com.Tim can script and automate with the best of them, and from the moment he got a preview of op, the DevOps team began bombarding us with feedback. One of the first things he asked for was the ability to create vaults, so we added that right away. But we knew we could still do more for Tim – after all he was on the nice list this year – so we got him some new toys to play with. If you’re too excited to read more, you can just start playing with op 0.2 now. To find out more, read on.Vault into the new yearOur first gift to Tim was more control over vault access. He can now use op to add users to vaults, remove users from vaults, and even delete vaults.So when Dave told Tim about a new project (codenamed Honey Badger) +
7年前
記事のアイキャッチ画像
1Password X: A look at the future of 1Password in the browser
1Password Blog
+“Wouldn’t it be cool if 1Password could do X?” is a question we often ask ourselves. The values for X are always changing, but some ideas come up again and again. Wouldn’t it be cool if…When you log in to a site, 1Password is right there on the page ready to fill?You could use 1Password without downloading the app?Linux users and Chrome OS users could join in on the fun?Now 1Password can do all these and more. We call it 1Password X, and it’s our brand new, full-featured experience that runs entirely in your browser.It’s super easy to set up, deploy, and use. It works everywhere Chrome works, including Linux and Chrome OS. And it’s a re-imagination of how 1Password works on the web.X is for extensionBefore we jump in, I want to address one thing you may be thinking: our X is a letter, not a version number. Our X is a hat tip to one of the most beloved features of 1Password, namely our 1Password extension.The extension is what allows us to have the little 1Password icon in your browser +
7年前
記事のアイキャッチ画像
1Password 7 for iOS: Efficiency Abounds
1Password Blog
+Hello and happy November, everyone! We’ve long anticipated this day here at AgileBits. After months of hard work, 1Password 7 for iOS is now available on iOS 11.The very first step in the journey that brought us to this point was taken back in June, shortly after the Apple Worldwide Developers Conference. Before a single line of code was written, before a single new screen was designed, we set a single goal for this update: efficiency. Along the way, we also added a few more features, like support for iPhone X and Face ID, and we’re excited to finally share it all with you.As our release notes say, this is the greatest version of 1Password for iOS we have ever shipped, so let’s dive in, shall we?iPhone X and Face IDOn September 12th, like many of you, everyone here at AgileBits was glued to their screens watching Apple’s keynote from the beautiful Steve Jobs Theater at the new Apple Park campus. The announcement of iPhone X was already exciting, but the introduction of Face ID was like +
7年前
記事のアイキャッチ画像
1Password living on the [Microsoft] Edge
1Password Blog
+I’ve long been curious about Microsoft Edge. It’s fast, light-weight, and much more secure than the Internet Explorer of my childhood. It had everything you look for in a browser … except 1Password support. Today that changes!Thanks to the hard work of the Microsoft Edge and Windows Store teams, along with our own Windows team, I’m excited to announce that 1Password now has a lovely new home right on your Microsoft Edge toolbar. 🎉Boldly go where no Login item has gone beforeTo bring your items with you to explore Microsoft Edge, first make sure you have 1Password 6.7 or later installed and set up. Then, head to the Windows Store and grab the 1Password extension. Open Microsoft Edge, enable the 1Password extension, and enjoy saving new Login items, opening and filling in Microsoft Edge from 1Password mini, filling addresses and credit card details, and easy access to the Strong Password Generator, just like you’ve come to know and love. If you’re still using an older version of 1Passwo... +
7年前
記事のアイキャッチ画像
Announcing the 1Password command-line tool public beta
1Password Blog
+Here at AgileBits, we’ve been working hard over the last few months to bring power users, developers, and administrators more powerful ways to interact with 1Password. We’re proud to announce that we have something that fits the bill. It’s called the 1Password command-line tool, and we can’t wait to see what you build with it. Let me take this opportunity to walk you through the exciting potential.Introducing opPassword apps are available on just about every platform, but they’ve always had the same dependency: a graphical interface. Now all of 1Password is available with just two characters: op.The 1Password command-line tool makes your 1Password account accessible entirely from the command line. A simple op signin will securely authenticate you with the 1Password service and give you access to a wide range of capabilities:Getting usernames and passwords from items:$ op get item OpenProxy | jq '.details.fields[] | select(.designation=="password").value'"genuine-adopt-pencil-coaster"Cr +
7年前
記事のアイキャッチ画像
Introducing Travel Mode: Protect your data when crossing borders
1Password Blog
+We often get inspired to create new features based on feedback from our customers. Earlier this month, our friends at Basecamp made their Employee Handbook public. We were impressed to see they had a whole section about using 1Password, which included instructions for keeping work information off their devices when travelling internationally.We knew right away that we wanted to make it easier for everyone to follow this great advice. So we hunkered down and built Travel Mode.Travel Mode is a new feature we’re making available to everyone with a 1Password membership. It protects your 1Password data from unwarranted searches when you travel. When you turn on Travel Mode, every vault will be removed from your devices except for the ones marked “safe for travel.” All it takes is a single click to travel with confidence.It’s important for me that my personal data be as secure and private as possible. I have data on my devices that’s ultimately a lot more sensitive than my personal data thou +
8年前
\ No newline at end of file diff --git a/blogs/92e8a5c89cffe5b7a0fd7acaceb3efd3/index.html b/blogs/92e8a5c89cffe5b7a0fd7acaceb3efd3/index.html new file mode 100644 index 000000000000..c7fc1d5826d6 --- /dev/null +++ b/blogs/92e8a5c89cffe5b7a0fd7acaceb3efd3/index.html @@ -0,0 +1,36 @@ +エムスリーテックブログのフィード|JSer.info Watch List RSS

エムスリーテックブログ

https://www.m3tech.blog/

エムスリー(m3)のエンジニア・開発メンバーによる技術ブログです

フィード

記事のアイキャッチ画像
プロダクトマネージャーが売ったことのないプロダクトは(爆発的には)売れない
はてなブックマークアイコン 4
エムスリーテックブログ
+こんにちは、エンジニアリンググループプロダクトマネージャーの阪口です。 私は医師向けのアンケート調査やそのデータ分析を手掛けるリサーチプロダクトチームに所属し、チームのビジョン「データとテクノロジーを活用し、医療に関する意思決定とアクションを、無駄なく、正しく、最速にする」を実現するため、日々奮闘しています。 この記事では、あるプロダクトのリニューアルにて自らがセールス活動に奔走することで得ることができた学びを共有したいと思います。 プロダクトリニューアルの背景 クライアントからの評価と課題 俺は最強のセールスになる! 1.顧客の解像度が上がり、売れるためのメッセージが見つかった 2.プロダク…
2日前
記事のアイキャッチ画像
簡易生命表を読んでみる
はてなブックマークアイコン 1
エムスリーテックブログ
AI・機械学習チームの髙橋です。今年の健康診断結果をみてからランニングを始めました。健康大事。 さて、今回は簡易生命表という厚生労働省が毎年発表している統計資料を読んでいきたいと思います。 簡易生命表は、「ある1年において各性別/年齢の人がその年に死亡する確率」を集計して統計処理をしたものです。 表を読むと例えば、「2023年において30歳男性がその1年に死ぬ確率は0.055%」といったことが分かります。 生命表は保険数理などでの基礎統計となっていて、みなさんにとって身近なところでいうと、平均寿命はこの生命表から計算される統計量になります。
4日前
記事のアイキャッチ画像
プログラミングクイズ この演算結果が得られる元のコードは?
はてなブックマークアイコン 27
エムスリーテックブログ
+こんにちは。エムスリーエンジニアリンググループの藤原です。 今回の記事ではパズルのようなプログラミングクイズを出題してみます。 自分で考えたい方は問題部分から記事を読み進めずに考えてみてください。問題の後にヒント、答えと続いています。 問題 では、問題です。 巳年(Python) '25年 なクイズということで作成してみました。 (元日あたりに作ったので [1:-1] 部分も実は"かかって"います!) 難読クイズとは少し違った趣向のクイズで、エンジニアリングとしては何の役にも立たないかもしれないですが、たまにはこういうのも面白いのではないかと思います。
5日前
記事のアイキャッチ画像
poetryのバージョンを2.0.0に上げたらinstallできなくなった
エムスリーテックブログ
+AI・機械学習チームの池嶋(@mski_iksm)です。AI・機械学習チームではPythonで開発しているプロダクトのパッケージ管理にpoetryを使用していますが、年明け早々こんなメッセージが出てpoetry installができなくなるトラブルが頻発しました。 Warning: The current project could not be installed: No file/folder found for package XXXXXXXXXX 2025年1月5日にリリースされたpoetry 2.0.0では、自パッケージのインストールに関する挙動が変更されました。その影響で、poet…
1ヶ月前
記事のアイキャッチ画像
2024年の技術動画からオススメをまとめるぜ
エムスリーテックブログ
+年末にこんにちは、こんばんは。VPoEの河合(@vaaaaanquish)です。 声優の小林裕介さん、内山夕実さんが、ご結婚されたとの事で、最近リゼロ最新話まで追いついた私も喜びを隠せません。嬉しい! さて、本記事では2024年も終わるこの日に年末年始を楽しく過ごせる技術LT動画をいくつか紹介して、皆様によい年末を提供出来ればと思い筆を取っています。 年の暮まで技術技術でやっていきましょう! エムスリーテックトークとは TEX嫌い大学生の闘い Firebase De Akka Actor版人狼アプリリメイク フラクタル図形をうろ覚えの式から描いてみた PlaywrightでVRT環境を整備…
1ヶ月前
記事のアイキャッチ画像
エムスリーのAI・機械学習チームって何やってるの?2024年1年間で作ってきた28個のプロダクトを大公開
エムスリーテックブログ
+こんにちは。エンジニアリンググループゼネラルマネジャー & 機械学習エンジニアの大垣です。 さて、私が機械学習エンジニアとして仕事をしているAI・機械学習チームでは、今年一年で28個のプロダクトをリリースしました。月に2つくらいは新規プロダクトが出てる計算ですね。なかなか高速にリリースできているのではないでしょうか。 なお、この1年で5名のメンバーが新規に加わり、チームが12人から17人になったので、来年は更に加速していきたいです!*1 これらのプロダクトを簡単にお見せしつつ、エムスリーという医療xWebの企業でMLのチームはどういう仕事をしているのか、というのをお届けできればと思います! 多…
1ヶ月前
記事のアイキャッチ画像
AIチームGoogle Kubernetes Engineオンボーディングチュートリアル
エムスリーテックブログ
+こんにちは。AI・機械学習チーム(以下AIチーム)チームリーダー、兼、エンジニアリンググループゼネラルマネージャーの横本(@yokomotod)です。 AIチームでは開発したMLプロダクトの実行基盤としてGoogle Kubernetes Engine(以下GKE)を採用しています。デプロイ関連コードのテンプレートも整備され、新しいプロダクトをスタートさせるときはGKE初心者でも簡単にデプロイまで持っていけるようになっています。 しかし自動生成は一方で、なにがどうなってデプロイされているのかブラックボックスのままになってしまいがちという問題もあります。 そこで今回は、チームメンバーへのオンボー…
1ヶ月前
記事のアイキャッチ画像
半年間の運用で学んだDatastream導入の勘所
エムスリーテックブログ
+こんにちは、エンジニアリンググループデータ基盤チームの木田です。先日公開されたCTO兼VPoP山崎の記事にある通りゼネラルマネージャーを拝命しまして、データ活用の観点だけではなくそれ以外の側面でも組織全体を支える立場となりました。クリスマスが過ぎ、すっかり街は年末モードになりましたね。毎年この変わり身の速さに驚くとともに、新年の足音を感じる時期でもあります。 門松とクリスマス飾りが同居する年末らしい光景。エムスリー赤坂オフィスから徒歩15分の距離にある麻布台ヒルズマーケットの一角にて エムスリーのデータ基盤利用者は今年も順調に増えまして、システム (サービスアカウント)も含めると倍々で増加して…
1ヶ月前
記事のアイキャッチ画像
エムスリーの全員 QA 作戦
エムスリーテックブログ
+皆さんこんにちは。エンジニアリンググループゼネラルマネージャー兼 QA チームリーダーの窪田です。 1年が経つのは非常に早く、やりたかったことをやれたのかと振り返る年末になりました。 本日は私が GM になる前から力を入れてきた活動「全員QA体制への移行*1」についてお話をします。 本内容は、12/24 に取締役CTO兼VPoPの山崎がブログで話題に挙げていた「組織的ステップチェンジ」の1つでもあり、組織的なインパクトも大きな活動です。 www.m3tech.blog はじめに 現状の開発フロー 全員 QA 体制への移行 決起集会(エンジニアリンググループミーティング) 方針・目標設定と周知 …
1ヶ月前
記事のアイキャッチ画像
エムスリー学生エンジニア向け情報まとめ
エムスリーテックブログ
+こんにちは、最近Re:ゼロを人生で初めて見ましたVPoEの河合(@vaaaaanquish)です。もっと早く知りたかったです。 さて、エムスリーエンジニアリンググループでは、長らく新卒エンジニア採用を小さい規模で進めておりました。 2024年からは、その規模を少し拡大し、様々なイベントに出たりインターンを受け入れるなどしています。 本記事は、学生エンジニアの皆様から聞かれる事も多い内容をまとめ、エムスリーのエンジニア組織を知って頂く事を目的とするものです。 エムスリーのエンジニアインターン Rust/Go/k8sを全て触ってBatchをリリースした事例 実プロダクトのKotlinバックエンドを…
1ヶ月前
記事のアイキャッチ画像
2024年にエンジニアリンググループミーティングで紹介した書籍の紹介
エムスリーテックブログ
+年末にこんにちは、こんばんは。12月に長女の音楽発表会があり、長女の成長に涙したVPoEの河合(@vaaaaanquish)です。 本文とは関係ない娘と私 本記事では、エンジニアリンググループで毎月行っている全体会、Group Meetingで実施している『おまけコンテンツ』を紹介します。 オススメの書籍紹介になりますので、年末のお供に是非。 Engineering Group Meetingとは 書籍紹介 仕事に必要なことはすべて映画で学べる 熟達論 - 人はいつまでも学び、成長できる RANGE(レンジ)知識の「幅」が最強の武器になる データセキュリティ法の迷走 テクノロジーの世界経済史 …
1ヶ月前
記事のアイキャッチ画像
DBテーブルのカラムを削除するときにやること・考えること
エムスリーテックブログ
+突然ですが皆様は、稼働済みサービスのDBからテーブルカラムを削除されたりすること、ありますでしょうか? 基本的に削除はまずやらないのではと思います。えっやらないの? と思われた方もいらっしゃるかもしれませんが、きっとこの記事を読めばなぜ多くの方がカラム削除を避けるのかわかることでしょう。 とはいえ、そうして使わないカラムがテーブルに溜まっていくとやがて新規加入メンバーがコードにキャッチアップする妨げとなるレベルにまで溜まってきたりします。いつかは大掃除のときがくるわけです。DBは寿命長いですからね。そうしたときに実際どのような手順でカラムを削除するのか見ていきましょう。エムスリーエンジニアリン…
1ヶ月前
記事のアイキャッチ画像
機械学習エンジニアやデータサイエンティストにもウケるノベルティが作りたい
エムスリーテックブログ
+ギークな技術者の皆様、こんにちは。メリークリスマス。 リモートワークで運動不足を感じているため、VTuberのリングフィットアドベンチャーのプレイ動画を見て気を紛らわしています、VPoEの河合(@vaaaaanquish)です。 本記事はエムスリーアドベントカレンダー2024の最終日の記事にあたります。 エムスリーアドベントカレンダーには今年もギークな記事が揃っていますので、年末年始の技術研鑽のお供に是非どうぞ。 qiita.com はじめに ノベルティの下準備 digits plot wordcloud おわりに We are hiring !! エンジニア採用ページはこちら カジュアル面談…
1ヶ月前
記事のアイキャッチ画像
M3におけるGitHub Copilot活用状況
エムスリーテックブログ
+北海道ツーリングにて訪れた野付半島 はじめに あっあっあー こんぺこ!こんぺこ!こんぺこー! 時期感的になんとなくこんな挨拶をしてみた @bloody_snow です。 M3エンジニアリンググループの2代目VPoEをつとめ、 @vaaaaanquish に交代してからは、 M3 Technologies にてM3のグループ会社をメインで担当しています。M3に関しては個別のサービス開発というよりかはGitHub Copilot、ChatGPT Team、GitHub Enterprise、比較的高性能なMacBookProの導入、AWSの教育受講など全体の生産性への取り組みが多くなっています。 …
1ヶ月前
記事のアイキャッチ画像
2024年、エムスリーエンジニアリンググループで行った組織的ステップチェンジ5選。
エムスリーテックブログ
+皆さんこんにちは、こんばんは。スノーピークのノクターン*1をすでに持っているにもかかわらず、SOTOのヒノト*2を買ってしまった取締役CTO兼VPoPの山崎です。 せっかくなので違いをレビューしておくと、SOTOのヒノトはガスを充填して持ち歩ける専用タンクがあるのは便利なのですが、意外と容量が小さく、マニュアル通り連続燃焼時間は1〜2時間と意外と短いです。もちろん、ヒノトもスノーピークのノクターン同様、OD缶に直接接続すれば一晩以上連続燃焼できると思うので、ランプ側に問題はありません。そういえば、こういうときのためにキャンピングムーンのBKTC-28というOD缶互換ガスタンクを買っておいたな、…
1ヶ月前
記事のアイキャッチ画像
AI・機械学習チームベストMR(Merge Request)決定戦 2024
エムスリーテックブログ
+この記事はエムスリー Advent Calendar 2024 23日目の記事です。 AI・機械学習チームの中村伊吹(@inakam00)です。 ソフトウェア開発において、優れたコードの変更は時としてアート作品のような美しさや、抜群の機能改善をもたらすことがあります。GitHubでPull Request(PR)を使ったことがある人なら、感動するようなコード修正に出会った経験があるのではないでしょうか。 エムスリーAI・機械学習チームでは、この感動を共有し称え合うために、年に一度「ベストMerge Request(MR)決定戦」を開催しています。MRとはGitLabのMerge Request…
2ヶ月前
記事のアイキャッチ画像
はじめてのOSSコントリビュート
エムスリーテックブログ
+こちらはエムスリー Advent Calendar 2024 22日目の記事です。 こんにちは。2024/10 から AI・機械学習チームにジョインした鴨田です。 私が所属するAIチームには、機械学習やソフトウェア開発に深い知見を持つエンジニアが集まっています。日々のコードレビューや技術議論を通じて、「こんな考え方があったのか」「この実装方法は勉強になる」と新しい発見の連続です。今回のOSSコントリビュートは、チームメンバーがspotify/luigiの問題を特定し、コントリビュートの機会として共有してくれたことがきっかけでした。 本ブログでは私がエンジニア人生で初めてOSSコントリビュートし…
2ヶ月前
記事のアイキャッチ画像
「ギーク」が集う学び舎 - 11年以上続くM3 Tech Talkを支える情熱に迫る
エムスリーテックブログ
+エムスリーでは、社員の技術力向上と交流を目的とした社内勉強会「M3 Tech Talk」を定期的に開催しています。Tech Talkは、2013年から続く歴史ある勉強会で、毎回様々なテーマの発表が行われ、社員から好評を得ています。今回は、6年半という長きにわたりTech Talkのオーガナイザーを務めた星川にインタビューを行い、Tech Talkの裏側や、オーガナイザーとしての苦労、そしてTech Talkに対する熱い想いを伺いました。
2ヶ月前
記事のアイキャッチ画像
BigQueryでJSONをテーブルに自動変換できるようにしてみた
エムスリーテックブログ
+こちらはエムスリー Advent Calendar 2024の20日目の記事です。 デジスマチームの田口です。 デジスマ診療(以降デジスマ)はQRコードによるチェックインや自動後払い、オンライン診療など新しい医療体験を提供するサービスです。 www.youtube.com ありがたいことにサービスは成長し続けており、これに伴ってKPIの深掘りや施策の効果検証のためのデータ分析もより積極的に行われるようになってきました。 デジスマチームではデータ分析基盤にBigQueryを利用しており、Amazon Auroraや各種ログデータをBigQueryに連携し、様々な分析をしています。 多種多様なデー…
2ヶ月前
記事のアイキャッチ画像
インターンではじめてのプロダクト開発を経験した話【ソフトウェアエンジニアインターン参戦記】
エムスリーテックブログ
+はじめに 11月末から2週間、エンジニアリンググループ AI・機械学習チームでの新卒ソフトウェアエンジニアインターンに参加した山口 (@chimaki_yama821)です。この記事では私が取り組んだことと2週間の感想について書いたので、エムスリーが気になっているという他の学生の参考になれば幸いです。 最終日に撮ってもらった写真
2ヶ月前
記事のアイキャッチ画像
「知ってるつもり」からの脱却:売上構造の解像度を上げるプロダクトマネジメント
エムスリーテックブログ
+この記事はエムスリーAdvent Calendar 2024の19日目の記事です。 こんにちは。エンジニアリンググループ プロダクト支援チームでプロダクトマネージャーをしている中村です。私は現在、医師向けのライブ動画配信サービスである「Web講演会」というプロダクトにプロダクトマネージャーとして携わっています。今回の記事では、Web講演会のグロースに取り組む中での学びをご紹介します。 はじめに 「知らないこと」を認識する 「知らないこと」を知るためにやったこと フォーカスする(まずはみかんの売上を2倍に伸ばす) まとめ:プロダクトマネージャーは自信と謙虚さのバランスが大事 We are hir…
2ヶ月前
記事のアイキャッチ画像
Javaバッチのクラウド移行プロジェクトの泥臭い挑戦
エムスリーテックブログ
+この記事はエムスリー Advent Calendar 2024 の18日目の記事です。 こんにちは、基盤チームエンジニアの桑原です。最近はKeychron Q11を購入してキーボードライフを楽しんでいます。昨日はキースイッチの交換に失敗し、10年ぶりにはんだ付けをして何とか事なきを得ました。 はんだ付けしたら巨大な鉛の塊ができてしまったの図 本日は私が半期取り組んでいたJavaバッチのオンプレからクラウドリフトプロジェクトについて紹介します。なかなか泥臭い作業が多かったのですが、ありのままの仕事内容をお伝えします。 概要 システムの概要 プロジェクトの概要 プロジェクトの背景 脱オンプレを進め…
2ヶ月前
記事のアイキャッチ画像
GPUで高速なモデル推論を実現するために考えること -FlashAttentionはなぜ高速か-
エムスリーテックブログ
+こちらはエムスリー Advent Calendar 2024 17日目の記事です。 AI・機械学習チームの髙橋です。チームでは先週からNeurIPS読み会が開催されており、"Deep Learning Architecture, Infrastructure"という深層学習のアーキテクチャに関するセッションを担当しました。その中でも興味深い一本として"You Only Cache Once: Decoder-Decoder Architectures for Language Models"という論文を勉強会まとめブログで紹介してます。 www.m3tech.blog この論文ではLLMの推論…
2ヶ月前
記事のアイキャッチ画像
友達の友達が多い!友達パラドックスについて
エムスリーテックブログ
+エンジニアチームのUK. ( @ukohank517 )です。このブログはエムスリーアドベントカレンダー15日目の記事です。 今日は友達に関すパラドックス(Friendship Paradox)について紹介したいと思います! はじめに 友達パラドックスとは? 友達数のシミュレーションをしてみよう まとめ 追記 We are hiring !! エンジニアの採用ページはこちら カジュアル面談もお気軽にどうぞ インターンも常時募集しています はじめに 実は10年も前の論文で発表された内容なんですが、最近見かけて読んだら思わず「えっ、こんなことあるんだ!」と驚いてしまったんです。 気になる方はこちら…
2ヶ月前
記事のアイキャッチ画像
リサーチプロダクトチームがここ最近やってることをざっくり紹介するぜ
エムスリーテックブログ
+こんにちは、エムスリーエンジニアリンググループ/ BIR(Business Intelligence and Research) チーム の遠藤(@en_ken)です。 BIRはアンケートシステムをはじめとするリサーチプロダクトを開発しているチームです。チームの詳しい紹介は次の資料を読んでいただければと思います。 speakerdeck.com ここ1年ほどでチームの様相は様変わりしました。 一時期エンジニア3,4名ほどしかいなかったチーム状況から現在はエンジニアだけでも9名まで増え、PdMが2名参画したことで開発状況もこれまで以上に活況になってきています。開発スタイルも個人開発に近かったもの…
2ヶ月前
記事のアイキャッチ画像
NeurIPS2024が開催中なので、エムスリー AI・機械学習チームの推し論文を勝手に紹介するぜ!
エムスリーテックブログ
+こんにちは。エンジニアリンググループのAI・機械学習チームに所属している鴨田 です。 このブログはエムスリーアドベントカレンダー14日目の記事です。 弊チームでは毎週1時間の技術共有会を実施しており、各自が担当するプロダクトの技術や、最近読んだ論文を紹介しています。今週はNeurIPS2024が開催されていることもあり、同学会の論文読み会となりました。1セッション1名の担当で、各自がセッション内で気になった論文の詳細を解説します。本ブログではその一部として、セッションごとの「推し論文」を紹介します。 DALL-E 3で生成した「機械学習エンジニアが勉強会でお気に入りの記事について楽しそうに雑談…
2ヶ月前
記事のアイキャッチ画像
【pmconf 2024】クライス&カンパニーのDiscord企画振り返り:プロダクトマネージャーにとってのホームランとは?
エムスリーテックブログ
+こんにちは、こんばんは。今年も年末年始は12/25〜1/5まで連休を取ってみた取締役CTO兼VPoPの山崎です。最近はUL装備*1を充実させる日々を過ごしております。 本ブログはプロダクトマネージャー Advent Calendar 2024の14日目の記事です*2。 プロダクトマネージャー Advent Calendar 2023は乗り遅れて枠を取れなかったのですが、その前のプロダクトマネージャー Advent Calendar 2022には以下の記事をポストしていますので、是非ごらんください。 www.m3tech.blog 先日のUL装備キャンプ。Enlightened Equipmen…
2ヶ月前
記事のアイキャッチ画像
gitレポジトリ考古学に使う道具
エムスリーテックブログ
+こちらはエムスリーAdvent Calendar 2024 13日目の記事です。 こんにちは、エムスリーエンジニアリンググループの福林 (@fukubaya) です。 今回は、長年運用されてきたレポジトリをgitを使って発掘する上で使っている道具を紹介します。 福岡タワー(ふくおかタワー)は、福岡県福岡市早良区のシーサイドももち地区にあるランドマークタワー(電波塔)。本文には関係ありません。 帳票環境 レポジトリからDBテーブルの使用箇所を探す スケジュール設定だけ消される gitレポジトリ考古学 ファイルが消えたコミットを知りたい ある記述が消えた(追加された)コミットを知りたい あるテーブ…
2ヶ月前
記事のアイキャッチ画像
Rails 4.2 から 7.1 まで一気にバージョンアップした話
エムスリーテックブログ
+こちらはエムスリー Advent Calendar 2024 12日目の記事です。 こんにちは。エムスリーエンジニアリンググループ、コンシューマチームの園田です。 今年になって、かなり古い Rails を最新バージョンまでアップグレードしました。そのときの話です。かなりポエムに近い内容になっていますがご容赦ください。 特に何か変わったことをやっているわけではありませんが、あるあるを共感したもらったり、こんなことやってますという紹介だと思っていただければ幸いです。
2ヶ月前
記事のアイキャッチ画像
BigQueryのLanguage Serverであるbqlsを作っている話
エムスリーテックブログ
AI・機械学習チームの北川(@kitagry)です。 このブログはエムスリーアドベントカレンダー11日目の記事です。 このブログではタイトル通りOSSで作成しているbqlsというLanguage Serverについて紹介します。 github.com 座ってたら遊んでほしすぎて絡んでくる猫(本文とは関係ありません)
2ヶ月前
\ No newline at end of file diff --git a/blogs/930400c729862b33b68f336e94bdebf6/index.html b/blogs/930400c729862b33b68f336e94bdebf6/index.html new file mode 100644 index 000000000000..a7a660b7a99f --- /dev/null +++ b/blogs/930400c729862b33b68f336e94bdebf6/index.html @@ -0,0 +1,25 @@ +Saeloun Blogのフィード|JSer.info Watch List RSS

Saeloun Blog

https://blog.saeloun.com/

Ruby on Rails and ReactJS consulting company. We also build mobile applications using React Native

フィード

記事のアイキャッチ画像
Rails 8 Now Uses ISO 8601 Style Time For TimeWithZone#inspect.
Saeloun Blog
+The TimeWithZone is a Time-like class that can represent a time in any time zone. It is necessary because standard Ruby Time instances are limited to UTC and the system’s ENV['TZ'] zone.TimeWithZone instances implement the same API as Ruby Time instances, so that Time and TimeWithZone instances are interchangeable.TimeWithZone#inspect Returns a string of the object’s date, time, zone, and offset from UTC.BeforeTimeWithZone#inspect used an RFC822-inspired format for displaying timestamps. For instance:Time.zone.now.inspect#=> "Mon, 30 Sep 2024 05:04:48.516544000 UTC +00:00"This format is readable but lacks consistency with Ruby’s internal Time#inspect, which follows the ISO 8601 standard.AfterRails 8 now uses ISO 8601 style time for TimeWithZone#inspect method like Time#inspectTime.zone.now.inspect#=> 2024-09-30 10:37:27.675403 +0530 The update to TimeWithZone#inspect aligns Rails with Ruby standards, ensuring time formatting consistency across the board.
+
1ヶ月前
記事のアイキャッチ画像
What Is New In Ruby 3.4
Saeloun Blog
+It’s official, Ruby 3.4 first release is available, bringing a wave of excitement to the Ruby community.In this blog, we will go through the latest features, enhancements, and bugfixes introduced in the Ruby 3.4Prism is the new default parserRuby 3.4 switches the default parser from parse.y to Prism, which was introduced in Ruby 3.3 as a new parser designed for better maintainability, error tolerance, and performance.To use the conventional parser, use the command-line argument --parser=parse.y. Feature #20564.Garbage CollectionRuby 3.4 introduced several notable features and enhancements related to its garbage collection (GC) system, aimed at improving performance and flexibility. Here are the key updatesRuby 3.4 allows us to dynamically load different GC implementations. Enable it by configuring Ruby with --with-modular-gc at build time and load GC libraries at runtime with the RUBY_GC_LIBRARY environment variable. Feature #20351.The default GC is now separated into its own library, +
2ヶ月前
記事のアイキャッチ画像
Rails 8 Adds if_not_exists Option On The add_enum_value.
Saeloun Blog
+Rails 7 added support for custom enum types in PostgreSQL with introduction of create_enum to add a new enum type and t.enum to add a column.Rails 7.1 has extended the ability to rename an enum, add enum value and rename enum value for the Postgres database adapter.The add_enum_value method provides a straightforward way to add new values to a PostgreSQL enum type without needing to execute raw SQL.class AddEnumToArticles < ActiveRecord::Migration[7.2] def change create_enum :status, ["draft", "published", "archived", "trashed"] safety_assured do change_table :articles do |t| t.enum :current_status, enum_type: "status", default: "draft", null: false end end endendclass AddReviewToArticleStatus < ActiveRecord::Migration[7.2] def change add_enum_value :status, 'review' endendBeforeWhen we use add_enum_value, PostgreSQL checks for duplicates and raises a PG::DuplicateObject error if a value already exists. ActiveRecord captures this as ActiveRecord::StatementInvalid when trying to add a d +
2ヶ月前
記事のアイキャッチ画像
Rails 8 Adds Parameters#expect To Safely Filter And Require Params.
Saeloun Blog
+Rails 8 introduces params#expect, a new method that enhances parameter handling by filtering parameters based on expected types. This reduces errors caused by tampering or invalid input.BeforeActionController parameters allows us to choose which attributes should be permitted with the help of require and permit. By default, the recommended way of handling parameters in Rails works fine. Until someone using our app starts messing with the parameters and causing 500 errors.params.require(:post).permit(:title, :summary, categories: [:name])http://localhost:3000/?post[title]=Hello World#=> {"title"=>"Hello World"}Passing a String Instead of a HashIf someone tampered params by passing string instead of hash. This throws NoMethodError because the permit is called on string.http://localhost:3000/?post=Hello World#=> {"post"=>"Hello World"}Completed 500 Internal Server Error in 28ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 23.3ms)NoMethodError undefined method `permit' for "Hello World +
2ヶ月前
記事のアイキャッチ画像
Rails 8 Allows drop_table To Accept An Array Of Table Names.
Saeloun Blog
+ActiveRecord provides drop_table method to drop a table from database using migration.class DropPosts < ActiveRecord::Migration[7.2] def change drop_table :posts endendBeforeIf we want to drop multiple tables in one call using drop_table, ActiveRecord did not provide direct support.So we have to either call drop_table multiple times or use raw SQL.class DropMultipleTables < ActiveRecord::Migration[7.2] def change drop_table :users drop_table :posts drop_table :comments endclass DropMultipleTables < ActiveRecord::Migration[7.2] def change [:users, :posts, :comments].each do |table_name| drop_table table_name end endendActiveRecord::Base.connection.execute 'DROP TABLE users, posts, comments'AfterRails 8 adds support to drop multiple tables in one call using drop_table on ActiveRecord.drop_table :table1, :table2, :table3With this update, Rails allows drop_table to accept an array of table names.class DropMultipleTables < ActiveRecord::Migration[8.0] def change drop_table :users, :posts, : +
2ヶ月前
記事のアイキャッチ画像
Implementing Passwordless Authentication with WebAuthn in Rails
Saeloun Blog
+What is Passwordless authentication?Passwordless authentication is an authentication method that verifies users identity and grant access to a site or system without using password. Instead, users can authenticate using methods like:Biometrics: Face ID, Touch IDHardware tokens: Devices like YubiKeysDigital tokens: Generated by authenticator appsMagic links: Sent to the user’s emailThis method enhances security and simplifies the login process by eliminating password vulnerabilities.What is WebAuthn?WebAuthn (Web Authentication API) is a W3C and FIDO standard that provides strong, passwordless authentication using public-key cryptography. It replaces passwords and SMS-based methods with secure, user-friendly solutions.How Does WebAuthn Work?1) Public Key Generation (Registration): During registration, the authenticator generates a public-private key pair. The public key is sent to the server and stored, while the private key stays securely on the authenticator.2) Private Key Usage (Auth +
2ヶ月前
記事のアイキャッチ画像
Rails 8 Adds Ability To Use Multiple Rate Limits Per Controller.
Saeloun Blog
+Rate limiting is a crucial technique for managing server traffic, enhancing performance, and bolstering security. By controlling the number of incoming requests over a specific time, it protects systems from abuse and overload.BeforeIn Rails 7.2, rate limiting was introduced to Action Controller, enabling developers to limit requests to specific actions within a defined time period.class PostsController < ApplicationController rate_limit to: 10, within: 3.minutes, only: :createendHowever, the limitation here was the inability to define multiple rate limits for different use cases within the same controller.AfterRails 8 introduces support for multiple rate limits per controller. This enhancement allows developers to apply distinct rate limits to the same action or across multiple actions by using the name: option.class PostsController < ApplicationController rate_limit to: 3, within: 2.seconds, name: "short-term", only: :create # Long-term limit for general access rate_limit to: 10, wit +
2ヶ月前
記事のアイキャッチ画像
Rails 7.2 Added Support For Explain Method To ActiveRecord::Relation.
Saeloun Blog
+When optimizing database queries in Rails, it’s essential to understand how the database plans to execute a query. Rails provides a built-in method, ActiveRecord::Relation#explain, to analyze and display a query’s execution plan. The output mimics the format of a database shell, offering valuable insights into query performance and potential bottlenecks.BackgroundBefore Rails 7.1, the explain method provided basic query execution plans. Rails 7.1 introduced options like analyze and verbose to offer deeper insights into query performance. You can learn more about this in our blog post.With Rails 7.2, the feature has been further enhanced. The explain method now supports pluck, count, first, and other methods directly on an ActiveRecord::Relation, making it even more powerful and user-friendly.What Is ActiveRecord::Relation#explain?The explain method runs the database’s EXPLAIN command on the query triggered by the relation and returns the result. This allows us to:See how the database w +
3ヶ月前
記事のアイキャッチ画像
Rails 7.1 Introduces By Argument For increment_counter And decrement_counter Methods.
Saeloun Blog
+Counter caching is a common practice in Rails, used to keep track of counts such as the number of comments on a post or likes on a video. Rails 7.1 provides built-in methods like increment_counter and decrement_counter for updating counters without loading records into memory. However, before Rails 7.1, these methods could only update by a value of 1.In scenarios where counter caches needed to be incremented or decremented by amounts greater than 1, such as recalculating counts or applying bulk updates, we often turned to workarounds or relied on gems like counter_culture. With the introduction of the by argument in Rails 7.1, managing these cases is now much simpler.Before Rails 7.1:By default, increment_counter and decrement_counter only supported updates by 1. To increment or decrement by custom amounts, we had to:1) Use Raw SQL:Article.where(id: 10).update_all("comments_count = comments_count + 5")This was efficient but required direct SQL manipulation, reducing code clarity.2) Fet +
3ヶ月前
記事のアイキャッチ画像
Rails 7.1 Adds Rails.application.deprecators Method
Saeloun Blog
+Deprecations are warnings that notify developers about features slated for removal or change in future versions. They ensure a smooth transition to newer alternatives while maintaining compatibility.BeforeBefore Rails 7.1, deprecations were managed globally through ActiveSupport::Deprecation, with no way to differentiate or individually configure different types of deprecations and it lacked flexibility for managing multiple deprecations.class User < ApplicationRecord def full_name ActiveSupport::Deprecation.warn("The `full_name` method will be removed in the next major release.") endenduser = User.firstuser.full_nameDEPRECATION WARNING: The `full_name` method will be removed in the next major release. (called from <main> at (irb):2)DEPRECATION WARNING: Calling warn on ActiveSupport::Deprecation is deprecated and will be removed from Rails (use your own Deprecation object instead) (called from full_name at /app/models/user.rb:3)=> "DEPRECATION WARNING: The `full_name` method will be re +
3ヶ月前
\ No newline at end of file diff --git a/blogs/93a097f7eda9ca5c8d2b711b46f951d9/index.html b/blogs/93a097f7eda9ca5c8d2b711b46f951d9/index.html new file mode 100644 index 000000000000..b724cbd91c38 --- /dev/null +++ b/blogs/93a097f7eda9ca5c8d2b711b46f951d9/index.html @@ -0,0 +1,14 @@ +Honeybadger Developer Blogのフィード|JSer.info Watch List RSS

Honeybadger Developer Blog

https://www.honeybadger.io/blog/

Tutorials, product info and good advice from the Honeybadger crew.

フィード

記事のアイキャッチ画像
Out-of-the-box Elixir telemetry with Phoenix
Honeybadger Developer Blog
Phoenix gives you a great headstart by leveraging the built-in telemetry of the BEAM, your OS and your Elixir code out of the box - learn how it saves you time and gets you up and running fast.
12日前
+
記事のアイキャッチ画像
The ultimate guide to Python logging
Honeybadger Developer Blog
Logging is a valuable tool for performance, monitoring, and debugging. Jump into this article to learn best practices for practical Python logging.
15日前
記事のアイキャッチ画像
+Comparing React component libraries
Honeybadger Developer Blog
Can't decide which React component library to use? Jump into this article, where we evaluate ten of the most popular React component libraries.
23日前
記事のアイキャッチ画像
Laravel Docker containers for development and production
Honeybadger Developer Blog
+From deploying to production, running tests, or using a dev environment, containers are handy. Jump in to learn how to build a Laravel Docker container.
24日前
記事のアイキャッチ画像
How Honeybadger migrated from Sidekiq to Karafka
Honeybadger Developer Blog
Honeybadger recently migrated our background job processing from Sidekiq to Karafka. Dig in to see what we learned.
1ヶ月前
記事のアイキャッチ画像
How to build a React rich text editor with CKEditor 5
Honeybadger Developer Blog
A WYSIWYG editor allows users to easily format text, add images, and more. In this article, you'll learn how to build a rich text editor in React using CKEditor 5.
2ヶ月前
記事のアイキャッチ画像
What's new in Ruby 3.4
Honeybadger Developer Blog
From frozen string literals to default block parameters, Ruby 3.4 brings some nice improvements and changes. Jump in to learn what's new.
2ヶ月前
記事のアイキャッチ画像
What's new in Rails 8
Honeybadger Developer Blog
+The latest release of Rails includes a ton of new options and defaults that making shipping applications without a PaaS even easier. Dig in to learn what's new in Rails 8.
2ヶ月前
記事のアイキャッチ画像
Honeybadger and ilert: smart incident response
Honeybadger Developer Blog
+We're thrilled to announce a native integration with ilert, combining Honeybadger's full-stack application monitoring with ilert's real-time alert routing and on-call management platform. Read the announcement to learn more.
2ヶ月前
記事のアイキャッチ画像
How to build a serverless web application
Honeybadger Developer Blog
+This comprehensive guide walks you through how to build a scalable web application using JavaScript. Learn how to build a serverless backend from scratch today!
2ヶ月前
記事のアイキャッチ画像
Secure custom domains with Caddy
Honeybadger Developer Blog
If you want to host custom domains for customers in your SaaS, you'll need to handle both DNS and SSL. Fortunately, Caddy can help with both. Read this article to learn how.
2ヶ月前
\ No newline at end of file diff --git a/blogs/93cc0bf4b83695e9b28dbde131ed8c33/index.html b/blogs/93cc0bf4b83695e9b28dbde131ed8c33/index.html new file mode 100644 index 000000000000..9a2de028d2a7 --- /dev/null +++ b/blogs/93cc0bf4b83695e9b28dbde131ed8c33/index.html @@ -0,0 +1,34 @@ +High Link テックブログのフィード|JSer.info Watch List RSS

High Link テックブログ

https://tech.high-link.co.jp/

High Link テックブログ

フィード

記事のアイキャッチ画像
ハイリンクのLLM活用レポート
High Link テックブログ
こんにちは、株式会社High LinkをLLMドリブンで高利益の会社にしていきたいCTOのnogaken(@nogaken1107)です。 最近はウィスキーにハマっており、実物の摂取と書籍を通じて爆速学習しています。 さて、ハイリンクではCTOである自分が陣頭指揮をとりながら経営陣一体となってLLM (Lartge Language Models)の活用を積極的に推進しています。 LLMはIT領域におけるインターネット技術の次のGPT (General Purpose Technology: 経済全体に影響を与える技術) と捉えており (参考: GPTs are GPTs)、この活用の度合いが…
8日前
記事のアイキャッチ画像
MySQLのオンラインDDLを活用して安全に稼働中のデータベースを変更する話
High Link テックブログ
株式会社High Linkの大崎(https://x.com/kantarow2813)です。 プロダクトの開発と運用を同時に継続していく環境では、既存のテーブルに対してインデックスやカラムを追加したいというケースに遭遇することがあります。そのようなケースではデータベースの負荷上昇や同時実行性の低下など考慮するべきことが多く、経験が浅い自分は腰が重くなりがちです。 幸いなことに、弊社が利用しているMySQLではオンラインDDL機能が提供されています。オンラインDDLは稼働中のデータベースのテーブルに対する変更をサポートするもので、同時実行性とスループットを維持しながらDDLを実行できます。 本…
1ヶ月前
記事のアイキャッチ画像
Elementaryの異常検知テストを導入してみた話
High Link テックブログ
はじめに こんにちは。High Linkで業務委託として働いている宮﨑(@ikki_mz)と申します。主にデータエンジニアリング領域でお手伝いをしています。 この記事では、elementaryのdbtパッケージで実装できる「異常検知テスト」を導入してみた話をしようと思います。 実際に発生した問題 先日、プロダクトにおいて、売上数値に影響を与えるような障害が発生しました。これは会社として問題であるため、予防策を講じる必要があります。 今回は、問題の原因がデータ基盤側にあるわけではありません。しかし、データチームで議論した結果、データ基盤側でもモニタリングできる体制を構築できると良いのではという話…
2ヶ月前
記事のアイキャッチ画像
RSpecに慣れたエンジニアがJestを始めてみた話
High Link テックブログ
対象読者 RSpecをそれなりに書いたことがあるがフロントエンドテストは未経験なエンジニア カラリアの開発に興味があるエンジニア 香りで世界を彩ることに興味があるエンジニア もし、私たちの開発チームに興味を持った方がいましたら、 ぜひカジュアル面談からお話しましょう!! はじめに こんにちは、ハイリンクでプロダクト開発エンジニアをやっていますタイガです。 この記事では、フロントエンドのテストに初めて挑戦した感想をお伝えしたいと思います。 正直なところ、新しいテストフレームワークを学ぶことには少し抵抗というか腰が重いという気持ちがありました。 新しい構文を覚えたり、テストの書き方を一から学んだり…
3ヶ月前
記事のアイキャッチ画像
エラー監視の仕組みを強化した話
High Link テックブログ
ハイリンク開発エンジニアの梶山(@h__kajiyama)です。今回は大切なエラートラッキングの改善についてのおはなしです はじめに サービス運営において、本番環境でのエラーは避けられません。入念に自動テストや動作確認を行なったとしても、予期せぬ障害は発生します。起きてしまったとき、エラートラッキングを適切に行うことで、問題の早期発見や迅速な原因特定を行えます。障害の被害を最小限に抑えるうえで適切で迅速な対処が最も大切です。 エラートラッキングはツールを導入するケースが多いと思いますが、導入しても適切な利用をしないと問題の早期発見や迅速な原因特定に寄与しません。 この記事では私たちのチームが実…
4ヶ月前
記事のアイキャッチ画像
+E2E Testを導入した話
High Link テックブログ
こんにちは。プロダクト開発エンジニアのプリン(@プリン)です。High Linkでは主にフロントエンドを担当しています。最近は趣味でプログラミング言語のZigを触っています。 本題ですが、カラリアの開発でE2E Testを始めたのでその取り組みを紹介させていただきます。 前提条件 弊社では「カラリア 香りの定期便」を開発しています。 カラリアのバックエンドがRuby on Railsで実装されているのに対し、フロントエンドはReact(Next.js)で実装されています。なので以下はReactを前提にお話しさせていただきます。 カラリアフロントエンドの課題 バックエンドはテストが拡充されていま…
5ヶ月前
記事のアイキャッチ画像
カラリアを支える「同梱」の仕組みを統一した話
High Link テックブログ
+こんにちは。ロジスティクス開発のかんたろうです。 この記事では、カラリアを支えている多様な同梱の仕組みを、物流管理システム側で統一的に扱えるようにした事例を紹介します。 既存の仕組みを統合するためにRubyのメタプログラミングなどの柔軟性を活用しているので、興味がある方はご一読ください。 カラリアにおける多様な「同梱」 カラリアにはいくつかの同梱の仕組みがあり、それらが最終的にお客様にお届けする物を決定しています。 参考までに、カラリアの香りの定期便で発送されるものをFAQから引用します。 香りの定期便新規ご注文の場合 【香水のアトマイザーをご注文の場合】 ご注文商品のアトマイザー(香水が入っ…
6ヶ月前
記事のアイキャッチ画像
巨大なデータ負債を作らないための取り組み
High Link テックブログ
+こんにちは、株式会社High Link CTOの nogaken(@nogaken1107)です。 プロダクト開発企業にとって、データ負債は大敵です。 要件に合わないデータ構造、過去データの欠損、不整合データの存在、etc。 これらデータに関する負債は、開発スピードの悪化や分析業務の阻害などを通じて事業に大きな悪影響を及ぼします。 弊社で開発している香り商品ECのプラットフォームである Coloria (https://coloria.jp)は、サービス提供開始から5年が経過しています。その中で、多くのデータ負債を生み、そしてそれらを返済しながらサービスを運営してきました。(そしていまも、現在…
7ヶ月前
記事のアイキャッチ画像
RubyKaigi 2024参加レポート
High Link テックブログ
+はじめに こんにちは、ハイリンクでプロダクト開発エンジニアをやっていますタイガです。 先日行われたRubyKaigi 2024に参加した感想をハイリンクのメンバー全員で振り返ったので、それぞれが感じた印象や体験についてレポートしたいと思います。 RubyKaigiは世界中のRubyistが集まる年に一度のイベントであり、新しい技術やアイデアに触れる絶好の機会でもあります。 私を含めてはじめて参加するメンバーが多く、学びの多いカンファレンスでした。 今回は、その熱気と学びをお伝えできればと思います。 メンバー紹介 taiga:2023年7月、ハイリンクに入社したプロダクト開発エンジニア。Ruby…
8ヶ月前
記事のアイキャッチ画像
ライブラリのバージョンアップデートを継続的に行う仕組み
High Link テックブログ
+はじめに こんにちは、プロダクト開発エンジニアの梶山(@h__kajiyama)です。 ライブラリのバージョンアップデートはサービスを提供し続ける上で必要です。しかし、機能開発の速度を求めるあまり疎かになりがちでもあります。そこで、開発速度を維持しつつ、必要なバージョンアップ作業を行う仕組みが大切です。 この記事では私たち開発チームがライブラリアップデートに対してどのように向き合い、開発速度を維持しながらバージョンアップ作業を行っているかを紹介します。 ライブラリアップデートを継続的に行う仕組み 一口にライブラリと言っても、様々な種類があります。私たちのチームは、「主要ライブラリ」「脆弱性対応…
9ヶ月前
記事のアイキャッチ画像
プロダクト志向な開発チームとエンジニアの役割
High Link テックブログ
+はじめに こんにちは、ハイリンクで開発エンジニアをしていますタイガです。この会社に入社してから早いもので半年以上経過しました。 今回は「カラリア 香りの定期便」事業の開発に関わることで感じた我々のチームの特徴とそのチームの中で求められる開発エンジニアの役割についてお伝えしたいと思います。 プロダクト志向なチームについて 私たちハイリンクのプロダクト開発の一番の特徴として、「全メンバープロダクト志向」であることが挙げられます。これはプロダクトマネージャーはもちろんのこと、開発エンジニアやデータ分析エンジニア、デザイナーチームも含めてすべてのメンバーが意識していることです。 プロダクト志向とは、製…
10ヶ月前
記事のアイキャッチ画像
ハンディターミナルで物流業務を効率化した話
High Link テックブログ
+はじめに こんにちは。株式会社High Link ロジスティクス開発のかんたろう(kantarow)です。 今回の記事では、弊社の物流業務を委託している倉庫の検品業務にハンディターミナルを導入して業務を効率化した話を紹介します。 ハンディターミナルで動作するアプリケーションはRuby on Railsを使って開発されています。こういった事例はなかなかないと思いますので、参考までに実際の開発についても紹介します。 ハンディターミナルとは ハンディターミナルはコードの読み取りが可能な携帯端末です。モデルによっては文字認識が可能なものもあります。 この記事では倉庫内の検品業務に話を絞りますが、身近な…
1年前
記事のアイキャッチ画像
カラリアに「香りのギフト」を立ち上げるまで
High Link テックブログ
+はじめに こんにちは。エンジニアの百瀬 (@rn0rno)です。 カラリアは2019年にリリースされましたが、2023年10月に新たに「カラリア 香りのギフト」というプロダクトをメインエンジニアとして携わりローンチすることができました。 今回は、新規のプロダクトをどう作っていったか?という話を中心に、既存のプロダクトに新規のプロダクトを組み込むときに気をつけたことについて書いていきます。 カラリアとは カラリアは、フレグランスのサブスクリプションサービス「カラリア 香りの定期便」と、香りに関する情報を紹介する専門メディア「カラリアマガジン」からなる、香りの総合プラットフォームです。 「カラリア…
1年前
記事のアイキャッチ画像
BigQuery ExportされたGA4データをもとに「セッションごとの最後の流入チャネル」を抽出する
High Link テックブログ
+本記事では、私たちがBigQueryにエクスポートされたGA4データをもとに「サイトへの流入チャネル」を集計するうえでハマった落とし穴と、それを解決したやり方について共有しようと思います。
1年前
記事のアイキャッチ画像
Kaigi on Rails 2023参加レポート:学びからプロジェクトへの応用まで
High Link テックブログ
こんにちは!株式会社High Link プロダクト開発エンジニアのタイガです。 2023年10月27日と28日に行われた Kaigi on Rails 2023 に参加しましたので、その感想などをレポートしていきます。 最後にはトークセッションの内容から実際にプロジェクトに対して実践してみたいと思います。 そもそも Kaigi on Rails とは? Kaigi on Railsのコアコンセプトは「初学者から上級者までが楽しめるWeb系の技術カンファレンス」です。Kaigi on Railsは技術カンファレンスへの参加の敷居を下げることを意図して企画されています。また、名前の通りRailsを…
1年前
記事のアイキャッチ画像
プルリクエストごとに検証環境が立ち上がるようにした話
High Link テックブログ
株式会社HighLink ロジスティクスエンジニアのかんたろう(@kantarow)です。 私たちは複数のチームで一つのステージング環境を利用しています。masterブランチが更新されるごとにステージング環境へのデプロイが行われ、リリース前には必ずここで動作確認を行います。 このmasterマージによるデプロイには問題が無いのですが、master以外のブランチの動作確認を行うために手動デプロイを行った場合、ステージング環境での検証が中断される問題が起こります。 そこで、Pull Requestごとに自動で検証環境を立ち上げる仕組みを構築することで、この課題を解決しました。 本記事では、この解決…
1年前
記事のアイキャッチ画像
AWS Step Functionsでバッチ処理を並列化した話
High Link テックブログ
はじめに こんにちは、プロダクト開発エンジニアの梶山(@h__kajiyama)です。 私たちのチームでは、「カラリア 香りの定期便」という、サブスクリプション型のECサービスを開発・運用しています。 こちらのサービスは開始から4年が経過しユーザー数は55万人に達しました。サービスの成長に伴いシステム内で最も重要なバッチである、サブスクリプション更新バッチの実行時間が徐々に長くなり、そのままだと安定的なサービス運用に支障をきたす可能性がありました。 そこで私たちのチームは、この課題を解決するため、AWS Step Functionsを利用してバッチ処理を並列化することで実行時間を大幅に短縮しま…
1年前
記事のアイキャッチ画像
ActiveRecordのincludesがロックに与える影響と対策
High Link テックブログ
はじめに こんにちは!株式会社High Link ロジスティクス開発エンジニアのかんたろう(@kantarow2813)です。 今回はRailsのincludesを使用していて遭遇したロックの問題と、その解決方法及び対策について紹介します。 includesとは includesとはActiveRecordが提供するクエリインターフェイスのひとつで、クエリする際に関連先レコードを一括読み込み(eager loading)する機能です。 includesには二つの一括読み込み戦略があり、検索条件に応じてよしなに使い分けるようになっています。二つの戦略はそれぞれpreloadとeager_load…
1年前
記事のアイキャッチ画像
Cloud Firestore を活用したバッチレコメンドシステムを開発した話
High Link テックブログ
こんにちは,株式会社 High Link で業務委託(副業)として働いている,機械学習(ML)エンジニアの柏木(@asteriam)です. High Link では,カラリア香りの定期便という toC サービスを提供していて,ML エンジニアは,データを武器にした非連続的な事業成長を支える技術開発を担っています.具体的には推薦システムや診断といった部分に ML が活用されています. ハイリンク 機械学習・データエンジニア向け 紹介資料 今回はよりサービス改善がしやすい環境にすべく,機械学習用 API(ML-API)と ML パイプラインの役割を分離させ,ロジック改善を回しやすい環境を作っている…
2年前
記事のアイキャッチ画像
LLMを活用したAIフレグランスアドバイザーの仕組みと開発背景
High Link テックブログ
こんにちは!株式会社High Link CTOの nogaken(@nogaken1107) です。 ハイリンクでは”香りとの出会いを最適化する”をビジョンとする「カラリア」という香り領域の総合プラットフォームを運営しています。 先日、大規模言語モデル (以下LLM)を活用し、探したい香りのイメージに合った香水を提案する「AIフレグランスアドバイザー Kaori 」(以下 「Kaori」)のα版をリリースしました。 香りの総合プラットフォーム「カラリア」 「AIフレグランスアドバイザー Kaori」 α版をリリース! | 株式会社High Linkのプレスリリース この記事では「Kaori」の…
2年前
記事のアイキャッチ画像
Datadog ログのアーカイブをBigQueryから見れるようにする話
High Link テックブログ
こんにちは, 基盤開発チームで業務委託として働いている奥山です. 弊社で開発しているカラリアというサービスでは, モニタリングに Datadog を利用しており, Rails や Nginx などのログは Datadog に集約しています. 基本的には Datadog の UI でログを閲覧・集計すれば十分なのですが, たまに Datadog のログ保存期間よりも古いログを閲覧したい ログを他のデータと join して SQL で分析したい ことがないでしょうか? カラリアでも最近, Datadog に保存したログを BigQuery でクエリできるようにしたので, 検討した点を話したいと思い…
2年前
記事のアイキャッチ画像
+スプレッドシートを活用して組織横断的にテーブル・カラムの説明文を入力した話
High Link テックブログ
こんにちは。株式会社High Link で業務委託として働いている、データエンジニアのikki(@ikki_mz)です。 私たちデータチームでは、「データの民主化」を推進しており、全社員がデータ利活用を行えるように、dbtを用いた分析基盤の整備に取り組んでいます。 tech.high-link.co.jp データの民主化を推進していくにあたり、テーブル・カラムの説明文は非常に重要な役割を占めます。テーブルやカラムが何を意味しているかの説明は、分析をする上ではとても重要です。 しかし、このテーブルやカラムの説明はなかなか厄介で、データベースを開発した開発エンジニアとコミュニケーションをとらないと…
2年前
記事のアイキャッチ画像
RailsアプリのフロントエンドをじわじわとNext.jsにリプレースした話と、その振り返り
High Link テックブログ
株式会社High LinkのCTOをやっている nogaken (@nogaken1107)です。 最近はChatGPTなどのLLM系のアプリケーションを触って楽しんでいます。 ハイリンクでは「カラリア 香りの定期便」などのサービスを開発しています。 「カラリア 香りの定期便」は2021年まで、フレームワークとしてはRuby on Rails (以下Rails)単体で書かれていましたが、デザインリニューアルと合わせて2021年前半から1年間強の時間をかけてフロントエンドをNext.jsにリプレースしました。 結果として開発体験が向上し、気軽に実装できるデザインの幅が広がり、エンジニアの採用面で…
2年前
記事のアイキャッチ画像
カラリアの物流管理システムを自社開発している理由
High Link テックブログ
+はじめに こんにちは、ロジスティクスマネージャーの横山(@katsuya_high)です。 ハイリンクでは「COLORIA (カラリア)」という香り商品のECサービスを運営しています。中でも「カラリア 香りの定期便」は、毎月ユーザが選んだ香り商品をお届けする月額制のECサービスです。従来購入障壁が高かった香水をはじめとする香り商品を手軽に試し、楽しむことができます。 「カラリア 香りの定期便」では1ヶ月で使い切れるサイズの香水をお届けしており、完品をそのままお届けするサービスと比べると特殊な物流作業を必要とします。 弊社では、その物流業務を支えるシステムを自社開発しており、今回は自社開発に至っ…
2年前
記事のアイキャッチ画像
SQLFluffではじめるお手軽コーディング規約導入
High Link テックブログ
+はじめに こんにちは。株式会社High Link データエンジニアの谷口祐太郎(@ytaniguchi811)です。 私たちのチームは全社的にデータの利活用を推進できるよう、分析基盤の開発に日々取り組んでいます。 Data WarehouseとしてはBigQueryを採用しており、分析用のテーブルはdbtとGitHubを連携させてコードで管理しています。 dbtを用いることで分析テーブルをコード管理できるようになり、私たちのような小規模チームでも管理・運用が非常に楽になりました。詳しくは本テックブログの別記事で説明していますので、よろしければご参照ください。 tech.high-link.co…
2年前
記事のアイキャッチ画像
SWRを導入してユーザー体験を向上させた話 (Next.js)
High Link テックブログ
+「カラリア 香りの定期便」はNext.jsを利用して構築されており、今回はユーザー体験の向上を目的に、データ取得/キャッシュライブラリの SWRを導入した話です。SWRはシンプル軽量なライブラリであり、理解も容易で、APIキャッシュによるユーザー体験向上というユースケースをうまく実現できました。
2年前
記事のアイキャッチ画像
カラリアのデータ基盤と機械学習基盤 - 小さく始めるMLOps
High Link テックブログ
+はじめに こんにちは。High Linkのデータエンジニアの芦川 (@hirorororo772) です。 私たちが運営する香水サブスクサービス「カラリア」では、「香水診断」、「レコメンド機能」、「フレグランスプロフィール」など、データを活用したさまざまな機能を提供しています。 こういった機能を提供するためには、ロジックの開発だけでなく、安定的に提供するための基盤や開発を加速させるためのCI/CD基盤やデータパイプラインの構築(MLOps)が重要になってきます。 今回は、カラリアにおけるデータを活用した機能の裏側についてご紹介したいと思います。 スタートアップである私たちは、小さくはじめてスピ…
2年前
記事のアイキャッチ画像
GitHub Actions OIDCを活用してTerraform CIをセキュアにする話
High Link テックブログ
+はじめに こんにちは, 基盤開発チームの奥山(okue)です. 基盤開発チームでは, tech.high-link.co.jp のように, サービス開発の基盤に関する開発を行っています. カラリアでは, AWS 上のインフラ構築に Terraform を利用しており, 2種類の CI を GitHub Actions で実装しています. Pull Request が作成されたら terraform plan をする Pull Request が main ブランチにマージされたら terraform apply をする 本記事では, GitHub Actions OIDC を用いて, Terr…
2年前
記事のアイキャッチ画像
BigQueryへEmbulkで転送するバッチ処理を改善した話
High Link テックブログ
+はじめに こんにちは, 基盤開発チームの奥山(okue)です. High Link では, BigQuery を活用してデータの分析や可視化, 機械学習への活用を行っています. アプリケーション DB の BigQuery へ転送には, AWS ECS Fargate + Embulk という構成でバッチ処理を実行していましたが, いくつか運用上の問題点がありました. 本記事では, BigQuery へDBのデータを転送するバッチ処理を, AWS Step Functions + AWS ECS Fargate + Embulk で実装し改善した話をします. 改善前の構成と問題点 構成 改善前…
2年前
記事のアイキャッチ画像
dbtを導入して小規模チームでも運用可能なデータマネジメント体制を構築した話
High Link テックブログ
+はじめに こんにちは。株式会社High Linkのデータユニットマネージャーの芦川 (@assy) です。 私たちのチームでは、データを強みとした事業価値創出を促進するために、データ基盤の整備やデータマネジメント、全社的なデータ利活用レベルの引き上げに取り組んでいます。 データマネジメントをしていると、「誰が作ったかわからない野良のテーブルが乱立している」ことや「BigQueryコンソール上でviewを定義してしまってコードレビューができない」さらには、「テーブル間の依存関係がわからず削除できない」といった課題にぶつかる方は多いんじゃないでしょうか。 私たちもまさにこのような問題に直面し、導入…
2年前
\ No newline at end of file diff --git a/blogs/94e6ae1565a3456a28a787f4ed997d8c/index.html b/blogs/94e6ae1565a3456a28a787f4ed997d8c/index.html new file mode 100644 index 000000000000..092f64ba6b47 --- /dev/null +++ b/blogs/94e6ae1565a3456a28a787f4ed997d8c/index.html @@ -0,0 +1,25 @@ +V8のフィード|JSer.info Watch List RSS

V8

フィード

記事のアイキャッチ画像
+Introducing the WebAssembly JavaScript Promise Integration API
V8
+The JavaScript Promise Integration (JSPI) API allows WebAssembly applications that were written assuming synchronous access to external functionality to operate smoothly in an environment where the functionality is actually asynchronous.This note outlines what the core capabilities of the JSPI API are, how to access it, how to develop software for it and offers some examples to try out.What is ‘JSPI’ for? #Asynchronous APIs operate by separating the initiation of the operation from its resolution; with the latter coming some time after the first. Most importantly, the application continues execution after kicking off the operation; and is then notified when the operation completes.For example, using the fetch API, Web applications can access the contents associated with a URL; however, the fetch function does not directly return the results of the fetch; instead it returns a Promise object. The connection between the fetch response and the original request is reestablished by attaching +
7ヶ月前
記事のアイキャッチ画像
WebAssembly JSPI has a new API
V8
+WebAssembly’s JavaScript Promise Integration (JSPI) API has a new API, available in Chrome release M126. We talk about what has changed, how to use it with Emscripten, and what is the roadmap for JSPI.JSPI is an API that allows WebAssembly applications that use sequential APIs to access Web APIs that are asynchronous. Many Web APIs are crafted in terms of JavaScript Promise objects: instead of immediately performing the requested operation, they return a Promise to do so. On the other hand, many applications compiled to WebAssembly come from the C/C++ universe, which is dominated by APIs that block the caller until they are completed.JSPI hooks into the Web architecture to allow a WebAssembly application to be suspended when the Promise is returned and resumed when the Promise is resolved.You can find out more about JSPI and how to use it in this blog post and in the specification.What is new? #The end of Suspender objects #In January 2024, the Stacks sub-group of the Wasm CG voted to +
8ヶ月前
記事のアイキャッチ画像
The V8 Sandbox
V8
+After almost three years since the initial design document and hundreds of CLs in the meantime, the V8 Sandbox — a lightweight, in-process sandbox for V8 — has now progressed to the point where it is no longer considered an experimental security feature. Starting today, the V8 Sandbox is included in Chrome's Vulnerability Reward Program (VRP). While there are still a number of issues to resolve before it becomes a strong security boundary, the VRP inclusion is an important step in that direction. Chrome 123 could therefore be considered to be a sort of "beta" release for the sandbox. This blog post uses this opportunity to discuss the motivation behind the sandbox, show how it prevents memory corruption in V8 from spreading within the host process, and ultimately explain why it is a necessary step towards memory safety.Motivation #Memory safety remains a relevant problem: all Chrome exploits caught in the wild in the last three years (2021 – 2023) started out with a memory corruption v +
10ヶ月前
記事のアイキャッチ画像
WebAssembly JSPI is going to origin trial
V8
+WebAssembly’s JavaScript Promise Integration (JSPI) API is entering an origin trial, with Chrome release M123. What that means is that you can test whether you and your users can benefit from this new API.JSPI is an API that allows so-called sequential code – that has been compiled to WebAssembly – to access Web APIs that are asynchronous. Many Web APIs are crafted in terms of JavaScript Promises: instead of immediately performing the requested operation they return a Promise to do so. When the action is finally performed, the browser’s task runner invokes any callbacks with the Promise. JSPI hooks into this architecture to allow a WebAssembly application to be suspended when the Promise is returned and resumed when the Promise is resolved.You can find out more about JSPI and how to use it here and the specification itself is here.Requirements #Apart from registering for an origin trial, you will also need to generate the appropriate WebAssembly and JavaScript. If you are using Emscrip +
1年前
記事のアイキャッチ画像
Static Roots: Objects with Compile-Time Constant Addresses
V8
+Did you ever wonder where undefined, true, and other core JavaScript objects come from? These objects are the atoms of any user defined object and need to be there first. V8 calls them immovable immutable roots and they live in their own heap – the read-only heap. Since they are used constantly, quick access is crucial. And what could be quicker than correctly guessing their memory address at compile time?As an example, consider the extremely common IsUndefined API function. Instead of having to look up the address of the undefined object for reference, what if we could simply check if an object's pointer ends in, say, 0x61 to know if it is undefined. This is exactly what the V8’s static roots feature achieves. This post explores the hurdles we had to take to get there. The feature landed in Chrome 111 and brought performance benefits across the whole VM, particularly speeding up C++ code and builtin functions.Bootstrapping the Read-Only Heap #Creating the read-only objects takes some +
1年前
記事のアイキャッチ画像
V8 is Faster and Safer than Ever!
V8
+Welcome to the thrilling world of V8, where speed is not just a feature but a way of life. As we bid farewell to 2023, it's time to celebrate the impressive accomplishments V8 has achieved this year.Through innovative performance optimizations, V8 continues to push the boundaries of what's possible in the ever-evolving landscape of the Web. We introduced a new mid-tier compiler and implemented several improvements to the top-tier compiler infrastructure, the runtime and the garbage collector, which have resulted in significant speed gains across the board.In addition to performance improvements, we landed exciting new features for both Javascript and WebAssembly. We also shipped a new approach to bringing garbage-collected programming languages efficiently to the Web with WebAssembly Garbage Collection (WasmGC).But our commitment to excellence doesn't stop there – we've also prioritized safety. We improved our sandboxing infrastructure and introduced Control-flow Integrity (CFI) to V8, +
1年前
記事のアイキャッチ画像
Maglev - V8’s Fastest Optimizing JIT
V8
+In Chrome M117 we introduced a new optimizing compiler: Maglev. Maglev sits between our existing Sparkplug and TurboFan compilers, and fills the role of a fast optimizing compiler that generates good enough code, fast enough.Background #Until 2021 V8 had two main execution tiers: Ignition, the interpreter; and TurboFan, V8’s optimizing compiler focused on peak performance. All JavaScript code is first compiled to ignition bytecode, and executed by interpreting it. During execution V8 tracks how the program behaves, including tracking object shapes and types. Both the runtime execution metadata and bytecode are fed into the optimizing compiler to generate high-performance, often speculative, machine code that runs significantly faster than the interpreter can.These improvements are clearly visible on benchmarks like JetStream, a collection of traditional pure JavaScript benchmarks measuring startup, latency, and peak performance. TurboFan helps V8 run the suite 4.35x as fast! JetStream +
1年前
記事のアイキャッチ画像
A new way to bring garbage collected programming languages efficiently to WebAssembly
V8
+A recent article on WebAssembly Garbage Collection (WasmGC) explains at a high level how the Garbage Collection (GC) proposal aims to better support GC languages in Wasm, which is very important given their popularity. In this article, we will get into the technical details of how GC languages such as Java, Kotlin, Dart, Python, and C# can be ported to Wasm. There are in fact two main approaches:The “traditional” porting approach, in which an existing implementation of the language is compiled to WasmMVP, that is, the WebAssembly Minimum Viable Product that launched in 2017.The WasmGC porting approach, in which the language is compiled down to GC constructs in Wasm itself that are defined in the recent GC proposal.We’ll explain what those two approaches are and the technical tradeoffs between them, especially regarding size and speed. While doing so, we’ll see that WasmGC has several major advantages, but it also requires new work both in toolchains and in Virtual Machines (VMs). The l +
1年前
記事のアイキャッチ画像
Control-flow Integrity in V8
V8
+Control-flow integrity (CFI) is a security feature aiming to prevent exploits from hijacking control-flow. The idea is that even if an attacker manages to corrupt the memory of a process, additional integrity checks can prevent them from executing arbitrary code. In this blog post, we want to discuss our work to enable CFI in V8.Background #The popularity of Chrome makes it a valuable target for 0-day attacks and most in-the-wild exploits we’ve seen target V8 to gain initial code execution. V8 exploits typically follow a similar pattern: an initial bug leads to memory corruption but often the initial corruption is limited and the attacker has to find a way to arbitrarily read/write in the whole address space. This allows them to hijack the control-flow and run shellcode that executes the next step of the exploit chain that will try to break out of the Chrome sandbox.To prevent the attacker from turning memory corruption into shellcode execution, we’re implementing control-flow integrit +
1年前
記事のアイキャッチ画像
Speeding up V8 heap snapshots
V8
+This blog post has been authored by José Dapena Paz (Igalia), with contributions from Jason Williams (Bloomberg), Ashley Claymore (Bloomberg), Rob Palmer (Bloomberg), Joyee Cheung (Igalia), and Shu-yu Guo (Google).In this post about V8 heap snapshots, I will talk about some performance problems found by Bloomberg engineers, and how we fixed them to make JavaScript memory analysis faster than ever.The problem #Bloomberg engineers were working on diagnosing a memory leak in a JavaScript application. It was failing with Out-Of-Memory errors. For the tested application, the V8 heap limit was configured to be around 1400 MB. Normally V8’s garbage collector should be able to keep the heap usage under that limit, so the failures indicated that there was likely a leak.A common technique to debug a routine memory leak scenario like this is to capture a heap snapshot first, then load it in the DevTools “Memory” tab and find out what is consuming the most memory by inspecting the various summarie +
2年前
\ No newline at end of file diff --git a/blogs/963daa371800b668cc114658debb84f5/index.html b/blogs/963daa371800b668cc114658debb84f5/index.html new file mode 100644 index 000000000000..77f51fddb80b --- /dev/null +++ b/blogs/963daa371800b668cc114658debb84f5/index.html @@ -0,0 +1,16 @@ +Blog | Alex Harriのフィード|JSer.info Watch List RSS

Blog | Alex Harri

https://alexharri.com

Welcome to my personal website and blog. I write about TypeScript and other software engineering topics.

フィード

記事のアイキャッチ画像
Sharing changes, visuals first
Blog | Alex Harri
Exploring my visuals-first approach to sharing my work internally.
3ヶ月前
記事のアイキャッチ画像
Searching for and navigating Git commits
Blog | Alex Harri
+Exploring Git’s built-in tools for searching through and analyzing Git commit logs and diffs.
4ヶ月前
記事のアイキャッチ画像
The web’s clipboard, and how it stores data of different types
Blog | Alex Harri
Exploring the web’s clipboard APIs, their limitations, and their history.
5ヶ月前
記事のアイキャッチ画像
2024 Icelandic Developer Survey: Compensation, Technologies, and more
Blog | Alex Harri
Analyzing data from Iceland’s 2024 developer survey: compensation figures, programming languages, and technologies used.
7ヶ月前
記事のアイキャッチ画像
Introducing Arkio’s Pin Tool
Blog | Alex Harri
Archived version of a post I wrote introducing Arkio’s Pin Tool as part of Arkio’s 1.7 release
9ヶ月前
記事のアイキャッチ画像
Planes in 3D space
Blog | Alex Harri
Visual and interactive introduction to 2D planes in 3D space.
9ヶ月前
記事のアイキャッチ画像
JSDoc as an alternative TypeScript syntax
Blog | Alex Harri
How to type your JavaScript code base without writing a single TypeScript file.
4ヶ月前
記事のアイキャッチ画像
Iterating over Bit Sets quickly
Blog | Alex Harri
Multiplying iteration speed by exploiting two’s complement and Hamming weights.
1年前
記事のアイキャッチ画像
Bit Sets: An introduction to bit manipulation
Blog | Alex Harri
Learn about bitwise operators and bit manipulation by implementing a BitSet class in JavaScript.
1年前
記事のアイキャッチ画像
Making GRID’s spreadsheet engine 10% faster
Blog | Alex Harri
Optimizing the performance of GRID’s browser-based spreadsheet engine, through the use of shared immutable objects.
1年前
記事のアイキャッチ画像
Why doesn’t TypeScript properly type Object.keys?
Blog | Alex Harri
A look at TypeScript’s structural type system, and we how we can effectively use it to our benefit.
2年前
記事のアイキャッチ画像
Moving to a monorepo: Yes, but how?
Blog | Alex Harri
Migrating existing repositories to a monorepo structure. A step-by-step guide.
2年前
記事のアイキャッチ画像
Multi-cursor code editing: An animated introduction
Blog | Alex Harri
Animated and interactive intro to multi-cursor editing using Command D and clever text navigation techniques.
2年前
記事のアイキャッチ画像
Build your own schema language with TypeScript’s infer keyword
Blog | Alex Harri
Case study on using TypeScript’s infer keyword, combined with recursive types, to create a custom schema language using template literal types.
2年前
記事のアイキャッチ画像
The Engineering behind Figma’s Vector Networks
Blog | Alex Harri
+A deep dive into the world of vector networks, and the engineering challenges involved in their implementation.
5年前
\ No newline at end of file diff --git a/blogs/970b727ce7843db4e72f2aa7d21e3107/index.html b/blogs/970b727ce7843db4e72f2aa7d21e3107/index.html new file mode 100644 index 000000000000..6086ca495dd2 --- /dev/null +++ b/blogs/970b727ce7843db4e72f2aa7d21e3107/index.html @@ -0,0 +1,33 @@ +mizdra&#39;s blogのフィード|JSer.info Watch List RSS

mizdra's blog

https://www.mizdra.net/

ぽよぐらみんぐ

フィード

記事のアイキャッチ画像
JavaScript で GraphQL サーバーの技術選定をする際の登場人物
mizdra's blog
これは はてなエンジニア - Qiita Advent Calendar 2024 - Qiita 15日目の記事です。昨日は id:utgwkk さんの「ISUCONの感想戦を支えるEC2の自動開始・停止、そしてAWS Step Functions」でした。 はてなでフロントエンドエキスパートをしている id:mizdra です。この記事では、JavaScript で GraphQL サーバーの技術選定をする際に、どのようなツールやライブラリがあるのかを紹介します。 というのも、JavaScript で GraphQL サーバーを作ろうと思って検索してみると、「Next.js + Apoll…
2ヶ月前
記事のアイキャッチ画像
node --test と Vitest どちらを使うべきか
mizdra's blog
社内で「node --test って実際どうなの?」という議論がありました。その参考に、id:mizdra が node --test 最近を触って思ったことや、感想などを書いてみます。 結論だけ先に書いておくと、node --test はミニマムなテスティングフレームワークです。テストする時に必要とされる機能は大体ありますが、Vitest と比較すると色々欠けてます。そして、Vitest と比べて何が足りないのか、実際に触ってみるまで意外と分からないです。とりあえず動けば OK という人は、Vitest 使ったら良いと思います。node --test はミニマリスト向けです。 node --…
3ヶ月前
記事のアイキャッチ画像
zsh + fzf で「あの時作業していたあのブランチ」を快適に探す
mizdra's blog
+今まで id:mizdra はターミナルで Git ブランチを切り替えるときに、zsh + peco を使った Git ブランチ検索用のキーバインドを使用していた。 # .zshrc function select-git-branch() { selected_branch=$(git branch | cut -c 3- | peco) BUFFER="${LBUFFER}${selected_branch}${RBUFFER}" CURSOR=$#LBUFFER+$#selected_branch zle redisplay } zle -N select-git-branch bind…
4ヶ月前
記事のアイキャッチ画像
React Server Components で時限式コンポーネントを作る
mizdra's blog
+特定の時間になったらコンテンツをページに出したい、ということがあると思う。漫画サービスなら「ゴールデンウィーク限定!全話無料キャンペーン!」みたいなのとか。 普段の業務ではこうしたことを実現するために、時限式コンポーネントや、ScheduledComponent などと呼ばれるものを作ってる *1。 // components/ScheduledComponent.tsx export function ScheduledComponent({showAt, children}: { showAt: Date; children: React.ReactNode; }) { if (new D…
5ヶ月前
記事のアイキャッチ画像
builderscon 2024 に参加 & 登壇発表しました
mizdra's blog
+2024/08/10 (土) に「builderscon 2024」に参加してきました。 fortee.jp 発表 ありがたいことに「React Server Components の疑問を解き明かす」という題で発表させて頂くことができました。 speakerdeck.com React Server Component (RSC) は、サーバーサイド上でレンダリングされる React コンポーネントです。React Server Component を用いると、コンポーネントの中から DB にアクセスしたり、ファイルシステムにアクセスしたりできます。 一方で、今までにも erb や pug …
6ヶ月前
記事のアイキャッチ画像
tsconfig.json の include オプションには何を指定すべきか
mizdra's blog
+TL;DR "include": ["src/index.ts"] はやめよう src 配下にあるのに型チェックされない & auto-import できないファイルが生まれてしまう "include": ["src/**/*"] や "include": ["**/*"] がオススメ どっちが良いかはプロジェクトによる "include": ["src/**/*"] は "include": ["src"] と、"include": ["**/*"] は include 指定無しと同じなので、それでも OK すっごい凝りたいなら Solution Style tsconfig.json を使…
6ヶ月前
記事のアイキャッチ画像
閉じている details 要素に `#fragment` でジャンプして、ジャンプと同時に展開したい
mizdra's blog
最近用語集のようなページを作る機会があった。それぞれの用語の名前と説明がバーっと並んでて、説明部分は <details> 要素で隠されている。用語の名前をクリックすると <details> が展開されて、説明部分が読める、といった感じ。 用語集ページの例 他のページから特定の用語の説明に飛べるように、用語を表す要素それぞれに id 属性が振ってある。例えば https://glossary.example.com/#javascript という URL でアクセスすると、「JavaScript」の用語がある位置にスクロールした状態で、用語集ページを開ける。 ただ (一部ブラウザで) https…
7ヶ月前
記事のアイキャッチ画像
Node.js の --require/--import オプションについて
mizdra's blog
+Node.js には --require=module と --import=module というオプションがあります。このオプションを使うと、エントリポイントとなるプログラムよりも前に、任意のモジュールを実行できます。 例えば以下のようなコマンドを実行すると、Node.js ランタイムはまず最初に preload.cjs を実行し、それから main.mjs を実行できます。 node --require ./preload.cjs main.mjs エントリポイントよりも前に、何かしらの処理を実行したい時に使うことを想定しています。 --require と --import の違い --i…
8ヶ月前
記事のアイキャッチ画像
GitHub Sponsors 始めました
mizdra's blog
+GitHub Sponsors 始めました。以下のページからスポンサーできます。 github.com 主に僕が作った OSS を使っている方、ブログを読んだりしている方からスポンサーして頂くことを想定しています。僕の OSS や記事がきっかけで、僕を支援をしたいと思った方がいらっしゃれば、是非スポンサー登録をしてみてください。 GitHub Sponsors を始めた理由 ちょっとした OSS を繰り返し作っていった結果、その OSS をメンテナンスする時間が増えてきました。情熱的に OSS 活動に時間を注がれている方と比較するとそうでもないかもしれませんが、個人的にはそこそこ OSS のメ…
8ヶ月前
記事のアイキャッチ画像
tsc の代替実装は作れるのか
mizdra's blog
+tsc の代替実装を作る話、とりわけ Rust や Go で tsc を高速化した移植版を作る話について。非常に野心的で面白いと思いつつ、正直僕は実用レベルまで達したものが本当に登場するのか疑問に思っている。今ある型システムもそうだし、新機能として追加されるものにも追従する必要がある。当然、実用レベルとして使ってもらうには、不具合も少なくないといけない。 それに tsc も最近はパフォーマンス改善に力を入れているように見えている。実際にリリースノートを見ると、ちょくちょくパフォーマンス改善系の変更が入っている。 TypeScript: Documentation - TypeScript 4.…
8ヶ月前
記事のアイキャッチ画像
株式会社はてなに入社しました
mizdra's blog
株式会社はてなに入社しました 株式会社はてなに入社しました - hitode909の日記
10ヶ月前
記事のアイキャッチ画像
似ているけどちょっと違うものをスタイリングする CSS テクニック
mizdra's blog
React + CSS Modules なプロジェクトを例にサンプルコードを書いてるけど、それ以外の構成のプロジェクトでも使えるテクニックのはず。記事タイトルは id:hitode909 さんの 似ているけどちょっと違うものたちをモデリングする技術 - hitode909 のリスペクトです。 data 属性, 属性セレクター, CSS カスタムプロパティを使う 記事のリストがあって、記事のカテゴリごとに文字色やボーダーの色を変えたい、みたいな状況だったとする。多分素朴に書くと以下のようになるはず。 import styles from './Entry.module.css'; import …
1年前
記事のアイキャッチ画像
fetch の中断と Back/Forward Cache からの復元で発生する奇妙な現象について
mizdra's blog
TL;DR あるリソースの fetch 中にページ遷移すると、一部ブラウザでは fetch が中断される 中断されると、TypeError が throw される ページ遷移時は、ブラウザによって遷移前のページの実行が"停止"され、"捨てられる"ので、通常 throw された後のことは考えなくて良い しかし、そのページが Back/Forward Cache から復元されうるなら、話は別 ブラウザバックすると、エラーが throw された後からページが再開される!!! そして発生する、奇妙な現象の数々... はじまりは、あるサービスの不具合報告 ある日、「Webサービスから外部サービスにページ…
1年前
記事のアイキャッチ画像
ESLint の Suggestions から学ぶ、コードの自動修正の奥深さ
mizdra's blog
これは、はてなエンジニアアドベントカレンダー2023 4日目の記事です。 3日目は id:mechairoi さんの「SQLiteでLinderaを使った日本語全文検索」でした。 blog.chairoi.me 今日のテーマは、JavaScript 向けの Linter 「ESLint」についてです。ESLint を使うと、JavaScript で書かれたコードを静的解析して、よくある間違いを検出したり、コーディングスタイルを統一できます。 通常、ESLint のルールによって報告された問題 (error や warn) は人が手で修正します。ただし、ルールが報告する問題の中には「fixabl…
1年前
記事のアイキャッチ画像
GraphQL のレスポンスのモックデータの作成を補助する TypeScript ライブラリを作った
mizdra's blog
GraphQL を使って Web アプリケーションを実装していると、GraphQL API のリクエストをモックしたいことがあると思います。 ユニットテストのために、ダミーレスポンスに差し替えたい ビジュアルリグレッションテストのために、ダミーレスポンスに差し替えたい Storybook で story を書くために、ダミーレスポンスに差し替えたい バックエンドの resolver 実装を待たずにフロントエンド側の開発を始めるために、ダミーレスポンスに差し替えたい 一般には GraphQL Client にモックするための機能が実装されてるので、そうしたものを使うことが多いと思います。 zen…
1年前
記事のアイキャッチ画像
react-relay の useFragment で本来取得できるはずの field が欠損する現象について
mizdra's blog
react-relay を使っていると、稀に「本来取得できるはずの field が欠けた状態のオブジェクトが useFragment から返される」現象に遭遇することがあります。 例えば、以下のようなエントリーのタイトルと本文を表示するエントリーページがあったと仮定します。デフォルトではタイトルのみが表示されていて、「本文を表示」ボタンを押すと、GraphQL API から本文が fetch されて表示されます。 import {PreloadedQuery, usePreloadedQuery, graphql, useFragment, useLazyLoadQuery} from 're…
1年前
記事のアイキャッチ画像
Next.js で言語ごとに異なるアセット画像を埋め込む
mizdra's blog
+多言語対応している Web アプリで、あらかじめファイルに書き出しておいた画像 (アセット) が言語別にあって、それをページに埋め込むにはどうするか、という話題です。基本は言語ごとに別々の画像を出すことないと思いますが、たまーにあるんですよね。例えばGoogle Play のバッジが言語ごとに違うので、これを言語ごとに出し分けたいとか。 Google Play バッジ – Google 色々方法があるので、それをいくつか紹介します。 方法1. import 文を言語の数だけ書く シンプルにやるなら、言語の数だけ import 文を書いて、next/image の <Image> コンポーネント…
2年前
記事のアイキャッチ画像
Relay の %future added value, %other との向き合い方
mizdra's blog
+前提 まず議論の土台は https://github.com/facebook/relay/issues/2351 GraphQL では Enum に対する variant の追加が破壊的変更になりうる 新しい variant が来ることを考慮してなくて、突然アプリケーションが壊れる可能性がある 自分たちで実装している GraphQL API なら、variant の追加タイミングを調整できるので問題にならないようにもできる しかし、外部の GraphQL API サーバーを利用している場合は、追加タイミングを予知できないので、ある日突然壊れる そのため、Relay は未知の値が来ても壊れない…
2年前
記事のアイキャッチ画像
アセットの import を簡単にする TypeScript Language Service Plugin を作った
mizdra's blog
+Web ページを作るときに、あらかじめファイルに書き出しておいた画像 (アセット) をページに埋め込みたいことがよくあると思います。例えばヘッダーにサービスのロゴ画像を埋め込む場合、以下のようなコードを書くと思います。 // src/components/Header.tsx export function Header() { return ( <header> <img src="/assets/logo.png" alt="Logo image" /> {/* ... */} </header> ); } 一方で、最近のWeb フロントエンドフレームワーク (例: Next.js, Re…
2年前
記事のアイキャッチ画像
Node.js でフィクスチャーファイルを簡単に作成するライブラリを作った
mizdra's blog
+よく Node.js で CLI ツールを作っているのだけど、そのテストコードを書くのが大変だなあという課題感があった。例えば、ESLint のエラーをルールごとにグルーピングして、ルール単位で修正できるツール (eslint-interactive) を作ったときは、以下のようなテストコードを書いていた。 // fixtures/semi.js const val = 0 // fixtures/prefer-const.js let val = 0; // fixtures/.eslintrc.js module.exports = { root: true, parserOptions:…
2年前
記事のアイキャッチ画像
Next.js で SSR を強制する
mizdra's blog
+SSG も ISR も SSR も、どれも便利なのだけど、どれも扱いが難しい! SSR 1つを取っても、first paint の状態で GraphQL API から取得したデータがレンダリングされた状態を目指すなら、それなりに複雑な仕組みを getServerSideProps/_app.ts に実装しないといけない。 BFF で GraphQL API を叩いて、その結果を pageProps に焼き込んで、 コンポーネントのレンダリング時に pageProps から結果を取り出して GraphQL クライアントのキャッシュにそれを書き込んで…みたいなことを SSR でやる必要がある訳だけ…
2年前
記事のアイキャッチ画像
Relay でも msw の handler を型付きで書く
mizdra's blog
+msw を使うと、GraphQL API をモックしてダミーレスポンスを返せます。以下のような handler と、その他少々のセットアップコードを用意するだけで簡単にモックできます。 // src/mocks/handlers.js import { graphql } from 'msw'; export const handlers = [ // ブログのトップページのクエリをモックする handler。 // `graphql.query` の第一引数には、 // `query <クエリ名> { ... }` の `<クエリ名>` の部分に対応した文字列を書く。 graphql.que…
2年前
記事のアイキャッチ画像
npm package を実装するための自分専用テンプレートリポジトリを作った
mizdra's blog
+npm package を作る度にイチから開発環境の構築をしていて大変だったので、自分専用のテンプレートリポジトリを作りました *1。 github.com せっかくなので、テンプレートの特徴とか、どういうこと考えながら作ったとか紹介してみます。 はじめに: 基本的な技術スタック npm TypeScript Node.js Native ESM Prettier ESLint Vitest Renovate GitHub Actions vscode 向けの各種設定ファイル (extensions.json, launch.json, settings.json) GitHub の「テンプレ…
2年前
記事のアイキャッチ画像
Twitter に投稿したツイートを Mastodon に転送するようにした
mizdra's blog
+去年の 11 月から続く一連の騒動を受けて、id:mizdra のフォロワーの中でも Twitter から Fediverse に移行してきている人が増えてきた。僕自身は移行するつもりはないけれど、移行したフォロワーが僕のツイートを Fediverse から見れるように、ツイートを Mastodon へと転送するようにしてみた。せっかくなので、そのやり方について書き残しておく。 作戦 IFTTT という「〇〇したらXXする」みたいなピタゴラスイッチをボタンポチポチで作れるサービスがある。これを使い、当該 Twitter アカウントでツイートがされたら、それを契機に Mastodon にトゥート…
2年前
記事のアイキャッチ画像
株式会社はてなに入社しました
mizdra's blog
株式会社はてなに入社しました 株式会社はてなに入社しました - hitode909の日記
2年前
記事のアイキャッチ画像
Next.js の getServerSideProps を共通化する
mizdra's blog
Next.js で開発していると、複数のページの getServerSidePropsで同じようなコードを度々書くことになると思う。例えば 「GraphQL クライアントでクエリを fetch して、そのレスポンスをpagePropsに焼き込むロジック」であったり、「(マルチテナントアプリケーションにおいて) リクエストヘッダーからテナントを特定するロジック」であったり。こうした大部分のページで使われるロジックのコードは、何度も書かずに済むよう、何らかの共通化をしたくなる。 すでに色々な人が似たような動機でgetServerSidePropsを共通化する方法を紹介していると思う。それを参考にし…
2年前
記事のアイキャッチ画像
YAPC::Kyoto 2023 に参加してきた
mizdra's blog
登壇とかではなく、いち聴者として参加してきました。 yapcjapan.org 前日祭も参加していて、土日での京都滞在でした。 yapcjapan.connpass.com 僕と YAPC YAPC への参加は去年の YAPC::Japan::Online 2022 に続いてとなり、YAPC::Kyoto 2023 で2回目です。オフラインの YAPC は初めてでした。 また、別の話として新卒入社のタイミングがコロナと重なっており、参加人数が数百人超える大きなカンファレンスに出たことがほとんどありませんでした (入社前のものを含めると HTML5 Conference 2018 と build…
2年前
記事のアイキャッチ画像
CPU シミュレータを用いて継続的ベンチマークを安定化させる
mizdra's blog
id:mizdra は eslint-interactive というツールをメンテナンスしています。このツールを使うと、多数の ESLint エラーを効率的に修正できます (詳しくは以前書いた記事を見てください)。 www.mizdra.net eslint-interactive では「中規模〜大規模なコードベースであってもキビキビ動く」を大事にしてます。その一環として、eslint-interactive には CI (GitHub Actions) でベンチマークを取り、以前から大きく劣化していたら CI を fail させる仕組みがあります。 https://github.com/mi…
2年前
記事のアイキャッチ画像
試行錯誤を邪魔しない開発環境
mizdra's blog
ある機能を実装する際、完成形のコードになるまでには、プログラムとして不正確な状態や、プロダクト品質ではない状態を経る 静的型検査や lint rule に違反したコードが途中に挟まる 型エラーや lint エラーは望ましくないので、できるだけ早くこうした情報を開発者に伝え、気付けるようにすると良い CI でこうしたエラーを検知して、Pull Request をマージする前に気づけるようにするとか エディタ上にエラーの情報を表示して、コーディング中に気づけるようにするとか エラーを積極的に通知してくれるのはありがたいけど、やりすぎには注意するべき なんとなくでも動いてくれたほうが嬉しい 例えば …
2年前
記事のアイキャッチ画像
ネイティブモジュールに依存しない node-canvas 代替ライブラリを使う
mizdra's blog
+Web フロントエンドにて、Canvas を使った View のテストを書きたいことがたまにあります。ブラウザであれば以下のようにして Canvas を利用できますが、テストが実行される Node.js ではそのような API は生えていません。 const canvas = document.createElement('canvas'); canvas.width = 200; canvas.height = 200; const ctx = canvas.getContext('2d'); ctx.fillStyle = 'green'; ctx.fillRect(10, 10, 150…
2年前
\ No newline at end of file diff --git a/blogs/97c3c55aabf4385a0b92c49c34d9074b/index.html b/blogs/97c3c55aabf4385a0b92c49c34d9074b/index.html new file mode 100644 index 000000000000..35c6da0cea63 --- /dev/null +++ b/blogs/97c3c55aabf4385a0b92c49c34d9074b/index.html @@ -0,0 +1,12 @@ +POSTD | ニジボックスが運営するエンジニアに向けたキュレーションメディアのフィード|JSer.info Watch List RSS

POSTD | ニジボックスが運営するエンジニアに向けたキュレーションメディア

https://postd.cc

POSTD は、ニジボックスが運営する、エンジニアに向けたキュレーションメディアです。ニジボックスはWebサービスの企画、制作、開発、運用を一貫して担うリクルートの100%子会社です。 リクルートグループのオンラインサービスをはじめ、様々な業種・業界・業態のサービス開発を行っております。

フィード

記事のアイキャッチ画像
CORSガイドの決定版
POSTD | ニジボックスが運営するエンジニアに向けたキュレーションメディア
無垢な仔猫の写真を集めたウェブサイトを訪問したと想像してみてください。かわいい仔猫達の写真の背後には、このウェブサイトの強大な力が隠れています。誰かがウェブサイトにアクセスすると、サイトのオーナーは…
15日前
記事のアイキャッチ画像
進化した正規表現:JavaScriptの正規表現の歴史と未来
+POSTD | ニジボックスが運営するエンジニアに向けたキュレーションメディア
クイックサマリー:以前は、JavaScriptの正規表現は他の言語の正規表現に比べてパフォーマンスが劣っていたものの、近年改良が重ねられ、他の言語に見劣りしなくなっています。この記事では、Steve…
2ヶ月前
記事のアイキャッチ画像
アルゴリズムのパフォーマンスを段階的に改善する
POSTD | ニジボックスが運営するエンジニアに向けたキュレーションメディア
最近、筆者はRaBitQという新しい近似最近傍探索アルゴリズムを使ったさまざまな試みを行っています。このアルゴリズムを提案した論文の著者はすでにC++実装を提供しており、実行速度はかなり速いです。筆…
2ヶ月前
記事のアイキャッチ画像
ReactコードをCSSの:hasセレクタで置き換える
POSTD | ニジボックスが運営するエンジニアに向けたキュレーションメディア
CSSの新しい:hasセレクタと、これを使用したReactコードの改善方法について説明します。実用的で美しい例とともに。 大昔、とは言ってもCSSが出てきた当初の話ですが、CSSはカスケードする仕…
4ヶ月前
記事のアイキャッチ画像
React Compilerについて理解する
POSTD | ニジボックスが運営するエンジニアに向けたキュレーションメディア
Reactのコアアーキテクチャは、与えられた関数(すなわちコンポーネント)を繰り返し呼び出します。この仕組みはReactのメンタルモデルを単純化し、その人気に一役を買いましたが、同時にパフォーマンス…
4ヶ月前
記事のアイキャッチ画像
まだまだある実例に沿った:has()の使い方
POSTD | ニジボックスが運営するエンジニアに向けたキュレーションメディア
:has()疑似クラスは筆者が断トツで一番気に入っているCSSの新機能です。筆者と同じ意見の読者も多いでしょう。少なくとも、State of CSSのアンケートに回答した方の中には多くいるはずです。…
5ヶ月前
記事のアイキャッチ画像
useDeferredValueを使用してUIを素早く最適化する
POSTD | ニジボックスが運営するエンジニアに向けたキュレーションメディア
登場以来、Reactはアプリケーションのパフォーマンスを最適化するためのツールを多数供してきました。中には極めて有益でありながら、あまり知られていないものもあります。はその一つです。このツールは、特…
7ヶ月前
記事のアイキャッチ画像
言葉で説明できないとき:対話型インターフェースを超えるAIのためのデザイン
POSTD | ニジボックスが運営するエンジニアに向けたキュレーションメディア
クイックサマリー:人工知能がコンピューティングパラダイムの進化をもたらしており、それに伴いデザイナーはより直感的なユーザーインターフェースを開発するチャンスに恵まれています。新しい機能のほとんどは、…
8ヶ月前
記事のアイキャッチ画像
グラフィックデザインにおけるAIジレンマ:卓越したタイポグラフィとその先へ
POSTD | ニジボックスが運営するエンジニアに向けたキュレーションメディア
+クイックサマリー:AIはタイポグラフィに大変革をもたらしつつあります。それは、デザイナーにとってチャンスをもたらすと同時に、課題も突きつけています。品質に影響はあるのでしょうか。また、デザインの役割…
8ヶ月前
記事のアイキャッチ画像
分析による思考の麻痺を脱し、自信を持って決断を下す方法
POSTD | ニジボックスが運営するエンジニアに向けたキュレーションメディア
「決断の時における最善の選択は、正しいことをすること。最悪の選択は、何もしないことだ。」セオドア・ルーズベルトの言葉です。 人生を左右する可能性のある重要な決断を下すとき、結果が不確実であることや、…
9ヶ月前
\ No newline at end of file diff --git a/blogs/97cb6657665760e071286dc92ecea3a6/index.html b/blogs/97cb6657665760e071286dc92ecea3a6/index.html new file mode 100644 index 000000000000..e5c6da5a71a2 --- /dev/null +++ b/blogs/97cb6657665760e071286dc92ecea3a6/index.html @@ -0,0 +1,14 @@ +PR TIMES 開発者ブログのフィード|JSer.info Watch List RSS

PR TIMES 開発者ブログ

https://developers.prtimes.jp

PR TIMESを日々開発するエンジニア、デザイナー、プロダクトマネージャーによる開発者ブログです。「行動者発の情報が、人の心を揺さぶる時代へ」をプロダクトで挑戦するチームの開発の裏話や技術共有メモ、ちょっと聞いて欲しいあれこれを発信します。

フィード

記事のアイキャッチ画像
PR TIMES社内のHTMLクライテリアを作成しました
はてなブックマークアイコン 5
PR TIMES 開発者ブログ
+こんにちは。PR TIMESでフロントエンドエンジニアをしている夛田(@unachang113)です。 今回はPR TIMES社内でHTMLクライテリアを作成したのでその話をしようと思います。 つくろうと思ったきっかけ […]
3日前
記事のアイキャッチ画像
+eslint-plugin-no-barrel-filesを導入してBarrel filesをやめた話
はてなブックマークアイコン 15
PR TIMES 開発者ブログ
こんにちは、フロントエンドエンジニアのやなぎ(@apple_yagi)です。 PR TIMESではフロントエンドのReactリプレイス当初より Barrel file を作成するルールがありました。しかし、先日そのルール […]
11日前
記事のアイキャッチ画像
Reach UIからRadix UIに移行しました
PR TIMES 開発者ブログ
こんにちは。開発部フロントエンドエンジニアの古園(@miyabin4113)です。 先日PR TIMESの全コンポーネントからReach UIを剥がし、Radix UIに移行することが完了しました。 PR TIMESでは […]
1ヶ月前
記事のアイキャッチ画像
2024年のPR TIMES開発者ブログ振り返り
PR TIMES 開発者ブログ
PR TIMESでCTOをやっている金子 (@catatsuy) です。 金子がCTOとして入社してから3年が過ぎ、もうすぐ4年になります。その間、組織やサービスには多くの変化がありました。 組織面では、開発チームの拡大 […]
1ヶ月前
記事のアイキャッチ画像
New Relicに転送されるエラーをバックエンドチームで協力して約7割減らした話
PR TIMES 開発者ブログ
こんにちは、PR TIMESでインターンをしている笹山雷雅です。 この記事では、バックエンドエンジニアを中心にNew Relicに転送されるエラーを減らす活動を行い、転送されるエラーをバックエンドチームで協力し、約7割減 […]
1ヶ月前
記事のアイキャッチ画像
お客様にオススメしたい、PdMが選ぶ2024年にリリースした機能ランキング!
PR TIMES 開発者ブログ
こんにちは、PR TIMESでプロダクトマネージャー(PdM)をしている渡邉です。 2024年も残りわずかですね。私は2023年に前職のメーカーから転職して未経験入社し、ようやくプロジェクトなどに関わり始めた1年でした。 […]
1ヶ月前
記事のアイキャッチ画像
【テーブル設計】非正規化だったテーブルを正規化した話
PR TIMES 開発者ブログ
メディアリレーションチームの開発リーダーをしている永井です。12月5日にメディアリストの管理画面をリニューアルしました。リニューアルに伴い、メディアに紐付くカテゴリの改善があったのですが、テーブル構成が非正規化でありいく […]
1ヶ月前
記事のアイキャッチ画像
「株式会社ユーザベース×株式会社ZOZO×株式会社PR TIMES 3社合同フロントエンド勉強会」 を開催しました
PR TIMES 開発者ブログ
こんにちは、フロントエンドエンジニアの桐澤(@kiririLee)です。2024年12月10日に株式会社ユーザベースさんと株式会社ZOZOさんと合同でフロントエンド勉強会を開催しました。 https://prtimes. […]
1ヶ月前
記事のアイキャッチ画像
PR TIMESエディターのフロントエンドテスト戦略 2024年版
PR TIMES 開発者ブログ
こんにちは。PR TIMESでフロントエンドエンジニアをしている夛田(@unachang113)です。 みなさん、フロントエンドのテストって書いてますか? 今回は自分が所属しているエディターチームのエディターに関するフロ […]
1ヶ月前
記事のアイキャッチ画像
React Router v7にバージョンアップしました
PR TIMES 開発者ブログ
こんにちは、フロントエンドエンジニアのやなぎ(@apple_yagi)です。 先日のリファクタリングデーでReact Routerのバージョンをv6からv7にバージョンアップしました。その際に行った変更やPR TIMES […]
1ヶ月前
\ No newline at end of file diff --git a/blogs/984e1e13d5f5707ea11d65a37db687b5/index.html b/blogs/984e1e13d5f5707ea11d65a37db687b5/index.html new file mode 100644 index 000000000000..4b89b350a8f0 --- /dev/null +++ b/blogs/984e1e13d5f5707ea11d65a37db687b5/index.html @@ -0,0 +1,86 @@ +WorkOS Blogのフィード|JSer.info Watch List RSS

WorkOS Blog

https://workos.com

Developer APIs / SDKs for enterprise-ready features like Single Sign-On (SSO/SAML), Passwordless Authentication, Directory Sync (SCIM), Audit Trail (SIEM), and more. Get started for free.

フィード

+記事のアイキャッチ画像
Which auth providers support SCIM?
WorkOS Blog
Do you plan on outsourcing SCIM and you don't know where? Read this article for a list of auth providers that support SCIM and a comparison of the features they offer.
2日前
記事のアイキャッチ画像
Passwordless authentication: your options explained
WorkOS Blog
+Do you want to add passwordless authentication to your app and don’t know where to start? Read our guide for an overview of the top available methods, their pros and cons, and which one might be the best for you.
8日前
記事のアイキャッチ画像
What does it mean to distill a machine learning model or LLM?
WorkOS Blog
Distillation is a technique for creating smaller, faster, and more efficient versions of neural networks while retaining most of their performance.
8日前
記事のアイキャッチ画像
Email deliverability and spam prevention: why your emails aren’t getting delivered and how to fix it
WorkOS Blog
Do your emails end up in spam? Read this guide to see what you can do to optimize your email deliverability and avoid the spam folder.
9日前
記事のアイキャッチ画像
How to run DeepSeek locally
はてなブックマークアイコン 2
WorkOS Blog
DeepSeek R1 is an open-source LLM for conversational AI, coding, and problem-solving. Here's how to run it locally.
10日前
記事のアイキャッチ画像
What is Authentik?
はてなブックマークアイコン 1
WorkOS Blog
+Authentik is an open-source Identity Provider (IdP) that allows you to self-host user authentication, single sign-on (SSO), and access controls.
11日前
記事のアイキャッチ画像
Defending against bad actors: WorkOS Radar vs Castle vs Auth0 vs Stytch vs Arcjet
WorkOS Blog
Which products can help you safeguard your app against bots and hackers and how do they compare? Learn what you should look for and what features each vendor offers.
12日前
記事のアイキャッチ画像
What is Ente Auth?
WorkOS Blog
+Ente Auth is a modern, secure, and user-friendly two-factor authentication (2FA) solution designed to safeguard online accounts with minimal hassle.
16日前
記事のアイキャッチ画像
Shadcn-ui: What is it, and why do you care?
WorkOS Blog
shadcn-ui is a set of reusable React components focused on accessibility, customization, and developer control. It stands out from typical UI libraries by allowing you to own the code directly, thereby reducing external dependencies and version lock-ins.
16日前
記事のアイキャッチ画像
Breaking the AI Mold: China's DeepSeek-R1 pushes local and open AI forward
WorkOS Blog
Announced just this week, DeepSeek-R1 is positioned as a direct competitor to incumbent LLM creators’ flagship models, promising robust reasoning, mathematics, and coding capabilities.
16日前
記事のアイキャッチ画像
Google OAuth vulnerability can expose sensitive data of failed startups
WorkOS Blog
Read about how failed startups that used Google SSO might be susceptible to leaking sensitive information of employees.
17日前
記事のアイキャッチ画像 +
How to build SAML SSO with WorkOS, JumpCloud, and Node
WorkOS Blog
Step-by-step tutorial that walks you through the necessary steps to add SSO to your app using SAML, JumpCloud, Node, and WorkOS.
18日前
記事のアイキャッチ画像
Understanding Zero Trust security
WorkOS Blog
+Learn what Zero Trust security is and how it came to be (spoiler alert: Chinese state-sponsored hackers are involved).
19日前
記事のアイキャッチ画像
How WorkOS Radar does rate limiting with device fingerprinting
WorkOS Blog
Radar can detect threats even when they switch up or spoof their IP address. Here's how.
22日前
記事のアイキャッチ画像
How do you know when you’ve hit product-market fit?
WorkOS Blog
How will you know once you've found Product Market Fit? Through these signs, which also tell you that you're ready to go upmarket after enterprise customers.
23日前
記事のアイキャッチ画像
How WorkOS Radar's bot detection works
WorkOS Blog
Every day, countless bots attempt to breach applications by exploiting authentication systems. Here's how WorkOS Radar stops them.
23日前
記事のアイキャッチ画像
How WorkOS Radar really works
WorkOS Blog
+How does WorkOS Radar really work? How do you install and set it up and what does it reveal?
23日前
記事のアイキャッチ画像
What is device fingerprinting and how does it work?
WorkOS Blog
Your device leaves a unique trail of digital breadcrumbs whenever you open a web browser. These aren't cookies that you can delete – they're subtle signals from your hardware and software that combine to create something far more permanent: your device fingerprint. +
23日前
記事のアイキャッチ画像
How to build SAML SSO with WorkOS, Okta, and Python
WorkOS Blog
Step-by-step tutorial that walks you through the necessary steps to add SSO to your app using SAML, Okta, Python, and WorkOS.
24日前
記事のアイキャッチ画像
How to build SAML SSO with WorkOS, Okta, and Ruby
WorkOS Blog
Step-by-step tutorial that walks you through the necessary steps to add SSO to your app using SAML, Okta, Ruby, and WorkOS.
25日前
記事のアイキャッチ画像
+How to build a user management dashboard with WorkOS and Node
WorkOS Blog
Step-by-step tutorial on how to add basic user management functionality to your app using Node.js and WorkOS.
1ヶ月前
記事のアイキャッチ画像
Best practices for secrets management
WorkOS Blog
This guide explains best practices for keeping your secrets where they belong—secured away from public code and prying eyes.
1ヶ月前
記事のアイキャッチ画像
How to implement row-level security with WorkOS FGA and Postgres: tutorial and code
WorkOS Blog
Your support ticketing system contains sensitive data from multiple organizations and customers. How do you ensure users only see tickets they're authorized to view?
1ヶ月前
記事のアイキャッチ画像
How to build SAML SSO with WorkOS, Okta, and Go
WorkOS Blog
Step-by-step tutorial that walks you through the necessary steps to add SSO to your app using SAML, Okta, Go, and WorkOS.
1ヶ月前
記事のアイキャッチ画像
How to build Log in with Google using Go and WorkOS
WorkOS Blog
Step-by-step tutorial that walks you through the necessary steps to add Log in with Google to your app using Go and WorkOS.
1ヶ月前
記事のアイキャッチ画像
We shipped our auth server to your browser with WASM. Here's how it's going
WorkOS Blog
+Picture this: you've built a powerful authorization system based on Google's Zanzibar design, capable of handling complex permission relationships at scale. Now you want to let developers try it out. How can you let them experiment freely without spinning up countless backend environments?
1ヶ月前
記事のアイキャッチ画像
AuthQuake: Microsoft's MFA system vulnerable to TOTP brute force attack
WorkOS Blog
+A critical vulnerability in Microsoft's multi-factor authentication (MFA) system has been discovered by Oasis Security's research team, allowing attackers to bypass time-based one-time passwords (TOTPs) through brute force methods.
1ヶ月前
記事のアイキャッチ画像
What is multitenant authentication?
WorkOS Blog
+Learn how to build and scale authentication systems that serve multiple enterprise customers. This guide explores key concepts in multitenant authentication, from managing organization-specific SSO and security policies to avoiding common pitfalls.
1ヶ月前
記事のアイキャッチ画像
How to build SAML SSO with WorkOS, Entra ID, and Node
WorkOS Blog
Step-by-step tutorial that walks you through the necessary steps to add SSO to your app using SAML, Entra ID (Azure AD), Node, and WorkOS. +
1ヶ月前
記事のアイキャッチ画像
How to build Log in with GitHub using Go and WorkOS
WorkOS Blog
Step-by-step tutorial that walks you through the necessary steps to add Log in with GitHub to your app using Go and WorkOS.
1ヶ月前
記事のアイキャッチ画像
How to build SAML SSO with WorkOS, Okta, and Node
WorkOS Blog
Step-by-step tutorial that walks you through the necessary steps to add SSO to your app using SAML, Okta, Node, and WorkOS.
1ヶ月前
記事のアイキャッチ画像
The 5 best ABAC solutions for your SaaS in 2024
WorkOS Blog
Explore the top five ABAC solutions in 2024, including their features and who they’re best suited for.
2ヶ月前
記事のアイキャッチ画像
The 10 best RBAC open-source solutions in 2024
WorkOS Blog
Learn about the best RBAC open-source solutions in 2024 and how they enhance user permission management.
2ヶ月前
記事のアイキャッチ画像
SCIM best practices
WorkOS Blog
User provisioning is hard, and there are many things you can get wrong if you do it in-house. We gathered some best practices on SCIM to help you with that.
2ヶ月前
記事のアイキャッチ画像
+Seamless onboarding with the WorkOS Admin Portal
WorkOS Blog
An often overlooked but important component of identity management is customer onboarding.
2ヶ月前
記事のアイキャッチ画像
November Updates
WorkOS Blog
Launch Week recap (FGA, Radar, Passkeys, Widgets, Actions, Entitlements, Next.js Starter Kit) and more
2ヶ月前
記事のアイキャッチ画像
Stytch vs. Auth0 vs. WorkOS: which is best?
WorkOS Blog
Compare Stytch, Auth0, and WorkOS to learn what each does, its features, and which one you should use.
2ヶ月前
記事のアイキャッチ画像
+Frontegg vs. Auth0 vs. WorkOS: which is best in 2024?
WorkOS Blog
Frontegg vs. Auth0 vs. WorkOS: Learn their features, costs, and which is best for your needs.
2ヶ月前
記事のアイキャッチ画像
Clerk vs. Auth0 vs. WorkOS: which should you choose?
WorkOS Blog
Compare Clerk vs. AuthO vs. WorkOS to know which one you should use to manage identities in your app.
2ヶ月前
記事のアイキャッチ画像
FGA’s meaning: definition, benefits, and real-world examples
WorkOS Blog
Want to understand Fine-Grained Authorization’s (FGA) meaning? Read on to learn how it works, benefits, and real-world applications.
2ヶ月前
記事のアイキャッチ画像
Clerk pricing: How it works and compares to WorkOS
WorkOS Blog
Explore how Clerk’s pricing stacks up against WorkOS. Understand the costs and features of each service to make an informed decision for your business.
2ヶ月前
記事のアイキャッチ画像
Auth0 vs. Cognito vs. WorkOS: Which is best in 2024?
WorkOS Blog
+Auth0 vs. Cognito vs. WorkOS — how do they compare, and which one should you use? Learn everything you need to know here.
2ヶ月前
記事のアイキャッチ画像
Auth0 SSO: Is it worth the high cost?
WorkOS Blog
Learn what Auth0 offers, how much it costs, and why WorkOS is a better, more affordable alternative.
2ヶ月前
記事のアイキャッチ画像
The 5 best user management software tools in 2024
WorkOS Blog
Discover the best user management software tools in 2024, their key features, and why you should consider them for your app.
2ヶ月前
記事のアイキャッチ画像
RBAC vs. ACL: what's the difference and how do they work together?
WorkOS Blog
Compare RBAC vs. ACL, their differences, how they work together, and which to use.
2ヶ月前
記事のアイキャッチ画像
4 WorkOS alternatives + which to choose
WorkOS Blog
Explore four top WorkOS alternatives: Auth0, Frontegg, Clerk, and Stytch. Compare their features, pricing, and what they are best suited for.
2ヶ月前
記事のアイキャッチ画像
5 best Auth0 alternatives in 2024: head-to-head
WorkOS Blog
Explore the top Auth0 alternatives in 2024: WorkOS, Cognito, Firebase, KeyCloak, and Frontegg.
2ヶ月前
記事のアイキャッチ画像
+The 5 best Clerk alternatives in 2024
WorkOS Blog
Explore why businesses seek Clerk alternatives, featuring top options like WorkOS, Auth0, Okta, Firebase, and OneLogin.
2ヶ月前
記事のアイキャッチ画像
The 5 best Frontegg alternatives in 2024
WorkOS Blog
Discover the top five Frontegg alternatives for 2024. Compare features, pricing, and best use cases to find the perfect fit for your needs.
+
2ヶ月前
記事のアイキャッチ画像
The ultimate guide to user management in 2024
WorkOS Blog
Learn about user management, including why it’s important, the most important functions, key protocols, and more.
2ヶ月前
記事のアイキャッチ画像 +
6 best user management services for 2024
WorkOS Blog
Explore the top user management services in 2024, including WorkOS, Okta, Zluri, and more.
2ヶ月前
記事のアイキャッチ画像
SSO best practices
WorkOS Blog
+SSO is necessary if you want to sell to enterprise customers, but doing it well is hard. We gathered some best practices that can help you with that.
2ヶ月前
記事のアイキャッチ画像
Access management: What it is and how it works
WorkOS Blog
Learn what access management is, why it matters, how it works, and strategies to protect your business data effectively.
2ヶ月前
記事のアイキャッチ画像
Why Google Zanzibar shines at building authorization
WorkOS Blog
Learn what makes Google Zanzibar the best authorization solution and how WorkOS FGA builds on top of these features.
2ヶ月前
記事のアイキャッチ画像
Failed authentication events: use cases and how-to
WorkOS Blog
Learn about the failed authentication events you can get from WorkOS and how you can use them to implement features in your app.
2ヶ月前
記事のアイキャッチ画像
How to build document access control with S3, WorkOS FGA, and Lambda authorizers
WorkOS Blog
In this tutorial, paired with companion code, you’ll learn to build a secure, scalable document access control system using WorkOS FGA, AWS Lambda Authorizers, and Amazon S3.
2ヶ月前
記事のアイキャッチ画像
The complete guide to OAuth 2.0
WorkOS Blog
Learn everything you need to know about OAuth: what it is, what problem it solves, and how it works.
2ヶ月前 +
記事のアイキャッチ画像
Common SAML security vulnerabilities and how to defend against them
WorkOS Blog
Review some of the common SAML security vulnerabilities and see how you can defend against them.
2ヶ月前
記事のアイキャッチ画像
How to map role data from identity providers to roles in your app
WorkOS Blog
Learn how to map groups from external identity providers to user roles in your app using SSO or SCIM.
2ヶ月前
記事のアイキャッチ画像
Entitlements sync between Stripe and your app
WorkOS Blog
+WorkOS is introducing Entitlements powered by Stripe: one-button setup for enabling immediate, subscription-based access to plans, features, and products. Entitlements are available to all AuthKit customers for free.
3ヶ月前
記事のアイキャッチ画像
Next.js B2B Starter Kit — fast-track your SaaS app from 0 to 1
WorkOS Blog
+Every business starts with an idea, followed by the challenge of picking the right tech stack. In a crowded field where choosing the right technology is key yet time-consuming, starter kits help you focus on building your idea rather than reinventing the basics. That’s why we’re announcing the WorkOS-built Next.js B2B Starter Kit today.
3ヶ月前
記事のアイキャッチ画像
Actions — customize AuthKit behavior in real-time
WorkOS Blog
+We often think of auth as a binary decision—allowed or denied—but what if you want to factor in private knowledge or custom logic at runtime? Actions let you change how WorkOS behaves and customize user registration and authentication logic with AuthKit. Actions are also free to all AuthKit customers.
3ヶ月前
記事のアイキャッチ画像
Widgets — ready-made components for complete enterprise features
WorkOS Blog
+Widgets are ready-made components that provide complete enterprise features with a few lines of code. They are now available for free to all AuthKit customers.
3ヶ月前
記事のアイキャッチ画像
Fine-Grained Authorization is now generally available
WorkOS Blog
+FGA is the most flexible and granular authorization system, built for product and engineering teams looking to quickly implement fine-grained permissions in their applications. Use FGA to centralize your authorization logic, implement complex authorization schemes like Google Docs-style permissions, and define precise access control that goes beyond RBAC.
3ヶ月前
記事のアイキャッチ画像
How to build browser-based OAuth into your CLI with WorkOS
WorkOS Blog
Ever wondered how tools like GitHub's CLI let you authenticate with a single gh auth login command? In this tutorial with companion code repo, we go through the implementation step by step.
3ヶ月前
記事のアイキャッチ画像
Introducing Radar — real-time protection against bots, fraud, abuse
WorkOS Blog
+Radar enhances AuthKit with powerful security features to protect your application from abuse, fraud, and attacks. It automatically detects authentication patterns that indicate malicious or suspicious behavior and includes six built-in preventions that can be enabled with a single click.
3ヶ月前
記事のアイキャッチ画像
Passkeys, a safer and simpler alternative to passwords
WorkOS Blog
Passkeys allow you to log into your account using biometrics instead of a password. They are now available for free to all AuthKit customers.
3ヶ月前
記事のアイキャッチ画像
Understanding cross-site scripting (XSS) attacks
WorkOS Blog
XSS attacks are not to be taken lightly. Learn what XSS is, the different types of attacks, and how you can defend against them.
3ヶ月前
記事のアイキャッチ画像
SCIM challenges: navigating the idiosyncrasies of different providers
WorkOS Blog
Every provider does SCIM differently. If you don't pay attention, the results can be catastrophic. Read about these differences, the challenges that arise from them, and how WorkOS can help you overcome them.
3ヶ月前
記事のアイキャッチ画像
How SAML certificate renewal works - and what happens when it fails
WorkOS Blog
Learn why it is important for SAML certificates to expire and how having a plan in place to handle expiration can avoid downtime.
3ヶ月前
記事のアイキャッチ画像
Best practices for CLI authentication: a technical guide
WorkOS Blog +
Learn how to securely authenticate users accessing your service through a command-line tool, enabling safe, scriptable workflows across terminals, machines, and Docker containers.
3ヶ月前
記事のアイキャッチ画像
What is SCIM? The ultimate guide
WorkOS Blog
What is SCIM, and why do you need to support it in your SaaS? We’ll discuss the SCIM standard in-depth, how it works, and how you can add SCIM support to your app.
3ヶ月前
記事のアイキャッチ画像
JWT validation: how-to and best libraries to use
WorkOS Blog
Learn about JSON Web Token (JWT) validation, why it’s important, what the best practices are, and how to do it using trusted third-party libraries.
3ヶ月前
記事のアイキャッチ画像
How to add social logins in your app with WorkOS
WorkOS Blog
Learn what social logins are, how they work, and how you can integrate them into your app using WorkOS.
3ヶ月前
記事のアイキャッチ画像
Top 5 Google Zanzibar open-source implementations in 2024
WorkOS Blog
Google Zanzibar is a globally distributed authorization system that manages permissions at scale. Learn how it works and which open source implementations are right for you.
3ヶ月前
記事のアイキャッチ画像
ReBAC vs RBAC: What's the difference and which should you choose?
WorkOS Blog
+RBAC associates permissions with roles, which are then assigned to users. ReBAC allows you to model complex relationships. Which is better for your use case?
3ヶ月前
記事のアイキャッチ画像
What is user provisioning?
WorkOS Blog
User provisioning simplifies onboarding, tightens security, and automates user access management.
3ヶ月前
記事のアイキャッチ画像
What is Universal Login and how does it work?
WorkOS Blog
Universal Login or Universal SSO streamlines user authentication to log employees into multiple apps quickly and securely. Learn how it works.
3ヶ月前
記事のアイキャッチ画像
How SCIM deprovisioning works
WorkOS Blog
Learn what is user deprovisioning, how it works with SCIM, and how you can implement it with WorkOS.
3ヶ月前
記事のアイキャッチ画像
What is an authentication token?
WorkOS Blog
Learn what authentication tokens are, the different types, and how you can generate and secure them.
3ヶ月前
記事のアイキャッチ画像
What is the Okta Integration Network?
WorkOS Blog
What is the Okta App Store or Integration Network (OIN), and should you use it?
3ヶ月前
記事のアイキャッチ画像
How to add SSO to your app with WorkOS
WorkOS Blog
Learn why Single Sign-On (SSO) is essential, which are the best practices to follow, and how to add SSO to your app using WorkOS.
3ヶ月前
記事のアイキャッチ画像
How to secure RAG applications with Fine-Grained Authorization: tutorial with code
WorkOS Blog
With RAG and GenAI applications, how can you ensure users only see results from documents they have permission to access? In this runnable tutorial, we demo using WorkOS Fine-Grained Authorization to secure your documents.
3ヶ月前
記事のアイキャッチ画像
OTP bots explained: What they are and how to stop them
WorkOS Blog
Learn how OTP bots work, their role in bypassing MFA, and the top methods to protect your accounts from these cyber threats.
3ヶ月前
記事のアイキャッチ画像
Model your B2B SaaS with organizations
WorkOS Blog
A guide on how to model your SaaS using organizations and WorkOS.
3ヶ月前
記事のアイキャッチ画像
What is the Azure AD or Entra ID app gallery and why should you care?
WorkOS Blog
The Microsoft Entra ID app gallery is a collection of thousands of apps pre-integrated with the Microsoft Identity stack. Learn how this gallery can help, and when it's not the right choice.
3ヶ月前
記事のアイキャッチ画像
+The easiest way to implement SAML in any app
WorkOS Blog
Implementing SAML on your own can be a challenge. In this article, we’ll show you an easier way of adding SAML support to any app using the WorkOS SSO API.
3ヶ月前
記事のアイキャッチ画像
The Developer’s Guide to Fine-Grained Authorization
WorkOS Blog
+As apps have become more complex, especially with the rise of user-generated content, the need for a more granular and scalable authorization scheme has become crucial. Unlike other models, Fine-Grained Authorization defines permissions at the resource level, providing precision and the ability to handle millions of authorization requests per second.
3ヶ月前
記事のアイキャッチ画像
How SCIM provisioning works - tutorial with API calls
WorkOS Blog
+SCIM is a widely used protocol, but not many people understand it. This straightforward and comprehensive guide steps through how it works, using real-world examples and API calls and responses.
3ヶ月前
記事のアイキャッチ画像
Ruby SAML CVE-2024-45409: As bad as it gets and hiding in plain sight
WorkOS Blog
+On September 10th, 2024, a critical security flaw was disclosed in the Ruby-SAML and OmniAuth-SAML libraries, exposing a vulnerability that allows complete authentication bypass. This flaw, CVE-2024-45409, earned the highest possible score of 10 on GitHub's CVE rubric and a 9.8 NIST base score, making it a "worst-case scenario".
4ヶ月前
記事のアイキャッチ画像
Auth0 pricing: how it works and compares to WorkOS
WorkOS Blog
+Explore the details of Auth0's pricing, its limitations, and what makes WorkOS a more transparent and scalable alternative.
4ヶ月前
記事のアイキャッチ画像
X.509 certificates: what they are & how to get one
WorkOS Blog
Learn what X.509 certificates are and how to generate them with our comprehensive guide. Easy-to-follow steps included.
4ヶ月前
記事のアイキャッチ画像
From RBAC to Fine-Grained Authorization part II: integrate with your app
WorkOS Blog
A technical guide on how you can migrate your RBAC implementation to Fine-Grained Authorization (FGA) using WorkOS. Learn how to check a user’s access to resources, manage your FGA implementation, and favor performance vs consistency on a per request basis.
4ヶ月前
記事のアイキャッチ画像
From RBAC to Fine-Grained Authorization part I: design your model
WorkOS Blog
Migrate your RBAC implementation to Fine-Grained Authorization (FGA) using WorkOS. Learn what is FGA, how to define resources, relationships, and inheritance rules, and how to test and validate the access model.
4ヶ月前
What is Enterprise SSO and why does it matter?
WorkOS Blog
Learn what enterprise SSO is, why enterprises need it, how it works, and why you should support it in your SaaS.
4ヶ月前
記事のアイキャッチ画像
What is OpenID Connect (OIDC)?
WorkOS Blog
+Learn what OpenID Connect (OIDC) is, how it works, why you should use it, and how to implement it using WorkOS.
4ヶ月前
記事のアイキャッチ画像
September Updates
WorkOS Blog
Enterprise Ready Conference, HIPAA compliance, frontend sessions, AuthKit branding customization
4ヶ月前
What is Single Logout and why is there such limited support for it?
WorkOS Blog
Learn what single logout is, its benefits, why it's important, and why it has such limited support.
4ヶ月前
記事のアイキャッチ画像
The Developer’s Guide to Auth Sessions
WorkOS Blog
Learn what sessions are and how you can implement them from scratch or using an auth provider like WorkOS.
4ヶ月前
記事のアイキャッチ画像
Session management for frontend apps with AuthKit
WorkOS Blog
AuthKit now supports sessions for public clients, like mobile and single-page apps. Use the WorkOS React SDK to keep your users logged in for longer while keeping them safe from attacks.
4ヶ月前
\ No newline at end of file diff --git a/blogs/98b54a2c3e0f1149cf41df292d3d141d/index.html b/blogs/98b54a2c3e0f1149cf41df292d3d141d/index.html new file mode 100644 index 000000000000..c611dc05cef8 --- /dev/null +++ b/blogs/98b54a2c3e0f1149cf41df292d3d141d/index.html @@ -0,0 +1,34 @@ +Mitsuyuki.Shiibaのフィード|JSer.info Watch List RSS

Mitsuyuki.Shiiba

フィード

記事のアイキャッチ画像
HonoのZod OpenAPIを読んでたらWebStormのCPUとメモリを消費しまくってたのをJetBrainsにレポートしたらすぐに解決方法を教えてもらってニッコリなメモ
Mitsuyuki.Shiiba
HonoとZodとOpenAPIまわりが気になって、Zod OpenAPIのコードをWebStormで読んでたら、WebStormとNode.jsのプロセスがCPUをたくさん消費して、動きが遅くなって困った。メモリもWebStormに割り当てたぶんを使い切っちゃうよーって警告が出てきてた。 なんの気なしにそんなことをつぶやいてたらJetBrainsの@niklas_wortmannがコメントをくれた。 Did you happen to create a YouTrack ticket with some CPU or Memory snapshots? Would love to furth…
19日前
記事のアイキャッチ画像
Honoのルーティングの分割を思いつくままに実験
Mitsuyuki.Shiiba
Grouping HonoにはGroupingという機能がある。僕はルーティングを複数のファイルに分けて書きたいタイプなので、たぶんこれを使うだろうなと思っている。 https://hono.dev/docs/api/routing#grouping 実験環境 Node.jsが好きなのでNode.jsで動かしている。 hono: 4.6.16 @hono/node-server: 1.13.7 node.js: 23.6.0 分割に対するHono的おすすめはappまるごと ルーティングを分割して書こうと思うと、まず最初に思いつくのはhandler関数を別のファイルに定義することかなと思う。で、…
1ヶ月前
記事のアイキャッチ画像
+TypeScriptのBranded TypeとZodの.brand
Mitsuyuki.Shiiba
Branded Typeについては、もういろんなところで触れられているから、わざわざ書かなくてもいいよなぁという気持ちがありつつ。でも、せっかく頭の整理をしたから、来月の自分用にまとめておくくらいはやっておこうか、という気持ちになったのでメモを残しておく。それとZodの.brand。 やりたいこと 次の2つの型に対する値を間違えて渡したときに、TypeScriptの型検査でエラーになってほしい。 type UserId = number; type BookId = number; TSの型システムはStructural Subtypingを採用しているので、構造が同じだったら部分型として扱わ…
1ヶ月前
記事のアイキャッチ画像
Zodのドキュメントを読みながら自分用にメモ
Mitsuyuki.Shiiba
基本的なことは大丈夫なのでざっと読んで気になったところだけをメモしておく。使ってるときに「そういえばこんな機能がZodにあった気がする」って頭の中で引っかかるように。 視点としては、Webアプリケーションのサーバーサイドを作る頭で読んでる。フレームワークを作る頭とかではない。 Coercion コンストラクタ関数を噛ませて変換するやつ。 z.coerce.string() Literals 忘れたりはしないだろうけどメモ z.literal("tuna") Strings datetime ZodStringにくっついてくる。タイムゾーン有無・精度・ローカルとかある。 const schema…
1ヶ月前
記事のアイキャッチ画像
結局iTerm2を単体で使うことにした
Mitsuyuki.Shiiba
+年末年始にGhosttyを触ってみてて、好きだなとは思いつつもメイン使いするのはもうちょっと待ちたいなという気持ちになった。 なので、↓以前に書いたみたいにiTerm2 + tmuxに戻すかー!と思って、それならtmuxの使い方をもういっかい勉強するかー!って考えたんだけど。 はて?そういえばなんでtmuxを使ってるんだっけ?ってなった。 もともとは、踏み台からサーバーに入って作業をするときに切断されないようにするためだったな。ついでに複数台のサーバーに入りやすくて便利だなくらいで使い始めたんだった。 もう今じゃ踏み台からサーバーに入ることもほとんどないし、単に複数ペインやタブで操作したいだけ…
1ヶ月前
記事のアイキャッチ画像
Ghostty使っていこうかな
Mitsuyuki.Shiiba
+2025-01-07 追記 年末年始に触ってみてて、いまはまだiTerm2+tmuxのままにしておこうと思ったのだった。 検索ができなかったり、ちょこちょこ気になる動きをする部分があったりするから。 追記ここまで 今朝リリースされた なんとなく楽しみにしてたやつ。わーい。 https://t.co/39Xj39wheA 👻 pic.twitter.com/PH0qejFB4z— Mitchell Hashimoto (@mitchellh) December 26, 2024 使ってみようと思った ちょっと触った感じ、なんとなく心地良いなと思ったので使ってみることにする。僕は今 iTerm2 …
1ヶ月前
記事のアイキャッチ画像
午前中に読み始めたら午後には設計が上達してしまった! - 『Tidy First?』を読んだ
Mitsuyuki.Shiiba
+私の目標は、読者が午前中に本書を読み始めたら、午後には設計が上達していることだ。 本当にそのとおりだった。読んでる途中で既に自分の設計に対する考えが良い方向に変わってると感じた。とても良かった。おすすめです。 『Tidy First?』 をいただいて読んだ。昨日(2024年12月25日)発売。英語版が2023年11月28日発売だから、たった1年で日本語版が出たということだな。うれしい!はやい!ありがたい! ソフトウェア設計に焦点を当てたシリーズの最初の1冊ということで、サブタイトルに「個人で実践する経験主義的ソフトウェア設計」とあるように、1人でできる種類のソフトウェア設計について書かれている…
1ヶ月前
記事のアイキャッチ画像
typescript-eslintとFlat Config
Mitsuyuki.Shiiba
+typescript-eslintのFlat Configについて、自分に今必要そうな部分だけをひととおり確認したので忘れる前にメモを残しておく。 前提 素のJavaScriptプロジェクトをやることは自分はあまりなさそうなのでTypeScript前提 ES Modules前提でいいやと思っているので設定ファイルの拡張子はシンプルに .js にする フォーマッターにはESLintのStylisticじゃなくてESLint外のフォーマッター(PrettierやBiome)を使う前提 基本の設定 https://typescript-eslint.io/getting-started/ の最初に書…
2ヶ月前
記事のアイキャッチ画像
NeverThrowのESLintプラグインをフォークしてFlat Configに対応した
Mitsuyuki.Shiiba
+ちょっと前にNeverThrowを触ろうとして、そのESLintプラグインがFlat Configに未対応だったから、そこで遊んでしまった話を書いたけど。 遊んでしまったついでに、フォークしてFlat Configに対応した。 www.npmjs.com pnpmとかでインストールして # npm npm install --save-dev @bufferings/eslint-plugin-neverthrow # pnpm pnpm install --save-dev @bufferings/eslint-plugin-neverthrow こんな感じで設定を書いたらOK import…
2ヶ月前
記事のアイキャッチ画像
NeverThrowを触ろうと思ったらESLintのFlat Configを触っていた(後編)
Mitsuyuki.Shiiba
+の続き。eslint-plugin-neverthrow に手を入れて動くようにしてみるぞー!そして記事を書き終わるぞー! eslint-plugin-neverthrow に手を入れてみる そのままでは動かなさそうだから手を入れて動くようにしてみたい。パッケージを作ればできそうではあるけど、もうちょっと簡単にできないかな?と思って探してみたら、こんな記事を見つけた。ありがたい。 srcのとなりにコードを置いて、それを使うようにできるのかー。これなら簡単に eslint-plugin-neverthrow に手を入れられそう。この記事や、ESLintのプラグイン自作ページを見ながら試してみたら…
2ヶ月前
記事のアイキャッチ画像
NeverThrowを触ろうと思ったらESLintのFlat Configを触っていた(中編)
Mitsuyuki.Shiiba
+の続き。Flat Configで eslint-plugin-neverthrow を使えるようにするぞー! Flat Config? そもそもFlat Configをよくわかっていない ってところからスタート。へー。v9でFlat Configがデフォルトになっていて、v8は2024年10月からEOLなのか。 https://eslint.org/version-support/ んで、次のv10で旧設定は使えなくなる。↓に「2024年末から2025年頭くらい」って書いてある。もうほんとにすぐだな。 https://eslint.org/blog/2023/10/flat-config-ro…
2ヶ月前
記事のアイキャッチ画像
NeverThrowを触ろうと思ったらESLintのFlat Configを触っていた(前編)
Mitsuyuki.Shiiba
+TypeScriptでサーバーサイドのアプリケーションを書いていて、エラーをThrowするより型安全に失敗を返したいなと思って、簡単なResult型をペラっと作って使ったことがある。 あまり複雑なことはしたくないからそれで満足しているんだけど、TSKaigiやTSKaigi KansaiでResult型の話をよく耳にしたので、ちゃんとライブラリを一個くらい勉強しようかなと思った。 最初にあらすじ neverthrowとeslint-plugin-neverthrowを入れてNeverThrowを触ろうとしたら、eslint-plugin-neverthrowがESLintのFlat Confi…
2ヶ月前
記事のアイキャッチ画像
TSKaigi Kansaiから帰ってきてDuckDB Wasmで遊んだ
Mitsuyuki.Shiiba
+カケハシのスタッフとしてTSKaigi Kansaiに参加して楽しんできた。 スポンサーのランチLTでカケハシのメンバーも喋るからブースを抜け出して見に行ってたら、newmoの大貫さんのLTで「DuckDB Wasmを使ってクライアントだけで処理したよ!」って発表があって、面白いなーと思ったのだった。 kansai.tskaigi.org ので、遊んだ DuckDBは初めて知ったし、Wasmには興味があるので、遊んでみた。GitHub Pagesにアップロードしておいた。11/18の日本各地の最高気温が分かるよ! https://bufferings.github.io/vite-react-…
3ヶ月前
記事のアイキャッチ画像
TypeScript 5.8で条件付き戻り値型に対するナローイングができるようになりそう(特定の制約を満たす場合)
Mitsuyuki.Shiiba
+数日前にTypeScript 5.7 RCがアナウンスされてリリースが楽しみだなー!ってところなんだけど、そのさらに数日前に、ウォッチしていたこのPR↓がマージされてTypeScript 5.8.0のマイルストーンに入った。わー! これが今日のお話。TypeScript 5.8.0でConditional return type narrowingが入りそう。楽しみ! Conditional return type narrowing? 直訳すると「条件付き戻り値型の絞り込み」かな。引数の型によって戻り値の型が変わる関数を定義したいときに、例えばこんな風に書きたくなる。 declare con…
3ヶ月前
記事のアイキャッチ画像
2024-10-26(土)にDevLOVE関西で喋ります! #devkan
Mitsuyuki.Shiiba
+なんとDevLOVE関西200回目という記念すべき回でお話させてもらえることになりました!わーい。 devlove-kansai.doorkeeper.jp 喋る人みんなDevLOVE関西でたくさんお世話になってる人たちなので、楽しみ!そめださん、だいくしーさん、いろふさん、くぼさん!楽しみだー! ぜひ申し込んで見に来てねー! 何を喋るの? ちょっとまだ固まってないんだけど、僕が開発をするときに考えていることを、来てくれた人と会話しながら紹介できたらいいなって思っています。 2011年くらいからアジャイルな開発を実践してきて、自分の中にだいぶ開発の型ができてきたかなぁと思うのでそのあたりを。 …
4ヶ月前
記事のアイキャッチ画像
はてなブログのコードブロックでPrism.jsを使うようにしてたところにラベルを表示できるようにした
Mitsuyuki.Shiiba
+最近ブログのデザインを変えた。その続きで少し改修した。 bufferings.hatenablog.com 何を修正したのか? コードブロックでファイル名などのラベルを出せたらいいなと思ったので対応した。 ↓これはスクリーンキャプチャ。hello.javaが表示されている。シンタックスハイライトが効いていることを確認したかっただけなのでコードの内容は関係ない。 こんな感じ ↓これは実際のコードブロック。 sealed interface Mapping<T> { T value(); record A(Boolean value) implements Mapping<Boolean> {} …
5ヶ月前
記事のアイキャッチ画像
前回TypeScriptでやった「タグ付きユニオンのタグを指定して、型安全に値を取り出したい」をJavaでやってみた
Mitsuyuki.Shiiba
+前回書いたこれを同僚に「こんな感じだったよ。勉強になったよー!」って見せたら「なるほど勉強になった!ありがとう!」って言ってもらえたのでよかった。 bufferings.hatenablog.com そしてその同僚が「こういうのってJavaだったらどう書くの?」って言って「んー。最近Java書いてないからどうだっけなぁ・・・そもそもJavaのときには、Discriminated Unionみたいなの欲しいと思ったことなかった気がするなぁ」ってなったのでJavaで考えてみることにした。 前回の記事のTypeScriptのコード type MyUnion = | { tag: "a", value…
5ヶ月前
記事のアイキャッチ画像
TypeScriptでGeneric Typeに対するNarrowingをしたかったけど現在のところ対応していなかった
Mitsuyuki.Shiiba
+2024-11-11 追記ここから ---- TS 5.8で、その1のインデックスアクセス型の方はサポートされそう。その2の方はその対応が入ってもサポートされない。 追記ここまで ---- 最初にまとめ 現在のTypeScript(2024-09-19時点のバージョン5.6.2)では Generics と Control Flow Analysis は、いい感じには連携しないということを学んだ。 どういうこと?その1 Genericsを使って型安全にやりたいなぁと思って、こんなコードを書いてみてもコンパイルエラーになる。 type Mapping = { a: boolean, b: stri…
5ヶ月前
記事のアイキャッチ画像
バグを見つける
Mitsuyuki.Shiiba
+僕は、実装するペアとは別のペアがテストをするのがわりと好き。仕様からテストを設計して実施してたら、実装者が見逃してたバグを見つけられたりする。 バグを見つけるのって面白い。でも、見つけるより前に、減らしておきたい。 だから、プロジェクト全体で誰が意思決定者なのかをキックオフの段階で明確にしておきたい。誰が決めるかが分からないプロジェクトは迷走してバグが生まれやすくなる。 だから、プロダクトマネージャーには機能改修の背景を聞いてから機能の話を聞きたい。背景と機能が自分の中でつながらないときは、何か認識のズレがあってバグが生まれやすくなる。 だから、スコープは小さくしたい。スコープが大きいとバグが…
5ヶ月前
記事のアイキャッチ画像
このはてなブログのデザインを変更した
Mitsuyuki.Shiiba
+なんとなくこのブログのシンタックスハイライトのデザインを変えたいなぁと思って、せっかくだからブログのテーマごと変更するかーってテーマストアを眺めてたら、自分で自分が好きな感じのテーマを作ってみるのも面白い・・・か、と思ったのでやってみた。 PC スマホ わりと気に入っている。 コード たまに間違えて上書きして消してしまったりするので、念のためGitHubに置いといた。 https://github.com/bufferings/hatenablog-my-theme 自分が使ってる機能だけ対応 はてなブログにはいろんな機能や設定があるけど、それを全部サポートするのは僕には無理なので、自分が使っ…
5ヶ月前
記事のアイキャッチ画像
TypeScriptでタグ付きユニオンのタグがユニオンの場合でも個別にExtractしたい
Mitsuyuki.Shiiba
+何を言っているんだ?というタイトルだけど、今日はTypeScriptの型で遊んでた。 タグ付きユニオンから型をExtractしたい こういうタグ付きユニオンがあって type MyUnion = | { tag: "a", value: boolean } | { tag: "b", value: boolean } | { tag: "c", value: string } その中の型をExtractしたいときは、こんな風に書ける type A = Extract<MyUnion, { tag: "a" }> そうするとtagが"a"の型を取得できるので、このテストがとおる import t…
5ヶ月前
記事のアイキャッチ画像
ペアPdMがとてもいい感じだなと思いながら見ている
Mitsuyuki.Shiiba
+うちのチームにはPdMが2人いる。そのPdM2人は、お互いの得意を活かしながらプロダクトをマネジメントしてくれている。「PdMやPOは1人であるべき」って言葉を見かけたりするけど、うちのPdMは2人でいい感じにやっていて、このスタイルいいなぁって思う。おかげでエンジニアとしても動きやすい。 そもそも、PdMってやることがめちゃくちゃ多い。ステークホルダーと話したり、ユーザーさんのお話を聞きに行ったり、少し先のことを考えたり、仕様を決めたり、受け入れ判断をしたり、仮説検証のためのKPIをチェックしたり、問い合わせがあったら一次請けをしてくれたり、いろんなことを決断しまくったり。それでいて業界の勉…
5ヶ月前
記事のアイキャッチ画像
会議のファシリテーションをほめてもらった
Mitsuyuki.Shiiba
+うれしかった。ので、メモ。 僕のいるチームのプロジェクトで、複数のチームにサポートしてもらいながら進める必要がある、ちょっと大きなものが始まりそうだったから、キックオフ前のキックオフやっとこかーってなって司会をした。オンラインミーティングね。 最初にこの会の目的を説明 今日のアジェンダのページのリンクは事前に共有もしていましたけど、いまSlackにもポストしておきましたー。 まだプロジェクトは始まってないんだけど、事前に調査とかをしたいから質問や相談をさせてもらいたいなと思っていて、そのときに「え?これなんの話?」って戸惑わせることがないように、プロジェクトの概要を共有しとこうと思ったー!だか…
5ヶ月前
記事のアイキャッチ画像
iTerm2 + tmux に戻ったよのメモ
Mitsuyuki.Shiiba
+本当にただの自分用メモ。 iTerm2 違うターミナルを使ってみてたけど、やっぱり iTerm2 に戻そうかなと思って戻した。シェルは macOS デフォルトの zsh のまま。 iTerm2 - macOS Terminal Replacement 見ため Color Scheme には Dracula を使っていて iTerm • Dracula Theme プロンプトには Starship を使っておいた Starship 簡単でいい。時間も出すようにしておいた。 タブとか タブとかには tmux を使って Home · tmux/tmux Wiki · GitHub こっちの表示にも …
5ヶ月前
記事のアイキャッチ画像
『アジャイルチームによる目標づくりガイドブック』を読んだ。脳内にいくおさんをどうぞ。
Mitsuyuki.Shiiba
+開発部全体を見てるあのすごい人が、ある1つのチームのマネージャだったらどんな感じなんだろうなぁ?仕事がやりやすいんだろうなぁ?って考えることがある。それが今、僕のいるチームで起こっている。 VPoEの経験もあるいくおさんと、カケハシの同じチームで仕事をしている。いくおさんが1つのチームのエンジニアリングマネージャとしてついてくれているのって、とても贅沢だなぁと思っている。実際に仕事はめちゃくちゃやりやすいし、それだけじゃなくて、僕やチームみんなの心の支えになってくれている。 いくおさんが書籍を出した そんないくおさんが書籍を出した。この本がとてもいい本なので、みんなに読んでほしい。どうしていく…
6ヶ月前
記事のアイキャッチ画像
単体テストの考え方/使い方を読んだ。読んでよかった。
Mitsuyuki.Shiiba
+読んでよかった book.mynavi.jp 評判通りよかった そっかーなるほどなぁ。面白いなぁ。と思うことがいろいろあった とはいえ、著者の主張全てに同意というわけではなく「著者はそう考えるんだな。自分は違う考えだな」と考えさせられる部分もいくつかあった 苦手な部分もあった 古典学派とロンドン学派に分けて話を展開しているのはあまり好きじゃないなと思いながら読んだ 定理やマトリクスに当てはめて話を展開する部分があって、いくつかは無理やりだったり話をややこしくしていたりするように自分は感じた。そういう部分は苦手だなぁと思いながら読んだ というのが全体の感想。内容はとてもよかったし、苦手な部分もそ…
6ヶ月前
記事のアイキャッチ画像
Kong Gateway OSS版のDB-lessモードで遊んでみる。ローカル起動編。
Mitsuyuki.Shiiba
+最近Kong Gatewayに少し興味があるので、気が向いたときに遊んでみることにした。 「ローカル起動編」ってシリーズものっぽいタイトルをつけたけど、シリーズものになるかどうかは分からない。今日はとりあえずローカルで起動するところまでをやってみた。 OSSのDB-lessモードで遊ぶ Kong GatewayにはEnterprise版とOSS版があるみたいなので、とりあえずOSS版で。 それからDBモードとDB-lessモードとがあるみたいなので、DB-lessモードで。 ということで、OSS版のDB-lessモードで遊ぶ。 https://docs.konghq.com/gateway/3…
7ヶ月前
記事のアイキャッチ画像
DevOpsDays Taipei 2024で喋ってきまーす!
Mitsuyuki.Shiiba
てことで、明日から台北に行く。久しぶりの海外だな。楽しんでくるー!
7ヶ月前
+
記事のアイキャッチ画像
スクラムが「上手くいってる」「上手くいってない」の頭の整理
Mitsuyuki.Shiiba
この記事を見かけて、やっとむさんだなーやさしく伝えたんだろうなーって思いつつ。「上手くいく」「上手くいってない」って幅がありそうだよなと思ったので、頭の中の整理をしてみることにした。来週の発表の準備が煮詰まっているから気分転換しているだけともいう。 yattom.hatenablog.com やっとむさんの記事を読む 「スクラムで開発を進めている」という状況で 「問題が多い→ならば→スクラムは合わない」のか?という問いに対して やっとむさんの回答は「問題がある→ならば→スクラムは上手くいっている」 と書いてある。「合わない」は「うち(の会社)には合わない」の意味。 最初にことわっておく ふだん…
7ヶ月前
記事のアイキャッチ画像
脳に収まるコードの書き方を読んだ。面白かった。
Mitsuyuki.Shiiba
いただきましたー!わーい。脳に収めるぞー! @haradakiro @ryuzee pic.twitter.com/3Qd6EvPioU— SHIIBA Mitsuyuki (@bufferings) June 13, 2024 明日(2024年6月18日)発売! www.oreilly.co.jp どう書くのがいいんだろうなぁ? 複雑なコードと向き合うときは「あー、これはメモを取りながら読まないと迷子になるやつだ」ってなる。最初はわりとキレイに作られていたとしても、機能追加を重ねていくとだんだん読めなくなっていく。 だから「時間が経っても読みやすいコードってどう書くのがいいんだろうなぁ?何か…
8ヶ月前
\ No newline at end of file diff --git a/blogs/99bb8307533eda0278e8373199074525/index.html b/blogs/99bb8307533eda0278e8373199074525/index.html new file mode 100644 index 000000000000..dc9ce83d5dcc --- /dev/null +++ b/blogs/99bb8307533eda0278e8373199074525/index.html @@ -0,0 +1,19 @@ +Company | The JetBrains Blogのフィード|JSer.info Watch List RSS

Company | The JetBrains Blog

https://blog.jetbrains.com

Developer Tools for Professionals and Teams

フィード

記事のアイキャッチ画像
JetBrains and LinkedIn Partner to Launch a Professional Certificate
Company | The JetBrains Blog
+JetBrains has partnered with LinkedIn to offer the Java Foundations Professional Certificate, exclusively available on LinkedIn Learning. With over 1 billion members on the platform and 7 people hired every minute, LinkedIn provides unmatched access to professional growth opportunities. Together, with our expertise in software development and education, we’re combining the best of both worlds: […]
10日前
記事のアイキャッチ画像
+Maximize Code Security in JetBrains IDEs and Qodana With Mend.io
Company | The JetBrains Blog
JetBrains has partnered with Mend.io, a trusted name in application security. This collaboration will help us continue providing the tools you need to develop secure applications with ease and confidence in our IDEs and Qodana. For the best user experience, make sure to use the latest stable version 2024.3.2. Why Mend? Trusted by industry giants […]
18日前
記事のアイキャッチ画像
JetBrains Named a Customers’ Choice Again for Integrated Development Environment Software
Company | The JetBrains Blog
JetBrains is honored to be recognized as a Customers’ Choice in the 2024 Gartner® Peer Insights™ Voice of the Customer for Integrated Development Environment (IDE) Software – a distinction we are proud to be recognized with for the second consecutive year. Read the Report A trusted vendor We believe JetBrains’ consistent innovation and developer-first approach […]
23日前
記事のアイキャッチ画像
Discover JetBrains Consulting Partner Services
Company | The JetBrains Blog
At JetBrains, we are committed to empowering developers to do their best work with world-class tools. But even the best tools can deliver so much more when paired with expert guidance. That is why we’ve built a global network of Consulting Partners – professionals dedicated to helping you and your team maximize the value of […]
2ヶ月前
記事のアイキャッチ画像
Let’s meet at Slush 2024 in Helsinki!
Company | The JetBrains Blog
Meet with our JetBrains for Startups team at Slush 2024 in Helsinki on November 20–21! This November, our JetBrains team is returning for the third year in a row to the most founder-focused event on Earth. Join us at booth 7A2 to discuss how our tools can accelerate your startup’s growth, win exclusive swag, or […]
3ヶ月前
記事のアイキャッチ画像
IDE Services Cloud Release and Floating License Server End-of-Life Announcements
Company | The JetBrains Blog
JetBrains IDE Services, the enterprise suite of products dedicated to improving developer productivity across an entire organization, is now available in the cloud! By offering a JetBrains-managed service, IDE Services Cloud simplifies license management, enhances security, and provides seamless scalability, ensuring that organizations can focus more on development and less on administration. As part of […]
3ヶ月前
記事のアイキャッチ画像
WebStorm and Rider Are Now Free for Non-Commercial Use
Company | The JetBrains Blog
We’re excited to announce a change in our licensing model that we believe will benefit the developer community – WebStorm and Rider are now free for non-commercial use! Read on to learn more about the change and why we’re making it, and be sure to check out the FAQ section below for additional details. What’s […]
3ヶ月前
記事のアイキャッチ画像
Introducing Mellum: JetBrains’ New LLM Built for Developers
Company | The JetBrains Blog
JetBrains launches Mellum, a proprietary large language model (LLM) specifically designed to assist software developers. Currently available only with JetBrains AI Assistant, Mellum provides faster, smarter, and more contextually aware cloud code completion. Please note that cloud-based code completion in AI Assistant is only available with the AI Pro subscription or in the trial version. […]
+
4ヶ月前
記事のアイキャッチ画像
JetBrains at the ICPC World Finals 2024 Astana
Company | The JetBrains Blog
+This year’s ICPC World Finals Astana was remarkable, and we were thrilled to be a part of it. The event brought together the world’s brightest young minds in competitive programming. Engaging with students, coaches, and the community was a valuable experience that reinforced our commitment to supporting emerging talent. The Opening Ceremony held at the […]
4ヶ月前
記事のアイキャッチ画像
GitHub Stars Join the JetBrains Developer Recognition Program ?
Company | The JetBrains Blog
GitHub is the world’s leading AI-powered platform for developers who share their code, work together, and build amazing things. But out of the more than 100 million developers that call GitHub home, there are a few exceptional talents and technical experts who go above and beyond in helping others in the developer space – the […]
4ヶ月前
記事のアイキャッチ画像
Solving Remote Development Challenges With CodeCanvas: A CDE Orchestration Tool by JetBrains +
Company | The JetBrains Blog
We’re excited to announce the public release of CodeCanvas, JetBrains’ new platform for orchestrating cloud development environments (CDEs). To better understand CodeCanvas and why it is important for JetBrains’ remote development strategy, let’s dive a bit into history and context. Remote development trend Many companies still rely on local development, a method that has several […]
5ヶ月前
記事のアイキャッチ画像
The 2024.2 Versions of JetBrains IDEs Are Here With Enhanced Full Line Code Completion and Remote Development, the New UI as the Default, and More
Company | The JetBrains Blog
JetBrains IDEs, .NET tools, and AI Assistant are ready to be updated to the 2024.2 versions, which introduce a plethora of new features and improvements. We’ve seen high adoption rates for the new UI, and in the 2024.2 versions of JetBrains IDEs, the new UI is now the default for all users. The classic UI […]
6ヶ月前
\ No newline at end of file diff --git a/blogs/9a400bc14f5930004e7ac535f050964d/index.html b/blogs/9a400bc14f5930004e7ac535f050964d/index.html new file mode 100644 index 000000000000..6455c7e1d452 --- /dev/null +++ b/blogs/9a400bc14f5930004e7ac535f050964d/index.html @@ -0,0 +1,54 @@ +NodeJS Security &amp; NodeJS Secure Coding&#39;s Blogのフィード|JSer.info Watch List RSS

NodeJS Security & NodeJS Secure Coding's Blog

https://www.nodejs-security.com/

Master hands-on Node.js security with Node.js Secure Coding education and learn how to defend against JavaScript Command Injection vulnerabilities and gain backend development skills to exploit and prevent Path Traversal attacks by reviewing real-world vulnerable npm packages and insecure code.

フィード

記事のアイキャッチ画像
Holes in the Safety Net: Bypassing SSRF Protection in safe-axios
NodeJS Security & NodeJS Secure Coding's Blog
Analyzing a vulnerability in safe-axios, an npm package designed to safeguard applications from SSRF attacks.
2日前
記事のアイキャッチ画像
How to Parse URLs from Markdown to HTML Securely?
NodeJS Security & NodeJS Secure Coding's Blog
What if I told you that parsing URLs from user input, especially from Markdown content, can be a security risk? Here is how URL parsing logic an be bypassed and what you need to know to handle it in a secure way.
9日前
記事のアイキャッチ画像
NPM Ignore Scripts Best Practices as Security Mitigation for Malicious Packages
NodeJS Security & NodeJS Secure Coding's Blog
Learn about the npm `ignore-scripts` flag and how to use it to prevent the execution of arbitrary commands from malicious npm packages.
16日前
記事のアイキャッチ画像
Where to find npm vulnerabilities?
NodeJS Security & NodeJS Secure Coding's Blog
If you are doing security research or just curious about finding npm vulnerabilities, let me share some resources to help you stay up-to-date with the latest security CVEs in the JavaScript ecosystem.
1ヶ月前
記事のアイキャッチ画像
How to Hunt for IDOR Vulnerabilities To Exploit Security Misconfiguration?
NodeJS Security & NodeJS Secure Coding's Blog
IDOR vulnerabilities are often overlooked but can lead to data exfiltration and exposure of confidential data. Here's how to hunt for them with an example Node.js code.
1ヶ月前
記事のアイキャッチ画像
How to Avoid JWT Security Mistakes in Node.js
NodeJS Security & NodeJS Secure Coding's Blog
Learn how to use JSON Web Tokens (JWT) securely in your Node.js applications. I'll cover the basics of JWT and share best practices to avoid common security mistakes.
2ヶ月前
記事のアイキャッチ画像
Can a Node.js Secure Code Review Find Future Vulnerabilities?
NodeJS Security & NodeJS Secure Coding's Blog
Half a dozen secure code review comments and none of them mentioned the potential security vulnerability that exists in the code snippet. Let's dive into a Node.js secure code review and see if you can spot the security bug you totally missed.
2ヶ月前
記事のアイキャッチ画像
The Okta bcrypt Security Incident and The Bun vs Node.js Angle in Secure By Design
NodeJS Security & NodeJS Secure Coding's Blog
Even if you follow security best practices and choose bcrypt for password hashing you can still get it wrong. How does Bun handle it in a more secure fashion? What happened with the Okta bcrypt incident? Lets dive in.
3ヶ月前
記事のアイキャッチ画像
NodeJS Path Traversal Vulnerability Scanner
NodeJS Security & NodeJS Secure Coding's Blog
How about a more offensive side of security? Check out a NodeJS path traversal vulnerability scanner.
3ヶ月前
記事のアイキャッチ画像
+Do not use secrets in environment variables and here's how to do it better
NodeJS Security & NodeJS Secure Coding's Blog
Stop storing secrets in environment variables. It's a bad practice and only fits hobby or side projects with no real business impact. Here are all the reasons why you should never store secrets in environment variables and how to do it better.
4ヶ月前
記事のアイキャッチ画像
How to use npm audit
+NodeJS Security & NodeJS Secure Coding's Blog
Getting started with the npm audit command and learn why it's not enough and how to advance your project's security posture with more robust security tools like Snyk.
4ヶ月前
記事のアイキャッチ画像
How to use yarn audit
NodeJS Security & NodeJS Secure Coding's Blog
+Better some security than none at all. If you're using Yarn package manager, learn about `yarn audit` and how to use it to check for vulnerabilities in your dependencies.
4ヶ月前
記事のアイキャッチ画像
Raw SQL Queries are Actually Better for Security Than ORMs?
NodeJS Security & NodeJS Secure Coding's Blog
+Have I gone mad? Do I actually recommend not using an ORM and actually gaining a security advantage? Sort of. It's more nuanced but if we're trying to fix SQL injection and related vulnerabilities then I invite you to take a read.
5ヶ月前
記事のアイキャッチ画像
Node API Security
NodeJS Security & NodeJS Secure Coding's Blog
+Briefly exploring core concepts around Node API security with regards to GraphQL and REST API design with code examples specific to Node.js application servers.
5ヶ月前
記事のアイキャッチ画像
Is Node.js Secure?
NodeJS Security & NodeJS Secure Coding's Blog
Briefly exploring the Node.js threat model to draw some opinions on whether Node.js is secure or not.
5ヶ月前
記事のアイキャッチ画像
URL Regex Validation: what can go wrong?
NodeJS Security & NodeJS Secure Coding's Blog
Are you using regex to validate URLs? Learn from a CVE identified in the node-forge npm package that was using a regex pattern to validate URLs and resulted in a security vulnerability.
5ヶ月前
記事のアイキャッチ画像
Uncovering a Prototype Pollution Regression in the core Node.js project
NodeJS Security & NodeJS Secure Coding's Blog
Learn how I discovered a Node.js core prototype pollution regression, its security implications, and why it didn't warrant a CVE. Luckily, I also fixed it for us!
6ヶ月前
記事のアイキャッチ画像
Deno CLI Vulnerability Repeats npm mistakes: CVE-2024-37150
NodeJS Security & NodeJS Secure Coding's Blog
A recent security issue in the Deno CLI (CVE-2024-37150) highlights the importance of secure credential handling. Learn how this vulnerability mirrors past npm CLI mistakes and what you can do to stay secure.
6ヶ月前
記事のアイキャッチ画像
Security skills for JavaScript developers
NodeJS Security & NodeJS Secure Coding's Blog
JavaScript developers need security skills to safeguard user data, prevent application breaches, and maintain user trust. Learn about essential security skills for writing secure code and fixing vulnerabilities in JavaScript applications.
6ヶ月前
記事のアイキャッチ画像
Understanding and Preventing Prototype Pollution in Node.js
NodeJS Security & NodeJS Secure Coding's Blog
Learn about Prototype Pollution in Node.js: what it is, how it works, and how to prevent it. Includes real-world examples and security best practices for developers.
7ヶ月前
記事のアイキャッチ画像
How to protect against a security breach in React Server Components
NodeJS Security & NodeJS Secure Coding's Blog
Sasha shares how they inadvertently wrote a React Server Component code that would have resulted in a security breach, if not refactored in time to fix the issue. What can we learn and how to avoid security risks that developers easily repeat, especially as it blurs the line between client-side and server-side React code.
8ヶ月前
記事のアイキャッチ画像
IDOR Vulnerability: What is it and how to prevent it?
NodeJS Security & NodeJS Secure Coding's Blog
Interestingly enough, the IDOR vulnerability type is found as a CVE more commonly in some languages rather than others. Why is that and how can you prevent it?
8ヶ月前
記事のアイキャッチ画像
The security vulnerability of serving images via a route as opposed to static middleware in Node.js
NodeJS Security & NodeJS Secure Coding's Blog
The most upvoted Reddit answer to a question about serving images via a route in Express.js is a security vulnerability waiting to happen.
8ヶ月前
記事のアイキャッチ画像
+Why is it considered a bad practice to write raw SQL commands?
NodeJS Security & NodeJS Secure Coding's Blog
Are we going to settle the debate between raw SQL queries and ORMs once and for all? Let's explore the pros and cons of each approach and find the right balance between control and convenience.
8ヶ月前
記事のアイキャッチ画像
JS Security Concepts for JavaScript Developers
+NodeJS Security & NodeJS Secure Coding's Blog
Enhance your development workflow with JavaScript security best practices. Learn about Content Security Policy (CSP) in Nuxt.js, avoiding `eval` and `new Function` with untrusted input, secure DOM manipulation, cookie security, and third-party integration.
8ヶ月前
記事のアイキャッチ画像
Secure Coding Practices in Node.js Against Path Traversal Vulnerabilities
NodeJS Security & NodeJS Secure Coding's Blog
Path traversal vulnerabilities were discovered in webpack and backstage npm packages. Learn secure coding practices to prevent path traversal attacks in Node.js applications.
9ヶ月前
記事のアイキャッチ画像
Secure JavaScript Coding Practices Against Command Injection Vulnerabilities
+NodeJS Security & NodeJS Secure Coding's Blog
Secure JavaScript coding practices are essential to prevent command injection vulnerabilities in Node.js applications. Learn how to avoid common pitfalls and protect your code from exploitation.
9ヶ月前
記事のアイキャッチ画像
To IDOR or Not to IDOR: Insecure Direct Object Reference in JavaScript Applications Explained
+NodeJS Security & NodeJS Secure Coding's Blog
Can you spot an Insecure Direct Object Reference (IDOR) vulnerability in your JavaScript application? Learn what IDOR is, how it can be exploited, and how to prevent it in your code.
9ヶ月前
記事のアイキャッチ画像
npm vulnerabilities: reviewing the security of your dependencies
NodeJS Security & NodeJS Secure Coding's Blog
+Learn about recent npm vulnerabilities in popular npm packages and how to protect your applications from security reports disclosed in 2024.
9ヶ月前
記事のアイキャッチ画像
Disclosing code injection vulnerabilities in safe-eval-2 npm package
NodeJS Security & NodeJS Secure Coding's Blog
+A project fork is not without risks, and this time it's the safe-eval-2 npm package that is vulnerable to code injection attacks.
9ヶ月前
記事のアイキャッチ画像
Introducing Node.js Security Permissions Model, Threat Model, and Security Releases
NodeJS Security & NodeJS Secure Coding's Blog
+Learn how to secure your Node.js applications with the new Permissions Model, stay informed about security releases, and understand the Node.js Security Threat.
9ヶ月前
記事のアイキャッチ画像
Common Node.js Security Issues and How to Mitigate Them
NodeJS Security & NodeJS Secure Coding's Blog
+Learn about common Node.js security issues and how to mitigate them. This blog post covers Denial-of-Service (DoS) attacks, DNS rebinding attacks, unintended package publication, information exposure via timing attacks, and command injection vulnerabilities.
10ヶ月前
記事のアイキャッチ画像
How JavaScript developers should embrace npm security
NodeJS Security & NodeJS Secure Coding's Blog
+The npm ecosystem is a minefield of security risks. How can JavaScript developers protect from these threats and adopt npm security best practices? Here's how.
10ヶ月前
記事のアイキャッチ画像
The XZ backdoor CVE-2024-3094: a JavaScript perspective
NodeJS Security & NodeJS Secure Coding's Blog
+The XZ backdoor CVE-2024-3094 already happened in JavaScript 5 years ago but now the xz and liblzma malware bundled onto Linux distributions is bringing forth a world-wide threatening event in cybersecurity that jeopardizes the trust, sustainability and security concerns in the open-source ecosystem.
10ヶ月前
記事のアイキャッチ画像
Node.js Security Best Practices
NodeJS Security & NodeJS Secure Coding's Blog
+Level up your Node.js security game! This guide explores essential best practices to safeguard your server-side code and build robust, secure applications.
1年前
記事のアイキャッチ画像
The Case for Node.js Secure Configuration
NodeJS Security & NodeJS Secure Coding's Blog
How do you maintain Node.js secure configuration? Learn how to protect your Node.js applications from vulnerabilities and unauthorized access.
1年前
記事のアイキャッチ画像
Protecting Against Common Node.js Vulnerabilities
NodeJS Security & NodeJS Secure Coding's Blog
Node.js applications can be vulnerable to issues like command injection, path traversal, and insecure APIs. Learn how to avoid these common Node.js security pitfalls.
1年前
記事のアイキャッチ画像
Input Validation Security Best Practices for Node.js
NodeJS Security & NodeJS Secure Coding's Blog
Building secure node.js applications starts with applying essential input validation best practices and techniques to prevent common security vulnerabilities.
1年前
A Node.js Vulnerability Scanner to Avoid Security Risks of EOL Runtime Versions
NodeJS Security & NodeJS Secure Coding's Blog
Don't let vulnerabilities slow you down: Introducing is-my-node-vulnerable, the Node.js vulnerability scanner. Securing your Node.js applications in production is crucial. This blog post explores is-my-node-vulnerable, a free and easy-to-use scanner developed by Node.js expert Rafael Gonzaga.
1年前
記事のアイキャッチ画像
JavaScript Security Issues in Node.js Applications
NodeJS Security & NodeJS Secure Coding's Blog
Introducing JavaScript security issues in Node.js applications such as Cross-site Scripting (XSS) and Content Security Policy (CSP).
1年前
記事のアイキャッチ画像
OWASP Node.js Authentication, Authorization and Cryptography Practices
NodeJS Security & NodeJS Secure Coding's Blog
Properly implementing authentication and authorization is crucial for securing Node.js apps. This section covers guidelines like proper session management, password hashing, and attack prevention.
1年前
記事のアイキャッチ画像
+OWASP Node.js Best Practices Guide
NodeJS Security & NodeJS Secure Coding's Blog
Learn how to secure Node.js applications with OWASP's comprehensive best practices guidelines and practical techniques for authentication, authorization, cryptography, input validation, and more.
1年前
記事のアイキャッチ画像
+Secure JavaScript Coding to Avoid Insecure Direct Object References (IDOR)
NodeJS Security & NodeJS Secure Coding's Blog
Insecure direct object references (IDOR) are an important web application security concept that every developer should understand. IDOR vulnerabilities allow attackers to access unauthorized data and functionality by manipulating object identifiers used in web applications. In this post, I'll explain IDORs and provide examples to help you prevent these issues in your Node.js and JavaScript server-side applications.
1年前
記事のアイキャッチ画像 +
North Korea malware on npm and Ledger connect-kit crypto heist
NodeJS Security & NodeJS Secure Coding's Blog
North Korean state hackers compromise npm supply chain with malicious packages; crypto thieves exploit Ledger Connect kit library published to npm, stealing $600k before detected; incident highlights risks of uncontrolled open source usage and need for better validation, monitoring of third party code.
1年前
10 Best Practices for Secure Code Review of Node.js code
NodeJS Security & NodeJS Secure Coding's Blog
Learn best practices and strategies to identify and prevent command injection vulnerabilities in your JavaScript projects. Discover the power of secure code reviews, secure API usage, and Node.js-specific tips. Explore further with our book, 'Node.js Secure Coding: Defending Against Command Injection Vulnerabilities,' and fortify your skills.
1年前
記事のアイキャッチ画像
Node.js and OWASP Top Ten Command Injection: Don't Let Your App Go 'BOOM'
NodeJS Security & NodeJS Secure Coding's Blog
Exploring the OWASP Top Ten list, and dissecting how Node.js applications can fall prey to command injection attacks. With practical insights, learn how to fortify your Node.js projects against this top security risk. Command injection may be no laughing matter, but this engaging exploration will have you smiling as you enhance your Node.js security expertise.
1年前
記事のアイキャッチ画像
Secure Code Review Tips to Defend Against Vulnerable Node.js Code
NodeJS Security & NodeJS Secure Coding's Blog
How do you identify vulnerable code patterns? Can you spot insufficient input validation? Enhance your Node.js development security with this guide to secure code review.
1年前
記事のアイキャッチ画像
Destroyed by Dashes: How Two Hyphens Cause Argument Injection Vulnerability in blamer npm Package
NodeJS Security & NodeJS Secure Coding's Blog
+Let's explore a recently disclosed argument injection flaw in the popular 'blamer' npm package that allowed overwriting arbitrary files by exploiting the 'git blame' command. By passing unchecked user input directly to the Linux command, attackers could trigger damaging behavior.
1年前
記事のアイキャッチ画像
Securing Your Node.js Apps by Analyzing Real-World Command Injection Examples
+NodeJS Security & NodeJS Secure Coding's Blog
This article explores real-world command injection vulnerabilities that have impacted popular applications, emphasizing the need for secure coding practices. We take you through the background of Node.js and its vast user base, setting the stage for understanding the gravity of command injection attacks.
1年前
記事のアイキャッチ画像
+An Introduction to Command Injection Vulnerabilities in Node.js and JavaScript
NodeJS Security & NodeJS Secure Coding's Blog
Command injection vulnerabilities pose a significant threat to Node.js and JavaScript applications' security. By understanding the risks involved, referencing real-world incidents, and following best practices, developers can effectively mitigate these vulnerabilities. Remember, validating and sanitizing user input, utilizing command argument separation, and following the least privilege principle are essential steps toward creating secure applications.
2年前
\ No newline at end of file diff --git a/blogs/9aec793f72f8f7fa7d64d2c3a7ff1b68/index.html b/blogs/9aec793f72f8f7fa7d64d2c3a7ff1b68/index.html new file mode 100644 index 000000000000..332b5126c84c --- /dev/null +++ b/blogs/9aec793f72f8f7fa7d64d2c3a7ff1b68/index.html @@ -0,0 +1,11 @@ +Matthew Kwong Blogのフィード|JSer.info Watch List RSS

Matthew Kwong Blog

https://mwskwong.com/blog

Assistant Technical Manager at HKJC. Expert in web development. Skilled in React, Next.js, and various web technologies. MSc from HKUST, BEng from HKU. Open-source contributor. Passionate about innovative tech.

フィード

記事のアイキャッチ画像
Why T3 Env is My Go-To for Managing Environment Variables
Matthew Kwong Blog
Discover the benefits of using T3 Env with Zod for type-safe and runtime-validated environment variables in your Node.js applications.
23日前
記事のアイキャッチ画像 +
Migrating from Zod to Valibot: A Comparative Experience
Matthew Kwong Blog
Learn about migrating from Zod to Valibot for form validation: smaller bundles, familiar APIs, but with room for documentation improvement.
23日前
記事のアイキャッチ画像
+Mastering default styles and props customization in MUI
Matthew Kwong Blog
Master the customization of default styles & props of MUI components using MUI's theming system. Learn defaultProps & styleOverrides for efficiency.
1ヶ月前
記事のアイキャッチ画像
Enforcing coding style with @vercel/style-guide
Matthew Kwong Blog
+Learn to enforce coding style with @vercel/style-guide. Uncover effective use of ESLint, Prettier, and TypeScript for improved code quality and consistency.
1ヶ月前
記事のアイキャッチ画像
One extra step after configuring @svgr/webpack in TypeScript projects
Matthew Kwong Blog
Learn to fix SVG import issues in TypeScript with @svgr/webpack by creating a declaration file for accurate type handling.
1ヶ月前
記事のアイキャッチ画像
When NOT to use shadcn/ui?
Matthew Kwong Blog
Discover when not to use shadcn/ui. Learn about alternative approaches for UI development. Make informed choices for your project's specific needs.
1ヶ月前
記事のアイキャッチ画像
To SSR, or not to SSR
Matthew Kwong Blog
Dive into the intricacies of Server-Side Rendering (SSR) vs. Client-Side Rendering (CSR) in web development, exploring their advantages and trade-offs.
1ヶ月前
\ No newline at end of file diff --git a/blogs/a15cb0f860afebd903b84f09bd2074b6/index.html b/blogs/a15cb0f860afebd903b84f09bd2074b6/index.html new file mode 100644 index 000000000000..73676fc9228c --- /dev/null +++ b/blogs/a15cb0f860afebd903b84f09bd2074b6/index.html @@ -0,0 +1,25 @@ +SpeedCurve Blogのフィード|JSer.info Watch List RSS

SpeedCurve Blog

https://www.speedcurve.com/blog/

Find feature updates, web performance speed tips and industry insights on the SpeedCurve blog.

フィード

記事のアイキャッチ画像
Page bloat update: How does ever-increasing page size affect your business and your users?
SpeedCurve Blog
+The median web page is 8% bigger than it was just one year ago. How does this affect your page speed, your Core Web Vitals, your search rank, your business, and most important – your users? Keep scrolling for the latest trends and analysis.For almost fifteen years, I've been writing about page bloat, its impact on site speed, and ultimately how it affects your users and your business. You might think this topic would be exhausted by now, but every year I learn new things – beyond the overarching fact that pages keep getting bigger and more complex, as you can see in this chart, using data from the HTTP Archive:In this post, we'll cover:How much pages have grown over the past yearHow page bloat hurts your business and – at the heart of everything – your usersHow page bloat affects Google's Core Web Vitals (and therefore SEO)If it's possible to have large pages that still deliver a good user experiencePage size targetsHow to track page size and complexityHow to fight regressionsanymouse1 +
12日前
記事のアイキャッチ画像
Performance Hero: Annie Sullivan
SpeedCurve Blog
+Let's kick off the new year by celebrating someone who has not just had a huge impact on web performance over the past few years, but who has even more exciting stuff in the works for the future: Annie Sullivan!Annie leads the Chrome Speed Metrics team at Google, which has arguably had the most significant impact on web performance of the past decade. We've gotten to know Annie through frequent discussions, feedback sessions, and hallway talks at various events. Most recently we caught her closing keynote at performance.now() in November. Speaking from experience, driving change at scale from within a large organization can be very challenging. Annie and her team navigate this arduous task with true passion for web performance and for improving the user experience. Read on for a great recap of a recent discussion with Annie and just a few of the highlights that make her a true performance hero.In her recent performance.now() talk, which is a must-watch, Annie took us through key learni +
20日前
記事のアイキャッチ画像
Our 10 most popular web performance articles of 2024
SpeedCurve Blog
+We love writing articles and blog posts that help folks solve real web performance and UX problems. Here are the ones you loved most in 2024. (The number one item may surprise you!)Some of these articles come from our recently published Web Performance Guide – a collection of evergreen how-to resources (written by actual humans!) that will help you master website monitoring, analytics, and diagnostics. The rest come from this blog, where we tend to publish industry news and analysis. Regardless of the source, we hope you find these pieces useful!10. Five ways cookie consent managers hurt web performance (and how to fix them)Cookie consent popups and banners are everywhere, and they're silently hurting the speed of your pages. Learn the most common problems – and their workarounds – with measuring performance with content manager platforms in place.9. Best practices for optimizing imagesThey say a picture is worth a thousand words. Unfortunately that picture can also cost you 1,000 kilo +
2ヶ月前
記事のアイキャッチ画像
ICYMI: Some of our most exciting product updates of 2024!
SpeedCurve Blog
+Every year feels like a big year here at SpeedCurve, and 2024 was no exception. Here's a recap of product highlights designed to make your performance monitoring even better and easier!Our biggest achievements this year have centred on making it easier for you to:Gather more meaningful real user monitoring (RUM) dataGet actionable insights from Core Web VitalsSimplify your synthetic testingGet expert performance coaching when and how you need itKeep reading to learn more...INP replaced FIDIn the spring, Google made it official: Interaction to Next Paint replaced First Input Delay as the responsiveness metric in Core Web Vitals (the trifecta of performance metrics that are a key ingredient in Google's search ranking algorithm).Correlation chart demonstrating that as INP gets worse, so does conversion rate for mobile usersWe've been tracking INP since well before Google made the announcement, so SpeedCurve users didn't have to scramble to switch over to a new metric. Because we've been t +
2ヶ月前
記事のアイキャッチ画像
Performance Hero: Pat Meenan
SpeedCurve Blog
+This month, we celebrate everything that OG performance hero Pat Meenan has done – and continues to do – for the web performance community.When we started the Performance Hero series earlier this year, we had an idea of the types of folks in our community we wanted to acknowledge:People who are making a difference in web performancePeople who are humblePeople who give without expectationPeople who don't necessarily crave the spotlightWhen looking at these attributes – for a lot of us who have been around this space for more years than we care to mention – it's hard not to think about everyone's favorite web performance OG: Pat Meenan. This month, we celebrate all that Pat has done and continues to do for web performance. Pat, who is currently a software engineer at Google, is the definition of humble. When we reached out to him about this post, he was quick to point out others who he felt had made a bigger impact in 2024. We look forward to celebrating them as we continue recognizing p +
2ヶ月前
記事のアイキャッチ画像
A Holiday Wish: Core Web Vitals in Safari
SpeedCurve Blog
+Did you know that key performance metrics – like Core Web Vitals – aren't supported in Safari? If that's news to you, you're not alone! Here's why that is... and what we and the rest of the web performance community are doing to fix it.Somebody pinch me. Seeing this post and the resulting thread gives me great hope.Nicole Sullivan (aka Stubbornella, WebKit Engineering Manager at Apple, and OG web performance evangelist) isn't making promises or dangling a carrot. Nonetheless, it's evidence of the willingness for some public discussion on a topic that's been exhaustively discussed in our community for years. Nicole's post has gotten some great responses from many leaders in our community, hopefully shaping a strong use case for future WebKit support for Core Web Vitals.(If you're new to performance, Core Web Vitals is a set of three metrics – Largest Contentful Paint, Cumulative Layout Shift, and Interaction to Next Paint – that are intended to measure the rendering speed, interactivity +
2ヶ月前
記事のアイキャッチ画像
2024 Holiday Readiness Checklist (Page Speed Edition!)
SpeedCurve Blog
+Delivering a great user experience throughout the holiday season is a marathon, not a sprint. Here are ten things you can do to make sure your site is fast and available every day, not just Black Friday. Your design and development teams are working hard to attract users and turn browsers into buyers, with strategies like:High-resolution images and videosGeo-targeted campaigns and contentThird-party tags for audience analytics and retargetingHowever, all those strategies can take a toll on the speed and user experience of your pages – and each introduces the risk of introducing single points of failure (SPoFs). Below we've curated ten steps for making your users happy throughout the holidays (and beyond). If you're scrambling to optimize your site before Black Friday, you still have time to implement some or all of these best practices. And if you're already close to being ready for your holiday code freeze, you can use this as a checklist to validate that you've ticked all the boxes o +
3ヶ月前
記事のアイキャッチ画像
NEW: Vitals dashboard updates and filter improvements
SpeedCurve Blog
+Our development team recently emerged from an offsite with two wonderful improvements to SpeedCurve. The team tackled a project to unify our filtering, and then they over-delivered with a re-Vital-ized dashboard that I'm finding to be one of the most useful views in the product. Take a look at the recent updates – and a big thank you to our amazing team for putting so much love into SpeedCurve!Start simple, go deep...Performance is hard, complex, and riddled with nuance. There is a sea of data collected by SpeedCurve and endless ways to interpret that data.New users of the product crave good design and simplicity in an effort to make sense of this firehose of performance information.Power users desire diagnostic capabilities that require extensive use of the latest and greatest browser APIs.Sometimes it's hard to do both and still provide meaningful information to both audiences. We embrace this challenge and, wherever possible, adopt the principle of starting with a simplistic overvie +
4ヶ月前
記事のアイキャッチ画像
Performance Hero: Sia Karamalegos
SpeedCurve Blog
+Sia Karamalegos is a web performance diva we've come to know through her many articles, workshops, conference talks, and her stint as an MC at performance.now() last year – not to mention her role in speeding up a pretty big slice of the internet! Sia is kind, funny, smart as heck, and always down to talk web performance (especially if you have a Shopify site). For those reasons and many more, we are excited to share that Sia is this month's Performance Hero!Sia currently works as a freelance web performance engineer. She was previously at Shopify, helping their merchants make their sites faster. She is a Google Developer Expert in web technologies, an active member of the W3C Web Performance Working Group, co-organizer of the Eleventy Meetup and... well, you can read the rest here.Recent performance win at ShopifyWhile Sia's impressive bio speaks for itself, her commitment to improving performance cannot be overstated. She shared a recent performance win with us from her time at Shopi +
4ヶ月前
記事のアイキャッチ画像
How to provide better attribution for your RUM metrics
SpeedCurve Blog
+Here's a detailed walkthrough showing how to make more meaningful and intuitive attributions for your RUM metrics – which makes it much easier for you to zero in on your performance issues.Real user monitoring (RUM) has always been incredibly important for any organization focused on performance. RUM – also known as field testing – captures performance metrics as real users browse your website and helps you understand how actual users experience your site. But it’s only in the last few years that RUM data has started to become more actionable, allowing you to diagnose what is making your pages slower or less usable for your visitors.Making newer RUM metrics – such as Core Web Vitals – more actionable has been a significant priority for standards bodies. A big part of this shift has been better attribution, so we can tell what's actually going on when RUM metrics change.Core Web Vitals metrics – like Largest Contentful Paint (LCP), Interaction to Next Paint (INP), and Cumulative Layout +
5ヶ月前
\ No newline at end of file diff --git a/blogs/a18231492dd2b3fe585fa8eb4e768488/index.html b/blogs/a18231492dd2b3fe585fa8eb4e768488/index.html new file mode 100644 index 000000000000..f2e7acc55e96 --- /dev/null +++ b/blogs/a18231492dd2b3fe585fa8eb4e768488/index.html @@ -0,0 +1,10 @@ +Feelback blogのフィード|JSer.info Watch List RSS

Feelback blog

https://www.feelback.dev/

Feelback allows your users to express their feelings about your content so you can make it better

フィード

Case study: GitHub documentation feedback system
Feelback blog
How GitHub collects user feedbacks about its documentation pages with a step by step guide to replicate it in your own documentation with Feelback
2年前
記事のアイキャッチ画像
New Astro Starlight integration
Feelback blog
How to collect user feedbacks in your Astro Starlight documentation and make it better with Feelback
2年前
記事のアイキャッチ画像
Feelback Release v0.3
Feelback blog
A patch update of Feelback with new configuration and layout types, updated SDKs with new options and presets
2年前
記事のアイキャッチ画像
Case study: Vercel documentation feedback system
Feelback blog
How Vercel collects user feedbacks about its documentation pages with a step by step guide to replicate it in your own documentation with Feelback
2年前
記事のアイキャッチ画像
Architecture of an early stage SAAS
Feelback blog
Design principles, tradeoffs and tricks used to build, deploy and run Feelback, an API-centric SAAS
2年前
記事のアイキャッチ画像
Case study: Stripe documentation feedback system
Feelback blog
+How Stripe collects user feedbacks about its documentation pages with a step by step guide to replicate it in your own documentation with Feelback
2年前
記事のアイキャッチ画像
Feelback Release v0.2
Feelback blog
The second update of Feelback brings new Feelback types, updated SDKs with new components to collect message-based feedbacks
2年前
\ No newline at end of file diff --git a/blogs/a1fb146f4b56e02d55146fdf8902ba6e/index.html b/blogs/a1fb146f4b56e02d55146fdf8902ba6e/index.html new file mode 100644 index 000000000000..5235118951b0 --- /dev/null +++ b/blogs/a1fb146f4b56e02d55146fdf8902ba6e/index.html @@ -0,0 +1,11 @@ +Angular Blog - Mediumのフィード|JSer.info Watch List RSS

Angular Blog - Medium

https://blog.angular.dev?source=rss----447683c3d9a3---4

The latest news and tips from the Angular team

フィード

記事のアイキャッチ画像
Angular 2025 Strategy
Angular Blog - Medium
25日前
記事のアイキャッチ画像
Try Out the New Signal Input Migrations
Angular Blog - Medium
1ヶ月前
記事のアイキャッチ画像
Meet Angular v19
Angular Blog - Medium
3ヶ月前
記事のアイキャッチ画像
Angular v19 Release: Join the Watch Parties!
+Angular Blog - Medium
3ヶ月前
記事のアイキャッチ画像
Latest updates to effect() in Angular
Angular Blog - Medium
4ヶ月前
記事のアイキャッチ画像
The future is standalone!
Angular Blog - Medium
5ヶ月前
記事のアイキャッチ画像
Using isolatedModules in Angular 18.2
Angular Blog - Medium
6ヶ月前
記事のアイキャッチ画像
The Future of Material Support in Angular
Angular Blog - Medium
7ヶ月前
記事のアイキャッチ画像
Introducing @let in Angular
Angular Blog - Medium
7ヶ月前
\ No newline at end of file diff --git a/blogs/a7326da097c33c31f2505c9295259b4b/index.html b/blogs/a7326da097c33c31f2505c9295259b4b/index.html new file mode 100644 index 000000000000..d9f753950f8f --- /dev/null +++ b/blogs/a7326da097c33c31f2505c9295259b4b/index.html @@ -0,0 +1,32 @@ +Sentry Blog RSSのフィード|JSer.info Watch List RSS

Sentry Blog RSS

https://blog.sentry.io

Product, Engineering, and Marketing updates from the developers of Sentry.

フィード

記事のアイキャッチ画像
How to Debug and Log in PHP
Sentry Blog RSS
This guide explains how errors work in PHP and how to debug them efficiently using logging functions and Sentry. The information in this guide is correct for PH...
1日前
記事のアイキャッチ画像
How we use AI at Sentry to produce 40% fewer issues–and prevent millions of noisy alerts
Sentry Blog RSS
+Sentry uses Issue Grouping to aggregate identical errors and prevent duplicate issues from being created, and duplicate alerts being sent. One of the chief comp...
3日前
記事のアイキャッチ画像
How to get metrics, groups and alerts from your spans in Trace Explorer
Sentry Blog RSS
We’ve all worked on that app that hangs just a little too long in weird places, or had that query we could never get to perform just right. The network waterfal...
4日前
記事のアイキャッチ画像
A Guide to Logging and Debugging in Java
Sentry Blog RSS
+
Logging and Debugging in Java: Why Does it Matter? During the development of your program, you might rely on simple println() statements to trace program execut...
15日前
記事のアイキャッチ画像
Sentry's Pinia Integration for Vue and Nuxt Error Tracking
Sentry Blog RSS
+When debugging issues in production, context is everything. While Sentry already provides rich error data like stack traces, breadcrumbs, and user information, ...
18日前
記事のアイキャッチ画像
Session Replay for Mobile is now Generally Available: See What Your Users See
Sentry Blog RSS
+Session Replay for Mobile is now generally available. I could bombard you with hyperbolic statements about why Session Replay is worth using, but instead, A…I… ...
25日前
記事のアイキャッチ画像
How Profiling helped fix slowness in Sentry's AI Autofix
Sentry Blog RSS
There’s a common misunderstanding that profiling is only useful for tiny savings that impact infra costs at scale - the so-called “milliseconds matter” approach...
1ヶ月前
記事のアイキャッチ画像
Visual Studio App Center Retirement: Why Sentry is Your Next Step
Sentry Blog RSS
We knew Visual Studio App Center was retiring, but with an official retirement date of March 31, 2025 and today being *checks calendar* 2025 already, it’s time ...
1ヶ月前
記事のアイキャッチ画像
Taking Sentry’s Rollback from Hack Week Project to Production
Sentry Blog RSS
❗❗If you’re a developer that uses Sentry and you’re reading this in 2024, stop reading and head to rollback.sentry.io to get your very own Rollback! Just a few ...
2ヶ月前
記事のアイキャッチ画像
Debugging Query Rate Limiting in Sentry
Sentry Blog RSS
Snuba, the primary storage and query service for event data that powers Sentry in production, has historically been doing rate limiting under the hood, making i...
2ヶ月前
記事のアイキャッチ画像
+Using server-side caching to speed up your applications, save on infra costs, and deliver better UX
Sentry Blog RSS
If you’ve ever been floored by a sub-100ms response time, you’ve likely got caching to thank. Caching is the unsung hero of performance, shaving precious millis...
2ヶ月前
記事のアイキャッチ画像
Debugging Python with VS Code and Sentry
Sentry Blog RSS
+Sentry is committed to helping developers fix broken code quickly and effectively. In this article, we’ll cover a range of intermediate to advanced techniques f...
2ヶ月前
記事のアイキャッチ画像
Next.js debugging: tips and techniques from dev to prod
Sentry Blog RSS
Debugging. It’s a critical skill for all developers. And when you’re building a dynamic, high-performance application with Next.js, Chrome DevTools, and console...
2ヶ月前
記事のアイキャッチ画像
Building the Sentry Unreal Engine SDK with GitHub Actions
Sentry Blog RSS
Ensuring a seamless player experience is critical for game developers, and yet unanticipated crashes and performance issues continue to harm games’ reputations ...
2ヶ月前
記事のアイキャッチ画像
Missing indexes are slowing down your database - here's how to find and fix them with Sentry
Sentry Blog RSS
Slow database queries drag down performance for both developers and users. They waste resources, slow down testing, and frustrate customers with laggy experienc...
2ヶ月前
記事のアイキャッチ画像
Debug Faster & Smarter with Session Replay
Sentry Blog RSS
As developers, we know that debugging can be a time-consuming process. Hunting down elusive bugs or trying to reproduce an issue based on vague user reports can...
2ヶ月前
記事のアイキャッチ画像
Catching Flaky Tests Before It's Too Late
Sentry Blog RSS
This is a guest post from Artem Zakharchenko, creator of MSWJS, an API mocking library for Javascript. He also writes about testing for EpicWeb and on his perso...
2ヶ月前
記事のアイキャッチ画像
How I reduced an API call from >5 seconds to under 100ms
Sentry Blog RSS
Given that 100% of the databases I have interacted with in my professional career have been SQL databases, my data-based mental model (please enjoy my pun) has ...
2ヶ月前
記事のアイキャッチ画像
The New Way of React Native Debugging
Sentry Blog RSS
+This is a guest post from Simon Grimm, creator of Galaxies.dev, where Simon helps developers learn React Native through fast-paced courses and personal support....
2ヶ月前
記事のアイキャッチ画像
How to reduce TTFB
Sentry Blog RSS
TTFB (Time to First Byte) is a commonly used metric that measures the duration between a client's HTTP request and the receipt of the first byte of the server's...
2ヶ月前
記事のアイキャッチ画像
Beyond Coverage: Flaky Test Detection, AI Test Generation, and More
Sentry Blog RSS
We’re expanding beyond just code coverage and added a suite of new capabilities to help you break production less: AI PR Review, AI Test Generation, Test Analyt...
3ヶ月前
記事のアイキャッチ画像
Fix slow sites faster with domain-specific Performance Insights, MongoDB support & Continuous Profiling on Sentry
Sentry Blog RSS
Optimizing app performance can be challenging, even for seasoned developers. Frontends groan under the weight of bloated assets, backends lag from sluggish data...
3ヶ月前
記事のアイキャッチ画像
AI-Powered Updates–Issue Grouping, Autofix, Anomaly Detection, and more
Sentry Blog RSS
What if you could not only find software issues you care about but also have the fix ready? We just introduced several updates that intelligently group new issu...
3ヶ月前
記事のアイキャッチ画像
Smarter search, Uptime Monitoring, and Session Replay updates to simplify your debugging
Sentry Blog RSS
Whether it’s sitting through a meeting that should’ve been an email or reading a blog post written by AI 👀– no one enjoys losing time they’ll never get back. T...
3ヶ月前
記事のアイキャッチ画像
Enabling Out-of-the-Box Performance Insights in Unity Games with the Sentry SDK
Sentry Blog RSS
The Sentry Unity SDK has been effective for crash reporting, including: Support for line numbers in C# exceptions on IL2CPP (in release mode!) Capturing native ...
3ヶ月前
記事のアイキャッチ画像
Avoid Rate Limiting with Query Batching
+Sentry Blog RSS
This post is part of our debugging series, where we share tricky challenges and solutions while building Sentry. ~~~ On March 4th, 2024, the most metal inciden...
3ヶ月前
記事のアイキャッチ画像
We Just Gave $750,000 to Open Source Maintainers
Sentry Blog RSS
+Sentry started out as an Open Source side project in 2008. Today we are a Fair Source company with 100,000+ organizations on our SaaS and $100M+ ARR, but we hav...
3ヶ月前
記事のアイキャッチ画像
How we decreased P99s on our backend API requests by 3 seconds
Sentry Blog RSS
+At Sentry, we don't just build debugging tools for developers—we use them ourselves. This story demonstrates how we leveraged our own platform to solve a myster...
3ヶ月前
記事のアイキャッチ画像
6 Common Causes of Application Performance Issues
Sentry Blog RSS
Application performance is critical for a seamless user experience, but all too often, developers find themselves struggling to pinpoint slowdowns. Understandin...
3ヶ月前
記事のアイキャッチ画像
Automating tests and bug fixes with the Sentry extension for GitHub Copilot––because you have better things to do
Sentry Blog RSS
TL;DR: The Sentry extension for GitHub Copilot now goes beyond chat to help you generate tests, surface issues, and suggests fixes all within your regular PR wo...
3ヶ月前
\ No newline at end of file diff --git a/blogs/a78edf08c4aec8157a26ef09fad1c230/index.html b/blogs/a78edf08c4aec8157a26ef09fad1c230/index.html new file mode 100644 index 000000000000..1ec6cecd559d --- /dev/null +++ b/blogs/a78edf08c4aec8157a26ef09fad1c230/index.html @@ -0,0 +1,11 @@ +Nx Devtools - Mediumのフィード|JSer.info Watch List RSS

Nx Devtools - Medium

https://blog.nrwl.io?source=rss----1e21061103c7---4

Smart, Fast and Extensible Build System with First-Class Monorepo Support.

フィード

記事のアイキャッチ画像
Manage Your Gradle Project using Nx
Nx Devtools - Medium
10ヶ月前
記事のアイキャッチ画像
Monorepos — Why Speed Matters
Nx Devtools - Medium
1年前
記事のアイキャッチ画像
Launch Nx Week Recap!!!
Nx Devtools - Medium
1年前
記事のアイキャッチ画像
Fast, Effortless CI
Nx Devtools - Medium
1年前
記事のアイキャッチ画像
Nx — Highlights of 2023
Nx Devtools - Medium
1年前
記事のアイキャッチ画像
Nx 17.2 Update!!
Nx Devtools - Medium
1年前
\ No newline at end of file diff --git a/blogs/ac4cf9fdbe2fca129bc08a5fdefe08f1/index.html b/blogs/ac4cf9fdbe2fca129bc08a5fdefe08f1/index.html new file mode 100644 index 000000000000..1542d2e3978f --- /dev/null +++ b/blogs/ac4cf9fdbe2fca129bc08a5fdefe08f1/index.html @@ -0,0 +1,362 @@ +Web Platform Monthly Updatesのフィード|JSer.info Watch List RSS

Web Platform Monthly Updates

フィード

記事のアイキャッチ画像
January 2025 web platform update
Web Platform Monthly Updates
+January 2025 web platform updateNewly availableThe following features are newly available:Popover: The popover HTML attribute creates an overlay to display content on top of other page content. Popovers can be shown declaratively using HTML, or using the showPopover() method. Promise.try(): The Promise.try() static method returns a promise that takes a callback of any kind (returns or throws, synchronously or asynchronously) and wraps its result in a Promise. Widely availableThe following features are now widely available:Style containment: The contain: style CSS declaration permits the browser to avoid slower layout calculations by preventing modification to counter (counter-increment and counter-set) and quotation styles (content property quote values) beyond the element's descendants. New in Chrome AndroidThe following features are now available in Chrome Android:File system access: The showOpenFilePicker(), showDirectoryPicker(), and showSaveFilePicker() methods request access to f +
1ヶ月前
記事のアイキャッチ画像
December 2024 web platform update
Web Platform Monthly Updates
+December 2024 web platform updateNewly availableThe following features are newly available:Page setup: The @page CSS at-rule sets the page-specific dimensions and margins for content such as printed documents, ebooks, or slides. ruby-align: The ruby-align CSS property sets the spacing and alignment of ruby annotation text when it does not fill its available space. ruby-position: The ruby-position CSS property sets the position of a ruby annotation in relation to its base text. Annotations can display over, under, or interleaved with the base text. scrollbar-gutter: The scrollbar-gutter CSS property reserves space for the scrollbar, preventing unwanted layout changes as the scrollbar appears and disappears. scrollbar-width: The scrollbar-width CSS property sets the width of the scrollbar. ::target-text: The ::target-text pseudo-element allows you to style text highlighted by a URL text fragment such as #:~:text=snippet. Garbage collection (WebAssembly): Garbage collection tracks referen +
2ヶ月前
記事のアイキャッチ画像
November 2024 web platform update
Web Platform Monthly Updates
+November 2024 web platform updateWidely availableThe following features are now widely available:dynamic-range media query: The dynamic-range CSS media query sets styles based on whether a device can display at least standard range colors or at least high range colors. Non-visual devices will match neither. prefers-contrast media query: The prefers-contrast CSS media query sets styles based on whether the user prefers more or less contrast, the difference between foreground and background colors. Exception handling (WebAssembly): Exceptions break the normal control flow of execution to represent exceptional behavior, such as an error. You can respond to the exception in JavaScript code. New in ChromeThe following features are now available in Chrome:::details-content: The ::details-content pseudo-element selects the expandable content of a <details> element, excluding the <summary>. font-variant-emoji: The font-variant-emoji CSS property sets the default presentation for emoji characte +
3ヶ月前
記事のアイキャッチ画像
October 2024 web platform update
Web Platform Monthly Updates
+October 2024 web platform updateNewly availableThe following features are newly available:requestVideoFrameCallback(): The requestVideoFrameCallback() method for <video> schedules a function that runs with the next video frame. It is similar to requestAnimationFrame(), but for video. Scroll to text fragment: Text fragments are URL fragments on the form #:~:text=snippet and link to a snippet of text within a page. The browser may scroll, highlight, or otherwise bring that text to the reader's attention. text-wrap-mode: The text-wrap-mode CSS property sets whether lines may wrap with the values wrap and nowrap. It is a longhand property for both white-space and text-wrap. text-wrap: stable: The text-wrap: stable CSS declaration wraps text using the default algorithm, but does not change wrapping on earlier lines while the text is being edited. Color management for WebGL: The drawingBufferColorSpace and unpackColorSpace properties of WebGLRenderingContext sets the color representation for +
4ヶ月前
記事のアイキャッチ画像
September 2024 web platform update
Web Platform Monthly Updates
+September 2024 web platform updateNewly availableThe following features are newly available:backdrop-filter: The backdrop-filter CSS property applies graphical effects such as blurring or color shifting to the area behind an element. willReadFrequently: The optional willReadFrequently parameter of a canvas's getContext() method permits the browser to optimize for frequent getImageData() calls by avoiding hardware acceleration. Also known as multiple readback. cookieEnabled: The navigator.cookieEnabled property returns a Boolean value for whether the browser accepts or ignores attempts to write cookie data. Mutually exclusive <details> elements: Multiple <details> elements which use the same name attribute are mutually exclusive. When one member of the group is opened, all other members are closed. getHTML(): The getHTML() method of Element and ShadowRoot objects serializes an element's DOM to an HTML string. HTTP/3: HTTP/3 is a major revision of the HTTP network protocol, providing imp +
5ヶ月前
記事のアイキャッチ画像
August 2024 web platform update
Web Platform Monthly Updates
+August 2024 web platform updateNewly availableThe following features are newly available:transition-behavior: The transition-behavior: allow-discrete CSS declaration allows transitions for properties whose animation behavior is discrete. Such properties can't be interpolated and swap from their start value to the end value at 50%. Widely availableThe following features are now widely available:color-scheme: The color-scheme CSS property sets which color schemes (light or dark) an element uses and may prevent automatic dark mode adjustments by the browser. New in ChromeThe following features are now available in Chrome:document.caretPositionFromPoint(): The document.caretPositionFromPoint() method finds an insertion point, represented by a DOM node and an offset within that node, for given coordinates in the viewport. Promise.try(): The Promise.try() static method returns a promise that takes a callback of any kind (returns or throws, synchronously or asynchronously) and wraps its resul +
6ヶ月前
記事のアイキャッチ画像
July 2024 web platform update
Web Platform Monthly Updates
+July 2024 web platform updateNewly availableThe following features are newly available:Alt text for generated content: The / notation in content CSS property values adds alternative text to generated content. For example, the content: url('upvote-icon.svg') / 'Upvote' declaration adds accessible 'Upvote' text to the SVG icon. Also known as alternate text. font-size-adjust: The font-size-adjust CSS property preserves apparent text size, regardless of the font used, by scaling fonts to the same size with respect to a specific metric, such as x-height. This can help make fallback fonts look the same size. Unsanitized HTML parsing methods: The Document.parseHTMLUnsafe() static method parses HTML into a DOM tree, while the setHTMLUnsafe() method of Element and ShadowRoot parses and inserts HTML into an existing tree. No sanitization applies to these methods, so never call them with user-provided HTML strings. Registered custom properties: The CSS.registerProperty() static method and the @pr +
7ヶ月前
記事のアイキャッチ画像
June 2024 web platform update
Web Platform Monthly Updates
+June 2024 web platform updateNewly availableThe following features are newly available:Async clipboard: The navigator.clipboard API asynchronously reads and writes to the system clipboard. Gradient interpolation: Gradient interpolation controls how the colors between gradient stops are calculated in CSS. For example, linear-gradient(to right in oklch longer hue, red, red); calculates in the oklch color space, with the hue going all the way around the hue circle from red back to red. <link rel="dns-prefetch">: The rel="dns-prefetch" attribute for the <link> HTML element is a hint to the browser that the page or user is likely to request resources from another domain, so the browser should preemptively resolve DNS for the href value's domain. Set methods: The difference(), intersection(), isDisjointFrom(), isSubsetOf(), isSupersetOf(), symmetricDifference(), and union() methods of the JavaScript Set object performs operations between two sets. Widely availableThe following features are n +
8ヶ月前
記事のアイキャッチ画像
May 2024 web platform update
Web Platform Monthly Updates
+May 2024 web platform updateNewly availableThe following features are newly available:light-dark(): The light-dark() CSS function accepts two colors and uses one depending on the current color scheme. round(), mod(), and rem(): The round(), mod(), and rem() CSS functions compute rounded values and the remainder after division. :state(): The :state() CSS pseudo-class matches custom elements based on their custom state, set through the ElementInternals.states API. text-wrap: balance: The text-wrap: balance CSS declaration balances the length of each line when text is broken into multiple lines. Also known as headline balancing. zoom: The zoom CSS property scales the size of an element. Unlike the transform property, a zoomed element affects page layout. Widely availableThe following features are now widely available:Enterkeyhint: The enterkeyhint global HTML attribute sets the label for a virtual keyboard's Enter key. For example, enterkeyhint="search" may label the key with a magnifying +
9ヶ月前
記事のアイキャッチ画像
April 2024 web platform update
Web Platform Monthly Updates
+April 2024 web platform updateNewly availableThe following features are newly available:align-content in block layouts: The align-content property vertically aligns content in block layouts, like it does in flex or grid layouts. Intl.Segmenter: The Intl.Segmenter API creates a locale-aware text splitter that can separate a string into meaningful graphemes, words, or sentences. transform-box: The transform-box CSS property sets the position and dimensions of the reference box relative to which an element's transformations are calculated. Vertical form controls: The writing-mode CSS property orients form elements (such as radio buttons, progress bars, or select menus) vertically when the writing mode is vertical-lr or vertical-rl. The direction CSS property sets whether inputs flow from top to bottom or bottom to top. Widely availableThe following features are now widely available:image-rendering: The image-rendering CSS property sets how images are scaled, retaining smoothness for photo +
10ヶ月前
記事のアイキャッチ画像
March 2024 web platform update
Web Platform Monthly Updates
+March 2024 web platform updateNewly availableThe following features are newly available:AbortSignal.any(): The AbortSignal.any() static method combines an iterable of abort signals into a single signal, with the abort reason taken from the first signal to abort. Array grouping: The Object.groupBy() and Map.groupBy() static methods group values of arrays and iterables based on a function that returns a key for each value. checkVisibility(): The checkVisibility() method checks if an element is potentially visible, with optional parameters for the kinds of visibility to check. For example, it checks whether the element has the style display: none, but can also check for visibility: hidden. Promise.withResolvers(): The Promise.withResolvers() static method is an alternative to the Promise() constructor that returns both the promise and resolution functions. You can use this to access resolve and reject outside the scope of the executor function. text-wrap: The text-wrap CSS property sets h +
1年前
記事のアイキャッチ画像
February 2024 web platform update
Web Platform Monthly Updates
+February 2024 web platform updateNewly availableThe following features are newly available:Declarative shadow DOM: The shadowrootmode attribute on <template> creates a shadow root without the use of JavaScript. It is a declarative alternative to the attachShadow() method. Widely availableThe following features are now widely available:tab-size: The tab-size CSS property sets the width of the tab character. Visual viewport API: The visualViewport API provides a way to query and modify the user-visible viewport of a web page. New in ChromeThe following features are now available in Chrome:Read unsanitized clipboard data: The optional formats.unsanitized parameter of the navigator.clipboard.read() method reads unsanitized text/html data from the system clipboard. Iterator methods: The Iterator object is an abstract base for objects that implement the iterator protocol. It provides methods common to built-in iterators, such as filter(), find(), map(), and reduce(). You can also use the sta +
1年前
記事のアイキャッチ画像
January 2024 web platform update
Web Platform Monthly Updates
+January 2024 web platform updateNewly availableThe following features are newly available:Array.fromAsync(): The Array.fromAsync() static method copies items from an async iterable object to make a new array. AVIF: AVIF (AV1 Image File Format) is an image format based on the AV1 video format. New in ChromeThe following features are now available in Chrome:ClipboardItem.supports(): The ClipboardItem.supports() static method checks if the browser supports writing data types such as "image/svg+xml" or other custom formats to the system clipboard. EditContext: The EditContext API allows you to build rich text editors that support advanced text input, such as Input Method Editor (IME) composition, an emoji picker, or other platform-specific editing UI. font-palette animation: You can animate color fonts between two font-palette values. Remote playback: The Remote Playback API initiates and controls playback of media on connected remote devices, such as smart TVs with AirPlay or Chromecast c +
1年前
記事のアイキャッチ画像
December 2023 web platform update
Web Platform Monthly Updates
+December 2023 web platform updateNewly availableThe following features are newly available:Canvas reset(): The reset() method clears a canvas to its initial state. cap unit: The cap CSS length unit corresponds to the height of Latin capital letters. counter-set: The counter-set CSS property creates (and optionally sets a value for) a counter, the numbers for a series of headings or ordered list items. :dir(): The :dir() CSS functional pseudo-class matches elements by text direction, either right to left (rtl) or left to right (ltr). pow(), sqrt(), hypot(), log(), and exp(): The pow(), sqrt(), hypot(), log(), and exp() CSS functions compute various exponential functions. :has(): The :has() CSS functional pseudo-class matches an element if any of the selectors passed as parameters would match at least one element. linear() easing: The linear() easing function for animations and transitions interpolates linearly between the control points, and can be used to approximate complex easing fun +
1年前
記事のアイキャッチ画像
November 2023 web platform update
Web Platform Monthly Updates
+November 2023 web platform updateNewly availableThe following features are newly available:Clip path boxes: The fill-box, stroke-box, and view-box values for clip-path set an edge of the element's box to use as the clipping shape. lh unit: The lh CSS length unit corresponds to the requested line height, the computed value of the line-height property. Some lines may be higher than this based on their content. rlh unit: The rlh CSS length unit is a font-relative length relative to the line height of root element. User activation: The navigator.userActivation API reveals whether the user has interacted with the page through an "activation" gesture such as a click, tap, or key press. User activation gated APIs (such as the fullscreen API) fail without user interaction, and this API allows you to predict such a failure. :user-valid and :user-invalid: The :user-valid and :user-invalid pseudo-classes match form controls that have been marked as valid or invalid based on their validation const +
1年前
記事のアイキャッチ画像
October 2023 web platform update
Web Platform Monthly Updates
+October 2023 web platform updateNewly availableThe following features are newly available:ARIA attribute reflection: WAI-ARIA attributes have corresponding properties on Element and ElementInternals objects. <search>: The <search> HTML element is a container that represents the parts of the web page with search functionality. String isWellFormed() and toWellFormed(): The isWellFormed() method of strings returns a boolean indicating if the string contains any Unicode lone surrogates. The toWellFormed() method returns a new string where all lone surrogates are replaced by the Unicode replacement character. Web authentication easy public key access: The getAuthenticatorData(), getPublicKey(), and getPublicKeyAlgorithm() methods of AuthenticatorAttestationResponse access credential data inside attestationObject without the need to parse it. Widely availableThe following features are now widely available:AudioWorklet: The AudioWorklet API runs module code in a separate thread, specifically +
1年前
記事のアイキャッチ画像
September 2023 web platform update
Web Platform Monthly Updates
+September 2023 web platform updateNewly availableThe following features are newly available:Clearing site data: The Clear-Site-Data header deletes browsing data (such as cookies, storage, or cache) associated with the requesting website. contain-intrinsic-size: The contain-intrinsic-size CSS property sets the intrinsic size of an element. When using size containment, the browser will lay out the element as if it had a single child of this size. @counter-style: The @counter-style CSS at-rule sets custom counter styles for list items. For example, you can use a sequence of specific symbols instead of numbers for an ordered list. Device orientation events: The DeviceMotion and DeviceOrientation events report the movement and orientation of the browser's device in physical space. Note that coordinates can differ noticeably between platforms and devices. Hyphenate character: The hyphenate-character CSS property sets the character or string to use at the end of a line before a line break. Hy +
1年前
記事のアイキャッチ画像
August 2023 web platform update
Web Platform Monthly Updates
+August 2023 web platform updateNewly availableThe following features are newly available:dirname: The dirname attribute of <textarea> and <input> HTML elements includes the field's writing direction as form data on submission. New in ChromeThe following features are now available in Chrome:AbortSignal.any(): The AbortSignal.any() static method combines an iterable of abort signals into a single signal, with the abort reason taken from the first signal to abort. Federated credential management: The IdentityCredential API delegates authentication to a third-party identity provider, instead of using third-party cookies. Also known as FedCM. Popover: The popover HTML attribute creates an overlay to display content on top of other page content. Popovers can be shown declaratively using HTML, or using the showPopover() method. New in Chrome AndroidThe following features are now available in Chrome Android:AbortSignal.any(): The AbortSignal.any() static method combines an iterable of abort si +
2年前
記事のアイキャッチ画像
July 2023 web platform update
Web Platform Monthly Updates
+July 2023 web platform updateNewly availableThe following features are newly available:animation-composition: The animation-composition CSS property chooses how to combine animations that affect the same property. Array by copy: The toReversed(), toSorted(), toSpliced(), and with() methods of arrays and typed arrays return changed copies of arrays. They stand in contrast to methods such as sort() or reverse() that change arrays in place. Two-value display property: The display CSS property accepts multiple keyword values, such as inline flex or block flow, to explicitly set an element's inner and outer layout mode. Also known as 2-value, multi-keyword, or multiple value syntax. Widely availableThe following features are now widely available:clip-path: The clip-path CSS property and SVG attribute set the visible area of an element. Everything outside the area will be hidden. :is(): The :is() CSS functional pseudo-class takes a selector list as its argument, and matches any element that +
2年前
記事のアイキャッチ画像
June 2023 web platform update
Web Platform Monthly Updates
+June 2023 web platform updateNewly availableThe following features are newly available:calc() keywords: The e, pi, infinity, and NaN keywords represent well-defined constants accepted in CSS math functions such as calc(). JavaScript modules in workers: The Worker() constructor accepts { type: "module" } to load scripts that use import and export. Also known as ECMAScript modules or ESM in workers. window.print(): The window.print() method opens the browser's print dialog. New in EdgeThe following features are now available in Edge:Idle detection: The IdleDetector API is used to notify a webpage of the user's idle, active, and locked state. JSON source text access: To serialize and parse JSON in a lossless way, JSON.stringify() handles rawJSON values and JSON.parse()'s reviver callback takes a source context parameter. `overflow: overlay`: The overflow: overlay CSS declaration is an alias to overflow: auto. Historically, it caused non-standard behavior, allowing scrollbars to overlay co +
2年前
記事のアイキャッチ画像
May 2023 web platform update
Web Platform Monthly Updates
+May 2023 web platform updateNewly availableThe following features are newly available:color(): The color() function picks a color from a given color space. Wide gamut color spaces like display-p3 allow showing more vibrant and saturated colors than the standard srgb color space. color-mix(): The color-mix() function mixes two colors in a given color space and by a given amount. Commonly, lighter or darker variations of a color are created by mixing with white or black. Compression streams: The CompressionStream and DecompressionStream interfaces compress and decompress data using the gzip or deflate formats. Lab and LCH: The CIE Lab color space expresses colors in terms of lightness and how red/green and blue/yellow a color is. LCH is a variant of Lab with polar coordinates. These color spaces can be used with the CSS color(), lab(), and lch() functions. Also known as CIELAB and CIELCH. :nth-child() of <selector>: The of syntax for the :nth-child() and :nth-last-child() CSS functional +
2年前
記事のアイキャッチ画像
April 2023 web platform update
Web Platform Monthly Updates
+April 2023 web platform updateNewly availableThe following features are newly available:Canvas createConicGradient(): The createConicGradient() methods draw a conic gradient to a 2D canvas. Canvas roundRect(): The roundRect() methods draw a rounded rectangle to a 2D canvas. Widely availableThe following features are now widely available:Multi-value (WebAssembly): Instructions and blocks can produce multiple result values. New in ChromeThe following features are now available in Chrome:animation-composition: The animation-composition CSS property chooses how to combine animations that affect the same property. Tail call optimization (WebAssembly): Tail call optimization discards a caller frame and replaces the call with a jump instruction. New in Chrome AndroidThe following features are now available in Chrome Android:animation-composition: The animation-composition CSS property chooses how to combine animations that affect the same property. Tail call optimization (WebAssembly): Tail c +
2年前
記事のアイキャッチ画像
March 2023 web platform update
Web Platform Monthly Updates
+March 2023 web platform updateNewly availableThe following features are newly available:Constructed stylesheets: The CSSStyleSheet constructor creates a new stylesheet which can be shared between a document and multiple shadow roots using adoptedStyleSheets. Fetch metadata request headers: The Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site, and Sec-Fetch-User HTTP headers provide extra information about the way a request was made, to help servers reject certain kinds of malicious requests. font-synthesis-small-caps: The font-synthesis-small-caps CSS property sets whether or not the browser should synthesize small caps typefaces when they're missing from the font. font-synthesis-style: The font-synthesis-style CSS property sets whether or not the browser should synthesize italic and oblique typefaces when they're missing from the font. font-synthesis-weight: The font-synthesis-weight CSS property sets whether or not the browser should synthesize bold typefaces when they're missing from +
2年前
記事のアイキャッチ画像
February 2023 web platform update
Web Platform Monthly Updates
+February 2023 web platform updateNewly availableThe following features are newly available::autofill: The :autofill pseudo-class matches <input> elements that have been filled in automatically by the browser. color-gamut media query: The color-gamut media query sets styles based on the colors a device can display. Container queries: Container size queries with the @container at-rule apply styles to an element based on the dimensions of its container. Widely availableThe following features are now widely available:String replaceAll(): The replaceAll() method of strings returns a new string where all matches of a pattern (a string or regular expression) have been substituted with a replacement string. New in ChromeThe following features are now available in Chrome:Array by copy: The toReversed(), toSorted(), toSpliced(), and with() methods of arrays and typed arrays return changed copies of arrays. They stand in contrast to methods such as sort() or reverse() that change arrays in place. +
2年前
記事のアイキャッチ画像
January 2023 web platform update
Web Platform Monthly Updates
+January 2023 web platform updateNewly availableThe following features are newly available:MathML: MathML, or the Mathematical Markup Language, describes mathematical notation, such as expressions and formulas. Also known as MathML Core. Widely availableThe following features are now widely available:column-span: The column-span CSS property controls whether a child element extends across all columns of a multi-column parent. line-break: The line-break CSS property sets how strictly to apply rules for wrapping text to new lines, especially for symbols and punctuation. min(), max(), and clamp(): The min() and max() CSS functions return the minimum or maximum of the arguments, while clamp() clamps a value to a given range. Numeric separators: To improve readability for numeric literals, underscores (_) can be used as separators. For example, 1_050.95 is equivalent to 1050.95. Pointer Events: Pointer events, such as pointerdown, and the PointerEvent API, represent general pointing inputs, +
2年前
記事のアイキャッチ画像
December 2022 web platform update
Web Platform Monthly Updates
+December 2022 web platform updateNewly availableThe following features are newly available:Small, large, and dynamic viewport units: The sv*, lv*, and dv* CSS viewport units are relative to the smallest, largest, and current (dynamic) viewport size. They are used to size elements in relation to the viewport's dimensions. OES_draw_buffers_indexed WebGL extension: The OES_draw_buffers_indexed extension for WebGL 2.0 contexts allows you to control blending on a per-color basis when writing to multiple color buffers simultaneously. New in EdgeThe following features are now available in Edge:content-visibility: The content-visibility CSS property delays rendering an element, including layout and painting, until it is needed. Origin private file system: The navigator.storage.getDirectory() method returns a FileSystemDirectoryHandle that is restricted to a specific origin and invisible to the user's actual file system for faster file-based applications, such as SQLite databases. New in Firefo +
2年前
記事のアイキャッチ画像
November 2022 web platform update
Web Platform Monthly Updates
+November 2022 web platform updateNewly availableThe following features are newly available:font-palette: The font-palette CSS property selects a color palette from the font, optionally overriding individual colors in the @font-palette-values at-rule. New in ChromeThe following features are now available in Chrome:content-visibility: The content-visibility CSS property delays rendering an element, including layout and painting, until it is needed. Origin private file system: The navigator.storage.getDirectory() method returns a FileSystemDirectoryHandle that is restricted to a specific origin and invisible to the user's actual file system for faster file-based applications, such as SQLite databases. Small, large, and dynamic viewport units: The sv*, lv*, and dv* CSS viewport units are relative to the smallest, largest, and current (dynamic) viewport size. They are used to size elements in relation to the viewport's dimensions. New in Chrome AndroidThe following features are now availabl +
2年前
記事のアイキャッチ画像
October 2022 web platform update
Web Platform Monthly Updates
+October 2022 web platform updateNewly availableThe following features are newly available:Grid animation: Grid animation allows you to animate the grid-template-columns and grid-template-rows CSS properties. ic unit: The ic CSS length unit corresponds to the width of CJK ideographic characters. Widely availableThe following features are now widely available:image-orientation: The image-orientation CSS property corrects the rotation of an image using the image's metadata, such as EXIF. New in ChromeThe following features are now available in Chrome:Raw camera access for WebXR: The XRView.camera property provides direct access to pose-synchronized camera images within a WebXR session. New in Chrome AndroidThe following features are now available in Chrome Android:Raw camera access for WebXR: The XRView.camera property provides direct access to pose-synchronized camera images within a WebXR session. New in EdgeThe following features are now available in Edge:Hyphenate character: The hyphe +
2年前
記事のアイキャッチ画像
September 2022 web platform update
Web Platform Monthly Updates
+September 2022 web platform updateNewly availableThe following features are newly available:Inline-size containment: The contain: inline-size CSS declaration prevents the element's inline dimension from being set by the element's contents. This permits the browser to avoid slower layout calculations. Forced colors: The forced-colors CSS @media rule detects when a user has chosen to use a forced colors mode, also known as high-contrast mode, and the forced-color-adjust CSS property sets whether forced colors apply to an element. :modal: The :modal pseudo-class selects elements that put other elements into a non-interactive state, such as a fullscreen element or a <dialog> element used with showModal(). Motion path: The offset CSS property animates an element along a defined motion path. overflow: The overflow CSS property sets the behavior for when content doesn't fit in an element. overscroll-behavior: The overscroll-behavior CSS property disables default scrolling behaviors when the e +
2年前
記事のアイキャッチ画像
August 2022 web platform update
Web Platform Monthly Updates
+August 2022 web platform updateNewly availableThe following features are newly available:Array findLast() and findLastIndex(): The findLast() and findLastIndex() methods of arrays and typed arrays search an array in reverse order for the first item that satisfies a test function. Individual transform properties: The translate, rotate, and scale CSS properties apply single transformations independently, as opposed to applying multiple transformations with the transform CSS property. Widely availableThe following features are now widely available:EXT_sRGB WebGL extension: The EXT_sRGB extension for WebGL 1.0 contexts adds sRGB support to textures and framebuffer objects. Media playback quality: The getVideoPlaybackQuality() method of HTMLVideoElement returns metrics that can be used to determine the playback quality of a video, such as how many frames were dropped. New in ChromeThe following features are now available in Chrome:Custom formats for clipboard items: The web prefix for Clipb +
3年前
記事のアイキャッチ画像
July 2022 web platform update
Web Platform Monthly Updates
+July 2022 web platform updateNewly availableThe following features are newly available:Style containment: The contain: style CSS declaration permits the browser to avoid slower layout calculations by preventing modification to counter (counter-increment and counter-set) and quotation styles (content property quote values) beyond the element's descendants. Widely availableThe following features are now widely available:all: The all CSS property is a shorthand for all CSS properties, except for direction and unicode-bidi. It accepts only the keywords for explicit defaulting (such as initial and inherit), since they are the only values supported on all CSS properties. Array flat() and flatMap(): The flat() and flatMap() methods for arrays creates a new array such that each nested array item is concatenated into it. Async generators: Async generator functions (async function*) create iterators that return multiple promises, one after another, on-demand. Async iterators and the for await..o +
3年前
記事のアイキャッチ画像
June 2022 web platform update
Web Platform Monthly Updates
+June 2022 web platform updateNew in ChromeThe following features are now available in Chrome:ARIA attribute reflection: WAI-ARIA attributes have corresponding properties on Element and ElementInternals objects. Fetch priority: The fetch() priority option and the fetchPriority HTML attribute give hints to the browser about which requests to do before other requests of the same type. Local fonts: The window.queryLocalFonts() method returns an array of locally-installed fonts, each represented by a FontData object. New in Chrome AndroidThe following features are now available in Chrome Android:ARIA attribute reflection: WAI-ARIA attributes have corresponding properties on Element and ElementInternals objects. Fetch priority: The fetch() priority option and the fetchPriority HTML attribute give hints to the browser about which requests to do before other requests of the same type. New in EdgeThe following features are now available in Edge:ARIA attribute reflection: WAI-ARIA attributes hav +
3年前
記事のアイキャッチ画像
May 2022 web platform update
Web Platform Monthly Updates
+May 2022 web platform updateNewly availableThe following features are newly available:dynamic-range media query: The dynamic-range CSS media query sets styles based on whether a device can display at least standard range colors or at least high range colors. Non-visual devices will match neither. prefers-contrast media query: The prefers-contrast CSS media query sets styles based on whether the user prefers more or less contrast, the difference between foreground and background colors. Exception handling (WebAssembly): Exceptions break the normal control flow of execution to represent exceptional behavior, such as an error. You can respond to the exception in JavaScript code. New in ChromeThe following features are now available in Chrome:File handlers: The file_handlers web app manifest member registers an installed web app as a handler for files with specific file extensions or MIME types. Column breaks: In columnar layouts (created by the columns or column-count CSS properties), the +
3年前
記事のアイキャッチ画像
April 2022 web platform update
Web Platform Monthly Updates
+April 2022 web platform updateNewly availableThe following features are newly available:HWB: The hwb() CSS function picks colors using hue, whiteness, and blackness channels. New in ChromeThe following features are now available in Chrome:font-palette: The font-palette CSS property selects a color palette from the font, optionally overriding individual colors in the @font-palette-values at-rule. New in Chrome AndroidThe following features are now available in Chrome Android:Digital goods: The window.getDigitalGoodsService API connects to stores or billing services for in-app products and subscriptions. font-palette: The font-palette CSS property selects a color palette from the font, optionally overriding individual colors in the @font-palette-values at-rule. New in EdgeThe following features are now available in Edge:font-palette: The font-palette CSS property selects a color palette from the font, optionally overriding individual colors in the @font-palette-values at-rule. OES_draw_b +
3年前
記事のアイキャッチ画像
March 2022 web platform update
Web Platform Monthly Updates
+March 2022 web platform updateNewly availableThe following features are newly available:appearance: The appearance CSS property controls the appearance of form controls. Using appearance: none disables any default native appearance and allows the elements to be styled with CSS. Array at(): The at() method of arrays and typed arrays returns the item at an index, including negative indices for getting items relative to the end of an array. Also known as the relative indexing method. ::backdrop: The ::backdrop CSS pseudo-element is a box underneath an element in the top layer, such as a <dialog>. It can be used to create obscuring effects distinguishing a modal element from the elements underneath. background-attachment: The background-attachment CSS property sets whether an element's background image or gradient moves as the element scrolls. BroadcastChannel: The BroadcastChannel API allows you to send messages between same-origin browsing contexts, such as between the same page loaded i +
3年前
記事のアイキャッチ画像
February 2022 web platform update
Web Platform Monthly Updates
+February 2022 web platform updateNewly availableThe following features are newly available:color-scheme: The color-scheme CSS property sets which color schemes (light or dark) an element uses and may prevent automatic dark mode adjustments by the browser. New in ChromeThe following features are now available in Chrome:BarProp: The visible property of the window.locationbar, window.menubar, window.personalbar, window.scrollbars, window.statusbar, and window.toolbar APIs historically represented the visibility of a browser user interface. For privacy reasons, it now represents whether the window is a pop-up. COLRv1: COLRv1 is a font format that supports multi-color glyphs. COLRv1 extends COLRv0 to support gradients, transforms, and blending modes. dynamic-range media query: The dynamic-range CSS media query sets styles based on whether a device can display at least standard range colors or at least high range colors. Non-visual devices will match neither. structuredClone(): The structure +
3年前
記事のアイキャッチ画像
January 2022 web platform update
Web Platform Monthly Updates
+January 2022 web platform updateNewly availableThe following features are newly available:font-synthesis: The font-synthesis CSS shorthand property disables all font synthesis except the given kinds. To disable a specific kind of font synthesis, instead use the longhand properties such as font-synthesis-style and font-synthesis-weight. New in ChromeThe following features are now available in Chrome:Array findLast() and findLastIndex(): The findLast() and findLastIndex() methods of arrays and typed arrays search an array in reverse order for the first item that satisfies a test function. font-synthesis-small-caps: The font-synthesis-small-caps CSS property sets whether or not the browser should synthesize small caps typefaces when they're missing from the font. font-synthesis-style: The font-synthesis-style CSS property sets whether or not the browser should synthesize italic and oblique typefaces when they're missing from the font. font-synthesis-weight: The font-synthesis-weight CSS p +
3年前
記事のアイキャッチ画像
December 2021 web platform update
Web Platform Monthly Updates
+December 2021 web platform updateNewly availableThe following features are newly available:inputmode: The inputmode global HTML attribute gives a hint about what type of data is to be entered into an <input> element, such as text, numeric, or email, so the browser may help the user enter data using an adapted input mechanism, such as an on-screen virtual keyboard. SharedArrayBuffer and Atomics: The SharedArrayBuffer object represents bytes shared between multiple workers and the main thread. The Atomics object safely accesses SharedArrayBuffer data to make sure predictable values are read and written and that operations are not interrupted. Threads and atomics (WebAssembly): Threads in WebAssembly run code in parallel, while atomic memory instructions can guarantee that no two threads can read or write to shared memory at the same time. New in FirefoxThe following features are now available in Firefox:Page setup: The @page CSS at-rule sets the page-specific dimensions and margins for c +
3年前
記事のアイキャッチ画像
November 2021 web platform update
Web Platform Monthly Updates
+November 2021 web platform updateNewly availableThe following features are newly available:Enterkeyhint: The enterkeyhint global HTML attribute sets the label for a virtual keyboard's Enter key. For example, enterkeyhint="search" may label the key with a magnifying glass icon. fit-content: The fit-content CSS keyword expands a box as needed to fit its contents until the maximum size is reached, preserving the content's preferred aspect ratio. Reference types (WebAssembly): The externref type can be both a value type and a table element type, while funcref can be a value type. New in ChromeThe following features are now available in Chrome:Protocol handlers: The protocol_handlers web app manifest member registers an installed web app as a handler for a specific protocol. When a user follows a link with the specified protocol, the installed app opens the link. Application shortcuts: The shortcuts web app manifest member registers common actions of an installed web app with the device. Th +
3年前
記事のアイキャッチ画像
October 2021 web platform update
Web Platform Monthly Updates
+October 2021 web platform updateNewly availableThe following features are newly available:image-rendering: The image-rendering CSS property sets how images are scaled, retaining smoothness for photos, or hard edges for pixel art and QR codes. Navigation timing: The navigation performance entry and the PerformanceNavigationTiming API measures navigation events, such as loading time or the number of redirects. Bulk memory operations (WebAssembly): Bulk memory operations, such as copy and init, mirror the efficiency of native memcpy and memmove operations. Non-trapping float-to-int conversion (WebAssembly): Saturating floating-point to integer conversion operators return the maximum or minimum integer value on overflow instead of trapping. New in ChromeThe following features are now available in Chrome:URLPattern: The URLPattern API creates patterns that can be matched against URLs or URL components. Exception handling (WebAssembly): Exceptions break the normal control flow of execution t +
3年前
記事のアイキャッチ画像
September 2021 web platform update
Web Platform Monthly Updates
+September 2021 web platform updateNewly availableThe following features are newly available:aspect-ratio: The aspect-ratio CSS property controls the width-to-height ratio of elements. For <img> and <video> elements, the width and height attributes used together with height: auto control the aspect ratio while the image/video is loading. BigInt64Array: The BigInt64Array and BigUint64Array typed arrays represent 64-bit integers, signed and unsigned respectively. Error cause: The cause property of errors records the specific original cause of the error, particularly for errors that have been re-thrown. EXT_color_buffer_float WebGL extension: The EXT_color_buffer_float extension for WebGL 2.0 contexts adds color-renderable floating point formats to renderbufferStorage(). System font: The font-family: system-ui CSS declaration uses the operating system default font for text. IndexedDB: The IndexedDB API is a local storage transactional object database. Logical properties: CSS logical proper +
3年前
記事のアイキャッチ画像
August 2021 web platform update
Web Platform Monthly Updates
+August 2021 web platform updateNewly availableThe following features are newly available:tab-size: The tab-size CSS property sets the width of the tab character. Visual viewport API: The visualViewport API provides a way to query and modify the user-visible viewport of a web page. New in ChromeThe following features are now available in Chrome:accent-color: The accent-color CSS property sets a color for checkboxes, radio buttons, and other form controls. Error cause: The cause property of errors records the specific original cause of the error, particularly for errors that have been re-thrown. EXT_texture_compression_bptc WebGL extension: The EXT_texture_compression_bptc extension for WebGL 1.0 and 2.0 contexts adds the BPTC compressed texture formats to compressedTexImage2D() and compressedTexSubImage2D(). EXT_texture_compression_rgtc WebGL extension: The EXT_texture_compression_rgtc extension for WebGL 1.0 and 2.0 contexts adds RGTC compressed texture formats. RGTC is a block-based t +
4年前
記事のアイキャッチ画像
July 2021 web platform update
Web Platform Monthly Updates
+July 2021 web platform updateWidely availableThe following features are now widely available:Page breaks: In printed page layouts, the break-after, break-before, break-inside CSS properties control where printed pages start and end. Also known as pagination or page breaking. New in ChromeThe following features are now available in Chrome:Array at(): The at() method of arrays and typed arrays returns the item at an index, including negative indices for getting items relative to the end of an array. Also known as the relative indexing method. Color management for 2D canvas: The optional colorSpace parameter of a 2D canvas's getContext() method chooses the color representation, such as "srgb" or "display-p3". String at(): The at() method of strings returns the character (one UTF-16 code unit) at an index, including negative indices for getting the character relative to the end of the string. Also known as the relative indexing method. New in Chrome AndroidThe following features are now av +
4年前
記事のアイキャッチ画像
June 2021 web platform update
Web Platform Monthly Updates
+June 2021 web platform updateWidely availableThe following features are now widely available:Constraint validation API: Methods that validate form controls before submission, such as checkValidity(), reportValidity() and setCustomValidity(). Interaction media queries: The pointer, any-pointer, hover, and any-hover CSS media queries set styles based on the presence of pointing devices and their ability to hover over elements. For example, most smartphones match the (hover: none) and (pointer: coarse) media query. New in FirefoxThe following features are now available in Firefox:aspect-ratio: The aspect-ratio CSS property controls the width-to-height ratio of elements. For <img> and <video> elements, the width and height attributes used together with height: auto control the aspect ratio while the image/video is loading. Event timing: The event and first-input performance entries and the PerformanceEventTiming API measures the latency of user input events, such as mouse clicks or keypres +
4年前
記事のアイキャッチ画像
May 2021 web platform update
Web Platform Monthly Updates
+May 2021 web platform updateNew in ChromeThe following features are now available in Chrome:Accelerometer: The Accelerometer, LinearAccelerationSensor and GravitySensor APIs read the acceleration applied to a device in three dimensions, either including the effect of gravity, without its effect, or only its effect, respectively. @counter-style: The @counter-style CSS at-rule sets custom counter styles for list items. For example, you can use a sequence of specific symbols instead of numbers for an ordered list. JavaScript modules in service workers: The navigator.serviceWorker.register() method accepts { type: "module" } to load scripts that use import and export. Also known as ECMAScript modules or ESM in service workers. Fixed-width SIMD (WebAssembly): 128-bit SIMD (Single Instruction Multiple Data) performs one instruction on multiple units of data, when running on hardware that supports such instructions. Also known as vector instructions. New in Chrome AndroidThe following feature +
4年前
記事のアイキャッチ画像
April 2021 web platform update
Web Platform Monthly Updates
+April 2021 web platform updateNewly availableThe following features are newly available:AudioWorklet: The AudioWorklet API runs module code in a separate thread, specifically for non-blocking, low latency audio processing. ::file-selector-button: The ::file-selector-button CSS pseudo-element selects the button of a <input type="file"> element. Flexbox gap: The gap CSS property in a flexbox layout sets the size of the space between items. Date and time <input> types: The <input type="date"> and <input type="time"> HTML elements show date and time pickers. Intl.DisplayNames: The Intl.DisplayNames API provides localized names of language, region, script, and currency codes. Intl.ListFormat: The Intl.ListFormat API creates a locale-aware formatter that turns iterable objects into localized strings. OES_fbo_render_mipmap WebGL extension: The OES_fbo_render_mipmap extension for WebGL 1.0 contexts attaches any level of a texture to a framebuffer object. OfflineAudioContext: The OfflineAudioCo +
4年前
記事のアイキャッチ画像
March 2021 web platform update
Web Platform Monthly Updates
+March 2021 web platform updateWidely availableThe following features are now widely available:font-variation-settings: The font-variation-settings CSS property sets an "axis of variability" on a variable font, such as weight, optical size, or a custom axis defined by the typeface designer. When possible, use other CSS font properties, such as font-weight: bold. Also known as variable fonts. Speech synthesis: The SpeechSynthesis API converts text to speech with artificial voices. New in ChromeThe following features are now available in Chrome:Share targets: The share_target web app manifest member registers an installed web app as a handler for shared content. When a user shares content by using the device share dialog, the installed app can be listed as an option for handling the shared content. ::file-selector-button: The ::file-selector-button CSS pseudo-element selects the button of a <input type="file"> element. Forced colors: The forced-colors CSS @media rule detects when a user h +
4年前
記事のアイキャッチ画像
February 2021 web platform update
Web Platform Monthly Updates
+February 2021 web platform updateNew in FirefoxThe following features are now available in Firefox::autofill: The :autofill pseudo-class matches <input> elements that have been filled in automatically by the browser. Intl.DisplayNames: The Intl.DisplayNames API provides localized names of language, region, script, and currency codes. New in Firefox for AndroidThe following features are now available in Firefox for Android::autofill: The :autofill pseudo-class matches <input> elements that have been filled in automatically by the browser. Intl.DisplayNames: The Intl.DisplayNames API provides localized names of language, region, script, and currency codes.
4年前
記事のアイキャッチ画像
January 2021 web platform update
Web Platform Monthly Updates
+January 2021 web platform updateNewly availableThe following features are newly available:clip-path: The clip-path CSS property and SVG attribute set the visible area of an element. Everything outside the area will be hidden. :is(): The :is() CSS functional pseudo-class takes a selector list as its argument, and matches any element that can be selected by one of the selectors in that list. <link rel="preload">: The rel="preload" attribute for the <link> HTML element requests resources, such as images or style sheets, that the page needs soon, so the browser may prioritize them for loading before rendering begins. :not(): The :not() functional pseudo-class matches elements that do not match the selectors in its argument. :where(): The :where() CSS functional pseudo-class takes a selector list as its argument, and matches any element that can be selected by one of the selectors in that list. It is functionally equivalent to the selectors in the list, but doesn't affect the CSS rule speci +
4年前
記事のアイキャッチ画像
December 2020 web platform update
Web Platform Monthly Updates
+December 2020 web platform updateNew in FirefoxThe following features are now available in Firefox::not(): The :not() functional pseudo-class matches elements that do not match the selectors in its argument. New in Firefox for AndroidThe following features are now available in Firefox for Android::not(): The :not() functional pseudo-class matches elements that do not match the selectors in its argument.
4年前
記事のアイキャッチ画像
November 2020 web platform update
+Web Platform Monthly Updates
+November 2020 web platform updateNewly availableThe following features are newly available:Conic gradients: The conic-gradient() and repeating-conic-gradient() CSS functions create backgrounds that progress between two or more colors around a center point. Text underline position: The text-underline-position and text-underline-offset CSS properties set the position and distance from initial position of text underlines on text with text-decoration: underline. Widely availableThe following features are now widely available:Array iterators: Arrays are iterable with the for … of statement and enumerable with the methods entries(), keys(), and values(). JavaScript modules: JavaScript modules allow code to be organized into reusable units. Modules use import to load other modules and export to declare what is available to import from other modules. In HTML, modules are loaded with <script type="module">. New in ChromeThe following features are now available in Chrome:Atomics.waitAsync: The A +
4年前
記事のアイキャッチ画像
October 2020 web platform update
Web Platform Monthly Updates
+October 2020 web platform updateNewly availableThe following features are newly available:Multi-value (WebAssembly): Instructions and blocks can produce multiple result values. Widely availableThe following features are now widely available:Beacons: The navigator.sendBeacon() method asynchronously sends an HTTP POST request with a limited amount of data, typically for app state, events, and analytics data. The one-way beacon is guaranteed to be initiated before the browser unloads the page, but the sender does not get to handle the response. EXT_blend_minmax WebGL extension: The EXT_blend_minmax extension for WebGL 1.0 contexts adds two blend equations, the minimum and maximum color components of the source and destination colors. OES_vertex_array_object WebGL extension: The OES_vertex_array_object extension for WebGL 1.0 contexts adds vertex array objects (VAOs) which encapsulate vertex array states. These objects keep pointers to vertex data and names for different sets of vertex dat +
4年前
記事のアイキャッチ画像
September 2020 web platform update
Web Platform Monthly Updates
+September 2020 web platform updateNewly availableThe following features are newly available:BigInt: The BigInt JavaScript type represents integers of any size, including integers too large for the primitive Number type. EXT_color_buffer_half_float WebGL extension: The EXT_color_buffer_half_float extension for WebGL 1.0 and 2.0 contexts renders 16-bit floating-point color buffers. Intl.Locale: The Intl.Locale API parses Unicode locale identifiers, with language, region, and script codes, such as zh-Hans-CN or en-GB. Intl.RelativeTimeFormat: The Intl.RelativeTimeFormat API creates a locale-aware formatter that turns an object representing a relative time (such as '1 day ago') into a localized string. Logical assignments: The logical AND assignment (&&=) and the logical OR assignment (||=) operators short-circuit the respective binary logical operators. Nullish coalescing: The nullish coalescing (??) and nullish coalescing assignment (??=) operators return (or assign) its right-hand side +
4年前
記事のアイキャッチ画像
August 2020 web platform update
Web Platform Monthly Updates
+August 2020 web platform updateNewly availableThe following features are newly available:String replaceAll(): The replaceAll() method of strings returns a new string where all matches of a pattern (a string or regular expression) have been substituted with a replacement string. New in ChromeThe following features are now available in Chrome:AVIF: AVIF (AV1 Image File Format) is an image format based on the AV1 video format. counter-set: The counter-set CSS property creates (and optionally sets a value for) a counter, the numbers for a series of headings or ordered list items. Logical assignments: The logical AND assignment (&&=) and the logical OR assignment (||=) operators short-circuit the respective binary logical operators. Nullish coalescing: The nullish coalescing (??) and nullish coalescing assignment (??=) operators return (or assign) its right-hand side operand when its left-hand side operand is null or undefined, and otherwise returns its left-hand side operand. page-orientat +
5年前
記事のアイキャッチ画像
July 2020 web platform update
Web Platform Monthly Updates
+July 2020 web platform updateNewly availableThe following features are newly available:column-span: The column-span CSS property controls whether a child element extends across all columns of a multi-column parent. line-break: The line-break CSS property sets how strictly to apply rules for wrapping text to new lines, especially for symbols and punctuation. min(), max(), and clamp(): The min() and max() CSS functions return the minimum or maximum of the arguments, while clamp() clamps a value to a given range. Numeric separators: To improve readability for numeric literals, underscores (_) can be used as separators. For example, 1_050.95 is equivalent to 1050.95. Pointer Events: Pointer events, such as pointerdown, and the PointerEvent API, represent general pointing inputs, from a wide range of devices, such as a mouse, pen or stylus, or touch with one or more fingers. Not to be confused with the pointer-events CSS property. Promise.allSettled(): The Promise.allSettled() static method +
5年前
記事のアイキャッチ画像
June 2020 web platform update
Web Platform Monthly Updates
+June 2020 web platform updateNew in FirefoxThe following features are now available in Firefox:Intl.ListFormat: The Intl.ListFormat API creates a locale-aware formatter that turns iterable objects into localized strings. Preloading responsive images: The imagesrcset and imagesizes attributes with the rel="preload" attribute for the <link> HTML element starts fetching responsive images before they're found in the body of the document. :read-only and :read-write: The :read-only and :read-write CSS pseudo-classes match elements that are read-only or read-write, respectively. For example, :read-only matches <input> and <textarea> elements with the readonly attribute. String replaceAll(): The replaceAll() method of strings returns a new string where all matches of a pattern (a string or regular expression) have been substituted with a replacement string. BigInt to i64 conversion (WebAssembly): Integer values pass bidirectionally between JavaScript and WebAssembly, converted to i64 values in +
5年前
記事のアイキャッチ画像
May 2020 web platform update
Web Platform Monthly Updates
+May 2020 web platform updateWidely availableThe following features are now widely available:Spellcheck: The spellcheck global HTML attribute sets whether the browser may check an element for spelling errors. New in ChromeThe following features are now available in Chrome:contain-intrinsic-size: The contain-intrinsic-size CSS property sets the intrinsic size of an element. When using size containment, the browser will lay out the element as if it had a single child of this size. line-break: The line-break CSS property sets how strictly to apply rules for wrapping text to new lines, especially for symbols and punctuation. requestVideoFrameCallback(): The requestVideoFrameCallback() method for <video> schedules a function that runs with the next video frame. It is similar to requestAnimationFrame(), but for video. Trusted types: Trusted types allow you to lock down insecure parts of the DOM API and prevent client-side cross-site scripting (XSS) attacks. DOM overlays for WebXR: A DOM overl +
5年前
記事のアイキャッチ画像
April 2020 web platform update
Web Platform Monthly Updates
+April 2020 web platform updateNewly availableThe following features are newly available:image-orientation: The image-orientation CSS property corrects the rotation of an image using the image's metadata, such as EXIF. Widely availableThe following features are now widely available:<data>: The <data> element links a given piece of content with a machine-readable translation. Grid: CSS grid is a two-dimensional layout system, which lays content out in rows and columns. <time>: The <time> HTML element represents a time, such as a calendar date, clock time, or duration. It may include the datetime attribute to translate dates into machine-readable format. Viewport units: The vw, vh, vmin, and vmax CSS viewport units are relative to the size of the viewport, and are used to size elements in relation to the viewport's dimensions. WebAssembly: The WebAssembly.instantiate() and WebAssembly.instantiateStreaming() global static methods load WebAssembly code (also known as Wasm), a portable binar +
5年前
記事のアイキャッチ画像
March 2020 web platform update
Web Platform Monthly Updates
+March 2020 web platform updateNewly availableThe following features are newly available:display: table: The display: table CSS declaration renders an element with the box layout of a <table> HTML element. Child elements may use equivalents to <table> internal elements such as display: table-row for <tr>. dominant-baseline: The dominant-baseline CSS property sets the specific baseline used to align an elements's text and inline-level contents. font-optical-sizing: The font-optical-sizing CSS property sets whether text rendering is optimized for viewing at different sizes. Hashbang comments: The #! comment at the absolute start of a script or module is treated as a normal comment and is ignored by the JavaScript engine. Opacity (SVG): The fill-opacity, and stroke-opacity SVG attributes and CSS properties control the transparency of a stroke or fill of an SVG element. Q unit: The Q CSS length unit is an absolute length anchored to the physical measurement of quarter-millimeters. 1Q is equ +
5年前
記事のアイキャッチ画像
February 2020 web platform update
Web Platform Monthly Updates
+February 2020 web platform updateNewly availableThe following features are newly available:EXT_sRGB WebGL extension: The EXT_sRGB extension for WebGL 1.0 contexts adds sRGB support to textures and framebuffer objects. Media playback quality: The getVideoPlaybackQuality() method of HTMLVideoElement returns metrics that can be used to determine the playback quality of a video, such as how many frames were dropped. New in ChromeThe following features are now available in Chrome:Compression streams: The CompressionStream and DecompressionStream interfaces compress and decompress data using the gzip or deflate formats. Fetch metadata request headers: The Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site, and Sec-Fetch-User HTTP headers provide extra information about the way a request was made, to help servers reject certain kinds of malicious requests. JavaScript modules in shared workers: The SharedWorker() constructor accepts { type: "module" } to load scripts that use import and export. Al +
5年前
記事のアイキャッチ画像
January 2020 web platform update
Web Platform Monthly Updates
+January 2020 web platform updateNewly availableThe following features are newly available:all: The all CSS property is a shorthand for all CSS properties, except for direction and unicode-bidi. It accepts only the keywords for explicit defaulting (such as initial and inherit), since they are the only values supported on all CSS properties. Array flat() and flatMap(): The flat() and flatMap() methods for arrays creates a new array such that each nested array item is concatenated into it. Async generators: Async generator functions (async function*) create iterators that return multiple promises, one after another, on-demand. Async iterators and the for await..of loop: Asynchronous iterator objects, such as those returned by promises or generator functions, are iterable with the for await .. of loop. Autonomous custom elements: Autonomous custom elements are HTML elements with a hyphenated tag name (like <example-element>) that have behaviors you define. background-blend-mode: The backgr +
5年前
記事のアイキャッチ画像
December 2019 web platform update
Web Platform Monthly Updates
+December 2019 web platform updateNew in ChromeThe following features are now available in Chrome:font-optical-sizing: The font-optical-sizing CSS property sets whether text rendering is optimized for viewing at different sizes. min(), max(), and clamp(): The min() and max() CSS functions return the minimum or maximum of the arguments, while clamp() clamps a value to a given range. WebXR: The navigator.xr API represents the browser's virtual reality or augmented reality system. You can use to request a WebXR session. Gamepad (WebXR): The gamepad attribute of an XRInputSource represents an XR input device, such as a motion controller, that reports data from physical inputs (such as buttons, touch pads, and triggers). New in Chrome AndroidThe following features are now available in Chrome Android:font-optical-sizing: The font-optical-sizing CSS property sets whether text rendering is optimized for viewing at different sizes. min(), max(), and clamp(): The min() and max() CSS functions ret +
5年前
記事のアイキャッチ画像
October 2019 web platform update
Web Platform Monthly Updates
+October 2019 web platform updateWidely availableThe following features are now widely available:Async functions: The async and await keywords allow you to use the asynchronous, promise-based behavior of a function without using promise chains. Composition events: The compositionstart, compositionupdate, and compositionend events fire when an input method editor adds characters that might not be commonly available on keyboards. Examples of these characters are emoji, logograms in Asian languages, or input from speech recognition processors. Custom properties: Custom properties are CSS properties prefixed with -- that set values you can reuse with the var() function. For example, you can set a --key-color property to reuse as border-color: var(--key-color). Also known as CSS variables. font-feature-settings: The font-feature-settings CSS property sets low-level OpenType feature tags for a font. When possible, use font-variant instead. Outlines: The outline-color, outline-style, and outli +
5年前
記事のアイキャッチ画像
September 2019 web platform update
Web Platform Monthly Updates
+September 2019 web platform updateNewly availableThe following features are newly available:download: The download attribute for <a> elements loads the target URL as a file to be saved, instead of navigating to it. An optional attribute value sets a default file name. Intl.PluralRules: The Intl.PluralRules API creates a locale-aware object that tells you which of the language's pluralization rules apply based on a given number. Print events: An alternative to @media print queries, the beforeprint and afterprint events allow you to change the page for printing and and restore the page after printing. Sticky positioning: The position: sticky CSS declaration positions an element in the normal flow until it crosses a specified threshold, at which points it becomes fixed (stuck) at that position. touch-action: The touch-action CSS property sets whether an element on a touch screen can be panned or pinched to zoom. Widely availableThe following features are now widely available:Clipboard eve +
5年前
記事のアイキャッチ画像
August 2019 web platform update
Web Platform Monthly Updates
August 2019 web platform updateWidely availableThe following features are now widely available:Border images: The border-image CSS property draws an image around an element.
6年前
記事のアイキャッチ画像
July 2019 web platform update
Web Platform Monthly Updates
+July 2019 web platform updateNew in ChromeThe following features are now available in Chrome:Async clipboard: The navigator.clipboard API asynchronously reads and writes to the system clipboard. backdrop-filter: The backdrop-filter CSS property applies graphical effects such as blurring or color shifting to the area behind an element. beforeinstallprompt: The beforeinstallprompt event fires when a Progressive Web App (PWA) is installable, usually on page load in browsers that support installing PWAs. You can use this event to prevent the install prompt from appearing until after the user interacts with an element on the page. Event timing: The event and first-input performance entries and the PerformanceEventTiming API measures the latency of user input events, such as mouse clicks or keypresses, and the latency of the first user input. First Input Delay (FID) is a common metric for perceived responsiveness. KHR_parallel_shader_compile WebGL extension: The KHR_parallel_shader_compile e +
6年前
記事のアイキャッチ画像
June 2019 web platform update
Web Platform Monthly Updates
+June 2019 web platform updateNew in ChromeThe following features are now available in Chrome:EXT_float_blend WebGL extension: The EXT_float_blend extension for WebGL 1.0 and 2.0 contexts adds 32-bit floating-point components to blending and draw buffers. Numeric separators: To improve readability for numeric literals, underscores (_) can be used as separators. For example, 1_050.95 is equivalent to 1050.95. Bulk memory operations (WebAssembly): Bulk memory operations, such as copy and init, mirror the efficiency of native memcpy and memmove operations. Non-trapping float-to-int conversion (WebAssembly): Saturating floating-point to integer conversion operators return the maximum or minimum integer value on overflow instead of trapping. New in Chrome AndroidThe following features are now available in Chrome Android:Desynchronized 2D canvas: The optional desynchronized parameter of a canvas's getContext() method permits the browser to draw a 2D canvas independently of the event loop. Thi +
6年前
記事のアイキャッチ画像
May 2019 web platform update
Web Platform Monthly Updates
+May 2019 web platform updateNew in FirefoxThe following features are now available in Firefox:EXT_float_blend WebGL extension: The EXT_float_blend extension for WebGL 1.0 and 2.0 contexts adds 32-bit floating-point components to blending and draw buffers. Hashbang comments: The #! comment at the absolute start of a script or module is treated as a normal comment and is ignored by the JavaScript engine. prefers-color-scheme media query: The prefers-color-scheme CSS media query sets styles based on the requested color scheme, light or dark. revert: The revert CSS keyword resets any property to its previous default, provided by either the user or browser stylesheets. For example, setting display: revert on a <div> will likely result in display: block, the browser default style. This is often confused with initial. String matchAll(): The matchAll() method of strings matches a string against a regular expression and returns an iterator of all results, including capturing groups. `word-break +
6年前
記事のアイキャッチ画像
April 2019 web platform update
Web Platform Monthly Updates
+April 2019 web platform updateNew in ChromeThe following features are now available in Chrome:Background fetch: Background fetch downloads data in the background even when the web page is closed. Hashbang comments: The #! comment at the absolute start of a script or module is treated as a normal comment and is ignored by the JavaScript engine. Intersection observer visibility tracking: The trackVisibility parameter for the IntersectionObserver constructor enables tracking the visibility of an element, to detect if it may be obscured by other content or visual effects. Also known as IntersectionObserver v2. Intl.Locale: The Intl.Locale API parses Unicode locale identifiers, with language, region, and script codes, such as zh-Hans-CN or en-GB. prefers-reduced-motion media query: The prefers-reduced-motion CSS media query sets styles based on whether the user prefers to minimize the amount of non-essential animations on the device, such as scrolling, panning, zooming, and strobing. Thread +
6年前
記事のアイキャッチ画像
March 2019 web platform update
Web Platform Monthly Updates
+March 2019 web platform updateNewly availableThe following features are newly available:Abortable fetch: If you construct a fetch request with an AbortSignal, you can cancel the request. AbortController and AbortSignal: The AbortController and AbortSignal APIs allow you to cancel an ongoing operation, such as a fetch() request. Encrypted media extensions: The mediaKeys property of HTMLMediaElement and the navigator.requestMediaKeySystemAccess() method control the playback of content subject to digital rights management. Also known as EME. Intersection observer: The Intersection Observer API asynchronously observes changes in the intersection of a target element with an ancestor element or with a top-level document's viewport. Widely availableThe following features are now widely available:Array copyWithin(): The copyWithin() method of arrays and typed arrays shifts or copies items of an array to another index of the array without changing its length. Array fill(): The fill() method of +
6年前
記事のアイキャッチ画像
February 2019 web platform update
Web Platform Monthly Updates
+February 2019 web platform updateWidely availableThe following features are now widely available:Content Security Policy (CSP): Content Security Policy (CSP) helps to mitigate certain security threats, including cross-site scripting (XSS) and clickjacking attacks. It consists of a set of directives from a website to a browser, which instruct the browser to restrict the things that the site is allowed to do. OES_texture_half_float WebGL extension: The OES_texture_half_float extension for WebGL 1.0 contexts adds texture formats with 16-bit (also known as half float) and 32-bit floating-point components.
6年前
記事のアイキャッチ画像
January 2019 web platform update
Web Platform Monthly Updates
+January 2019 web platform updateNewly availableThe following features are newly available:Page breaks: In printed page layouts, the break-after, break-before, break-inside CSS properties control where printed pages start and end. Also known as pagination or page breaking. New in ChromeThe following features are now available in Chrome:Intl.ListFormat: The Intl.ListFormat API creates a locale-aware formatter that turns iterable objects into localized strings. Screen capture: The navigator.mediaDevices.getDisplayMedia() method asks the user to choose a screen or portion of a screen (such as a window) to capture as a media stream. User activation: The navigator.userActivation API reveals whether the user has interacted with the page through an "activation" gesture such as a click, tap, or key press. User activation gated APIs (such as the fullscreen API) fail without user interaction, and this API allows you to predict such a failure. New in Chrome AndroidThe following features are now av +
6年前
記事のアイキャッチ画像
December 2018 web platform update
Web Platform Monthly Updates
+December 2018 web platform updateNewly availableThe following features are newly available:Constraint validation API: Methods that validate form controls before submission, such as checkValidity(), reportValidity() and setCustomValidity(). Interaction media queries: The pointer, any-pointer, hover, and any-hover CSS media queries set styles based on the presence of pointing devices and their ability to hover over elements. For example, most smartphones match the (hover: none) and (pointer: coarse) media query. Widely availableThe following features are now widely available:ANGLE_instanced_arrays WebGL extension: The ANGLE_instanced_arrays extension for WebGL 1.0 contexts draws the same object multiple times or groups of similar objects multiple times, if the group shares the same vertex data, primitive count and type. EXT_texture_filter_anisotropic WebGL extension: The EXT_texture_filter_anisotropic extension for WebGL 1.0 and 2.0 contexts adds anisotropic filtering (AF). AF improves t +
6年前
記事のアイキャッチ画像
October 2018 web platform update
Web Platform Monthly Updates
+October 2018 web platform updateNewly availableThe following features are newly available:<meter>: The <meter> element represents a scalar value within a known range or a fractional value, typically shown as a progress bar. <output>: The <output> element represents the result of a calculation, user action, or form entry. overflow-wrap: The overflow-wrap CSS property breaks a line of text onto multiple lines inside the targeted element in an otherwise unbreakable place to prevent overflow. The legacy property is word-wrap. Promise finally(): The promise finally() method executes a function when the promise settles (resolves or rejects). resolution media query (compatibility prefixes): The -webkit-device-pixel-ratio, -webkit-min-device-pixel-ratio, and -webkit-max-device-pixel-ratio CSS media queries are standardized compatibility alternatives to resolution media queries. tabindex: The tabindex HTML attribute make an element focusable, and sets the element's relative ordering for sequent +
6年前
記事のアイキャッチ画像
September 2018 web platform update
Web Platform Monthly Updates
+September 2018 web platform updateNewly availableThe following features are newly available:font-variation-settings: The font-variation-settings CSS property sets an "axis of variability" on a variable font, such as weight, optical size, or a custom axis defined by the typeface designer. When possible, use other CSS font properties, such as font-weight: bold. Also known as variable fonts. Speech synthesis: The SpeechSynthesis API converts text to speech with artificial voices. Widely availableThe following features are now widely available:Classes: Classes are an object-oriented syntax for JavaScript prototypes. DOMParser: The DOMParser API parses XML or HTML source code from a string into a DOM Document. <picture>: The <picture> element is used for art direction in responsive images, where a different image is displayed based on the <source> element. unset: The unset keyword resets any CSS property, removing any values previously set by the author, user, or browser. Inherited properti +
6年前
記事のアイキャッチ画像
July 2018 web platform update
Web Platform Monthly Updates
+July 2018 web platform updateNew in ChromeThe following features are now available in Chrome:Cursor styles: The cursor CSS property styles the pointer, allowing you to provide hints to the user on how to interact with the hovered element. Gamepad haptic feedback: The gamepad.vibrationActuator property represents a gamepad's haptics hardware, which allows you to control the vibration motors in a gamepad. Keyboard lock: The navigator.keyboard.lock() API allows you to capture keys that are normally reserved by the operating system. It can be used to provide an immersive fullscreen experience such as games. Page lifecycle: The page lifecycle API helps you safely handle page suspensions or discards from memory. The freeze and resume events fire when the browser suspends or resumes a page from memory while the document.wasDiscarded property reports whether the page was reloaded after being dropped. resolution media query: The resolution CSS media query sets styles based on the pixel density, +
7年前
記事のアイキャッチ画像
June 2018 web platform update
Web Platform Monthly Updates
+June 2018 web platform updateNew in FirefoxThe following features are now available in Firefox:Server timing: The serverTiming property of the PerformanceResourceTiming API contains server timing information about network requests. String trimStart() and trimEnd(): The trimStart() and trimEnd() methods of strings return a new string with whitespace removed from the beginning or end of the string. New in Firefox for AndroidThe following features are now available in Firefox for Android:Server timing: The serverTiming property of the PerformanceResourceTiming API contains server timing information about network requests. String trimStart() and trimEnd(): The trimStart() and trimEnd() methods of strings return a new string with whitespace removed from the beginning or end of the string.
7年前
記事のアイキャッチ画像
May 2018 web platform update
Web Platform Monthly Updates
+May 2018 web platform updateNewly availableThe following features are newly available:Array iterators: Arrays are iterable with the for … of statement and enumerable with the methods entries(), keys(), and values(). JavaScript modules: JavaScript modules allow code to be organized into reusable units. Modules use import to load other modules and export to declare what is available to import from other modules. In HTML, modules are loaded with <script type="module">. Widely availableThe following features are now widely available:initial: The initial keyword resets any CSS property to its initial value as defined by the specification. For example, the initial value of the display property is inline, regardless of the element being styled. Not to be confused with revert, which resets to the user or browser default style. <template>: The <template> HTML element holds HTML fragments which you can clone and insert into the document using JavaScript. New in ChromeThe following features are n +
7年前
記事のアイキャッチ画像
April 2018 web platform update
Web Platform Monthly Updates
+April 2018 web platform updateNewly availableThe following features are newly available:Beacons: The navigator.sendBeacon() method asynchronously sends an HTTP POST request with a limited amount of data, typically for app state, events, and analytics data. The one-way beacon is guaranteed to be initiated before the browser unloads the page, but the sender does not get to handle the response. EXT_blend_minmax WebGL extension: The EXT_blend_minmax extension for WebGL 1.0 contexts adds two blend equations, the minimum and maximum color components of the source and destination colors. OES_vertex_array_object WebGL extension: The OES_vertex_array_object extension for WebGL 1.0 contexts adds vertex array objects (VAOs) which encapsulate vertex array states. These objects keep pointers to vertex data and names for different sets of vertex data. Service workers: The service worker of a website is a script that runs in its own thread and which acts as local proxy that intercepts network request +
7年前
記事のアイキャッチ画像
March 2018 web platform update
Web Platform Monthly Updates
+March 2018 web platform updateWidely availableThe following features are now widely available:Animations (CSS): The animation CSS property animates an element's style over time, using keyframes described in @keyframes rules. Channel messaging: Channel messaging communicates one-to-one between browsing contexts on the same origin, such as between <iframe> elements or two documents using a shared worker. CSS object model: The CSS object model API reads, creates, and modifies CSS stylesheets and inline styles. Also known as CSSOM. Flexbox: Flexbox is a one-dimensional layout system, which places content either horizontally or vertically, with optional wrapping. HTTP/2: The HTTP/2 protocol is a major revision of the HTTP network protocol, providing improved performance and efficiency by using a single TCP connection to send multiple streams of data at once. Performance: The performance global object and the Performance API provide access to performance-related information for the current e +
7年前
記事のアイキャッチ画像
January 2018 web platform update
Web Platform Monthly Updates
+January 2018 web platform updateWidely availableThe following features are now widely available:<a>: The <a> element creates a hyperlink to any resource that's accessible via a URL, such as web pages, files, email addresses, or locations within the same page. <abbr>: The <abbr> HTML element represents an abbreviation or acronym. Absolute positioning: The position: absolute CSS declaration removes an element from the normal flow and positions it relative to its containing block, which is often the root element, or closest positioned ancestor. Accesskey: The accessKey global HTML attribute gives a hint for generating a keyboard shortcut for the current element. The attribute value must consist of a single printable character. <address>: The <address> element represents contact information for a person or people, or for an organization. Alerts: The window.alert(), window.confirm(), and window.prompt() methods open modal dialogs for notifying the user, asking for confirmation, or entering +
7年前
記事のアイキャッチ画像
December 2017 web platform update
Web Platform Monthly Updates
+December 2017 web platform updateNew in ChromeThe following features are now available in Chrome:Async generators: Async generator functions (async function*) create iterators that return multiple promises, one after another, on-demand. Async iterators and the for await..of loop: Asynchronous iterator objects, such as those returned by promises or generator functions, are iterable with the for await .. of loop. EXT_color_buffer_half_float WebGL extension: The EXT_color_buffer_half_float extension for WebGL 1.0 and 2.0 contexts renders 16-bit floating-point color buffers. font-variant-east-asian: The font-variant-east-asian CSS property controls glyph substitution and sizing in East Asian text. Intl.PluralRules: The Intl.PluralRules API creates a locale-aware object that tells you which of the language's pluralization rules apply based on a given number. overscroll-behavior: The overscroll-behavior CSS property disables default scrolling behaviors when the edges of a scrolling area are +
7年前
記事のアイキャッチ画像
November 2017 web platform update
Web Platform Monthly Updates
+November 2017 web platform updateNewly availableThe following features are newly available:Spellcheck: The spellcheck global HTML attribute sets whether the browser may check an element for spelling errors. New in FirefoxThe following features are now available in Firefox:Abortable fetch: If you construct a fetch request with an AbortSignal, you can cancel the request. AbortController and AbortSignal: The AbortController and AbortSignal APIs allow you to cancel an ongoing operation, such as a fetch() request. Async iterators and the for await..of loop: Asynchronous iterator objects, such as those returned by promises or generator functions, are iterable with the for await .. of loop. Date and time <input> types: The <input type="date"> and <input type="time"> HTML elements show date and time pickers. Storage manager: The navigator.storage API provides information about the availability and persistence of the data that a site stores on the device, by using APIs such as the Cache API or +
7年前
記事のアイキャッチ画像
October 2017 web platform update
Web Platform Monthly Updates
+October 2017 web platform updateNewly availableThe following features are newly available:<data>: The <data> element links a given piece of content with a machine-readable translation. Grid: CSS grid is a two-dimensional layout system, which lays content out in rows and columns. <time>: The <time> HTML element represents a time, such as a calendar date, clock time, or duration. It may include the datetime attribute to translate dates into machine-readable format. Viewport units: The vw, vh, vmin, and vmax CSS viewport units are relative to the size of the viewport, and are used to size elements in relation to the viewport's dimensions. WebAssembly: The WebAssembly.instantiate() and WebAssembly.instantiateStreaming() global static methods load WebAssembly code (also known as Wasm), a portable binary instruction format. New in ChromeThe following features are now available in Chrome:captureStream() for <audio> and <video>: The captureStream() method for <audio> and <video> elements retur +
7年前
記事のアイキャッチ画像
September 2017 web platform update
Web Platform Monthly Updates
+September 2017 web platform updateNewly availableThe following features are newly available:Brotli compression: Brotli is a lossless data compression algorithm. When used as a content encoding, it often provides better compression than gzip. font-stretch: The font-stretch CSS property selects a font face from a font family based on width, either by a keyword such as condensed or a percentage. Intl: The Intl API provides language sensitive string comparison, number formatting, date and time formatting, and more. Media capture: The navigator.mediaDevices.getUserMedia() API requests access to devices that produce audio or video streams, such as microphones or video cameras. Resource timing (initial support): PerformanceResourceTiming entries report when network events happen while loading a resource, such as when connections start and end. You can use this information to measure loading times. New in ChromeThe following features are now available in Chrome:CSS.supports(): The CSS.supports +
7年前
記事のアイキャッチ画像
August 2017 web platform update
Web Platform Monthly Updates
+August 2017 web platform updateNew in Chrome AndroidThe following features are now available in Chrome Android:Credential management: The navigator.credentials API provides generic storage for authentication credentials. Other credential APIs represent specific kinds of credentials, such as password or public key credentials, that the credential management API stores. Destructuring: The destructuring assignment syntax is a JavaScript expression that unpacks values from arrays, or properties from objects, into distinct variables. :focus-within: The :focus-within CSS pseudo-class matches an element if the element or any of its children are focused. font-display: The font-display CSS descriptor sets whether to show a substitute font or nothing while a font face loads. The property manages what's known as a flash of unstyled text or flash of invisible text. font-stretch: The font-stretch CSS property selects a font face from a font family based on width, either by a keyword such as condens +
8年前
記事のアイキャッチ画像
July 2017 web platform update
Web Platform Monthly Updates
+July 2017 web platform updateNew in ChromeThe following features are now available in Chrome:Credential management: The navigator.credentials API provides generic storage for authentication credentials. Other credential APIs represent specific kinds of credentials, such as password or public key credentials, that the credential management API stores. Destructuring: The destructuring assignment syntax is a JavaScript expression that unpacks values from arrays, or properties from objects, into distinct variables. :focus-within: The :focus-within CSS pseudo-class matches an element if the element or any of its children are focused. font-display: The font-display CSS descriptor sets whether to show a substitute font or nothing while a font face loads. The property manages what's known as a flash of unstyled text or flash of invisible text. font-stretch: The font-stretch CSS property selects a font face from a font family based on width, either by a keyword such as condensed or a percentage +
8年前
記事のアイキャッチ画像
June 2017 web platform update
Web Platform Monthly Updates
+June 2017 web platform updateNew in Chrome AndroidThe following features are now available in Chrome Android:background-blend-mode: The background-blend-mode CSS property blends an element's background image and background color using blend modes like multiply, difference, or color. New in FirefoxThe following features are now available in Firefox:shapes: The circle(), ellipse(), inset(), polygon(), rect(), and xywh() CSS shape functions create shapes for use with clip-path and shape-outside. New in Firefox for AndroidThe following features are now available in Firefox for Android:background-blend-mode: The background-blend-mode CSS property blends an element's background image and background color using blend modes like multiply, difference, or color. shapes: The circle(), ellipse(), inset(), polygon(), rect(), and xywh() CSS shape functions create shapes for use with clip-path and shape-outside.
8年前
+
記事のアイキャッチ画像
April 2017 web platform update
Web Platform Monthly Updates
+April 2017 web platform updateNewly availableThe following features are newly available:Async functions: The async and await keywords allow you to use the asynchronous, promise-based behavior of a function without using promise chains. Composition events: The compositionstart, compositionupdate, and compositionend events fire when an input method editor adds characters that might not be commonly available on keyboards. Examples of these characters are emoji, logograms in Asian languages, or input from speech recognition processors. Custom properties: Custom properties are CSS properties prefixed with -- that set values you can reuse with the var() function. For example, you can set a --key-color property to reuse as border-color: var(--key-color). Also known as CSS variables. font-feature-settings: The font-feature-settings CSS property sets low-level OpenType feature tags for a font. When possible, use font-variant instead. Outlines: The outline-color, outline-style, and outline-width +
8年前
記事のアイキャッチ画像
March 2017 web platform update
Web Platform Monthly Updates
+March 2017 web platform updateNewly availableThe following features are newly available:Clipboard events: The "copy", "cut", and "paste" events fire on elements when the user starts an action with the clipboard. column-fill: The column-fill CSS property sets the distribution of content across columns in a multi-column layout. Exponentiation operator: The exponentiation (**) operator returns the result of raising the first operand to the power of the second operand. Fetch: The fetch() method makes asynchronous HTTP requests. Gamepad: The navigator.getGamepads() API accesses and responds to signals from game controllers. <input type="range">: The <input type="range"> element represents a slider for choosing an inexact value between a minimum and maximum value. Multi-column layout: Multi-column layout flows an element's content across one or more columns in a single row, without affecting the display property of its children. Selection: The Selection API controls and modifies user text se +
8年前
記事のアイキャッチ画像
February 2017 web platform update
Web Platform Monthly Updates
+February 2017 web platform updateNewly availableThe following features are newly available:Border images: The border-image CSS property draws an image around an element. New in Chrome AndroidThe following features are now available in Chrome Android:EXT_color_buffer_float WebGL extension: The EXT_color_buffer_float extension for WebGL 2.0 contexts adds color-renderable floating point formats to renderbufferStorage(). System font: The font-family: system-ui CSS declaration uses the operating system default font for text. overflow-anchor: The overflow-anchor CSS property sets an element as a possible scroll anchor, reducing unintended scrolling when document changes occur above the current scrollport. This is enabled by default where supported. PerformanceTiming and PerformanceNavigation: The window.performance.timing and window.performance.navigation APIs report performance timing information for events that occur during the loading and use of the current page. Remote playback: The Remo +
8年前
記事のアイキャッチ画像
January 2017 web platform update
Web Platform Monthly Updates
+January 2017 web platform updateNew in ChromeThe following features are now available in Chrome:Border images: The border-image CSS property draws an image around an element. EXT_color_buffer_float WebGL extension: The EXT_color_buffer_float extension for WebGL 2.0 contexts adds color-renderable floating point formats to renderbufferStorage(). System font: The font-family: system-ui CSS declaration uses the operating system default font for text. overflow-anchor: The overflow-anchor CSS property sets an element as a possible scroll anchor, reducing unintended scrolling when document changes occur above the current scrollport. This is enabled by default where supported. PerformanceTiming and PerformanceNavigation: The window.performance.timing and window.performance.navigation APIs report performance timing information for events that occur during the loading and use of the current page. Sticky positioning: The position: sticky CSS declaration positions an element in the normal flow unt +
8年前
記事のアイキャッチ画像
December 2016 web platform update
Web Platform Monthly Updates
+December 2016 web platform updateNew in ChromeThe following features are now available in Chrome:Async functions: The async and await keywords allow you to use the asynchronous, promise-based behavior of a function without using promise chains. Animatable clipping paths: The clip-path property can be animated using CSS transitions and animations. Motion path: The offset CSS property animates an element along a defined motion path. Pointer Events: Pointer events, such as pointerdown, and the PointerEvent API, represent general pointing inputs, from a wide range of devices, such as a mouse, pen or stylus, or touch with one or more fingers. Not to be confused with the pointer-events CSS property. New in Chrome AndroidThe following features are now available in Chrome Android:Async functions: The async and await keywords allow you to use the asynchronous, promise-based behavior of a function without using promise chains. Animatable clipping paths: The clip-path property can be animated usi +
8年前
記事のアイキャッチ画像
November 2016 web platform update
Web Platform Monthly Updates
+November 2016 web platform updateNew in FirefoxThe following features are now available in Firefox:Border images: The border-image CSS property draws an image around an element. Layout direction override: The unicode-bidi and direction CSS properties override the Unicode layout algorithm. They are intended for Document Type Definition (DTD) designers. For HTML documents, you should use the dir global HTML attribute and <bdo> HTML element instead. Link selectors: The :link CSS pseudo-class matches unvisited links, :visited matches visited links, and :any-link matches both. Pointer lock: Provides access to raw mouse movement by locking the target of mouse events to a single element and hiding the mouse cursor. New in Firefox for AndroidThe following features are now available in Firefox for Android:Border images: The border-image CSS property draws an image around an element. Layout direction override: The unicode-bidi and direction CSS properties override the Unicode layout algorithm. T +
8年前
記事のアイキャッチ画像
October 2016 web platform update
Web Platform Monthly Updates
+October 2016 web platform updateNew in ChromeThe following features are now available in Chrome:Autonomous custom elements: Autonomous custom elements are HTML elements with a hyphenated tag name (like <example-element>) that have behaviors you define. BroadcastChannel: The BroadcastChannel API allows you to send messages between same-origin browsing contexts, such as between the same page loaded in multiple tabs. Host: The :host CSS pseudo-class selects the containing element of the shadow tree in which it is used. The :host() CSS pseudo-class selects the that element only if it matches the provided selector. host-context: The :host-context() CSS pseudo-class selects the containing element of the shadow tree in which it is used if that element or an ancestor matches the provided selector. Resource size: The decodedBodySize, encodedBodySize, and transferSize properties of the PerformanceResourceTiming API reports the size of resources loaded. text-size-adjust: The text-size-adjust CSS +
8年前
記事のアイキャッチ画像
September 2016 web platform update
Web Platform Monthly Updates
+September 2016 web platform updateNewly availableThe following features are newly available:Array copyWithin(): The copyWithin() method of arrays and typed arrays shifts or copies items of an array to another index of the array without changing its length. Array fill(): The fill() method of arrays and typed arrays sets all or some items of an array to a given a value. Array find() and findIndex(): The find() and findIndex() methods of arrays and typed arrays search an array for the first item that satisfies a test function. Array.from(): The Array.from() and typed array .from() static methods copy items from an iterable or array-like object to make a new array. Array includes(): The includes() method of arrays and typed arrays returns whether a given value appears in the array. Array.of(): The Array.of() and typed array .of() static methods create new arrays from the values of any number of arguments. background-repeat: The background-repeat CSS property sets how a background image is +
8年前
記事のアイキャッチ画像
August 2016 web platform update
Web Platform Monthly Updates
+August 2016 web platform updateNewly availableThe following features are newly available:Content Security Policy (CSP): Content Security Policy (CSP) helps to mitigate certain security threats, including cross-site scripting (XSS) and clickjacking attacks. It consists of a set of directives from a website to a browser, which instruct the browser to restrict the things that the site is allowed to do. OES_texture_half_float WebGL extension: The OES_texture_half_float extension for WebGL 1.0 contexts adds texture formats with 16-bit (also known as half float) and 32-bit floating-point components. New in ChromeThe following features are now available in Chrome:COLRv0: COLRv0 is a font format that supports multi-color glyphs. COLRv0 supports only solid colors. filter: The filter CSS property applies one or more graphic effects to an element. You can use filter functions, such as blur() and drop-shadow(), alone or combined to produce different effects. Web app manifest: A web app manifest fi +
9年前
記事のアイキャッチ画像
July 2016 web platform update
Web Platform Monthly Updates
+July 2016 web platform updateNew in ChromeThe following features are now available in Chrome:contain: The contain CSS property sets limits to the scope of styles, layout, and paint rendering for speed and efficiency. The none keyword value disables containment, strict is equivalent to contain: size layout style paint, and content is equivalent to contain: layout style paint. Layout containment: The contain: layout CSS declaration isolates the inside of an element such that it cannot affect the layout of the rest of the page or be affected by the rest of the page. This permits the browser to avoid slower layout calculations. Paint containment: The contain: paint CSS declaration prevents an element's descendants from being drawn outside the boundaries of the containing element, with any overflow clipped. This permits the browser to avoid slower painting calculations. Size containment: The contain: size CSS declaration sets an element's dimensions exclusively by its height and width prope +
9年前
記事のアイキャッチ画像
June 2016 web platform update
Web Platform Monthly Updates
+June 2016 web platform updateNewly availableThe following features are newly available:ANGLE_instanced_arrays WebGL extension: The ANGLE_instanced_arrays extension for WebGL 1.0 contexts draws the same object multiple times or groups of similar objects multiple times, if the group shares the same vertex data, primitive count and type. EXT_texture_filter_anisotropic WebGL extension: The EXT_texture_filter_anisotropic extension for WebGL 1.0 and 2.0 contexts adds anisotropic filtering (AF). AF improves the quality of mipmapped texture access when viewing a textured primitive at an oblique angle. New in Chrome AndroidThe following features are now available in Chrome Android:Brotli compression: Brotli is a lossless data compression algorithm. When used as a content encoding, it often provides better compression than gzip. captureStream() for <canvas>: The captureStream() method for <canvas> elements returns a MediaStream which includes a CanvasCaptureMediaStreamTrack representing real-tim +
9年前
記事のアイキャッチ画像
May 2016 web platform update
Web Platform Monthly Updates
+May 2016 web platform updateNew in ChromeThe following features are now available in Chrome:captureStream() for <canvas>: The captureStream() method for <canvas> elements returns a MediaStream which includes a CanvasCaptureMediaStreamTrack representing real-time video of the canvas image. You can use this to record the canvas, or send it elsewhere, such as another canvas or WebRTC connection. contenteditable="plaintext-only": The contenteditable="plaintext-only" global HTML attribute allows the user to edit the content of an element, but prevents rich-text formatting. Federated credentials: The FederatedCredential API represents the details required to authenticate a user using a third-party identity provider. Not to be confused with federated credential management (FedCM).
9年前
記事のアイキャッチ画像
April 2016 web platform update
Web Platform Monthly Updates
+April 2016 web platform updateNew in ChromeThe following features are now available in Chrome:Brotli compression: Brotli is a lossless data compression algorithm. When used as a content encoding, it often provides better compression than gzip. column-fill: The column-fill CSS property sets the distribution of content across columns in a multi-column layout. column-span: The column-span CSS property controls whether a child element extends across all columns of a multi-column parent. <link rel="preload">: The rel="preload" attribute for the <link> HTML element requests resources, such as images or style sheets, that the page needs soon, so the browser may prioritize them for loading before rendering begins. Multi-column layout: Multi-column layout flows an element's content across one or more columns in a single row, without affecting the display property of its children. Page breaks: In printed page layouts, the break-after, break-before, break-inside CSS properties control where print +
9年前
記事のアイキャッチ画像
March 2016 web platform update
Web Platform Monthly Updates
+March 2016 web platform updateNewly availableThe following features are newly available:Classes: Classes are an object-oriented syntax for JavaScript prototypes. DOMParser: The DOMParser API parses XML or HTML source code from a string into a DOM Document. <picture>: The <picture> element is used for art direction in responsive images, where a different image is displayed based on the <source> element. unset: The unset keyword resets any CSS property, removing any values previously set by the author, user, or browser. Inherited properties (like color) reset to the parent element's computed value. Non-inherited properties (like display) reset to the specified initial value (inline). New in ChromeThe following features are now available in Chrome:Background sync: The background synchronization API registers a service worker callback to run only when the device is no longer offline. You can use this to let users continue using your app while offline and synchronize with a server after rec +
9年前
記事のアイキャッチ画像
January 2016 web platform update
Web Platform Monthly Updates
+January 2016 web platform updateNew in ChromeThe following features are now available in Chrome:font-feature-settings: The font-feature-settings CSS property sets low-level OpenType feature tags for a font. When possible, use font-variant instead. Layout direction override: The unicode-bidi and direction CSS properties override the Unicode layout algorithm. They are intended for Document Type Definition (DTD) designers. For HTML documents, you should use the dir global HTML attribute and <bdo> HTML element instead. text-combine-upright: The text-combine-upright CSS property displays multiple characters in the space of a single character in vertical text. This is used in East Asian documents to display Latin-based strings such as components of a date or letters of an initialism. text-orientation: The text-orientation CSS property sets the how text is typeset within a line when the writing mode is vertical. writing-mode: The writing-mode CSS property sets whether text is laid out horizon +
9年前
記事のアイキャッチ画像
December 2015 web platform update
Web Platform Monthly Updates
+December 2015 web platform updateNew in ChromeThe following features are now available in Chrome:Array includes(): The includes() method of arrays and typed arrays returns whether a given value appears in the array. :placeholder-shown: The :placeholder-shown CSS pseudo-element selects <input> and <textarea> elements when no value is set and the element's placeholder attribute is not empty. Not to be confused with ::placeholder, which selects the placeholder text itself. Presentation API: The Presentation API shows or controls content on another display, such as a network-connected TV or projector. requestIdleCallback(): The requestIdleCallback() API queues a function that runs in idle browser time, either at the end of a frame or when the user is inactive. Also known as the background tasks API. text-align-last: The text-align-last CSS property sets the alignment of the last line of text before a forced line break. WEBGL_compressed_texture_astc WebGL extension: The WEBGL_compressed_tex +
9年前
記事のアイキャッチ画像
November 2015 web platform update
Web Platform Monthly Updates
+November 2015 web platform updateNewly availableThe following features are newly available:initial: The initial keyword resets any CSS property to its initial value as defined by the specification. For example, the initial value of the display property is inline, regardless of the element being styled. Not to be confused with revert, which resets to the user or browser default style. <template>: The <template> HTML element holds HTML fragments which you can clone and insert into the document using JavaScript. New in EdgeThe following features are now available in Edge:Classes: Classes are an object-oriented syntax for JavaScript prototypes. Encrypted media extensions: The mediaKeys property of HTMLMediaElement and the navigator.requestMediaKeySystemAccess() method control the playback of content subject to digital rights management. Also known as EME. Generators: Generator functions (function*) create iterators that return multiple values, one after another, on-demand. <picture>: The < +
9年前
記事のアイキャッチ画像
October 2015 web platform update
Web Platform Monthly Updates
+October 2015 web platform updateNew in ChromeThe following features are now available in Chrome:CSS.escape(): The CSS.escape() static method escapes a string so that it can be used in a valid CSS selector. fit-content: The fit-content CSS keyword expands a box as needed to fit its contents until the maximum size is reached, preserving the content's preferred aspect ratio. <link rel="dns-prefetch">: The rel="dns-prefetch" attribute for the <link> HTML element is a hint to the browser that the page or user is likely to request resources from another domain, so the browser should preemptively resolve DNS for the href value's domain. <link rel="preconnect">: The rel="preconnect" attribute for the <link> HTML element is a hint to the browser that the page or user is likely to request resources from another origin, so the browser should preemptively start a connection to the href value's origin. min-content and max-content: The min-content and max-content CSS keywords represent the smallest +
9年前
記事のアイキャッチ画像
September 2015 web platform update
Web Platform Monthly Updates
+September 2015 web platform updateNewly availableThe following features are newly available:Animations (CSS): The animation CSS property animates an element's style over time, using keyframes described in @keyframes rules. Channel messaging: Channel messaging communicates one-to-one between browsing contexts on the same origin, such as between <iframe> elements or two documents using a shared worker. CSS object model: The CSS object model API reads, creates, and modifies CSS stylesheets and inline styles. Also known as CSSOM. Flexbox: Flexbox is a one-dimensional layout system, which places content either horizontally or vertically, with optional wrapping. HTTP/2: The HTTP/2 protocol is a major revision of the HTTP network protocol, providing improved performance and efficiency by using a single TCP connection to send multiple streams of data at once. Performance: The performance global object and the Performance API provide access to performance-related information for the current exe +
9年前
記事のアイキャッチ画像
August 2015 web platform update
Web Platform Monthly Updates
+August 2015 web platform updateNew in FirefoxThe following features are now available in Firefox:String includes(): The includes() method of strings returns whether a search string appears within the string. Unicode point escapes: Unicode point escapes (\\u{}) represent Unicode characters within strings. New in Firefox for AndroidThe following features are now available in Firefox for Android:String includes(): The includes() method of strings returns whether a search string appears within the string. Unicode point escapes: Unicode point escapes (\\u{}) represent Unicode characters within strings.
10年前
記事のアイキャッチ画像
July 2015 web platform update
Web Platform Monthly Updates
+July 2015 web platform updateNewly availableThe following features are newly available:<a>: The <a> element creates a hyperlink to any resource that's accessible via a URL, such as web pages, files, email addresses, or locations within the same page. <abbr>: The <abbr> HTML element represents an abbreviation or acronym. Absolute positioning: The position: absolute CSS declaration removes an element from the normal flow and positions it relative to its containing block, which is often the root element, or closest positioned ancestor. Accesskey: The accessKey global HTML attribute gives a hint for generating a keyboard shortcut for the current element. The attribute value must consist of a single printable character. <address>: The <address> element represents contact information for a person or people, or for an organization. Alerts: The window.alert(), window.confirm(), and window.prompt() methods open modal dialogs for notifying the user, asking for confirmation, or entering text. Arr +
10年前
記事のアイキャッチ画像
May 2015 web platform update
Web Platform Monthly Updates
+May 2015 web platform updateNew in ChromeThe following features are now available in Chrome:Animations (CSS): The animation CSS property animates an element's style over time, using keyframes described in @keyframes rules. document.elementFromPoint() and document.elementsFromPoint(): The document.elementFromPoint() and document.elementsFromPoint() methods find the top-most element at a given point in the viewport, or all elements at a given point in the viewport, respectively. Web MIDI: The Web MIDI API enables selecting MIDI input and output devices and sending and receiving MIDI messages. New in Chrome AndroidThe following features are now available in Chrome Android:Animations (CSS): The animation CSS property animates an element's style over time, using keyframes described in @keyframes rules. document.elementFromPoint() and document.elementsFromPoint(): The document.elementFromPoint() and document.elementsFromPoint() methods find the top-most element at a given point in the viewpo +
10年前
記事のアイキャッチ画像
April 2015 web platform update
Web Platform Monthly Updates
+April 2015 web platform updateNew in ChromeThe following features are now available in Chrome:Classes: Classes are an object-oriented syntax for JavaScript prototypes. Encrypted media extensions: The mediaKeys property of HTMLMediaElement and the navigator.requestMediaKeySystemAccess() method control the playback of content subject to digital rights management. Also known as EME. Fetch: The fetch() method makes asynchronous HTTP requests. tab-size: The tab-size CSS property sets the width of the tab character. New in Chrome AndroidThe following features are now available in Chrome Android:Beacons: The navigator.sendBeacon() method asynchronously sends an HTTP POST request with a limited amount of data, typically for app state, events, and analytics data. The one-way beacon is guaranteed to be initiated before the browser unloads the page, but the sender does not get to handle the response. Classes: Classes are an object-oriented syntax for JavaScript prototypes. Encrypted media extensi +
10年前
記事のアイキャッチ画像
March 2015 web platform update
Web Platform Monthly Updates
+March 2015 web platform updateNew in ChromeThe following features are now available in Chrome:Clipboard events: The "copy", "cut", and "paste" events fire on elements when the user starts an action with the clipboard. HTTP/2: The HTTP/2 protocol is a major revision of the HTTP network protocol, providing improved performance and efficiency by using a single TCP connection to send multiple streams of data at once. image-rendering: The image-rendering CSS property sets how images are scaled, retaining smoothness for photos, or hard edges for pixel art and QR codes. Interaction media queries: The pointer, any-pointer, hover, and any-hover CSS media queries set styles based on the presence of pointing devices and their ability to hover over elements. For example, most smartphones match the (hover: none) and (pointer: coarse) media query. isolation: The isolation CSS property creates a new stacking context, which impacts z-index ordering and blend modes. mix-blend-mode: The mix-blend-mode C +
10年前
記事のアイキャッチ画像
February 2015 web platform update
Web Platform Monthly Updates
+February 2015 web platform updateNew in FirefoxThe following features are now available in Firefox:HTTP/2: The HTTP/2 protocol is a major revision of the HTTP network protocol, providing improved performance and efficiency by using a single TCP connection to send multiple streams of data at once. isolation: The isolation CSS property creates a new stacking context, which impacts z-index ordering and blend modes. Media capture: The navigator.mediaDevices.getUserMedia() API requests access to devices that produce audio or video streams, such as microphones or video cameras. object-fit: The object-fit CSS property sets how images, videos, and other replaced elements are scaled within their container. object-position: The object-position CSS property places images, videos, and other replaced elements within their boxes. scroll-behavior: The scroll-behavior CSS property controls whether scrolling is smooth or snaps, for scroll actions not performed by the user such as those triggered by nav +
10年前
記事のアイキャッチ画像
January 2015 web platform update
Web Platform Monthly Updates
+January 2015 web platform updateNew in ChromeThe following features are now available in Chrome:Constraint validation API: Methods that validate form controls before submission, such as checkValidity(), reportValidity() and setCustomValidity(). EXT_sRGB WebGL extension: The EXT_sRGB extension for WebGL 1.0 contexts adds sRGB support to textures and framebuffer objects. New in Chrome AndroidThe following features are now available in Chrome Android:Constraint validation API: Methods that validate form controls before submission, such as checkValidity(), reportValidity() and setCustomValidity(). EXT_sRGB WebGL extension: The EXT_sRGB extension for WebGL 1.0 contexts adds sRGB support to textures and framebuffer objects. New in FirefoxThe following features are now available in Firefox:filter: The filter CSS property applies one or more graphic effects to an element. You can use filter functions, such as blur() and drop-shadow(), alone or combined to produce different effects. mask-type: +
10年前
記事のアイキャッチ画像
December 2014 web platform update
Web Platform Monthly Updates
+December 2014 web platform updateNew in FirefoxThe following features are now available in Firefox:Array copyWithin(): The copyWithin() method of arrays and typed arrays shifts or copies items of an array to another index of the array without changing its length. font-feature-settings: The font-feature-settings CSS property sets low-level OpenType feature tags for a font. When possible, use font-variant instead. font-language-override: The font-language-override CSS property sets which language-specific glyphs are displayed. font-synthesis: The font-synthesis CSS shorthand property disables all font synthesis except the given kinds. To disable a specific kind of font synthesis, instead use the longhand properties such as font-synthesis-style and font-synthesis-weight. font-variant-alternates: The font-variant-alternates CSS property, along with the @font-feature-values at-rule, chooses when to use a font's alternate glyphs. font-variant-caps: The font-variant-caps CSS property sets whe +
10年前
記事のアイキャッチ画像
November 2014 web platform update
Web Platform Monthly Updates
+November 2014 web platform updateNew in ChromeThe following features are now available in Chrome:Beacons: The navigator.sendBeacon() method asynchronously sends an HTTP POST request with a limited amount of data, typically for app state, events, and analytics data. The one-way beacon is guaranteed to be initiated before the browser unloads the page, but the sender does not get to handle the response. Generators: Generator functions (function*) create iterators that return multiple values, one after another, on-demand. :indeterminate: The :indeterminate CSS pseudo-class selects any form element whose state is indeterminate, such as checkboxes that have been set to an indeterminate state with JavaScript, or radio buttons which are members of a group in which all radio buttons are unchecked. New in Chrome AndroidThe following features are now available in Chrome Android:Generators: Generator functions (function*) create iterators that return multiple values, one after another, on-demand. +
10年前
記事のアイキャッチ画像
October 2014 web platform update
Web Platform Monthly Updates
+October 2014 web platform updateNew in ChromeThe following features are now available in Chrome:Battery status: The navigator.getBattery() API obtains information about the device's battery, including charge level and status. Also known as the Battery API. EXT_blend_minmax WebGL extension: The EXT_blend_minmax extension for WebGL 1.0 contexts adds two blend equations, the minimum and maximum color components of the source and destination colors. EXT_frag_depth WebGL extension: The EXT_frag_depth extension for WebGL 1.0 and 2.0 contexts adds setting the depth value of a fragment from within the fragment shader. EXT_shader_texture_lod WebGL extension: The EXT_shader_texture_lod extension for WebGL 1.0 and 2.0 contexts adds texture functions to the OpenGL ES Shading Language such that the shader writer explicitly controls of the level of detail (LOD). File API: The File API represents and reads from file data and metadata. Typically, you get files through other APIs, such as the <input ty +
10年前
記事のアイキャッチ画像
September 2014 web platform update
Web Platform Monthly Updates
+September 2014 web platform updateNew in Chrome AndroidThe following features are now available in Chrome Android:all: The all CSS property is a shorthand for all CSS properties, except for direction and unicode-bidi. It accepts only the keywords for explicit defaulting (such as initial and inherit), since they are the only values supported on all CSS properties. ::backdrop: The ::backdrop CSS pseudo-element is a box underneath an element in the top layer, such as a <dialog>. It can be used to create obscuring effects distinguishing a modal element from the elements underneath. <dialog>: The <dialog> HTML element represents a modal or non-modal dialog box, such as a confirmation prompt or a subwindow used to enter data. hardwareConcurrency: The navigator.hardwareConcurrency read-only property returns the number of logical processors available to run threads on the user's computer. Pointer lock: Provides access to raw mouse movement by locking the target of mouse events to a single elem +
10年前
記事のアイキャッチ画像
August 2014 web platform update
Web Platform Monthly Updates
+August 2014 web platform updateNew in ChromeThe following features are now available in Chrome:all: The all CSS property is a shorthand for all CSS properties, except for direction and unicode-bidi. It accepts only the keywords for explicit defaulting (such as initial and inherit), since they are the only values supported on all CSS properties. ::backdrop: The ::backdrop CSS pseudo-element is a box underneath an element in the top layer, such as a <dialog>. It can be used to create obscuring effects distinguishing a modal element from the elements underneath. <dialog>: The <dialog> HTML element represents a modal or non-modal dialog box, such as a confirmation prompt or a subwindow used to enter data. hardwareConcurrency: The navigator.hardwareConcurrency read-only property returns the number of logical processors available to run threads on the user's computer. Pointer lock: Provides access to raw mouse movement by locking the target of mouse events to a single element and hiding the +
11年前
記事のアイキャッチ画像
July 2014 web platform update
Web Platform Monthly Updates
+July 2014 web platform updateNew in ChromeThe following features are now available in Chrome:@font-face: The @font-face CSS at-rule creates a custom font-family value. The at-rule's descriptors set the font's name, source, and various display settings. touch-action: The touch-action CSS property sets whether an element on a touch screen can be panned or pinched to zoom. 2D transforms: The transform CSS property and its 2D transform functions allow rotating, scaling, skewing, and translating an element. Arbitrary 2D transforms are also possible using a transformation matrix. 3D transforms: The transform CSS property and its 3D transform functions allow rotations and other transforms in three dimensions, including perspective transforms. WeakMap: A WeakMap object holds key-value pairs that do not create strong references to its keys, such that value data can be associated with a key without preventing garbage collection of the key. WeakSet: A WeakSet object stores unique values of any ty +
11年前
記事のアイキャッチ画像
June 2014 web platform update
Web Platform Monthly Updates
+June 2014 web platform updateNew in FirefoxThe following features are now available in Firefox:background-blend-mode: The background-blend-mode CSS property blends an element's background image and background color using blend modes like multiply, difference, or color. 2D canvas opacity: The optional alpha parameter of a 2D canvas's getContext() method sets whether the canvas has an alpha transparency channel. If set to false, then this permits the browser to optimize compositing for an opaque canvas. OES_texture_half_float_linear WebGL extension: The OES_texture_half_float_linear extension for WebGL 1.0 contexts adds linear filtering with half floating-point pixel types for textures. WEBGL_color_buffer_float WebGL extension: The WEBGL_color_buffer_float extension for WebGL 1.0 contexts adds the 32-bit floating-point type RGBA32F as a color-renderable format. New in Firefox for AndroidThe following features are now available in Firefox for Android:2D canvas opacity: The optional alpha +
11年前
記事のアイキャッチ画像
May 2014 web platform update
Web Platform Monthly Updates
+May 2014 web platform updateNew in ChromeThe following features are now available in Chrome:background-blend-mode: The background-blend-mode CSS property blends an element's background image and background color using blend modes like multiply, difference, or color. Font loading: The document.fonts API dynamically loads custom fonts and tracks when fonts are loading or ready to use. Gamepad: The navigator.getGamepads() API accesses and responds to signals from game controllers. OfflineAudioContext: The OfflineAudioContext API represents an audio processing graph that writes to an AudioBuffer instead of an output device. Web Audio: The Web Audio API creates graphs of audio nodes that handle sound inputs, synthesize sounds, apply effects, create visualizations, and output to audio devices. New in Chrome AndroidThe following features are now available in Chrome Android:Font loading: The document.fonts API dynamically loads custom fonts and tracks when fonts are loading or ready to use. Ga +
11年前
記事のアイキャッチ画像
April 2014 web platform update
Web Platform Monthly Updates
+April 2014 web platform updateNew in ChromeThe following features are now available in Chrome:EXT_texture_filter_anisotropic WebGL extension: The EXT_texture_filter_anisotropic extension for WebGL 1.0 and 2.0 contexts adds anisotropic filtering (AF). AF improves the quality of mipmapped texture access when viewing a textured primitive at an oblique angle. font-variant-ligatures: The font-variant-ligatures CSS property sets how characters can be visually combined for readability or stylistic reasons. String normalize(): The normalize() method of strings returns a Unicode normal form of a string as a new string. More than one code point sequence can represent the same characters. You can use the normalize() method to find canonically or compatibly equivalent strings. New in Chrome AndroidThe following features are now available in Chrome Android:EXT_texture_filter_anisotropic WebGL extension: The EXT_texture_filter_anisotropic extension for WebGL 1.0 and 2.0 contexts adds anisotropic fil +
11年前
記事のアイキャッチ画像
March 2014 web platform update
Web Platform Monthly Updates
+March 2014 web platform updateNew in FirefoxThe following features are now available in Firefox:willReadFrequently: The optional willReadFrequently parameter of a canvas's getContext() method permits the browser to optimize for frequent getImageData() calls by avoiding hardware acceleration. Also known as multiple readback. File API: The File API represents and reads from file data and metadata. Typically, you get files through other APIs, such as the <input type="file"> element or drag-and-drop events. You may also send file data to other APIs, such as creating images or drawing on canvases. WEBGL_draw_buffers WebGL extension: The WEBGL_draw_buffers extension for WebGL 1.0 contexts enables a fragment shader to write to several textures, which is useful for deferred shading, for example. New in Firefox for AndroidThe following features are now available in Firefox for Android:willReadFrequently: The optional willReadFrequently parameter of a canvas's getContext() method permits the bro +
11年前
記事のアイキャッチ画像
February 2014 web platform update
Web Platform Monthly Updates
+February 2014 web platform updateNew in ChromeThe following features are now available in Chrome:font-kerning: The font-kerning CSS property sets whether kerning data from a font is used to adjust the space between letters. Page visibility: The document.visibilityState and document.hidden properties tell you whether the page is visible to the user (for example, it's not minimized or in a background tab). Speech synthesis: The SpeechSynthesis API converts text to speech with artificial voices. WEBGL_debug_renderer_info WebGL extension: The WEBGL_debug_renderer_info extension for WebGL 1.0 and 2.0 contexts exposes information about the graphics driver for debugging purposes. New in Chrome AndroidThe following features are now available in Chrome Android:font-kerning: The font-kerning CSS property sets whether kerning data from a font is used to adjust the space between letters. Page visibility: The document.visibilityState and document.hidden properties tell you whether the page is visib +
11年前
記事のアイキャッチ画像
January 2014 web platform update
Web Platform Monthly Updates
+January 2014 web platform updateNew in ChromeThe following features are now available in Chrome:ANGLE_instanced_arrays WebGL extension: The ANGLE_instanced_arrays extension for WebGL 1.0 contexts draws the same object multiple times or groups of similar objects multiple times, if the group shares the same vertex data, primitive count and type. 2D canvas opacity: The optional alpha parameter of a 2D canvas's getContext() method sets whether the canvas has an alpha transparency channel. If set to false, then this permits the browser to optimize compositing for an opaque canvas. object-fit: The object-fit CSS property sets how images, videos, and other replaced elements are scaled within their container. object-position: The object-position CSS property places images, videos, and other replaced elements within their boxes. Promise (initial support): A promise represents an asynchronous operation which eventually succeeds or fails. URL: A URL object represents a web address, like https://e +
11年前
記事のアイキャッチ画像
December 2013 web platform update
Web Platform Monthly Updates
+December 2013 web platform updateNew in FirefoxThe following features are now available in Firefox:Generators: Generator functions (function*) create iterators that return multiple values, one after another, on-demand. image-orientation: The image-orientation CSS property corrects the rotation of an image using the image's metadata, such as EXIF. New in Firefox for AndroidThe following features are now available in Firefox for Android:Generators: Generator functions (function*) create iterators that return multiple values, one after another, on-demand. image-orientation: The image-orientation CSS property corrects the rotation of an image using the image's metadata, such as EXIF.
11年前
November 2013 web platform update
Web Platform Monthly Updates
+November 2013 web platform updateNew in ChromeThe following features are now available in Chrome:Device orientation events: The DeviceMotion and DeviceOrientation events report the movement and orientation of the browser's device in physical space. Note that coordinates can differ noticeably between platforms and devices. DOMParser: The DOMParser API parses XML or HTML source code from a string into a DOM Document. Media source: The MediaSource API is a custom data source for media elements commonly used for adaptive streaming. Also known as Media Source Extensions (MSE). Wheel events: The wheel event fires when the user moves a mouse wheel or similar spatially rotating input device. New in Chrome AndroidThe following features are now available in Chrome Android:Device orientation events: The DeviceMotion and DeviceOrientation events report the movement and orientation of the browser's device in physical space. Note that coordinates can differ noticeably between platforms and devices. +
11年前
記事のアイキャッチ画像
October 2013 web platform update
Web Platform Monthly Updates
+October 2013 web platform updateNew in ChromeThe following features are now available in Chrome:background-repeat: The background-repeat CSS property sets how a background image is tiled. New in Chrome AndroidThe following features are now available in Chrome Android:ANGLE_instanced_arrays WebGL extension: The ANGLE_instanced_arrays extension for WebGL 1.0 contexts draws the same object multiple times or groups of similar objects multiple times, if the group shares the same vertex data, primitive count and type. background-repeat: The background-repeat CSS property sets how a background image is tiled. New in FirefoxThe following features are now available in Firefox:background-attachment: The background-attachment CSS property sets whether an element's background image or gradient moves as the element scrolls. srcdoc: The srcdoc attribute for the <iframe> HTML element sets a string of HTML to embed in the document. The value of srcdoc overrides loading a document from the src attribut +
11年前
記事のアイキャッチ画像
September 2013 web platform update
Web Platform Monthly Updates
+September 2013 web platform updateNew in FirefoxThe following features are now available in Firefox:Focus events: Focus events, such as focus and blur, fire when an element gets or loses focus. OES_element_index_uint WebGL extension: The OES_element_index_uint extension for WebGL 1.0 contexts adds support for gl.UNSIGNED_INT types to WebGLRenderingContext.drawElements(). OES_texture_float_linear WebGL extension: The OES_texture_float_linear extension for WebGL 1.0 and 2.0 contexts adds linear filtering with floating-point pixel types for textures. String repeat(): The repeat() method of strings returns the original string repeated a number of times. New in Firefox for AndroidThe following features are now available in Firefox for Android:Focus events: Focus events, such as focus and blur, fire when an element gets or loses focus. OES_element_index_uint WebGL extension: The OES_element_index_uint extension for WebGL 1.0 contexts adds support for gl.UNSIGNED_INT types to WebGLRenderingCo +
11年前
記事のアイキャッチ画像
August 2013 web platform update
Web Platform Monthly Updates
+August 2013 web platform updateNew in ChromeThe following features are now available in Chrome:Flexbox: Flexbox is a one-dimensional layout system, which places content either horizontally or vertically, with optional wrapping. OES_texture_float_linear WebGL extension: The OES_texture_float_linear extension for WebGL 1.0 and 2.0 contexts adds linear filtering with floating-point pixel types for textures. OES_texture_half_float_linear WebGL extension: The OES_texture_half_float_linear extension for WebGL 1.0 contexts adds linear filtering with half floating-point pixel types for textures. Resource timing (initial support): PerformanceResourceTiming entries report when network events happen while loading a resource, such as when connections start and end. You can use this information to measure loading times. New in Chrome AndroidThe following features are now available in Chrome Android:Flexbox: Flexbox is a one-dimensional layout system, which places content either horizontally or vert +
12年前
記事のアイキャッチ画像
July 2013 web platform update
Web Platform Monthly Updates
+July 2013 web platform updateNew in ChromeThe following features are now available in Chrome:CSS object model: The CSS object model API reads, creates, and modifies CSS stylesheets and inline styles. Also known as CSSOM. @supports: The @supports at-rule applies styles based on a browser's support for CSS features, such as a CSS property and value. Also known as feature queries. New in Chrome AndroidThe following features are now available in Chrome Android:calc(): The calc() CSS function computes mathematical expressions such a calc(100%/3 - 1em). CSS object model: The CSS object model API reads, creates, and modifies CSS stylesheets and inline styles. Also known as CSSOM. @supports: The @supports at-rule applies styles based on a browser's support for CSS features, such as a CSS property and value. Also known as feature queries. WEBGL_compressed_texture_pvrtc WebGL extension: The WEBGL_compressed_texture_pvrtc extension for WebGL 1.0 and 2.0 contexts adds PVRTC compressed texture form +
12年前
記事のアイキャッチ画像
June 2013 web platform update
Web Platform Monthly Updates
+June 2013 web platform updateNew in FirefoxThe following features are now available in Firefox:background-clip: The background-clip CSS property sets the extent of the background: the padding box, the content box, or the default border box. background-origin: The background-origin CSS property sets the background starting position relative to the border and padding of an element. Clipboard events: The "copy", "cut", and "paste" events fire on elements when the user starts an action with the clipboard. CSS object model: The CSS object model API reads, creates, and modifies CSS stylesheets and inline styles. Also known as CSSOM. <data>: The <data> element links a given piece of content with a machine-readable translation. Notifications: The Notification() constructor shows a message to the user, typically using the notification system of the host operating system. Notifications from service workers and installed apps: Notifications via service worker registration's showNotification() met +
12年前
記事のアイキャッチ画像
May 2013 web platform update
Web Platform Monthly Updates
+May 2013 web platform updateNew in ChromeThe following features are now available in Chrome:ch unit: The ch CSS length unit is a font-relative length based on the width of the zero (0) character. OES_texture_half_float WebGL extension: The OES_texture_half_float extension for WebGL 1.0 contexts adds texture formats with 16-bit (also known as half float) and 32-bit floating-point components. :scope (pseudo-class): The :scope CSS pseudo-class matches the scoping root, for instance the element that querySelector() is called on, or the root of a DOM subtree specified with @scope. New in Chrome AndroidThe following features are now available in Chrome Android:ch unit: The ch CSS length unit is a font-relative length based on the width of the zero (0) character. OES_texture_half_float WebGL extension: The OES_texture_half_float extension for WebGL 1.0 contexts adds texture formats with 16-bit (also known as half float) and 32-bit floating-point components. :scope (pseudo-class): The :scope C +
12年前
記事のアイキャッチ画像
April 2013 web platform update
Web Platform Monthly Updates
+April 2013 web platform updateNew in Chrome AndroidThe following features are now available in Chrome Android:Composition events: The compositionstart, compositionupdate, and compositionend events fire when an input method editor adds characters that might not be commonly available on keyboards. Examples of these characters are emoji, logograms in Asian languages, or input from speech recognition processors. Gradients: The linear-gradient() and radial-gradient() CSS functions and their repeating counterparts create backgrounds that progress smoothly between multiple colors. <main>: The <main> element represents the dominant content of a document. It is commonly used together with <header> and <footer>. MutationObserver: The MutationObserver API watches for changes to the DOM tree and calls a callback function when DOM changes occur. <template>: The <template> HTML element holds HTML fragments which you can clone and insert into the document using JavaScript. Transitions (CSS): The tran +
12年前
記事のアイキャッチ画像
March 2013 web platform update
Web Platform Monthly Updates
+March 2013 web platform updateNew in ChromeThe following features are now available in Chrome:calc(): The calc() CSS function computes mathematical expressions such a calc(100%/3 - 1em). Composition events: The compositionstart, compositionupdate, and compositionend events fire when an input method editor adds characters that might not be commonly available on keyboards. Examples of these characters are emoji, logograms in Asian languages, or input from speech recognition processors. Gradients: The linear-gradient() and radial-gradient() CSS functions and their repeating counterparts create backgrounds that progress smoothly between multiple colors. <main>: The <main> element represents the dominant content of a document. It is commonly used together with <header> and <footer>. MutationObserver: The MutationObserver API watches for changes to the DOM tree and calls a callback function when DOM changes occur. <template>: The <template> HTML element holds HTML fragments which you can clo +
12年前
記事のアイキャッチ画像
February 2013 web platform update
Web Platform Monthly Updates
+February 2013 web platform updateNew in ChromeThe following features are now available in Chrome:background-position: The background-position CSS property offsets the initial position of background images relative to the background origin. Content Security Policy (CSP): Content Security Policy (CSP) helps to mitigate certain security threats, including cross-site scripting (XSS) and clickjacking attacks. It consists of a set of directives from a website to a browser, which instruct the browser to restrict the things that the site is allowed to do. Widows and orphans: The widows and orphans CSS properties set the minimum lines included in a text fragment created by page, column, or region breaks. New in Chrome AndroidThe following features are now available in Chrome Android:background-clip: The background-clip CSS property sets the extent of the background: the padding box, the content box, or the default border box. background-origin: The background-origin CSS property sets the backgr +
12年前
記事のアイキャッチ画像
January 2013 web platform update
Web Platform Monthly Updates
+January 2013 web platform updateNew in ChromeThe following features are now available in Chrome:Intl: The Intl API provides language sensitive string comparison, number formatting, date and time formatting, and more. mask-type: The mask-type CSS property on an SVG <mask> element sets whether the mask is a luminance or alpha mask. OES_element_index_uint WebGL extension: The OES_element_index_uint extension for WebGL 1.0 contexts adds support for gl.UNSIGNED_INT types to WebGLRenderingContext.drawElements(). OES_vertex_array_object WebGL extension: The OES_vertex_array_object extension for WebGL 1.0 contexts adds vertex array objects (VAOs) which encapsulate vertex array states. These objects keep pointers to vertex data and names for different sets of vertex data. requestAnimationFrame(): The requestAnimationFrame() method schedules a function that runs before the next repaint. You can use it to animate content with JavaScript. New in FirefoxThe following features are now available in F +
12年前
記事のアイキャッチ画像
November 2012 web platform update
Web Platform Monthly Updates
+November 2012 web platform updateNew in ChromeThe following features are now available in Chrome:overflow-wrap: The overflow-wrap CSS property breaks a line of text onto multiple lines inside the targeted element in an otherwise unbreakable place to prevent overflow. The legacy property is word-wrap. Text tracks: The <track> element is used as a child of the media elements that lets you specify a timed text track to be displayed in parallel with the media element. Time-relative pseudo-selectors: The :future and :past CSS pseudo-classes match upcoming or prior elements during media playback. WebVTT: WebVTT is a captions and subtitles format. WebVTT files are loaded using the <track> element, and the VTTCue API can be used to create or update cues dynamically. WebVTT cue settings: The VTTCue API updates various aspects of cues dynamically, such as alignment, size and position. New in FirefoxThe following features are now available in Firefox:Sandboxed iframes: The sandbox attribute for t +
12年前
記事のアイキャッチ画像
October 2012 web platform update
Web Platform Monthly Updates
+October 2012 web platform updateNew in FirefoxThe following features are now available in Firefox:Animations (CSS): The animation CSS property animates an element's style over time, using keyframes described in @keyframes rules. calc(): The calc() CSS function computes mathematical expressions such a calc(100%/3 - 1em). 2D transforms: The transform CSS property and its 2D transform functions allow rotating, scaling, skewing, and translating an element. Arbitrary 2D transforms are also possible using a transformation matrix. 3D transforms: The transform CSS property and its 3D transform functions allow rotations and other transforms in three dimensions, including perspective transforms. Transitions (CSS): The transition shorthand CSS property sets how changes to an element's styles may occur over time. Transitions can be applied to specific CSS properties, all properties, or none. New in Firefox for AndroidThe following features are now available in Firefox for Android:Animations (CSS): +
12年前
記事のアイキャッチ画像
September 2012 web platform update
Web Platform Monthly Updates
+September 2012 web platform updateNew in ChromeThe following features are now available in Chrome:Touch events: Touch events touchstart, touchmove, touchend, and touchcancel fire when users interact with a touch-sensitive surface, such as a screen or drawing tablet. These events are similar to mouse events. New in Safari on iOSThe following features are now available in Safari on iOS:Accesskey: The accessKey global HTML attribute gives a hint for generating a keyboard shortcut for the current element. The attribute value must consist of a single printable character. <bdi>: The <bdi> element isolates text that may have a different text direction from its surrounding text. This prevents the browser's bidirectional text algorithm from affecting or being affected by the direction of the surrounding text. box-sizing: The box-sizing CSS property sets whether an element's width and height are calculated based on the content-box, which does not count the size of borders or padding, or border-b +
12年前
記事のアイキャッチ画像
August 2012 web platform update
Web Platform Monthly Updates
August 2012 web platform updateNew in FirefoxThe following features are now available in Firefox:word-break: The word-break CSS property sets how lines break within words. New in Firefox for AndroidThe following features are now available in Firefox for Android:word-break: The word-break CSS property sets how lines break within words.
13年前
記事のアイキャッチ画像
July 2012 web platform update
Web Platform Monthly Updates
+July 2012 web platform updateNew in ChromeThe following features are now available in Chrome:background-clip: The background-clip CSS property sets the extent of the background: the padding box, the content box, or the default border box. background-origin: The background-origin CSS property sets the background starting position relative to the border and padding of an element. background-size: The background-size CSS property scales or stretches a background based on the size of the element (with the contain and cover keywords), a length, or percentage. New in FirefoxThe following features are now available in Firefox:MutationObserver: The MutationObserver API watches for changes to the DOM tree and calls a callback function when DOM changes occur. New in SafariThe following features are now available in Safari:Accesskey: The accessKey global HTML attribute gives a hint for generating a keyboard shortcut for the current element. The attribute value must consist of a single printable c +
13年前
記事のアイキャッチ画像
June 2012 web platform update
Web Platform Monthly Updates
+June 2012 web platform updateNew in ChromeThe following features are now available in Chrome:srcdoc: The srcdoc attribute for the <iframe> HTML element sets a string of HTML to embed in the document. The value of srcdoc overrides loading a document from the src attribute. <input type="color">: The <input type="color"> HTML element shows a color picker from which users can choose a color value. Date and time <input> types: The <input type="date"> and <input type="time"> HTML elements show date and time pickers. Notifications: The Notification() constructor shows a message to the user, typically using the notification system of the host operating system. Notifications from service workers and installed apps: Notifications via service worker registration's showNotification() method, sent from installed web applications (for example, saved to the Home Screen on Safari for iOS), show a message to the user, typically using the notification system of the host operating system. New in Chrome A +
13年前
記事のアイキャッチ画像
May 2012 web platform update
Web Platform Monthly Updates
May 2012 web platform updateNew in ChromeThe following features are now available in Chrome:SMIL SVG animations: The <animate>, <animateMotion>, and <animateTransform> SVG elements declaratively animate SVG elements. Also known as SMIL. translate attribute: The translate HTML attribute marks whether an element's text should be translated. +
13年前
記事のアイキャッチ画像
April 2012 web platform update
Web Platform Monthly Updates
April 2012 web platform updateNew in FirefoxThe following features are now available in Firefox:DOMParser: The DOMParser API parses XML or HTML source code from a string into a DOM Document.
13年前
記事のアイキャッチ画像
March 2012 web platform update
Web Platform Monthly Updates
+March 2012 web platform updateNew in ChromeThe following features are now available in Chrome:Min and max width and height: The min-width, min-height, max-width, and max-height CSS properties set the minimum and maximum size of an element. Sourcemap header: The Sourcemap HTTP response header links generated code to a source map, so the browser shows the original source in a debugger. This makes it easier to work with minified or transpiled code. New in FirefoxThe following features are now available in Firefox:hashchange: The hashchange event fires when the URL fragment identifier (the part of the URL starting with #) of the current page has changed. WebSockets: The WebSocket API opens a two-way communication channel between the user's browser and a server.
13年前
記事のアイキャッチ画像
February 2012 web platform update
Web Platform Monthly Updates
February 2012 web platform updateNew in ChromeThe following features are now available in Chrome:Accesskey: The accessKey global HTML attribute gives a hint for generating a keyboard shortcut for the current element. The attribute value must consist of a single printable character. dirname: The dirname attribute of <textarea> and <input> HTML elements includes the field's writing direction as form data on submission.
13年前
記事のアイキャッチ画像
January 2012 web platform update
Web Platform Monthly Updates
+January 2012 web platform updateNew in FirefoxThe following features are now available in Firefox:<bdi>: The <bdi> element isolates text that may have a different text direction from its surrounding text. This prevents the browser's bidirectional text algorithm from affecting or being affected by the direction of the surrounding text. <bdo>: The <bdo> element overrides the directionality of text, so that the text within is rendered in a different direction than the surrounding text. OES_standard_derivatives WebGL extension: The OES_standard_derivatives extension for WebGL 1.0 contexts adds the GLSL derivative functions dFdx, dFdy, and fwidth. New in Firefox for AndroidThe following features are now available in Firefox for Android:<bdi>: The <bdi> element isolates text that may have a different text direction from its surrounding text. This prevents the browser's bidirectional text algorithm from affecting or being affected by the direction of the surrounding text. <bdo>: The <bdo> ele +
13年前
記事のアイキャッチ画像
December 2011 web platform update
Web Platform Monthly Updates
+December 2011 web platform updateNew in ChromeThe following features are now available in Chrome:<bdi>: The <bdi> element isolates text that may have a different text direction from its surrounding text. This prevents the browser's bidirectional text algorithm from affecting or being affected by the direction of the surrounding text. cubic-bezier() easing: The cubic-bezier() CSS easing function interpolates along a smooth curve, creating animations and transitions with continuous changes in speed. The ease, ease-in, ease-out, and ease-in-out keyword values are presets for common Bézier curves. hashchange: The hashchange event fires when the URL fragment identifier (the part of the URL starting with #) of the current page has changed. New in FirefoxThe following features are now available in Firefox:background-size: The background-size CSS property scales or stretches a background based on the size of the element (with the contain and cover keywords), a length, or percentage. Custom ell +
13年前
記事のアイキャッチ画像
October 2011 web platform update
Web Platform Monthly Updates
+October 2011 web platform updateNew in ChromeThe following features are now available in Chrome:<dfn>: The <dfn> element marks a term to be defined, styling text as italic by default. Page setup: The @page CSS at-rule sets the page-specific dimensions and margins for content such as printed documents, ebooks, or slides. New in Safari on iOSThe following features are now available in Safari on iOS:Array.isArray(): The Array.isArray() static method checks whether a value is an array. background-clip: The background-clip CSS property sets the extent of the background: the padding box, the content box, or the default border box. box-shadow: The box-shadow CSS property applies shadow effects around an element's frame. This can create drop shadow and inner shadow effects. Dataset: The dataset API attaches and accesses custom data on elements, using either the dataset property of HTMLElement or attributes prefixed with data-. :default: The :default CSS pseudo-class matches the default element +
13年前
記事のアイキャッチ画像
September 2011 web platform update
Web Platform Monthly Updates
+September 2011 web platform updateNew in ChromeThe following features are now available in Chrome:download: The download attribute for <a> elements loads the target URL as a file to be saved, instead of navigating to it. An optional attribute value sets a default file name. New in FirefoxThe following features are now available in Firefox:Performance: The performance global object and the Performance API provide access to performance-related information for the current execution context. Text overflow: The text-overflow CSS property sets how hidden overflow content appears to users. The property can clip content, truncate content with an ellipsis (…), or truncate with a custom string. New in Firefox for AndroidThe following features are now available in Firefox for Android:Performance: The performance global object and the Performance API provide access to performance-related information for the current execution context. Text overflow: The text-overflow CSS property sets how hidden ov +
13年前
記事のアイキャッチ画像
August 2011 web platform update
Web Platform Monthly Updates
+August 2011 web platform updateNew in ChromeThe following features are now available in Chrome:registerProtocolHandler: The navigator.registerProtocolHandler() method declares a site's ability to handle an address scheme (also known as a protocol). For example, an email site can register to open mailto: URLs or a VoIP site to open tel: URLs. New in FirefoxThe following features are now available in Firefox:Dataset: The dataset API attaches and accesses custom data on elements, using either the dataset property of HTMLElement or attributes prefixed with data-. Device orientation events: The DeviceMotion and DeviceOrientation events report the movement and orientation of the browser's device in physical space. Note that coordinates can differ noticeably between platforms and devices. Input events: The input event fires when a form control changes or an element with the contenteditable attribute changes. Keyboard events: The keydown and keyup events fire for each key press (or, with modif +
14年前
記事のアイキャッチ画像
July 2011 web platform update
Web Platform Monthly Updates
+July 2011 web platform updateNew in SafariThe following features are now available in Safari:background-clip: The background-clip CSS property sets the extent of the background: the padding box, the content box, or the default border box. background-origin: The background-origin CSS property sets the background starting position relative to the border and padding of an element. background-size: The background-size CSS property scales or stretches a background based on the size of the element (with the contain and cover keywords), a length, or percentage. box-shadow: The box-shadow CSS property applies shadow effects around an element's frame. This can create drop shadow and inner shadow effects. box-sizing: The box-sizing CSS property sets whether an element's width and height are calculated based on the content-box, which does not count the size of borders or padding, or border-box, which does count them. Dataset: The dataset API attaches and accesses custom data on elements, using ei +
14年前
記事のアイキャッチ画像
June 2011 web platform update
Web Platform Monthly Updates
+June 2011 web platform updateNew in ChromeThe following features are now available in Chrome:<details>: The <details> element is a disclosure widget which can be expanded to reveal additional content. When closed, only the nested <summary> element is visible. ping: The ping attribute for <a> elements sets a URL to send a POST request to when the <a> is clicked. This is typically used for outbound link reporting. New in FirefoxThe following features are now available in Firefox:Accesskey: The accessKey global HTML attribute gives a hint for generating a keyboard shortcut for the current element. The attribute value must consist of a single printable character. resize (CSS property): The resize CSS property sets whether an element can be resized by the user, and on which axes. New in Firefox for AndroidThe following features are now available in Firefox for Android:Accesskey: The accessKey global HTML attribute gives a hint for generating a keyboard shortcut for the current element. The +
14年前
記事のアイキャッチ画像
April 2011 web platform update
Web Platform Monthly Updates
+April 2011 web platform updateNew in ChromeThe following features are now available in Chrome:getComputedStyle(): The getComputedStyle() global method returns an CSSStyleDeclaration object that represents all CSS declarations applied to a given element. Selection: The Selection API controls and modifies user text selections within the page. Web Cryptography: The Web Cryptography API performs low-level cryptographic operations, such as encryption, decryption, and signature verification. Also known as the Web Crypto API.
14年前
記事のアイキャッチ画像
March 2011 web platform update
Web Platform Monthly Updates
+March 2011 web platform updateNew in ChromeThe following features are now available in Chrome:box-shadow: The box-shadow CSS property applies shadow effects around an element's frame. This can create drop shadow and inner shadow effects. box-sizing: The box-sizing CSS property sets whether an element's width and height are calculated based on the content-box, which does not count the size of borders or padding, or border-box, which does count them. :default: The :default CSS pseudo-class matches the default element in a group of related form controls, such as checkboxes and radio buttons with the checked attribute. Form validity pseudo-classes: The form validity CSS pseudo-classes match <form> elements based on the constraints of a form field, such as validity (:valid, :invalid, :in-range, :out-of-range) and necessity (:optional or :required). OES_standard_derivatives WebGL extension: The OES_standard_derivatives extension for WebGL 1.0 contexts adds the GLSL derivative functions dFdx, +
14年前
記事のアイキャッチ画像
February 2011 web platform update
Web Platform Monthly Updates
+February 2011 web platform updateNew in ChromeThe following features are now available in Chrome:matchMedia: The window.matchMedia() method checks whether a media query applies to the document. Spellcheck: The spellcheck global HTML attribute sets whether the browser may check an element for spelling errors. WebGL: The WebGLRenderingContext API is the "webgl" rendering context for the <canvas> element. It represents a space for drawing two- and three-dimensional graphics and animations. WebP: The WebP image format is a raster graphics file format that supports animation, alpha transparency, and lossy as well as lossless compression.
14年前
記事のアイキャッチ画像
December 2010 web platform update
Web Platform Monthly Updates
December 2010 web platform updateNew in ChromeThe following features are now available in Chrome:<figure> and <figcaption>: The <figure> and <figcaption> HTML elements represent an illustration, diagram, text, or other self-contained reference content, with an optional caption.
14年前
記事のアイキャッチ画像
November 2010 web platform update
Web Platform Monthly Updates
+November 2010 web platform updateNew in Safari on iOSThe following features are now available in Safari on iOS:<article>: The <article> element represents self-contained content, which is intended to be independently distributable or reusable, such as a comment, a blog post, or news article. <aside>: The <aside> element represents a portion of a document whose content is only indirectly related to the document's main content. background-size: The background-size CSS property scales or stretches a background based on the size of the element (with the contain and cover keywords), a length, or percentage. border-radius: The border-radius CSS property rounds the corners of the border drawn around an element. Channel messaging: Channel messaging communicates one-to-one between browsing contexts on the same origin, such as between <iframe> elements or two documents using a shared worker. Device orientation events: The DeviceMotion and DeviceOrientation events report the movement and orientat +
14年前
記事のアイキャッチ画像
October 2010 web platform update
Web Platform Monthly Updates
+October 2010 web platform updateNew in ChromeThe following features are now available in Chrome:Dataset: The dataset API attaches and accesses custom data on elements, using either the dataset property of HTMLElement or attributes prefixed with data-. <input type="number">: The <input type="number"> HTML element represents numeric input data. <mark>: The <mark> element represents text which is marked or highlighted for reference or notation purposes. Typed arrays (initial support): Typed arrays are ordered lists of JavaScript values, where all values are of the same numerical type, such as 8-bit integers or 32-bit floating point numbers.
14年前
September 2010 web platform update
Web Platform Monthly Updates
+September 2010 web platform updateNew in ChromeThe following features are now available in Chrome:<meter>: The <meter> element represents a scalar value within a known range or a fractional value, typically shown as a progress bar. Performance: The performance global object and the Performance API provide access to performance-related information for the current execution context. <progress>: The <progress> element displays an indicator showing the completion progress of a task, typically displayed as a progress bar. Server-sent events: The EventSource API creates a connection to a server and listens to a stream of events sent by the server.
14年前
記事のアイキャッチ画像
June 2010 web platform update
Web Platform Monthly Updates
+June 2010 web platform updateNew in SafariThe following features are now available in Safari:Array.isArray(): The Array.isArray() static method checks whether a value is an array. <article>: The <article> element represents self-contained content, which is intended to be independently distributable or reusable, such as a comment, a blog post, or news article. <aside>: The <aside> element represents a portion of a document whose content is only indirectly related to the document's main content. border-radius: The border-radius CSS property rounds the corners of the border drawn around an element. Channel messaging: Channel messaging communicates one-to-one between browsing contexts on the same origin, such as between <iframe> elements or two documents using a shared worker. :default: The :default CSS pseudo-class matches the default element in a group of related form controls, such as checkboxes and radio buttons with the checked attribute. Form validity pseudo-classes: The form validit +
15年前
記事のアイキャッチ画像
May 2010 web platform update
Web Platform Monthly Updates
+May 2010 web platform updateNew in ChromeThe following features are now available in Chrome:<article>: The <article> element represents self-contained content, which is intended to be independently distributable or reusable, such as a comment, a blog post, or news article. <aside>: The <aside> element represents a portion of a document whose content is only indirectly related to the document's main content. Geolocation: The navigator.gelocation API requests the user's latitude, longitude, heading, and speed. <header> and <footer>: The <header> and <footer> HTML elements represent content that precedes and follows the main page content, respectively. <hgroup>: The <hgroup> element represents a heading and related content. History: The window.history API manipulates the browser session history, from navigations to state management, in the tab or frame that the current page is loaded in. Sandboxed iframes: The sandbox attribute for the <iframe> HTML element sets many security restrictions +
15年前
記事のアイキャッチ画像
April 2010 web platform update
Web Platform Monthly Updates
+April 2010 web platform updateNew in Safari on iOSThe following features are now available in Safari on iOS:<abbr>: The <abbr> HTML element represents an abbreviation or acronym. Array iteration methods: Array iteration methods Autofocus: The autofocus HTML attribute gives focus to an element on page load. ::before and ::after: The ::before and ::after CSS pseudo-elements select inline boxes preceding and following an element. They are often used with the content property to generate cosmetic content. CORS: Cross-Origin Resource Sharing is an HTTP-header based mechanism that allows a server to indicate any origins (domain, scheme, or port) other than its own from which a browser should permit loading resources. Also known as CORS. currentColor: The currentColor CSS value allows you to reuse an element's computed text color for other properties. Drag and Drop: The Drag and Drop API lets users drag and drop elements and external files such as images onto web pages. Developers can customi +
15年前
記事のアイキャッチ画像
January 2010 web platform update
Web Platform Monthly Updates
+January 2010 web platform updateNew in ChromeThe following features are now available in Chrome:Array.isArray(): The Array.isArray() static method checks whether a value is an array. Base64 encoding and decoding: The atob() and btoa() global functions encode and decode strings to and from base 64, respectively. border-radius: The border-radius CSS property rounds the corners of the border drawn around an element. Channel messaging: Channel messaging communicates one-to-one between browsing contexts on the same origin, such as between <iframe> elements or two documents using a shared worker. CORS: Cross-Origin Resource Sharing is an HTTP-header based mechanism that allows a server to indicate any origins (domain, scheme, or port) other than its own from which a browser should permit loading resources. Also known as CORS. HTTP Strict Transport Security: The Strict-Transport-Security HTTP response header informs browsers that the site should only be accessed using HTTPS, and that any futu +
15年前
記事のアイキャッチ画像
September 2009 web platform update
Web Platform Monthly Updates
+September 2009 web platform updateNew in ChromeThe following features are now available in Chrome:Array iteration methods: Array iteration methods <audio>: The <audio> element plays sound such as audio effects or music, optionally with controls provided by the browser. Drag and Drop: The Drag and Drop API lets users drag and drop elements and external files such as images onto web pages. Developers can customize which elements can become draggable, the type of feedback the draggable elements produce, and the droppable elements. JSON: The JSON API provides static methods for parsing values from and converting values to JavaScript Object Notation (JSON), a serialization format for objects, arrays, numbers, strings, Boolean values, and null. <source>: The <source> element sets a media resource for the <picture>, <video>, and <audio> elements. <video>: The <video> element plays videos or movies, optionally with controls provided by the browser. +
15年前
記事のアイキャッチ画像
June 2009 web platform update
Web Platform Monthly Updates
+June 2009 web platform updateNew in FirefoxThe following features are now available in Firefox:<audio>: The <audio> element plays sound such as audio effects or music, optionally with controls provided by the browser. CORS: Cross-Origin Resource Sharing is an HTTP-header based mechanism that allows a server to indicate any origins (domain, scheme, or port) other than its own from which a browser should permit loading resources. Also known as CORS. Drag and Drop: The Drag and Drop API lets users drag and drop elements and external files such as images onto web pages. Developers can customize which elements can become draggable, the type of feedback the draggable elements produce, and the droppable elements. Geolocation: The navigator.gelocation API requests the user's latitude, longitude, heading, and speed. getComputedStyle(): The getComputedStyle() global method returns an CSSStyleDeclaration object that represents all CSS declarations applied to a given element. JSON: The JSON API pr +
16年前
記事のアイキャッチ画像
May 2009 web platform update
Web Platform Monthly Updates
+May 2009 web platform updateNew in ChromeThe following features are now available in Chrome:<abbr>: The <abbr> HTML element represents an abbreviation or acronym. attr() (content only): The attr() CSS function, in content property declarations, sets a ::before or ::after pseudo-element's content to the value of the specified HTML attribute. @charset: The @charset CSS at-rule specifies the character encoding of an external style sheet. Counters (CSS): The counter-reset and counter-increment CSS properties and the counter() and counters() functions automatically number headings or ordered list items. font-weight: The font-weight CSS property controls the thickness of a font. It is set explicitly with the keyword bold or a number, or relative to the inherited thickness with the keywords bolder or lighter. <input type="file">: The <input type="file"> HTML element shows a file picker from which users can choose a file to upload with the form. Online status: The navigator.onLine property ret +
16年前
記事のアイキャッチ画像
December 2008 web platform update
Web Platform Monthly Updates
+December 2008 web platform updateNew in ChromeThe following features are now available in Chrome:<a>: The <a> element creates a hyperlink to any resource that's accessible via a URL, such as web pages, files, email addresses, or locations within the same page. Absolute positioning: The position: absolute CSS declaration removes an element from the normal flow and positions it relative to its containing block, which is often the root element, or closest positioned ancestor. <address>: The <address> element represents contact information for a person or people, or for an organization. Alerts: The window.alert(), window.confirm(), and window.prompt() methods open modal dialogs for notifying the user, asking for confirmation, or entering text. Array (initial support): Arrays are ordered lists of JavaScript values. Array splice(): The array splice() method changes an array in-place. You can use it to delete items, overwrite items, or insert items, starting from an index. Autofocus: The auto +
16年前
記事のアイキャッチ画像
July 2008 web platform update
Web Platform Monthly Updates
+July 2008 web platform updateNew in Safari on iOSThe following features are now available in Safari on iOS:attr() (content only): The attr() CSS function, in content property declarations, sets a ::before or ::after pseudo-element's content to the value of the specified HTML attribute. <base>: The <base> element sets the base URL (the URL that relative URLs are relative to) for all relative URLs in the document. Change event: The change event for <input>, <select>, and <textarea> elements fires when the user modifies the element's value. Unlike the input event, the change event does not necessarily fire on every alteration to an element's value. :empty: The :empty CSS pseudo-class matches elements without child elements. Focus events: Focus events, such as focus and blur, fire when an element gets or loses focus. <form>: The <form> element contains interactive controls for submitting information. Input events: The input event fires when a form control changes or an element with the con +
17年前
記事のアイキャッチ画像
June 2008 web platform update
Web Platform Monthly Updates
+June 2008 web platform updateNew in FirefoxThe following features are now available in Firefox:Alternative style sheets: The rel="alternate stylesheet" attribute for the <link> HTML element offers an alternative style option to users. Array iteration methods: Array iteration methods display: table: The display: table CSS declaration renders an element with the box layout of a <table> HTML element. Child elements may use equivalents to <table> internal elements such as display: table-row for <tr>. ime-mode: The ime-mode CSS property sets the state of the input method editor for text fields. <input type="file">: The <input type="file"> HTML element shows a file picker from which users can choose a file to upload with the form. postMessage: The postMessage() global method sends cross-origin messages to windows and workers, including popups and iframes. Also known as cross-document messaging. Stable array sort: Stable array sort() function SVG: The SVG image format, represented by the <svg +
17年前
記事のアイキャッチ画像
March 2008 web platform update
Web Platform Monthly Updates
+March 2008 web platform updateNew in SafariThe following features are now available in Safari:attr() (content only): The attr() CSS function, in content property declarations, sets a ::before or ::after pseudo-element's content to the value of the specified HTML attribute. <audio>: The <audio> element plays sound such as audio effects or music, optionally with controls provided by the browser. :empty: The :empty CSS pseudo-class matches elements without child elements. Focus events: Focus events, such as focus and blur, fire when an element gets or loses focus. Input events: The input event fires when a form control changes or an element with the contenteditable attribute changes. <input type="range">: The <input type="range"> element represents a slider for choosing an inexact value between a minimum and maximum value. Input selectors: The :checked, :disabled, and :enabled CSS pseudo-classes match form elements based on their state. :lang(): The :lang() CSS functional pseudo-class mat +
17年前
記事のアイキャッチ画像
October 2007 web platform update
Web Platform Monthly Updates
+October 2007 web platform updateNew in SafariThe following features are now available in Safari:<base>: The <base> element sets the base URL (the URL that relative URLs are relative to) for all relative URLs in the document. Base64 encoding and decoding: The atob() and btoa() global functions encode and decode strings to and from base 64, respectively. Beforeunload: The beforeunload event is fired when the current window is about to be unloaded. Typically this is used to display a dialog to confirm if users really want to leave the page when there is unsaved data that would be lost. <body>: The <body> element represents the content of an HTML document. <br>: The <br> element produces line breaks in text. Change event: The change event for <input>, <select>, and <textarea> elements fires when the user modifies the element's value. Unlike the input event, the change event does not necessarily fire on every alteration to an element's value. Console: The console API logs debugging messages +
17年前
記事のアイキャッチ画像
June 2007 web platform update
Web Platform Monthly Updates
+June 2007 web platform updateNew in Safari on iOSThe following features are now available in Safari on iOS:<a>: The <a> element creates a hyperlink to any resource that's accessible via a URL, such as web pages, files, email addresses, or locations within the same page. Absolute positioning: The position: absolute CSS declaration removes an element from the normal flow and positions it relative to its containing block, which is often the root element, or closest positioned ancestor. <address>: The <address> element represents contact information for a person or people, or for an organization. Alerts: The window.alert(), window.confirm(), and window.prompt() methods open modal dialogs for notifying the user, asking for confirmation, or entering text. Array (initial support): Arrays are ordered lists of JavaScript values. Array splice(): The array splice() method changes an array in-place. You can use it to delete items, overwrite items, or insert items, starting from an index. <b>: The +
18年前
記事のアイキャッチ画像
October 2006 web platform update
Web Platform Monthly Updates
+October 2006 web platform updateNew in FirefoxThe following features are now available in Firefox:Device media queries: The device-aspect-ratio, device-height, and device-width media features describe physical properties of the displaying output device. registerProtocolHandler: The navigator.registerProtocolHandler() method declares a site's ability to handle an address scheme (also known as a protocol). For example, an email site can register to open mailto: URLs or a VoIP site to open tel: URLs. Spellcheck: The spellcheck global HTML attribute sets whether the browser may check an element for spelling errors.
18年前
記事のアイキャッチ画像
November 2005 web platform update
Web Platform Monthly Updates
+November 2005 web platform updateNew in FirefoxThe following features are now available in Firefox:::before and ::after: The ::before and ::after CSS pseudo-elements select inline boxes preceding and following an element. They are often used with the content property to generate cosmetic content. <canvas>: The <canvas> HTML element is a space to draw graphics in, using the 2D canvas API, WebGL, or WebGPU. 2D canvas: The CanvasRenderingContext2D API is the "2d" rendering context for the <canvas> element. It represents a flat, two-dimensional space for drawing graphics and animations. @charset: The @charset CSS at-rule specifies the character encoding of an external style sheet. currentColor: The currentColor CSS value allows you to reuse an element's computed text color for other properties. <embed>: The <embed> element represents an external resource such as a PDF or SVG document. It was historically used for plugins such as Shockwave Flash. Online status: The navigator.onLine property +
19年前
記事のアイキャッチ画像
April 2005 web platform update
Web Platform Monthly Updates
+April 2005 web platform updateNew in SafariThe following features are now available in Safari:background: The background CSS property is a shorthand that sets several background properties at once. background-image: The background-image CSS property sets the graphics to display behind the content of an element and in front of the background color. Graphics may be any combination of images or gradients. <canvas>: The <canvas> HTML element is a space to draw graphics in, using the 2D canvas API, WebGL, or WebGPU. 2D canvas: The CanvasRenderingContext2D API is the "2d" rendering context for the <canvas> element. It represents a flat, two-dimensional space for drawing graphics and animations. Min and max width and height: The min-width, min-height, max-width, and max-height CSS properties set the minimum and maximum size of an element. opacity: The opacity CSS property sets the transparency of an element. :target: The :target CSS pseudo-class matches the element with an ID matching the URL +
20年前
記事のアイキャッチ画像
November 2004 web platform update
Web Platform Monthly Updates
+November 2004 web platform updateNew in FirefoxThe following features are now available in Firefox:<a>: The <a> element creates a hyperlink to any resource that's accessible via a URL, such as web pages, files, email addresses, or locations within the same page. <abbr>: The <abbr> HTML element represents an abbreviation or acronym. Absolute positioning: The position: absolute CSS declaration removes an element from the normal flow and positions it relative to its containing block, which is often the root element, or closest positioned ancestor. <address>: The <address> element represents contact information for a person or people, or for an organization. Alerts: The window.alert(), window.confirm(), and window.prompt() methods open modal dialogs for notifying the user, asking for confirmation, or entering text. Array (initial support): Arrays are ordered lists of JavaScript values. Array splice(): The array splice() method changes an array in-place. You can use it to delete items, over +
20年前
記事のアイキャッチ画像
February 2004 web platform update
Web Platform Monthly Updates
+February 2004 web platform updateNew in SafariThe following features are now available in Safari:initial: The initial keyword resets any CSS property to its initial value as defined by the specification. For example, the initial value of the display property is inline, regardless of the element being styled. Not to be confused with revert, which resets to the user or browser default style. Keyboard events: The keydown and keyup events fire for each key press (or, with modifier keys, a combination of key presses) on a keyboard. Outlines: The outline-color, outline-style, and outline-width and outline-offset CSS properties style a line around an element, outside of the border.
21年前
October 2003 web platform update
Web Platform Monthly Updates
October 2003 web platform updateNew in SafariThe following features are now available in Safari:window.print(): The window.print() method opens the browser's print dialog. ::selection: The ::selection CSS pseudo-element selects text a user has highlighted. text-shadow: The text-shadow CSS property sets the position and styles of shadow on text.
21年前
June 2003 web platform update
Web Platform Monthly Updates
+June 2003 web platform updateNew in SafariThe following features are now available in Safari:<a>: The <a> element creates a hyperlink to any resource that's accessible via a URL, such as web pages, files, email addresses, or locations within the same page. Absolute positioning: The position: absolute CSS declaration removes an element from the normal flow and positions it relative to its containing block, which is often the root element, or closest positioned ancestor. <address>: The <address> element represents contact information for a person or people, or for an organization. Alerts: The window.alert(), window.confirm(), and window.prompt() methods open modal dialogs for notifying the user, asking for confirmation, or entering text. Array (initial support): Arrays are ordered lists of JavaScript values. Array splice(): The array splice() method changes an array in-place. You can use it to delete items, overwrite items, or insert items, starting from an index. <b>: The <b> HTML eleme +
22年前
\ No newline at end of file diff --git a/blogs/acd24ba7770ea1c0ede4e4d18de8e94d/index.html b/blogs/acd24ba7770ea1c0ede4e4d18de8e94d/index.html new file mode 100644 index 000000000000..5d12c8875df9 --- /dev/null +++ b/blogs/acd24ba7770ea1c0ede4e4d18de8e94d/index.html @@ -0,0 +1,21 @@ +Turbo Blogのフィード|JSer.info Watch List RSS

Turbo Blog

https://turbo.build

Turbo is an incremental bundler and build system optimized for JavaScript and TypeScript, written in Rust.

フィード

記事のアイキャッチ画像
Turborepo 2.4
はてなブックマークアイコン 1
Turbo Blog
Experimental Boundaries, Terminal UI improvements, experimental Watch Mode caching, and more.
+8日前
記事のアイキャッチ画像
Vercel Remote Cache is now free
Turbo Blog
Free Remote Caching for repositories linked to Vercel
2ヶ月前
記事のアイキャッチ画像
Turborepo 2.3
Turbo Blog
Turborepo 2.3 introduces the Boundaries RFC, along with several ergonomics improvements.
3ヶ月前
記事のアイキャッチ画像
Turborepo 2.2
Turbo Blog
Turborepo 2.2 adds a new command to query your repository, cache safety improvements, and intelligent affected filters.
4ヶ月前
記事のアイキャッチ画像
Turborepo 2.1
Turbo Blog
Turborepo 2.1 improves integration with your repository with affected package detection, and repository exploration tools.
5ヶ月前
記事のアイキャッチ画像
Turborepo 2.0
Turbo Blog
Turborepo 2.0 is a milestone for the ergonomics of JavaScript and TypeScript monorepos.
8ヶ月前
記事のアイキャッチ画像
Turborepo 1.13
Turbo Blog
Turborepo 1.13 brings a new and improved local development experience along with other enhancements.
1年前
Turborepo 1.12
Turbo Blog
Turborepo 1.12 adds popular community-requested features and feedback improvements.
1年前
記事のアイキャッチ画像
Turborepo 1.11
Turbo Blog
Turborepo 1.11 sets the Rust-based foundation for the future of Turborepo.
1年前
記事のアイキャッチ画像
Turborepo 1.10
Turbo Blog
Turborepo 1.10 introduces new features to improve your local development experience.
2年前
記事のアイキャッチ画像
Turborepo 1.9
Turbo Blog
Turborepo 1.9 focuses on improving observability for your task runs to better understand your caching behavior.
2年前
記事のアイキャッチ画像
Turborepo 1.8
Turbo Blog
Turborepo 1.8 brings better flexibility and more control to your codebase by improving turbo's understanding of your workspaces.
2年前
記事のアイキャッチ画像
Turborepo 1.7
Turbo Blog
Turborepo 1.7 focuses on improving developer experience by bringing more clarity to your tasks.
2年前
記事のアイキャッチ画像
Turbopack Performance Benchmarks
Turbo Blog
Benchmarking Turbopack performance against Vite and webpack.
2年前
記事のアイキャッチ画像
Turborepo 1.6
Turbo Blog
Turborepo 1.6 lets you use Turborepo in non-monorepos, prune for npm, and improves cache performance.
2年前
記事のアイキャッチ画像
Turborepo 1.5
Turbo Blog
Turborepo 1.5 brings the Monorepo Handbook, drops the 'run' command, improves pruning, and much more!
2年前
記事のアイキャッチ画像
Turborepo 1.4
Turbo Blog
Turborepo 1.4 has new examples, automatically includes environment variables, and more!
2年前
記事のアイキャッチ画像
Turborepo 1.3
Turbo Blog
Turborepo 1.3 introduces restricted hash inputs, root script running and caching, new CI/CD Recipes, and more!
3年前
記事のアイキャッチ画像
Turborepo 1.2
Turbo Blog
Turborepo 1.2 introduces improved task filtering, artifact signing and integrity, human-readable and JSON dry runs, and more!
3年前
記事のアイキャッチ画像
Turborepo 1.1
Turbo Blog
Turborepo 1.1 introduces automatic migrations, turbo.json configuration, environment variable dependencies, partial Yarn v2 support, and more!
3年前
記事のアイキャッチ画像
Turborepo is joining Vercel
Turbo Blog
Turborepo is joining Vercel to make the web even faster.
3年前
記事のアイキャッチ画像
+SAML SSO is now available
Turbo Blog
SAML Single Sign-on (SSO) is now available to Enterprise customers thanks to our friends over at WorkOS.
4年前
記事のアイキャッチ画像
You might not need TypeScript project references
Turbo Blog
+As it turns out, you might not even references or even an interim TypeScript build step with a pattern I am about to show you, which I dub "internal packages."
4年前
記事のアイキャッチ画像
Turborepo 0.4.0
Turbo Blog
Turborepo 0.4.0 introduces 10x faster hashing, pruned workspaces with sparse installs, a new pipeline configuration API, and improved cache control.
4年前
\ No newline at end of file diff --git a/blogs/aef1dbe5e62ad3418473e165681322e1/index.html b/blogs/aef1dbe5e62ad3418473e165681322e1/index.html new file mode 100644 index 000000000000..480b58589868 --- /dev/null +++ b/blogs/aef1dbe5e62ad3418473e165681322e1/index.html @@ -0,0 +1,25 @@ +Web Scratchのフィード|JSer.info Watch List RSS

Web Scratch

フィード

記事のアイキャッチ画像
オープンソース活動の振り返り/GitHub Sponsorsの収入まとめ @ 2024
Web Scratch
+2024 年のオープンソース活動の振り返りと GitHub Sponsors での収入をまとめた記事です。いつもは別々に書いていましたが、内容的にどちらもオープンソースの話が被っているのでまとめました。今までの振り返り2014 年: https://efcl.info/2014/12/31/oss-in-2014/2015 年: https://efcl.info/2015/12/31/oss-in-2015/2016 年: https://efcl.info/2016/12/31/oss-in-2016/2017 年: https://efcl.info/2017/12/30/oss-in-2017/2018 年: https://efcl.info/2018/12/31/oss-in-2018/2019 年: https://efcl.info/2019/12/31/oss-in-2019/2020 年: https://efcl.info/2020/12/31/open-source-in-2020/2021 年: https://efcl.info/2021/12/31/open-source-in-2021/2022 年: https://efcl.info/2022/12/31/open-source-in-2022/2023 年: https://efcl.info/2023/12/31/open-source-in-2023/オープンソース活動の種類自分のオープンソース活動の種類として、次のようなものがあると思います。ソフトウェア開発: textlint、Secretlint、HonKitなどの開発やメンテナンスウェブサービス開発: philan.net、Komesan、Irodrなどの開発やメンテナンスブログ: JSer.infoやECMAScript Dailyのブログの投稿書籍: JavaScript PrimerやJavaScript Promise の本の執筆オープンソース関係の収入の種類自分のオープンソース関係の収入1は、ほぼ GitHub Sponsors 経由となっています。@azu の GitHub SponsorsGitHub Sponsors では Monthly と One-Time でのサポートができます。自分の場合は、Gi +
1ヶ月前
記事のアイキャッチ画像
BunでNode.jsのツールをSingle-file executable binaryにしてバイナリを配布する
Web Scratch
+Secretlint v8.3で、単体のバイナリファイルとしてsecretlintコマンドを配布するようにしました。Release v8.3.3 · secretlint/secretlintどういうことができるようになるかと、Node.jsをインストールしなくてもsecretlintコマンドを使えるようになります。次のようにCurlでダウンロードして実行するだけで、機密情報の検出ができるようになります。#!/usr/bin/env bashset -euo pipefailSECRETLINT_VERSION="8.3.3" # secretlintのバージョンARCH=$(uname -m)OS=$(uname -s | tr '[:upper:]' '[:lower:]')# Map architecture to the expected formatcase "$ARCH" in x86_64) ARCH="x64" ;; aarch64) ARCH="arm64" ;; arm64) ARCH="arm64" ;; *) echo "Unsupported architecture: $ARCH" exit 1 ;;esac# Download the binarycurl -sSL "https://github.com/secretlint/secretlint/releases/download/$(SECRETLINT_VERSION)/secretlint-$(SECRETLINT_VERSION)-$(OS)-$(ARCH)" -o secretlintchmod +x ./secretlint# Create .secretlintrc.json./secretlint --init# Run secretlint./secretlint "**/*"SecretlintはDockerも対応していますが、コマンドラインツールの場合は単体のバイナリとして使えると何かと便利です。npm経由と比べて、Node.jsを必要としないのとダウンロードが1つのファイルだけなのでシンプルです。Docker経由に比べて、Dockerを必要としないのと実行までの時間が早いはずです。デメリットとしては、単体のバイナリはルールも同梱しないと配布できないので、ルール +
4ヶ月前
記事のアイキャッチ画像
JavaScript Primer v6.0.0リリース: ES2024の対応とNode.jsのユースケースを刷新
Web Scratch
+JavaScript Primer v6.0.0をリリースしました 🎉JavaScript Primer v6.0.0では、ECMAScript 2024の対応とNode.jsのユースケースを新たに増えたnode:utilのparseArgs関数やnode:testを使うように書き直しています。JavaScript Primer SponsorsJavaScript Primer(jsprimer)では、Open Collectiveを通じてプロジェクトの更新に関わる資金を募っています。JavaScript Primer - Open Collective今回のv6リリースにおいては、次の方々にご支援いただきました!株式会社コクチョウさんは、Yearly Gold Sponsorとしてご支援いただいています。ご支援ありがとうございます!JavaScript Primerスポンサーについては、次のページを参照してください。JavaScript Primerスポンサー · JavaScript Primer #jsprimerまた、ご支援いただいた資金は、jsprimerにcontributionしてくれた方へ還元できるような仕組みを設計しました。次回からは、この仕組みを回していけるようにしたいです。Contributing Expenses PolicyJavaScript Primer v6.0.0の変更点JavaScript Primer v6.0.0の変更点について紹介します。リリースノートは次のページからも確認できます。Release v6.0.0: ES2024の対応/Node.jsの大幅更新 · asciidwango/js-primer更新をメールで受け取りたい方は、次のフォームから登録できます。JavaScript Primerの更新情報を購読* indicates requiredEmail Address * (function($) {window.fnames = new Array(); window.ftypes = new Array();fnames[0]='EMAIL';ftypes[0]='email';}(jQuery));var $mcj = jQuery.noConflict(true);フォームが表示されない人は http... +
5ヶ月前
記事のアイキャッチ画像
Node.jsで型安全な環境変数を扱うスニペット
Web Scratch
+Node.js で型安全な環境変数を扱うスニペットを作りました。next devのようなアプリケーションの起動、Playwright でのテストなどコマンドごとに渡したい環境変数のセットが異なるケースがあります。この場合に環境変数をまとめたものを定義して、それをコマンドごとに読み込むセットを変えたいことがあります。次のようにベタ書きしてもいいのですが、渡したい環境変数が増えると管理が大変になります。NEXT_PUBLIC_LOCALHOST_URL=http://localhost:3000 NEXT_PUBLIC_API_URL=http://localhost:3001 NEXT_PUBLIC_IS_TEST_MODE=false FOO="bar" next devそのため、.envのような環境変数をまとめたファイルを使いたくなります。Node.js は--env-fileフラグで.envファイルを読み込むことができますが、.envファイルは型安全ではありません。--env-fileNode.js — How to read environment variables from Node.js環境変数名の Typoや必須の環境変数が設定されていないなどの問題が発生する可能性があります。そのため環境変数をの定義自体も TypeScript で型安全に定義したいです。これをやるための 50 行ほどのスニペットを書いたので、使い方を紹介します。📝 主な用途はローカルやCIでの開発用で、実際にデプロイするサーバなどには利用しない想定です📝 ライブラリとかにしてないのは、この仕組み自体が外部パッケージの依存もなく短いスニペットだからですJSからTSを参照する都合上、ライブラリにはちょっとしにくい気がしますサンプルリポジトリ次の場所にサンプルリポジトリがあります。azu/type-safe-env: Type Safe /Environment Variables snippet for Node.js使い方大きく分けて、環境変数の型を定義するdefineEnv関数と、環境変数をセットするsetEnv関数があります。環境変数の型を定義するdefineEnv.ts: 環境変数の型を定義する UtilitydefineEnv関数を次のような受け取りたい環境変数の型定義をす... +
5ヶ月前
記事のアイキャッチ画像
モバイル端末でのウェブアプリのデバッグ方法、Safari on iOS/Chrome on Android
Web Scratch
+iOSのSafari、AndroidのChromeはそれぞれPCと連携してウェブアプリケーションをデバッグできます。PCのSafariのWeb Inspector、ChromeのDevToolsと連携すれば、コンソールログやネットワーク、デバッガーなども利用できます。スマホと繋いでWebサイトをデバッグする方法をまとめたページが見つけられなかったので、メモです。ネットワークで繋いでデバッグもできたりするので、結構便利です。Mobile Safari on iOSiOSのSafariは、macOSのSafariと接続してログやネットワークの通信などを見るデバッグが可能ですドキュメント: Inspecting iOS and iPadOS | Apple Developer DocumentationiOSのSafariとmacOSのSafariを接続する初回は次の設定が必要ですiOS設定アプリを開くSafari の設定を開く詳細を開くWebインスペクタ をONにするmacOSSafariの設定を開く詳細タブを開くWebデベロッパ用の機能を表示にチェックを入れるiOSのSafariとmacOSを接続してWeb Inspectorを表示するiPhoneとmacをUSBで接続します初回はデバイスを信頼しますか? というダイアログが出てきますiOSのSafariでデバッグしたいページを開くmacOSのSafariの開発メニューから、Safariで開いているページを選択するこれでmacOSのWeb InspectでiOSのSafariのデバッグでできます。📝 初回はUSBで接続する必要があります。ネットワークで接続したい場合は、”ネットワーク経由で接続”にチェックを入れてみてください。(すでに入ってる場合は、一度外してから入れ直すなどすると、つながると思います。)同じネットワークにいる場合は、USBを接続しなくても、iOSで開いているページをmacOSでデバッグできるようになります。端末やタブが出てこない場合は、iOSのSafariを一回閉じたりすると出てくることがあります。コンソールログを取る方法Web Inspectorのコンソールタブを開く選択した項目をコピー または 選択部分を保存 でログをコピーできますネットワークログを取る方法Web Inspectorのネットワー... +
7ヶ月前
記事のアイキャッチ画像
JavaScript PrimerのES2024対応を手伝ってくれるContributorとSponsorを募集しています
Web Scratch
+JavaScript PrimerのES2024の対応を進めていく予定なので、対応を手伝ってくれるContributorとjsprimerというプロジェクトを支援してくれるSponsorを募集しています。追記(2024-03-22): Contributorを希望する方は集まりました。ありがとうございます!JavaScript Primerスポンサーは引き続き募集しています!Gold SponsorsSupporters3行サマリーES2024の対応を6月末までにやるマイルストーンを切りましたES2024の対応を手伝ってくれるContributorを募集していますOpen Collectiveを始めたので、プロジェクトを支援してくれるSponsorを募集していますjsprimerのES2024対応jsprimerは毎年のECMAScriptの仕様改定にあわせてメジャーアップデートを行なっています。次の更新は、2024年6月末ごろにリリースされる予定のECMAScript 2024に対応する予定です。そのため、ES2024の対応とユースケースであるNode.jsに関するアップデートをしていくマイルストーンを切りました。v6(ES2024) MilestoneES2024に対応するマイルストーンをざっとみると、大体ざっくり12-20日分ぐらいのタスクがあります。大きく分けて次の3つのグループに分かれています。ES2024の対応Stage 2.7の追加Node.jsのユースケースの更新ES2024の対応ES2024ではいくつか機能が増えているので、それに対応するアップデートを行います。ECMAScript 2024の対応 · Issue #1706というIssueに、ES2024の対応についてのタスクをまとめています。具体的に対応したいIssueは次の3つになっています。ES2024: array-grouping · Issue #1716ES2024: Well-Formed Unicode Strings · Issue #1715ES2022: Error Cause · Issue #1714Array Groupingは恐らく対応が必須ですが、他の2つは必要なら対応する形になると思います。実際に内容や入れる場所を考えてみて、それが読む人にとってほんとに必要な情 +
1年前
記事のアイキャッチ画像
Kagi Searchをメインの検索エンジンとして使っている
Web Scratch
+最近はGoogleではなくKagi Searchをメインの検索エンジンとして使っています。Kagi Searchは$108/year($10/month)の有料の検索エンジンです。広告モデルではない検索エンジンなので、有料のサブスクリプションモデルとなっています。Plan Types | Kagi’s Docsいくつかプランがあり、検索し放題のProfessionalプランが$10/monthですUltimate Plan ($25/month)だと外部のOpenAIのGPT 4とかClaude 3との連携とかも入ってきます月に1-2万回ぐらいは検索することを考えると、 (108 / (10000 * 12)) * 150 で大体1検索が0.1円ぐらいのイメージですが、こちらもKagiのLLM機能は利用できるので、実質もう少しコスパは良いと思います。検索ソースにはGoogle, Yandex, Mojeek, Braveなどのリソースを使っているので、検索結果自体はGoogleとそこまで変わらないと思います。Search Sources | Kagi’s Docs基本的な使い方ではGoogleで見つかったものがKagiで見つからなかったという経験はありません。もちろん、検索の量でGoogleより優れたものはないと思うので、量にフォーカスしたいときはGoogleを使えば良いと思います(逆に今は飽和的になって検索が逆に難しかったり、検索されてないところにコンテンツがあったりして、量でのカバーは難しい感じはします)自分がKagiを使う一番理由は検索体験にあると思っています。いいところGoogleより良いと感じる検索結果が出しやすい(人による)日本語の検索結果はそこまで変わらない感じもする(後述する漢字だけ検索した時の問題はまだある)フィルター系がビルトインであるので、絞り込みはしやすく感じる英語で検索した時に英語のリソースにマッチさせやすいので良い結果と感じることが多いたとえば、Googleだと英語で検索して”英語のページを検索”を選択にしても、日本語のサイトが出てくる(おそらくRegionが日本だと、日本語訳があったらそっちを出すみたいな感じになったりして、これが嫌なこと多い)https://www.google.com/search?q=javascript&lr=l +
1年前
記事のアイキャッチ画像
Twitter/Blueskyの自己ポストの全文検索サービスをNext.js App Router(RSC)で書きなおした方法/設計/感想
Web Scratch
+mytweetsという自分の Twitter/Bluesky の自己ポストの全部検索サービスをNext.js App Router(RSC)で書きなおしました。mytweets は Twitter のアーカイブや Bluesky の API を使って自分のポストを S3 に保存しておき、S3 Selectを使って全文検索ができる自分専用の Twilog のようなサービスです。自分の Tweets をインクリメンタル検索できるサービス作成キット と Tweets をまとめて削除するツールを書いた | Web Scratch過去の Tweets を全文検索できる mytweets を Bluesky に対応した。自分用 Twilog みたいなもの | Web Scratch最初は CloudFront + Lambda@Edge + Next.js Pages Router で動かしていました。その後、Next.js App Router が Stable になったので、App Router + React Server Components(RSC)で書きなおしました。この記事では、Next.js Pages Router から Next.js App Router(RSC)に書きなおした話を紹介します。ただし、この記事は発散的な内容になっているのと、あまり正確性が保証されてないので、個人的なメモ書きとして読んでください。あまりにも長くなったので、あんまり読みやすくは書けませんでした。📝 キャッシュとメモ化については特に触れていません。mytweets の動作mytweets は、次のような動作をします。クエリがない場合は、S3 Select から最新のポストを取得して表示クエリを入力したら、S3 Select の API を使って全文検索を行い、結果を表示この動画は、App Router + React Server Components(RSC)で動かしてるものを録画したものです。表示的にファーストビューが出てからローディングが走って、結果を取得してポストを表示するという動作をしているので一般的なSPA (Single-page application)っぽく見えます。実際のコードベース上では、クライアント側には Fetch API などは書いていません。初期化... +
1年前
記事のアイキャッチ画像
私のJavaScriptの情報収集法 2024年版
Web Scratch
+個人的なJavaScriptの情報収集の方法についてまとめてみます。JSer.infoなどをやっているので、JavaScriptの情報については色々な情報源を見るようにしています。JSer.infoの範囲の中での情報源については、次の記事でまとめています。JSer.info 13周年: JavaScriptの情報源を整理する - JSer.infoこの記事では、少しスコープを広げてJavaScriptの情報収集についてまとめてみます。かなりスコープが広がってしまうので、万人向けの方法ではなく、個人的な情報収集方法としてまとめています。この記事では、膨大な情報の中から見つけるというアプローチをとっているので、人によって向き不向きがあると思います。情報収集の方法情報の元となる情報源はさまざまなサイトや人になると思います。しかし、そのサイトや人ごとに見ていくというのはかなり大変で、それ自体が大変になると見なくなる可能性が高いと思います。そのため、情報収集においては、情報を自分が見やすいと思える場所に集めることが重要だと考えています。人によってこの集める場所は異なりため、Twitter(X)、RSSリーダー、Notion、SlackやDiscordなど色々な場所があると思います。自分の場合はRSSリーダーに情報が集まるようにしています。RSSリーダー技術的なサイトにはRSSフィードがついてることが多いので、自分はRSSリーダーにRSSフィードを集約しています。また、後述しますがRSSフィードがないものも、欲しい情報源からRSSフィードを作るなどとしてRSSリーダーに集約しています。RSSリーダーにはInoreaderを利用しています。InoreaderのフロントエンドとしてIrodrを使っています。LDRライクなRSSリーダのIrodr 1.0.0をリリースした | Web ScratchかつてのLDRと同じ操作方法を実現、新しい国産RSSリーダー「Irodr」が登場【やじうまWatch】 - INTERNET Watch自分の情報収集はメモまでがセットなので、RSSは基本的にPCでしか見ていません。スマホで見つけたものに関しては、Pocketにあとで読む登録して、PocketのRSSフィードを購読しているので、それをPCで見るようにしています。(最近音声メモも結構やり始め +
1年前
記事のアイキャッチ画像
#jsprimer week: 2024-02-05 - 2024-02-11
Web Scratch
+先週のtextlint weekに引き続き、今週はjsprimerの開発に集中するjsprimer weekです。目標としては、次のECMAScript仕様であるES2024に入るProposalが今週のTC39ミーティングで確定するので、それに合わせてjsprimerをどう更新するかを決めることです。ECMAScript 2024の対応 · Issue #1706 · asciidwango/js-primerES2024の変更はそこまで大きなものはこなさそうなので大丈夫そうですが、Node.jsの変更が多くなってるのでNode.jsでCLIアプリ · JavaScript Primer #jsprimerをどうするかをちょっと考えたいです。markedjs v8へのアップデート · Issue #1694 · asciidwango/js-primerutils.parseArgsの利用法を追記 · Issue #1698 · asciidwango/js-primerまた、企業でjsprimerの更新を支援できる仕組みとしてJavaScript Primer - Open Collectiveを作ってありますが、まだちゃんと運用できてないので、運用できるようにしたいです。Open Source Collective · Issue #1674 · asciidwango/js-primerOpen Collectiveの資金を使って、jsprimerの更新を手伝ってくれた方にもちゃんと労力にあった報酬を支払えるようにしたいです。jsprimerの更新に興味があるって人は、それとなくコメントしてくれると嬉しいです。ECMAScript 2024の対応 · Issue #1706 · asciidwango/js-primerECMAScriptに合わせた更新は毎年やっているので、どういうことをやってるかは次のIssueを見るとイメージできると思います。今年は、Array.groupByの更新ぐらいな気はしているので、そこまで大きな変更はないと思います。どちらかというとNode.jsに関する更新は、どう変えると読みやすいかは考える必要がありそうです。ECMAScript 2023の対応 · Issue #1658 · asciidwango/js-primerEC +
1年前
\ No newline at end of file diff --git a/blogs/af6aa6a81ad9adc77e3f2e79aba7ce4f/index.html b/blogs/af6aa6a81ad9adc77e3f2e79aba7ce4f/index.html new file mode 100644 index 000000000000..34a5d1df1b62 --- /dev/null +++ b/blogs/af6aa6a81ad9adc77e3f2e79aba7ce4f/index.html @@ -0,0 +1,50 @@ +Articles on Smashing Magazine — For Web Designers And Developersのフィード|JSer.info Watch List RSS

Articles on Smashing Magazine — For Web Designers And Developers

https://www.smashingmagazine.com/

Magazine on CSS, JavaScript, front-end, accessibility, UX and design. For developers, designers and front-end engineers.

フィード

記事のアイキャッチ画像
Taking RWD To The Extreme
Articles on Smashing Magazine — For Web Designers And Developers
+Tomasz Jakut reflects on the evolution of web design, from the days of table-based layouts and Flash games to the rise of responsive web design (RWD), which often feels like the end of history in web layout. But as 2025 marks the 15th anniversary of Ethan Marcotte’s article, it’s worth asking whether something significant happened after RWD — something so seamless that it went almost unnoticed.
19時間前
Integrations: From Simple Data Transfer To Modern Composable Architectures
Articles on Smashing Magazine — For Web Designers And Developers
+In today’s web development landscape, the concept of a monolithic application has become increasingly rare. Modern applications are composed of multiple specialized services, each of which handles specific aspects of functionality. This shift didn’t happen overnight - it’s the result of decades of evolution in how we think about and implement data transfer between systems. Let’s explore this journey and see how it shapes modern architectures, particularly in the context of headless CMS solutions.
4日前
記事のアイキャッチ画像
Look Closer, Inspiration Lies Everywhere (February 2025 Wallpapers Edition)
Articles on Smashing Magazine — For Web Designers And Developers
Let’s make the most of the shortest of all months, with a new collection of desktop wallpapers celebrating new opportunities, sweet memories, happy little moments, and everything in between. All of them created with love by the community for the community. Enjoy!
8日前
+
記事のアイキャッチ画像
The Digital Playbook: A Crucial Counterpart To Your Design System
Articles on Smashing Magazine — For Web Designers And Developers
Design systems play a crucial role in today’s digital landscape, providing a blueprint for consistent and user-friendly interfaces. But there’s another tool that deserves equal attention: the digital playbook.
9日前
記事のアイキャッチ画像
Transitioning Top-Layer Entries And The Display Property In CSS
Articles on Smashing Magazine — For Web Designers And Developers
It’s not always the big features that make our everyday lives easier; sometimes, it’s those ease-of-life features that truly enhance our projects. In this article, Brecht De Ruyte highlights two such features: `@starting-style` and `transition-behavior` — two properties that are absolutely welcome additions to your everyday work with CSS animations.
10日前
記事のアイキャッチ画像
Svelte 5 And The Future Of Frameworks: A Chat With Rich Harris
Articles on Smashing Magazine — For Web Designers And Developers
+After months of anticipation, debate, and even a bit of apprehension, Svelte 5 arrived earlier this year. Frederick O’Brien caught up with its creator, Rich Harris, to talk about the path that brought him and his team here and what lies ahead.
11日前
記事のアイキャッチ画像
Navigating The Challenges Of Modern Open-Source Authoring: Lessons Learned
Articles on Smashing Magazine — For Web Designers And Developers
+Alvaro Saburido delves into the current state and challenges of Open-Source authoring, sharing lessons learned from both community- and company-driven initiatives.
18日前
記事のアイキャッチ画像
An Ode To Side Project Time
Articles on Smashing Magazine — For Web Designers And Developers
A once-revered perk of some tech workplaces, the status of ‘side project time’ seems to have slipped in recent years. Frederick O’Brien believes it deserves a comeback.
22日前
記事のアイキャッチ画像
On-Device AI: Building Smarter, Faster, And Private Applications
Articles on Smashing Magazine — For Web Designers And Developers
+Shouldn’t there be a way to keep your apps or project data private and improve performance by reducing server latency? This is what on-device AI is designed to solve. It handles AI processing locally, right on your device, without connecting to the internet and sending data to the cloud. In this article, Joas Pambou explains what on-device AI is, why it’s important, the tools to build this type of technology, and how it can change the way we use technology every day.
23日前
記事のアイキャッチ画像
+The Role Of Illustration Style In Visual Storytelling
Articles on Smashing Magazine — For Web Designers And Developers
How do we determine the most suitable illustration style? How should illustrations complement and reflect your corporate identity? What will resonate most with your target audience? And regarding the content, what type of illustration would best enhance it, and how would it work for the age range it is primarily for? Thomas Bohm shares insightful examples and discusses the key qualities of effective illustrations, emphasizing the importance of understanding your audience.
25日前
Solo Development: Learning To Let Go Of Perfection
Articles on Smashing Magazine — For Web Designers And Developers
The best and worst thing about solo development is the “solo” part. There’s a lot of freedom in working alone, and that freedom can be inspiring, but it can also become a debilitating hindrance to productivity and progress. Victor Ayomipo shares his personal lessons on what it takes to navigate solo development and build the “right” app.
1ヶ月前
+記事のアイキャッチ画像
Tight Mode: Why Browsers Produce Different Performance Results
Articles on Smashing Magazine — For Web Designers And Developers
+We know that browsers do all sorts of different things under the hood. One of those things is the way they not only *fetch* resources like images and scripts from the server but how they [prioritize those resources](https://www.debugbear.com/blog/request-priorities?utm_campaign=sm-7). Chrome and Safari have implemented a “Tight Mode” that constrains which resources are loaded and in what order, but they each take drastically different approaches to it. With so little information about Tight Mode available, this article attempts a high-level explanation of what it is, what triggers it, and how it is treated differently in major browsers.
1ヶ月前
記事のアイキャッチ画像
Lesser Known Uses Of Better Known Attributes
Articles on Smashing Magazine — For Web Designers And Developers
HTML attributes are like little instructions that we add to the markup of elements to make them do certain things or behave in certain ways. For example, most of us know that the `target` attribute with a value of `_blank` opens the link in a new tab or window. But did you know that you can use it on the `form` element, too? John Rhea presents several lesser-known uses for common HTML attributes.
1ヶ月前
記事のアイキャッチ画像
How To Design For High-Traffic Events And Prevent Your Website From Crashing
Articles on Smashing Magazine — For Web Designers And Developers
Product drops and sales are a great way to increase revenue, but these events can result in traffic spikes that affect a site’s availability and performance. To prevent website crashes, you’ll have to make sure that the sites you design can handle large numbers of server requests at once. Let’s discuss how!
1ヶ月前
記事のアイキャッチ画像
What Does AI Really Mean?
Articles on Smashing Magazine — For Web Designers And Developers
We, as human beings, don’t worry too much about making sure the connections land at the right point. Our brain just works that way, declaratively. However, for building AI, we need to be more explicit. Let’s dive in!
1ヶ月前
記事のアイキャッチ画像
New Front-End Features For Designers In 2025
Articles on Smashing Magazine — For Web Designers And Developers
Searching for the most flexible front-end workflows and toolkits, it’s easy to forget how powerful some of the fundamentals on the web have become these days. This post is a journey through new front-end features and what they are capable of.
1ヶ月前
記事のアイキャッチ画像
New Year, New Hopes, New Dreams (January 2025 Wallpapers Edition)
Articles on Smashing Magazine — For Web Designers And Developers
Maybe 2025 has already started as you’re reading this, maybe you’re still waiting for the big countdown to begin — either way, it’s never too late or too early for some New Year’s inspiration! Our new collection of desktop wallpapers has got you covered.
1ヶ月前
記事のアイキャッチ画像
The Design Leader Dilemma
Articles on Smashing Magazine — For Web Designers And Developers
Design leaders are expected to deliver the impossible. Instead of trying, we need to redefine our role from implementor to enabler.
2ヶ月前
記事のアイキャッチ画像
Three Approaches To Amplify Your Design Projects
+Articles on Smashing Magazine — For Web Designers And Developers
There are many ways to elevate a design project from good to incredible. For web and product designers, it’s not just about adding more animations and flair. What it truly comes down to is a reframing of your thought processes starting before the project even kicks off. Olivia De Alba presents three approaches that designers can implement and which will change the way they make their projects more successful.
2ヶ月前
記事のアイキャッチ画像
An Introduction To CSS Scroll-Driven Animations: Scroll And View Progress Timelines
Articles on Smashing Magazine — For Web Designers And Developers
10 years after scroll-driven animations were first proposed, they’re finally here — no JavaScript, no dependencies, no libraries, just pure CSS.
2ヶ月前
記事のアイキャッチ画像
Mastering SVG Arcs
+Articles on Smashing Magazine — For Web Designers And Developers
SVG arcs demystified! Akshay Gupta explains how to master radii, rotation, and arc direction to create stunning curves. Make arcs a powerful part of your SVG toolkit for creating more dynamic, intricate designs with confidence.
2ヶ月前
記事のアイキャッチ画像
The Importance Of Graceful Degradation In Accessible Interface Design
+Articles on Smashing Magazine — For Web Designers And Developers
Few things are as frustrating to a user as when a site won’t respond. Unfortunately, it’s also an all-too-common scenario. Many websites and apps depend on so many elements that one of any number of errors could cause the whole thing to fail. As prevalent as such instances may be, they’re preventable through the practice of graceful degradation.
2ヶ月前
記事のアイキャッチ画像
+Creating An Effective Multistep Form For Better User Experience
Articles on Smashing Magazine — For Web Designers And Developers
Forms are already notoriously tough to customize and style — to the extent that we’re already starting to see new ideas for more flexible control. But what we don’t often discuss is designing good-form experiences beyond validation. That’s what Jima Victor discusses in this article, focusing specifically on creating multi-step forms that involve navigation between sections.
2ヶ月前
記事のアイキャッチ画像
Dreaming Of Miracles (December 2024 Wallpapers Edition)
Articles on Smashing Magazine — For Web Designers And Developers
December is almost here, and that means: It’s time for some new desktop wallpapers! Created with love by creatives from all around the world, they are bound to lighten up the last few weeks of the year and, who knows, maybe even spark new ideas. Enjoy!
2ヶ月前
記事のアイキャッチ画像
The Hype Around Signals
Articles on Smashing Magazine — For Web Designers And Developers
From KnockoutJS to modern UI libraries like SolidJS, Vue.js, and Svelte, signals revolutionized how we think about reactivity in UIs. Here’s a deep dive into their history and impact by Atila Fassina.
2ヶ月前
記事のアイキャッチ画像
+Why You Should Speak At Events As An Early-Career Professional
Articles on Smashing Magazine — For Web Designers And Developers
Many talented professionals hold back from speaking at tech events, believing they need years of experience or expert status first. Drawing from her experience as a first-time speaker at WordPress Accessibility Day 2024, Victoria Nduka discusses how speaking at events benefits both individuals and the tech community.
3ヶ月前
記事のアイキャッチ画像
AI’s Transformative Impact On Web Design: Supercharging Productivity Across The Industry
Articles on Smashing Magazine — For Web Designers And Developers
Discover how AI is reshaping web design, boosting productivity in design, coding, UX, and copywriting while amplifying human creativity in a new article by Paul Boag.
3ヶ月前
記事のアイキャッチ画像
Open-Source Meets Design Tooling With Penpot
Articles on Smashing Magazine — For Web Designers And Developers
Penpot helps designers and developers work better together by offering a free, open-source design tool based on open web standards. Today, let’s explore its newly released Penpot Plugin System. So now, if there’s a functionality missing, you don’t need to jump into the code base straight away; you can create a plugin to achieve what you need. And you can even serve it from localhost!
3ヶ月前
記事のアイキャッチ画像
Bundle Up And Save On Smashing Books And Workshops
Articles on Smashing Magazine — For Web Designers And Developers
It’s the end of the year, and as we look at our inventory, we thought, “Let’s help everyone in our community get ready for the year ahead!” Get friendly pricing on bundles of books and workshops to dive deep into the subjects you care about most. Let’s bundle up and save!
3ヶ月前
記事のアイキャッチ画像
Alternatives To Typical Technical Illustrations And Data Visualisations
Articles on Smashing Magazine — For Web Designers And Developers
Thomas Bohm rethinks technical illustrations and data visualizations, sharing interesting and uncommon examples of how to present data and information. Bar graphs and pie charts are great, but there’s so much more to explore!
3ヶ月前
記事のアイキャッチ画像
Why Optimizing Your Lighthouse Score Is Not Enough For A Fast Website
Articles on Smashing Magazine — For Web Designers And Developers
Feeling good with your Lighthouse score of 100%? You should! But you should also know that you’re only looking at part of the performance picture. Learn how Lighthouse scores are measured differently than other tools, the impact that has on measuring performance metrics, and why you need real-user monitoring for a complete picture.
3ヶ月前
記事のアイキャッチ画像
Ingredients For A Cozy November (2024 Wallpapers Edition)
Articles on Smashing Magazine — For Web Designers And Developers
November is just around the corner and that means: It’s time for some new desktop wallpapers! Created with love by the community for the community, they are available in versions with and without a calendar. Enjoy!
3ヶ月前
記事のアイキャッチ画像
Designing For Gen Z: Expectations And UX Guidelines
Articles on Smashing Magazine — For Web Designers And Developers
There are many myths revolving around Gen Z and how they use tech. Time to take a look at actual behavior patterns that go beyond heavy use of social media. Part of [Smart Interface Design Patterns](https://smart-interface-design-patterns.com) by yours truly.
3ヶ月前
記事のアイキャッチ画像
+CSS min() All The Things
Articles on Smashing Magazine — For Web Designers And Developers
Victor Ayomipo experiments with the CSS `min()` function, exploring its flexibility with different units to determine if it is the be-all, end-all for responsiveness. Discover the cautions he highlights against dogmatic approaches to web design based on his findings.
4ヶ月前
記事のアイキャッチ画像
+It’s Here! How To Measure UX &amp; Design Impact, With Vitaly Friedman
Articles on Smashing Magazine — For Web Designers And Developers
Design decisions shouldn’t be a matter of personal preference. We can use reliable design KPIs and UX metrics to guide and shape our design work and measure its impact on business. Meet How To Measure UX and Design Impact, our new video course that helps with just that.
4ヶ月前
記事のアイキャッチ画像
+Using Multimodal AI Models For Your Applications (Part 3)
Articles on Smashing Magazine — For Web Designers And Developers
In this third part of the series, you are looking at two models that handle all three modalities — text, images or videos, and audio — without needing a second model for text-to-speech or speech recognition.
4ヶ月前
記事のアイキャッチ画像
Build A Static RSS Reader To Fight Your Inner FOMO
+Articles on Smashing Magazine — For Web Designers And Developers
RSS is a classic technology that fetches content from websites and feeds it to anyone who subscribes to it with a URL. It’s based on XML, and we can use it to consume the feeds in our own apps. Karin Hendrikse demonstrates how to do exactly that with a static site you can use as your personal RSS reader.
4ヶ月前
記事のアイキャッチ画像
How A Bottom-Up Design Approach Enhances Site Accessibility +
Articles on Smashing Magazine — For Web Designers And Developers
You can’t overstate the importance of accessible website design. By the same token, bottom-up philosophies are crucial in modern site-building. A detail-oriented approach makes it easier to serve a more diverse audience along several fronts. Making the most of this opportunity will both extend your reach to new niches and make the web a more equitable place.
4ヶ月前
記事のアイキャッチ画像
Interview With Björn Ottosson, Creator Of The Oklab Color Space
Articles on Smashing Magazine — For Web Designers And Developers
Go behind the scenes with Björn Ottosson, the Swedish engineer who created Oklab color space, and discover how he developed a simple yet effective model with good hue uniformity while also handling lightness and saturation well — and is “okay” to use.
4ヶ月前
記事のアイキャッチ画像
Crows, Ghosts, And Autumn Bliss (October 2024 Wallpapers Edition)
Articles on Smashing Magazine — For Web Designers And Developers
Could there be a better way to celebrate the beginning of a new month than with a collection of desktop wallpapers? We’ve got some eye-catching designs to sweeten up your October. Enjoy!
4ヶ月前
\ No newline at end of file diff --git a/blogs/b16c24ae4a71fab52c7ed140e635fdea/index.html b/blogs/b16c24ae4a71fab52c7ed140e635fdea/index.html new file mode 100644 index 000000000000..c30504b2b28f --- /dev/null +++ b/blogs/b16c24ae4a71fab52c7ed140e635fdea/index.html @@ -0,0 +1,45 @@ +Val Town Blogのフィード|JSer.info Watch List RSS

Val Town Blog

https://blog.val.town/

Updates and articles from the Val Town team

フィード

記事のアイキャッチ画像
API Tokens Scopes
Val Town Blog
Improving security with granular control over permissions
3ヶ月前
記事のアイキャッチ画像
Building a code-writing robot and keeping it happy
Val Town Blog
Our experiences running LLMs in production
3ヶ月前 +
記事のアイキャッチ画像
How we built Townie – an app that generates fullstack apps
Val Town Blog
Like Claude Artifacts, but with a backend and database
6ヶ月前
記事のアイキャッチ画像
+End-programmer Programming
Val Town Blog
A reflection on the goal of making programming for everyone.
2年前
記事のアイキャッチ画像
Val Town + Fal Partnership
Val Town Blog
Bringing lightning fast AI image generation to Val Town
3ヶ月前
記事のアイキャッチ画像
Expanding the Vals API - RFC
Val Town Blog
Our REST API lets you do a lot - and soon it will enable more
2年前
記事のアイキャッチ画像
What we learned copying all the best code assistants
Val Town Blog
+From GitHub Copilot to ChatGPT to Claude Artifacts, how Val Town borrowed the best of all the code generation tools
1ヶ月前
記事のアイキャッチ画像
Moving from express to fastify, pt 1
Val Town Blog
How switching to Fastify let us embrace runtime and compile-time types
7ヶ月前
記事のアイキャッチ画像
The first four Val Town runtimes
Val Town Blog
From vm to vm2 to workers to processes, the long journey to how we run vals today
1年前
記事のアイキャッチ画像
HTTP Streaming in Val Town
Val Town Blog
+Val Town supports HTTP streaming for streaming LLMs, large requests and responses, and server-sent events
8ヶ月前
記事のアイキャッチ画像
Introducing val.run
Val Town Blog
Increasing the security of Val Town by isolating domains.
2年前
記事のアイキャッチ画像
New HTTP Val Runtime in Preview
Val Town Blog
We built a new runtime for HTTP vals that is up to 5x faster at scale
7ヶ月前
記事のアイキャッチ画像
Migrating from Supabase
Val Town Blog
Our journey from Supabase to Postgres and Render
2年前
記事のアイキャッチ画像
The perks of a good OpenAPI spec
Val Town Blog
Taking advantage of our typed REST API to build a platform aroundVal Town.
6ヶ月前
記事のアイキャッチ画像
+Joining the Open Source Pledge
Val Town Blog
We donated $9,600 to open-source!
5ヶ月前
記事のアイキャッチ画像
Post-mortem: esm.sh Breaking Changes
Val Town Blog
Some vals experienced lockfile and React errors due to breaking changes in esm.sh
23日前
記事のアイキャッチ画像
Post-mortem: Exhausted Host Connection Pool
Val Town Blog
A single degraded host impacted certain Vals for some time.
1ヶ月前
記事のアイキャッチ画像
+Post-mortem: SQLite data sharing
Val Town Blog
Disclosing and fixing a recent security issue
1年前
記事のアイキャッチ画像
Introducing Val Town Projects
Val Town Blog
Dramatically increasing the scope of what you can build in Val Town, Projects are groups of vals, files, and folders, versioned collectively
8日前
記事のアイキャッチ画像
Public Key Auth: Val Town users can be your users
Val Town Blog
A novel authorization scheme for Val Town
2年前
記事のアイキャッチ画像
Redesigning Val Pages
Val Town Blog
A more understandable entry-point to Val Town
9ヶ月前
記事のアイキャッチ画像
+An Introduction to OpenAI fine-tuning
Val Town Blog
How to customize OpenAI to your liking
1年前
記事のアイキャッチ画像
Improving the Val Editor
Val Town Blog
Designing the core UI of editing
1年前
記事のアイキャッチ画像
How we lock your dependencies
Val Town Blog
Adding lockfiles to Val Town for stability, security, and performance.
6ヶ月前
記事のアイキャッチ画像
Post-mortem: Blob Storage Outage
Val Town Blog
Disclosure, mitigation, and next steps
+
9ヶ月前
記事のアイキャッチ画像
Code Search is Hard
Val Town Blog
Searching code at scale without employing a search team is hard
10ヶ月前
記事のアイキャッチ画像
Security Disclosure 1
Val Town Blog
Replacing our sandbox in response to a security disclosure
2年前
記事のアイキャッチ画像
Security Disclosure 2
Val Town Blog
Missing permissions-checking in our internal save endpoint
6ヶ月前
記事のアイキャッチ画像
Val Town's Seed Round
Val Town Blog
We raised $5.5m to make programming fun, accessible, and collaborative.
10ヶ月前
記事のアイキャッチ画像
The API we forgot to name
Val Town Blog
An API that takes a Request and returns a Response - what was that, again?
1年前
記事のアイキャッチ画像
Introducing Townie AI
Val Town Blog
Meet Townie, our AI assistant that helps you ship apps fast
4ヶ月前
記事のアイキャッチ画像
Restricted Library Mode
Val Town Blog
Evolving Val Town’s security model
2年前
記事のアイキャッチ画像
Deprecating the Run API
Val Town Blog
Not every function should be an API
1年前
記事のアイキャッチ画像
Using Val Town to chart dependency bloat
Val Town Blog
Building a simple aggregate view of our codebase
2ヶ月前
記事のアイキャッチ画像
Val Town Newsletter 0
Val Town Blog
Smarter typeahead, tutorials, much more.
2年前
記事のアイキャッチ画像
Zod is amazing. Here’s why we're also using TypeBox
Val Town Blog
Why we’re using TypeBox instead of Zod for our server validation layer
7ヶ月前
記事のアイキャッチ画像
Val Town Newsletter 1
Val Town Blog
Programmatic notifications, Hacker News API, and more.
2年前
記事のアイキャッチ画像
Val Town Newsletter 10
Val Town Blog
A year of Val Town!
2年前
記事のアイキャッチ画像
Val Town Newsletter 11
Val Town Blog
Hiring, podcasts, and more!
2年前
記事のアイキャッチ画像
Val Town Newsletter 13
Val Town Blog
SQLite, Blob Storage, updates to how Vals are named, and more
1年前
記事のアイキャッチ画像
Val Town Newsletter 12
Val Town Blog
Product Hunt, v3 in development, and more
1年前
記事のアイキャッチ画像
Introducing Val Town v3
Val Town Blog
Our move to embrace web standards
1年前
記事のアイキャッチ画像
Why is spawning a new process in Node so slow?
Val Town Blog
At Val Town we spawn a lot of processes. We're working on making it faster
7ヶ月前
記事のアイキャッチ画像
Val Town Newsletter 14
Val Town Blog
Pull Requests, Val Editor Redesign, AI Suggestions, OSS Docs, New Astro Blog, Templates
1年前
記事のアイキャッチ画像
Val Town Newsletter 15
Val Town Blog
Custom domains, Logs 3.0, Faster HTTP responses, Status page & much more!
1年前
記事のアイキャッチ画像
Val Town Newsletter 16
Val Town Blog
+Our seed round, growing team, Codeium completions, @std/openai, and more
10ヶ月前
記事のアイキャッチ画像
Val Town Newsletter 17
Val Town Blog
Improved performance, redesigned val page, live coding, and much more!
8ヶ月前
記事のアイキャッチ画像
Val Town Newsletter 18
Val Town Blog
HTTP Streaming, Semantic Search, Townie AI Chat, and a TypeScript SDK
7ヶ月前
記事のアイキャッチ画像
Val Town Newsletter 19
Val Town Blog
+Full-screen Editor, 5x faster HTTP vals, new Dashboard, improved Search, Townie redesign, Trending redesign, Profile filters, and more!
7ヶ月前
記事のアイキャッチ画像
Val Town Newsletter 2
Val Town Blog
Your monthly update of cool vals!
2年前
Val Town Newsletter 21
Val Town Blog
Townie upgrades & faster HTTP vals
4ヶ月前
記事のアイキャッチ画像
Val Town Newsletter 20
Val Town Blog
Townie AI, Faster vals, and Lockfiles
5ヶ月前
+
記事のアイキャッチ画像
Val Town Newsletter 22
Val Town Blog
Townie upgrades, Scoped API permissions, Fal partnership
2ヶ月前
記事のアイキャッチ画像
+Val Town Newsletter 23
Val Town Blog
Projects beta, Deno 2, Use cases, and more
17日前
記事のアイキャッチ画像
Val Town Newsletter 3
Val Town Blog
Expanding our founding team
2年前
記事のアイキャッチ画像
Val Town Newsletter 4
Val Town Blog
Rebuilding on Deno, HTML emails, and more
2年前
記事のアイキャッチ画像
Val Town Newsletter 5
Val Town Blog
Shipping our Deno runtime
2年前
+
記事のアイキャッチ画像
Val Town Newsletter 7
Val Town Blog
Moving off of Supabase and enhancing our security with restricted library mode
2年前
記事のアイキャッチ画像
+Val Town Newsletter 6
Val Town Blog
Lots of little updates!
2年前
記事のアイキャッチ画像
Val Town Newsletter 8
Val Town Blog
Announcing Val Town Pro
2年前
Val Town Newsletter 9
Val Town Blog
Refactoring the core component of Val Town for better performance.
2年前
記事のアイキャッチ画像
Val Town Town
Val Town Blog
Can we implement Val Town on Val Town?
3ヶ月前
+
記事のアイキャッチ画像
Val Vibes: Semantic search in Val Town
Val Town Blog
How to build semantic search with embeddings for Val Town within Val Town itself
8ヶ月前
\ No newline at end of file diff --git a/blogs/b19cd2a6db83b0c9158251d31bfa6486/index.html b/blogs/b19cd2a6db83b0c9158251d31bfa6486/index.html new file mode 100644 index 000000000000..c27a2a91042f --- /dev/null +++ b/blogs/b19cd2a6db83b0c9158251d31bfa6486/index.html @@ -0,0 +1,887 @@ +Ember.js Blogのフィード|JSer.info Watch List RSS

Ember.js Blog

フィード

記事のアイキャッチ画像
2016 Ember Community Survey
Ember.js Blog
+2015 was an incredible year to be a web developer, and great year to bebuilding an Ember app.Ember 2.0 landed in August, and with it came the first major shift inapplication architecture since Ember left its SproutCore roots. The Ember-CLIteam made massive improvements to the speed and quality of our build toolingseveral times over, all while continuing to be the foundation for a growingaddon community now topping 2000 projects. Ember-Data stabilized its publicAPI for the first time in the project's history, and continues to contendfor the title of most complete client-side JavaScript data layer.Other projects, under the official umbrella and outside it, continue toinnovate and mature.With 2015 in the rear-view mirror, we should take a moment to check our assumptionsabout who is in the Ember community and how they work with the framework.To that end, we're pleased to announcethe official 2016 Ember Community Survey! Survey Landing PageCompleting the survey should take about fifteen min +
9年前
記事のアイキャッチ画像
2017 Ember Community Survey
Ember.js Blog
+The past year has been a great time to work with the web, and an exciting one tobe building applications with Ember.Ember.js completed eight backward-compatible minor version releases in thelast year, 2.4 through 2.11.Included were the framework's first two Long-Term Support (LTS) releases.Glimmer 2,a major rewrite of Ember's rendering system, landed in Ember.js 2.10.Framework support for Ember Engines landed inin Ember.js 2.8.Support for Ember FastBoot stabilized inEmber.js 2.4.The Ember.js addon community grew from 2,000to over 3,500 publicly available addons!With 2017 already under way, we would like your help to learnabout who is in the Ember community and how they work with the framework.To that end, we're pleased to announce the official 2017 Ember Community Survey. Survey Landing PageThis is our third year learning about the community's makeup and interests,and we're looking forward tosharing the results at EmberConf 2017 on March 28th.The number of survey participants grew from +
8年前
記事のアイキャッチ画像
2018 Ember Community Survey
Ember.js Blog
+The last year has been a wonderful time to work with the web, and a thrilling one tobe building applications with Ember.Ember.js completed seven backward-compatible minor version releases in thelast year: 2.12 through 2.18.Included were three Long-Term Support (LTS) releases.Version 2.18 was declared as an LTS and is the final release of the project's 2.x series.Ember 3.0 and 3.1 beta versions also came into existence, marking the beginning of the 3.xseries.3.0 removes public API deprecated in Ember 2.x releases.Ember FastBoot, a server-side rendering solution for Ember apps, reached 1.0.The Glimmer VM,Ember's rendering system, also experienced a lot progress. This includesimplementations of <Capital />-style component syntax, compiled binarybyte-code, incremental rendering, and SSR with incremental rehydration. The October Glimmer Progress Report is a good place to look for details.The Ember.js addon community grew from 3500to almost 4500 publicly available addons!With 2018 already un +
7年前
記事のアイキャッチ画像
The 2020 Ember Roadmap
Ember.js Blog
+The purpose of the Ember Roadmap process is to rally the community around a number of shared goals. This post documents those goals for 2020.Since the Ember community cannot predict the future, we cannot be sure that we will achieve all of the individual items enumerated here. Instead, the purpose of this document is to give the community a common purpose to aspire towards.This year our two headline priorities are:Polish the practical and conceptual details of Octane (tracked properties, Glimmer components, related tooling, accessibility, performance and payload improvements).Make Ember easier to try and adopt, but also lower barriers for Ember developers when collaborating with the greater JavaScript project. We will do this through improvements and simplifications to the framework, and through focused communication with the greater JavaScript community.This document was started in fall 2019. It is a distillation of multiple sources:The 2019 Community Survey.Community #EmberJS2019 blo +
5年前
記事のアイキャッチ画像
Accessibility Working Group Update
Ember.js Blog
+Back in March, an Accessibility (A11y) Strike Team was formed to address the issues outlined in Ember RFC Issue 595 - Technical Accessibility Issues in New Ember Apps. This blog post is to update the community on that group's work.The Strike Team met weekly between March 25 and June 24. We even managed to celebrate Global Accessibility Awareness Day!There were five items listed in Issue 595:Application Language SupportLabel/Input SupportPage Title SupportSupport for ...attributesAccessible Routing SupportActive WorkApplication Language SupportThe goal of application language support was to provide a mechanism for new Ember apps to pass WCAG Success Criteria 3.1.1 - Language of Page. To meet that goal, Joseph Sumner, Jamie White, Ava Wroten and Melanie Sumner authored RFC 635, which proposed a --lang flag for ember-cli. This flag would enable developers to declare the application's language while they were creating the app, allowing them to more easily meet this particular success crite +
4年前
記事のアイキャッチ画像
Announcing Ember's First LTS Release
Ember.js Blog
+Currently, Ember uses release channelsto help users balance between a desire for new features (canary or betachannels) with stability (the release channel). While semver guarantees meanthat upgrades are quite straightforward, some users aren't able to upgradeevery six weeks. To address these needs,we are announcing a new LTS releasechannel.Ember 2.4 will be the first LTS release of the core framework, and willcontinue every four releases thereafter. Additionally, we've updated theemberjs.com/builds page with better guidanceabout when and how to use each of the channels.For our users, LTS releases allow you to upgrade less frequently while stillgetting support from the Ember project and the wider ecosystem.For addon authors, LTS releases allow you to know which versions of Ember tofocus effort on.As a project, Ember will provide security and critical bugfixes for the mostrecent LTS release, in addition to the most recent release (as we do today).We will also avoid breaking heavily used +
9年前
記事のアイキャッチ画像
Announcing the Official TypeScript Types Public Preview
Ember.js Blog
+As of ember-source@4.8.0-beta.2, Ember is shipping a public preview of our official TypeScript support for the framework itself. This is the next step in implementing RFC 0724: Official TypeScript Support and RFC 0800: TypeScript Adoption Plan. Anyone using TypeScript with Ember 4.8.0 Beta 2 or later can opt into using these preview types by removing the corresponding @types packages and adding the following import in your types/<your app>/index.d.ts file:import 'ember-source/types';import 'ember-source/types/preview';This will set your app up to start using Ember's preview types now and to automatically benefit as we stabilize our types incrementally over the releases ahead. You won't have to do anything except add these once and then upgrade your app on your normal upgrade cadence!Note that there are some significant changes to these types compared to the types as they exist on DefinitelyTyped today. All public API remains supported, but in line with RFC 0800, we intentionally provid +
2年前
記事のアイキャッチ画像
Announcing the Ember.js Security Policy
Ember.js Blog
+We know that building your apps on top of a framework requirestrust, and that trust is never put to the test more than when securityvulnerabilities are discovered.While we're very fortunate to work on an open source project that runsin a sandboxed environment, the browser, we realize that even JavaScriptapplications can be vulnerable to attacks from malicious third-parties.Ember.js is designed to mitigate common forms of attack. For example,all values rendered using Handlebars are automatically escaped toprevent XSS attacks, and developers must explicitly opt in to outputtingraw HTML.To ensure that Ember applications stay safe, today we're announcing theEmber.js Security Policy, to help security researchers anddevelopers responsibly disclose potential vulnerabilities in Ember andEmber Data.We have also set up the Ember.js security announcements mailinglist. This isan extremely low-traffic mailing list reserved solely for announcingsecurity releases of the framework. If you're deploying +
12年前
記事のアイキャッチ画像
Announcing The Glimmer 2 Alpha
Ember.js Blog
+In this year's EmberConf keynote, Yehuda mentioned that we are working on a highly optimized rendering engine for Ember called Glimmer 2.On behalf of all the contributors who have lent a hand along the way, I am very excited to announce that we have released Ember 2.9.0-alpha.1, the first official build with Glimmer 2 included.🔑 A Key Milestone 🔑During the alpha testing period, we will publish new alpha builds on a weekly cadence, following the beta releases schedule. The alpha releases will be cut from the master branch, but with all experimental features other than ember-glimmer stripped from the builds.The purpose of the alpha releases is to enable our community – especially the addon and tooling ecosystem – to start testing the new engine for compatibility and offer feedback. Needless to say, the alpha releases are not intended for production use.To test your apps with the alpha builds, run bower install --save ember#alpha and follow the prompt to persist the resolution.From Embe... +
9年前
記事のアイキャッチ画像
Another Ember 2.x Status Update
Ember.js Blog
+We're a few weeks away from the release of Ember 1.13 and Ember 2.0 beta, and while there's been a lot of focus on those releases, the trains will keep rolling on June 12. There will be a 2.1 release 6 weeks hence, and a 2.2 release 6 weeks later.With all of the focus on Ember 2.0, it's easy to forget that 2.0 is just a six-week release, with the added ability to remove some built-up cruft. Because of the symbolic nature of 2.0, discussions about the future have had an artificial end date of June 12, which is now three weeks away.This post gives some more details about what cruft will be removed in Ember 2.0 and, since the first features in Ember 2.1 will land in three weeks, what we plan to do in the early releases of Ember 2.x.It's important to note that we've talked a lot about an improved "Ember 2 programming model" over the past several months, significantly inspired by React. While much of the model will be in place in Ember 2.0, the early releases of Ember 2.x (especially 2.1 an +
10年前
記事のアイキャッチ画像
Upcoming deprecation of baseURL in Ember CLI 2.7
Ember.js Blog
+The baseURL configuration option and the accompanying <base> tag in Ember CLI applications are often and tragically misunderstood. There have been at least 67 issues opened for Ember CLI referencing baseURL, making it one of the most common points of discussion. As a result, in Ember CLI's canary channel, we have deprecated baseURL and removed the default <base> inside of index.html. The intent is that this change will be released with Ember CLI 2.7 stable in roughly 10 weeks.Existing applications are able to continue using baseURL with a deprecation warning. If you are eager to adopt this change, you should note that the removal of the <base> tag may impact how your application is deployed, and if so, will likely require some small migration effort, detailed below.This is the culmination of a lot of research and work by Tobias Bieniek and we're incredibly grateful for his efforts.What was it?baseURL allowed an Ember application and assets to be deployed to a subdirectory without requi +
9年前
記事のアイキャッチ画像
Cleaning Up Github Issues
Ember.js Blog
+If you've been following along, the Ember issues tracker has grown to over 200 active issues. While this is better than some other large OSS projects, it's still too large for us on the core team to easily keep track of. There are also a number of issues that are over six months old and even a year or two old.Declaring straight-up issue bankruptcy is appealing, but does a disservice to everyone involved. There's a lot of useful information here for the core team and many of these issues are things we are actively working on solving. So we're attempting to cut down on the number of issues in a bit more targeted way.In many cases these old issues stuck around because the solution was non-trivial and only a limited set of contributors was qualified to fix them. In some instances, a fix involves considerable internal refactoring that no one has yet had time to do and was hard to justify for one fix.To help keep things manageable, we'll be consolidating these types of issues into single met +
11年前
記事のアイキャッチ画像
Coming Soon in Ember Octane - Part 1: Native Classes
Ember.js Blog
+(This post was originally published on www.pzuraq.com)If you've been paying attention in Ember lately you may have heard the term "Octane" floating around here and there recently, and wondered what all the excitement was about. It may seem like a bit of a big deal - and that's because it kind of is! It's Ember's first new edition, proposed in the Ember 2018 Roadmap, and represents a major shift in the mental model behind Ember.js and Ember applications. In this series, I'll be diving into some of the new features that are part of Octane (specifically the ones that are part of the browser side of the framework) and giving a brief overview of how the feature works, and why the feature is being added. The features I'm planning on discussing are:Native Classes (+Decorators)Angle Bracket Syntax & Named ArgumentsTracked PropertiesModifiersGlimmer ComponentsThere are more features that are part of Octane, such as Ember's new file system layout (also known as Module Unification), template impo +
6年前
記事のアイキャッチ画像
Coming Soon in Ember Octane - Part 2: Angle Brackets & Named Arguments
Ember.js Blog
+(This post was originally published on www.pzuraq.com)Hello again, and welcome back! This is the second part of the multipart Coming Soon in Ember Octane series, where we're previewing some of the various features that are landing in Ember's upcoming Octane edition, including:Native Classes (+Decorators)Angle Brackets & Named Arguments ← this postTracked PropertiesModifiersGlimmer ComponentsThese aren't all of the new features that will be part of Octane, but they're the ones that I'm most familiar with personally, so I can give y'all the low down!This series is aimed at existing Ember users, but if you're new to Ember or tried Ember a while ago and want to see how things are changing, I'll be providing context on the existing features as we go along. These posts won't be doing deep dives on all the edge cases of the functionality, they are moreso meant as an overview of what's coming. If you're curious about what an edition is exactly, you can check out a quick break down in the first +
6年前
記事のアイキャッチ画像
Coming Soon in Ember Octane - Part 3: Tracked Properties
Ember.js Blog
+(This post was originally published on www.pzuraq.com)Hello again, and welcome back! This is the third entry in the multipart Coming Soon in Ember Octane series, where we're previewing some of the various features that are landing in Ember's upcoming Octane edition, including:Native Classes (+Decorators)Angle Brackets & Named ArgumentsTracked Properties ← this postModifiersGlimmer ComponentsThese aren't all of the new features that will be part of Octane, just the ones that I'm most familiar with personally. This series is aimed at existing Ember users, but if you're new to Ember or tried Ember a while ago and want to see how things are changing, I'll be providing context on the existing features as we go along. These posts won't be doing deep dives on all the edge cases of the functionality, they are moreso meant as an overview of what's coming. If you're curious about what an edition is exactly, you can check out a quick break down in the first post in the series.On to tracked proper +
6年前
記事のアイキャッチ画像
Coming Soon in Ember Octane - Part 4: Modifiers
Ember.js Blog
+(This post was originally published on www.pzuraq.com)Hello again, and welcome back! This is the fourth entry in the multipart Coming Soon in Ember Octane series, where we're previewing some of the various features that are landing in Ember's upcoming Octane edition, including:Native Classes (+Decorators)Angle Brackets & Named ArgumentsTracked PropertiesModifiers ← this postGlimmer ComponentsThese aren't all of the new features that will be part of Octane, just the ones that I'm most familiar with personally. This series is aimed at existing Ember users, but if you're new to Ember or tried Ember a while ago and want to see how things are changing, I'll be providing context on the existing features as we go along. These posts won't be doing deep dives on all the edge cases of the functionality, they are moreso meant as an overview of what's coming. If you're curious about what an edition is exactly, you can check out a quick break down in the first post in the series.Alright, now let's +
6年前
記事のアイキャッチ画像
Coming Soon in Ember Octane - Part 5: Glimmer Components
Ember.js Blog
+(This post was originally published on www.pzuraq.com)Hello again, and welcome back! This is the fifth and final entry in the multipart Coming Soon in Ember Octane series, where we're previewing some of the various features that are landing in Ember's upcoming Octane edition, including:Native Classes (+Decorators)Angle Brackets & Named ArgumentsTracked PropertiesModifiersGlimmer Components ← this postThese aren't all of the new features that will be part of Octane, just the ones that I'm most familiar with personally. This series is aimed at existing Ember users, but if you're new to Ember or tried Ember a while ago and want to see how things are changing, I'll be providing context on the existing features as we go along. These posts won't be doing deep dives on all the edge cases of the functionality, they are moreso meant as an overview of what's coming. If you're curious about what an edition is exactly, you can check out a quick break down in the first post in the series.Now, let's +
6年前
記事のアイキャッチ画像
Preview Weekend: 2019 Ember Community Survey
Ember.js Blog
+We are thrilled to announce that we will be adding to the spring excitementsurrounding Ember Octaneand EmberConf 2019 with the release of the fifthannual Ember Community Survey, and as always, we want your input before we golive!This year we're making an effort to move much of the surveyprocess to the ember-learn/annual-community-survey GitHub repo.Please review the the list of 2019 survey questionsthis before February 17th and submit feedback asan issues on that repo.201 Created began this annual survey ofthe Ember community in 2015. Over the past four years, data from the survey has helpedus measure progress on issues as wide ranging as diversity and browser support.In 2017, free text responses were permitted for the first time, giving communityparticipants a way to provide feedback to the project and project leadership anew way to hear their voices. As 201 Created steps away, it istime to promote the annual survey to an official project of the Ember LearningTeam. Thank you 201 Creat +
6年前
記事のアイキャッチ画像
Compiling templates with Ember 1.10
Ember.js Blog
+As many of you know, Ember 1.10 will be the first version of Ember that uses HTMLBars as its templating engine. With this change you may need to change the way you compile your templates.The HTMLBars API is evolving and not 1.0.0 yet, so to ensure that templates are compiled compatibly with your Ember version we have updated the Ember build system to generate a ember-template-compiler.js file alongside every build of Ember. This template compiler can be used server-side for precompilation or in the browser to compile templates on the fly. If you do not need to compile templates at runtime (in the browser) the ember.debug.js or ember.prod.js file alone is sufficient. There is no need to include a runtime dependency. This is a departure from previous versions, where you would always include either handlebars.js or handlebars.runtime.js.Most of the time you will use a third party library like ember-cli, ember-cli-htmlbars, or grunt-ember-templates to precompile templates, but this post wi +
10年前
記事のアイキャッチ画像
Core Team Face to Face, January 2016
Ember.js Blog
+Ember is a truly community-driven framework, with contributors and coreteam members who live all over the world and work for many differentcompanies. The vast majority of our collaboration happens online viatools like GitHub.That said, every quarter the Ember core team likes to meet face-to-facefor a high-bandwidth, high-intensity discussion about the future of theframework. We focus on high priority issues, ways we can improve ourprocess, and setting the long-term vision for Ember.A week ago, the core team descended on beautiful Spicewood, Texas(about an hour outside of Austin) for two days of hand to handcombat technical discussion.Below, in no particular order, are summaries of the topics we discussed.Nothing here should be considered final, and all decisions are subjectto change as we receive community feedback.SubteamsEmber includes everything you need to create a modern web application,from build tools to a lightning fast rendering engine to comprehensivedocumentation. Because of +
9年前
記事のアイキャッチ画像
Core Team Meeting Minutes - 2013/12/06
Ember.js Blog
+Although most of our collaboration takes place on Github, IRC(#emberjs on freenode.net), and our Discourse sitethe Ember.js Core Team meets privately everyFriday at 2pm EST/11am PST through Google Hangout for a weeklydiscussion of all things Ember.We want to ensure that our process and thinking is totally transparentto the Ember.js community so we're going to start publishing meetingnotes here.If you have a topic you'd like to see covered, contact your favoritecore team member and let them know!Attendees@ebryn, @krisselden, @machty, @stefanpenner, @tomdale, @trek, @wagenet, @wycatsTopicsTransparencyWe've heard a few comments that people would like greater Core Team transparency.Since the weekly meetings are the only significant group communication that isn'tpublic, we'll be posting notes from these meetings.Resolutions:@trek publish core team meeting notes@trek post weekly reminders that the core team meeting occurs and invite peopleto contact individual core team members if they have +
11年前
記事のアイキャッチ画像
Core Team Meeting Minutes - 2013/12/20
Ember.js Blog
+Although most of our collaboration takes place on Github, IRC(#emberjs on freenode.net), and our Discourse sitethe Ember.js Core Team meets privately everyFriday at 2pm EST/11am PST through Google Hangout for a weeklydiscussion of all things Ember.If you have a topic you'd like to see covered, contact your favoritecore team member and let them know!Attendees@krisselden, @machty, @stefanpenner, @tomdale, @trek, @wagenet, @wycatsTopicsBuild Tools@wycats has been communicating with @jo_liss about usingbroccoli as the basis for a build tools package.Ember DataEmber data is now less of an ORM and more of a pluggable framework for assembling your own data communication layer for Ember.js applications (with some nice defaults for people's whose APIs follow common patterns). However, the interface – especially on the "normal form" of return values – isn't well documented so people aren't able to easily jump in, try it, and offer feedback.Resolutions:@trek will start working on docs.@tomdale, @ +
11年前
記事のアイキャッチ画像
Core Team Meeting Minutes - 2014/01/03
Ember.js Blog
+Although most of our collaboration takes place on Github, IRC(#emberjs on freenode.net), and our Discourse sitethe Ember.js Core Team meets privately everyFriday at 2pm EST/11am PST through Google Hangout for a weeklydiscussion of all things Ember.If you have a topic you'd like to see covered, contact your favoritecore team member and let them know!Attendees@ebryn, @krisselden, @machty, @stefanpenner, @trek, @wagenet, @wycatsGo/No-Go for 1.4It's that time in the beta release cycle where the core teamgives a "go" or "no-go" vote to feature-flagged beta functionality.query-params-new: no-goneeds more people trying thisdoc/guides need to be updated.with-controller: gomake sure to add parentController immediately after merge (@kselden)address https://github.com/emberjs/ember.js/issues/4050 (@stefanpenner)ensure lookupFactory and creates with content{{#with foo controller=someController}}ember-metal-with-proxy: gorename to Ember.run.bind and merge (@stefanpenner)ember-metal-run-method: no-g +
11年前
記事のアイキャッチ画像
Core Team Meeting Minutes - 2014/01/17
Ember.js Blog
+Although most of our collaboration takes place on Github, IRC(#emberjs on freenode.net), and our Discourse sitethe Ember.js Core Team meets privately everyFriday at 2pm EST/11am PST through Google Hangout for a weeklydiscussion of all things Ember.If you have a topic you'd like to see covered, contact your favoritecore team member and let them know!Attendees@ebryn, @krisselden, @machty, @stefanpenner, @tomdale, @trek, @wagenet, @wycats, @wifelettePending Go/No-GoWe received feedback that too many flagged features in canary werenot getting enough discussion from the core team early in the release cycle.This was delaying useful features making it into scheduled beta releases.To tighten up the feedback loop, the core team will regularlyreview features on our canary builds and work with authors sooner to address concerns.The current list of features on master but not enabled in the 1.4 family of beta buildscan be found on this Github issue:https://github.com/emberjs/ember.js/issues/4052The +
11年前
記事のアイキャッチ画像
Core Team Meeting Minutes - 2014/01/27
Ember.js Blog
+Although most of our collaboration takes place on Github, IRC(#emberjs on freenode.net), and our Discourse sitethe Ember.js Core Team meets privately everyFriday at 2pm EST/11am PST through Google Hangout for a weeklydiscussion of all things Ember.If you have a topic you'd like to see covered, contact your favoritecore team member and let them know!This week's core team meeting was rescheduled from Friday, January 24 to Monday, January 27due to the Google outage that affected Google Hangouts.Attendees@ebryn, @krisselden, @machty, @stefanpenner, @tomdale, @trek, @wagenet, @wycatsTopicsIssues Discussion:The core team discussed the following Github Issuesember-routing-auto-location #3725.resolution:assign @stefanpennershould be good for the next beta.needs someone to audit + try for realis it ok if we have /#/foo and /foo in the wild? How does this affect SEOdocument that backend support is needed and that your app will not havecanonical URLs (i.e. every URL will have two versions in the +
11年前
記事のアイキャッチ画像
Core Team Meeting Minutes - 2014/01/31
Ember.js Blog
+Although most of our collaboration takes place on Github, IRC(#emberjs on freenode.net), and our Discourse sitethe Ember.js Core Team meets privately everyFriday at 2pm EST/11am PST through Google Hangout for a weeklydiscussion of all things Ember.If you have a topic you'd like to see covered, contact your favoritecore team member and let them know!Attendees@ebryn, @krisselden, @machty, @stefanpenner, @tomdale, @wifelette, @wycatsGo/No-Go Feature Listingember-routing-named-substates #3655@krisselden: likes the feature a lot (we should do it)@wycats: naming with globals is totally unsolvable.@machty: If FooLoading is ambiguous, we should warn that global mode is not supported for this feature@tomdale: we need a separate task force for thinking about module mode only features.resolution: Tom and Stef will reviewember-handlebars-caps-lookup #3218resolution: check local first, warn and fallback to global seems like a good strategyember-testing-simple-setup #3785resolution: Tom and Stef wil +
11年前
記事のアイキャッチ画像
Core Team Meeting Minutes - 2014/02/07
Ember.js Blog
+Although most of our collaboration takes place on Github, IRC(#emberjs on freenode.net), and our Discourse sitethe Ember.js Core Team meets privately everyFriday at 2pm EST/11am PST through Google Hangout for a weeklydiscussion of all things Ember.If you have a topic you'd like to see covered, contact your favoritecore team member and let them know!Attendees@ebryn, @krisselden, @machty, @stefanpenner, @tomdale, @trek, @wagenet, @wycatsTopicsFeatures pending 'Go' decision.The core team reviewed the following pull requests for inclusion in the 1.5.x beta series:ember-routing-named-substates #3655Tom and Stef still need to discuss how to handle module mode + new semantics next week.Resolution: Tom and Stef will discuss this week. No, for real this time.ember-handlebars-caps-lookup #3218Needs follow up from @xtian.Resolution: Ping @xtianember-testing-simple-setup #3785Tom and Stef still need to review.Resolution: Tom and Stef will review.query-params-new #4008There are still some decisions +
11年前
記事のアイキャッチ画像
Core Team Meeting Minutes - 2014/02/14
Ember.js Blog
+Although most of our collaboration takes place on Github, IRC(#emberjs on freenode.net), and our Discourse sitethe Ember.js Core Team meets privately everyFriday at 2pm EST/11am PST through Google Hangout for a weeklydiscussion of all things Ember.If you have a topic you'd like to see covered, contact your favoritecore team member and let them know!Attendees@ebryn, @krisselden, @machty, @stefanpenner, @tomdale, @trek, @wagenet, @wycatsTopicsES6ifying coreLast month we completed the migration of ember-data to the ES6 module syntax. This lets us use clearer dependency declarations, stay clear of module syntax battles (you can export to whichever module format best conforms to your deeply held beliefs on JavaScript modules), and continues our pattern of bringing future JavaScript features to you today.Work has started on the porting Ember.js to ES6 module syntax as well!.Thanks to @thomasABoyt and @Square for work on the ES6 Module Transpiler, @fivetanley for converting ember-data, and @r +
11年前
記事のアイキャッチ画像
Core Team Meeting Minutes - 2014/02/21
Ember.js Blog
+Although most of our collaboration takes place on Github, IRC(#emberjs on freenode.net), and our Discourse sitethe Ember.js Core Team meets privately everyFriday at 2pm EST/11am PST through Google Hangout for a weeklydiscussion of all things Ember.If you have a topic you'd like to see covered, contact your favoritecore team member and let them know!Attendees@ebryn, @krisselden, @machty, @tomdale, @trek, @wagenet, @wycatsTopicsOld Stack Overflow questionsLast week we started the process of cleaning up old questions on Stack Overflow bycollecting a list of questions and evaluating whether the question still madesense and, if so, whether selected answer was still the best available answer.Initially we were using Stack Overflow's existing tagging functionality to collect thislist but the Stack Overflow admins suggested that we find some other way.They didn't have any suggestions for using Stack Overflow to speed this process,so we created a list of all Ember.js questions to date with some +
11年前
記事のアイキャッチ画像
Core Team Meeting Minutes - 2014/02/28
Ember.js Blog
+Although most of our collaboration takes place on Github, IRC(#emberjs on freenode.net), and our Discourse sitethe Ember.js Core Team meets privately everyFriday at 2pm EST/11am PST through Google Hangout for a weeklydiscussion of all things Ember.If you have a topic you'd like to see covered, contact your favoritecore team member and let them know!Attendees@ebryn, @krisselden, @machty, @rwjblue, @stefanpenner, @tomdale, @trek, @wycatsTopicsHello, GhostA few weeks ago @jacob4u2 reached out over twitterto let us know the popular Node.js-based blogging platform Ghost was looking toreinvent their admin interface and were discussing various browser JavaScript libraries. Theensuing discussion is a great read.This week the Ghost team announced they'd be rebuilding in Ember.js.We're super geeked to see Ghost join Balanced,TravisCI, Discourse, and the rest of thegreat community of open source projects adopting Ember.js.Thanks to everyone who chimed in on the discussion and the Ember.js communi +
11年前
記事のアイキャッチ画像
Core Team Meeting Minutes - 2014/03/07
Ember.js Blog
+Although most of our collaboration takes place on Github, IRC(#emberjs on freenode.net), and our Discourse sitethe Ember.js Core Team meets privately everyFriday at 2pm EST/11am PST through Google Hangout for a weeklydiscussion of all things Ember.If you have a topic you'd like to see covered, contact your favoritecore team member and let them know!Attendees@ebryn, @krisselden, @machty, @rwjblue, @stefanpenner, @tomdale, @trek, @wycatsTopicsFeatures pending 'Go' decision. Tracking Issueember-routing-add-model-option #4293Resolution: GoPR's/Issues To ReviewQuery Params New - Sticky Params?Should query paramters remain on route change? When do we want it? All the time?How do we disable it? Proposals thus far:/r?sort=asc ← keep/r/ios?sort=hot ← keep? “model specific state”/r/gonewild ← keep? “model specific state”/r/foo?name=’something related to foo’or/blog/somepost?comments=truethen navigate to/blog/someOtherPost?comments=true ← keep?/blog/someOtherPostthen ← don’t keep?// then navigate +
11年前
記事のアイキャッチ画像
Core Team Meeting Minutes - 2014/03/14
Ember.js Blog
+Although most of our collaboration takes place on Github, IRC(#emberjs on freenode.net), and our Discourse sitethe Ember.js Core Team meets privately everyFriday at 2pm EST/11am PST through Google Hangout for a weeklydiscussion of all things Ember.If you have a topic you'd like to see covered, contact your favoritecore team member and let them know!Attendees@ebryn, @krisselden, @machty, @rwjblue, @stefanpenner, @tomdale, @trek, @wycatsTopicsGo/No-Go Feature Listingquery-params-new #4008 Still a no-go, while @machty and @wycats hash out the specificsPR's/Issues To ReviewcanSetInnerHTML: IE cannot set innerHTML on several tagsIE doesn't support .innerHTML = on COL, COLGROUP, FRAMESET, HTML, STYLE, TABLE, TBODY, TFOOT, THEAD, TITLE, or TR.Resolution: definitely a bug, but this will be fixed with HTMLbars so we'd rather wait for that toland instead of fixing nowOverwrite observers and listeners in Ember.CoreObject.create().Modifies mixin inclusion code in makeCtor to remove any observers/l +
11年前
記事のアイキャッチ画像
Core Team Meeting Minutes - 2014/03/21
Ember.js Blog
+Although most of our collaboration takes place on Github, IRC(#emberjs on freenode.net), and our Discourse sitethe Ember.js Core Team meets privately everyFriday at 2pm EST/11am PST through Google Hangout for a weeklydiscussion of all things Ember.If you have a topic you'd like to see covered, contact your favoritecore team member and let them know!Attendees@ebryn, @krisselden, @machty, @rwjblue, @stefanpenner, @trek, @wycats, @wifeletteTopicsPRs/Issues To ReviewWe reviewed the following PRs and Issues:query-params-new #4008Nothing new here. We're working very hard to get this correct the first timeand have something to demo at EmberConf.Move instanceMetas into object's meta #4559InstanceMetas for objects' ReduceComputedPropertys are stored on the RCP instance (ie. on the descriptor) as this._instanceMetas[key] where key = guidOfTheObject + ':' + propertyName (see http://git.io/t9bKxA). The RCP can't know when the object is garbage collected, hence the _instanceMetas array grows unboun +
11年前
記事のアイキャッチ画像
Core Team Meeting Minutes - 2014/04/04
Ember.js Blog
+Although most of our collaboration takes place on Github, IRC(#emberjs on freenode.net), and our Discourse sitethe Ember.js Core Team meets privately everyFriday at 2pm EST/11am PST through Google Hangout for a weeklydiscussion of all things Ember.If you have a topic you'd like to see covered, contact your favoritecore team member and let them know!Attendees@ebryn, @krisselden, @machty,@rwjblue, @wagenet, @tomdaleTopicsPR's/Issues To ReviewBUGFIX beta Allow setting of undefined value to a content propertyFixes setting of undefined value to a content property.Still, checking obj[keyName] === value in these lines is bypassed in two casesIf the setter value is undefinedIf the setter property lies inside the proxied contentUsing get(obj, keyName) might resolve. But was quite nervous to do that as it may involve some additional function calls+1 by @stefanpenner, but he requests @krisselden to review.Resolution:Seems good, but @krisselden will review in further detail. Will attempt to have t +
11年前
記事のアイキャッチ画像
Core Team Meeting Minutes - 2014/04/25
Ember.js Blog
+Although most of our collaboration takes place on Github, IRC(#emberjs on freenode.net), and our Discourse sitethe Ember.js Core Team meets privately everyFriday at 2pm EST/11am PST through Google Hangout for a weeklydiscussion of all things Ember.If you have a topic you'd like to see covered, contact your favoritecore team member and let them know!Attendees@ebryn,@krisselden,@machty,@rwjblue,@trek,@stefanpenner,@wagenet,@wycatsTopicsBuild Tools Redux ProgresssWhen Ember.js took its first tentative steps into the world there existed noecosystem of build tools for ambitious applications in the browser. Instead,we needed to build these toolsfrom scratch.The build tools story is significantly improved from those days! We're fortunate enough tohave several competing systems, all JavaScript based, that help streamline this workflow.Work is in progress to unify our buildsand better declare and manage our external dependencies.PR's/Issues To Reviewember-routing-linkto-target-attribute #4718Re +
11年前
記事のアイキャッチ画像
Core Team Meeting Minutes - 2014/06/06
Ember.js Blog
+Although most of our collaboration takes place on Github, IRC(#emberjs on freenode.net), and our Discourse sitethe Ember.js Core Team meets privately everyFriday at 2pm EST/11am PST through Google Hangout for a weeklydiscussion of all things Ember.If you have a topic you'd like to see covered, contact your favoritecore team member and let them know!Attendees@ebryn,@krisselden,@machty,@trek,@stefanpenner,@wagenet,@tomdaleWhere have all the minutes gone, long time passing?Many people have reached out on twitter wondering where the meetingminutes for May have gone. We'd like to apologize: many of us weretraveling, attending conferences, and/or handling cross-state moves during May.Meetings have still been taking place, topics discussed, and advanced thoughtleadership generated, but attendance and note taking have been sporadic.Ember 1.6/1.7.beta DelayedWe've been delaying the release of Ember 1.6 and the start of the 1.7.betabranch for a few weeks to address outstanding issues that have b +
11年前
記事のアイキャッチ画像
Core Team Meeting Minutes - 2014/06/13
Ember.js Blog
+Although most of our collaboration takes place on Github, IRC(#emberjs on freenode.net), and our Discourse sitethe Ember.js Core Team meets privately everyFriday at 2pm EST/11am PST through Google Hangout for a weeklydiscussion of all things Ember.If you have a topic you'd like to see covered, contact your favoritecore team member and let them know!Attendees@krisselden,@machty,@rwjblue,@trek,@stefanpennerQuery parametersThis has been enabled by defaultin beta and nightly builds. Check out Query Parameters Guidefor usage details.Keeping the train movingIn the last meeting we discussed why the release of 1.6 and 1.7.beta was delayed.In this meeting we resolved to not delay releases, because we hope to includea specific feature.
11年前
記事のアイキャッチ画像
Core Team Meeting Minutes - 2014/06/20
Ember.js Blog
+Although most of our collaboration takes place on Github, IRC(#emberjs on freenode.net), and our Discourse sitethe Ember.js Core Team meets privately everyFriday at 2pm EST/11am PST through Google Hangout for a weeklydiscussion of all things Ember.If you have a topic you'd like to see covered, contact your favoritecore team member and let them know!Attendees@krisselden,@machty,@rwjblue,@trek,@stefanpenner,@wagenet,@tomdale,@wycatsFeatures pending 'Go' decisionsember-routing-consistent-resourcesThis PR adds .index, .loading, and .error sub-routes for resources created evenif no callback was provided so this.resource('foo') andthis.resource('foo', function(){}) behave identically.Resolution: 'Go'.
11年前
記事のアイキャッチ画像
Core Team Meeting Minutes - 2014/06/27
Ember.js Blog
Although most of our collaboration takes place on Github, IRC(#emberjs on freenode.net), and our Discourse sitethe Ember.js Core Team meets privately everyFriday at 2pm EST/11am PST through Google Hangout for a weeklydiscussion of all things Ember.If you have a topic you'd like to see covered, contact your favoritecore team member and let them know!Attendees@ebryn,@krisselden,@machty,@rwjblue,@trek,@stefanpenner,@wagenet,@tomdale,@wycats1.6 and 1.7.betaWe're cutting these today and publishing.
11年前
記事のアイキャッチ画像
Core Team Meeting Minutes - 2014/07/11
Ember.js Blog
+Although most of our collaboration takes place on Github, IRC(#emberjs on freenode.net), and our Discourse sitethe Ember.js Core Team meets privately everyFriday at 2pm EST/11am PST through Google Hangout for a weeklydiscussion of all things Ember.If you have a topic you'd like to see covered, contact your favoritecore team member and let them know!Attendees@ebryn,@krisselden,@rwjblue,@trek,@stefanpenner,@wagenet,@tomdale,@wycatsPath to CoreMembers of the community who have a sustained and significant contribution toEmber.js are invited to join the core team and help us guide the framework'sfuture direction. Members we'd like to add are put on the "path to core" andgiven greater autonomy for a trial period before being officially invited.Contributors on path to core are given commit access to the Ember.jsrepositories and attend our weekly core team meetings and periodicface to face meetings.Today we're happy to announce that two Ember.js contributors are on the pathto core: Matthew Bea +
11年前
記事のアイキャッチ画像
Core Team Meeting Minutes - 2014/07/25
Ember.js Blog
+Although most of our collaboration takes place on Github, IRC(#emberjs on freenode.net), and our Discourse sitethe Ember.js Core Team meets privately everyFriday at 2pm EST/11am PST through Google Hangout for a weeklydiscussion of all things Ember.If you have a topic you'd like to see covered, contact your favoritecore team member and let them know!Attendees@krisselden,@machty,@mixonic@_mmun,@rwjblue,@trek,@stefanpenner,@wagenet,@wycatsFace to Face July 2014Last week the core team (and those on path to core) met in New York City forour periodic face to face meeting. Tom and Yehuda will be posting notes fromthat meeting in the coming weeks. Thank you to our friends at PivotalLabs for hosting us in their awesome new office.Built With EmberA few months ago we began tracking some of the ambitious apps madewith Ember.js. The folks at Blimp have turned thatdocument into a curated list of awesome Ember.js applications. Check itout.ember-cli websiteember-cli, our ES6 module-based build tool ha +
11年前
記事のアイキャッチ画像
Core Team Meeting Minutes - 2014/08/01
Ember.js Blog
+Although most of our collaboration takes place on Github, IRC(#emberjs on freenode.net), and our Discourse sitethe Ember.js Core Team meets privately everyFriday at 2pm EST/11am PST through Google Hangout for a weeklydiscussion of all things Ember.If you have a topic you'd like to see covered, contact your favoritecore team member and let them know!Attendees@krisselden,@mixonic@_mmun,@trek,@stefanpenner,@wagenet,@tomdale,@wycatsRevamp the Getting Started GuideWe're starting work to revampour Getting Started Guide.TodoMVC is too small of an app to demonstrate enough topics. We wereholding off in hopes that there would be further progress on the successorto TodoMVC but this project has stalled.We're investigating building a Github Issues viewer. Our goals are to betterhighlight areas where Ember really shines compared to other frameworks: Deeplynested view and data hierarchies, url-driven applications, intuitivequery paramater behaviors.Deprecating global view lookup from templatesAs we +
10年前
記事のアイキャッチ画像
Core Team Meeting Minutes - 2014/08/14
Ember.js Blog
+Although most of our collaboration takes place on Github, IRC(#emberjs on freenode.net), and our Discourse sitethe Ember.js Core Team meets privately everyFriday at 2pm EST/11am PST through Google Hangout for a weeklydiscussion of all things Ember.If you have a topic you'd like to see covered, contact your favoritecore team member and let them know!Attendees@ebryn,@krisselden,@machty,@mixonic@_mmun,@rwjblue,@trek,@stefanpenner,@wagenet,@tomdale,@wycatsExplore using LodashWe reviewed a PR that replaces Ember builtin array extensions internals with Lodash.Assuming no performance regressions, we're in favor.Guides and API versioned and subdomainedCurrently the Guides and API are not versioned, which increasingly leads topain around new feature documentation. The plan is to beging publishing guidesand API to a subdomains and version them:http://guides.emberjs.com/ (defaults to latest)http://guides.emberjs.com/1.8http://api.ember.js.com/ (defaults to latest)http://api.ember.js.com/1.8 +
10年前
記事のアイキャッチ画像
Core Team Meeting Minutes - 2014/09/12
Ember.js Blog
+Although most of our collaboration takes place on Github, IRC(#emberjs on freenode.net), and our Discourse sitethe Ember.js Core Team meets privately everyFriday at 2pm EST/11am PST through Google Hangout for a weeklydiscussion of all things Ember.If you have a topic you'd like to see covered, contact your favoritecore team member and let them know!Attendees@ebryn,@krisselden,@machty,@mixonic@_mmun,@rwjblue,@trek,@stefanpenner,@wagenet,@tomdale,HTMLBarsMost of this weeks discussion focused on our largest ongoing project: HTMLBars.We're hoping HTMLBars is on track to make it into the 1.9 or 1.10 beta series.The biggest outstanding issues are general cleanup, fixing behavior aroundparts of theDOM where a browser will "helpfully" insert "missing" tags(like auto-insertion of tbody into a table),and Internet Explorer bugs and performance
10年前
記事のアイキャッチ画像
Countdown to The New Year - Ember Intl
Ember.js Blog
+In our end of year series-"Countdown to The New Year: 31 Days of Ember Addons" we showcase a new addon each day until the new year, and we hope you have fun hearing about our favorite addons!Day 16For day 16 of our Countdown to The New Year we want to highlight and addon that truly brings the entire Ember community from all locales together: ember-intl!What It DoesThe ember-intl addon is probably one of the most popular addons used in Ember apps today. As the go-to solution for bringing internationalisation to our application, it allows us to manage translations, date, time, number and currency formats in more than 150 languages!Why I Like ItThe rich ember-intl service API and many useful template helpers help us to add new locales to our apps continually as our product's user base grows globally.For those of us who have lots of languages to support in their application, ember-intl even allows us to load translations asynchronously - making sure that the size of the bundle that determi +
5年前
記事のアイキャッチ画像
Countdown to The New Year- Ember A11Y Testing
Ember.js Blog
+This is the tenth in our DecEmber series-"Countdown to The New Year: 31 Days of Ember Addons". We plan to highlight a new addon each day until the new year, and we hope you'll join us for the fun!Day 10Let's talk about ember-a11y-testing.What It DoesThe ember-a11y-testing addon is a wrapper around Deque Labs'axe-core accessibility(a11y) testing engine that helps you identify accessibility issues in your Ember app & provides useful information on how to solve them.Why I Like ItLike many of you out there, I too developed webapps without realizing the impact that accessible apps can have on users. In fact, Istarted learning about a11y problems through this addon when I added it to a few apps that I was working on when this addon gotreleased back in 2015.While there's more to building accessible apps than automated tools (like this addon) can help with, it does help ensure thatcommon a11y violations are captured before they can make their way to users.The best part about this addon is that +
5年前
記事のアイキャッチ画像
Countdown to The New Year - Ember Angle Brackets Codemod
Ember.js Blog
+This is the ninth in our DecEmber series–"Countdown to The New Year: 31 Days of Ember Addons". We plan to highlight a new addon each day until the new year, and we hope you'll join us for the fun!Day 9Until recently, converting Ember templates to use Angle Bracket invocation was a tiresome and manual task. With the latest version of ember-angle-brackets-codemod, you get a smarter, more complete codemod to change your templates in a flash!What It DoesBefore Angle Bracket invocation, nearly every template construct in Ember was invoked using Handlebars {{doubleCurly}} syntax. This made differentiating between components, helpers, and plain values incredibly difficult. Angle Brackets alleviate most of this ambiguity. But what if you wanted to change every double curly component invocation to Angle Brackets? That task could take forever (especially if you cant reliably tell the difference between everything in your templates)! The Angle Bracket Codemod eases the transition in a few steps:I +
5年前
記事のアイキャッチ画像
Countdown to The New Year - Ember Animated
Ember.js Blog
+This is the seventh in our DecEmber series–"Countdown to The New Year: 31 Days of Ember Addons". We plan to highlight a new addon each day until the new year, and we hope you'll join us for the fun!Day 7According to Wikipedia's History of Animation-The Roman poet and philosopher Lucretius (c. 99 BCE – c. 55 BCE) wrote in his poem De rerum natura a few lines that come close to the basic principles of animation: "…when the first image perishes and a second is then produced in another position, the former seems to have altered its pose. Of course this must be supposed to take place very swiftly: so great is their velocity, so great the store of particles in any single moment of sensation, to enable the supply to come up."Today, we write such poems in code, using ember-animated.What It Doesember install ember-animated is an invitation for creativity. This addon provides animation primitives and some built-in transitions that help bring interfaces to life! You can animate across route chang +
5年前
記事のアイキャッチ画像
Countdown to The New Year - Ember Auto Import
Ember.js Blog
+This is the sixth in our DecEmber series–"Countdown to The New Year: 31 Days of Ember Addons". We plan to highlight a new addon each day until the new year, and we hope you'll join us for the fun!Day 6Once upon a time, if Ember developers wanted to use a regular npm package, they needed to jump through some hoops, but ember-auto-import makes it a breeze!What It DoesThe ember-auto-import addon provides a zero-config way to use npm packages in your Ember app, and even lazy-load them.Why I Like ItOne of my wishes for the web is that we can make it easier for new people to learn, participate, and build.Whenever I see this trend happening in Ember, it makes me happy.I love this addon because it eliminates the need for a beginner (and experienced developer) to understand the differences between AMD and CJS modules, and how they get into the app tree.They don't need to read about how to configure their build.They don't need to know how Ember's build pipeline differs from other build tools.The +
5年前
記事のアイキャッチ画像
Countdown to The New Year - Ember Bootstrap and Ember Paper
Ember.js Blog
+This is the 23rd in our DecEmber series–"Countdown to The New Year: 31 Days of Ember Addons". We plan to highlight a new addon each day until the new year, and we hope you'll join us for the fun!Day 23For the 23rd edition of Countdown to The New Year we're going to take alook at two great design library addons, ember-bootstrap and ember-paperEmber Bootstrap - What It DoesThe ember-bootstrap addon is for using the Bootstrap design library in Ember applications. This addon provides a native Ember component library for some of the more commonly used Bootstrap components.The ember-bootstrap addon can help you can integrate Bootstrap into your application quickly, and in an idiomatic Ember manner.There are many related Ember addons that integrate with Ember Bootstrap to provide additional features on top of Ember Bootstrap, such as form validation and changesets.Ember Bootstrap - Why I Like ItIf you're looking to add Bootstrap to an Ember application, ember-bootstrap makes doing so incredib +
5年前
記事のアイキャッチ画像
Countdown to The New Year - Ember Changeset
Ember.js Blog
+This is the 28th in our DecEmber series–"Countdown to The New Year: 31 Days of Ember Addons". We plan to highlight a new addon each day until the new year, and we hope you'll join us for the fun!Day 28For the 28th edition of Countdown to The New Year we're going to take alook at ember-changeset.What It DoesManaging data associated with forms can sometimes be unwieldy. As a result, we have borrowed concepts from the Elixir community to give you the ability to prevent mutating the underlying object until the last possible moment when you have decided to apply the changes and the data is valid. This functional approach to validations has proved to be quite useful.This addon works in conjunction with ember-changeset-validations to provide you with out of the box validations to validate the format of a certain input, ensure passwords pass a minimum security threshold or even let you build your own custom validator!Why I Like ItRecently I rewrote ember-changeset to fix long outstanding bugs, +
5年前
記事のアイキャッチ画像
Countdown to The New Year - Ember CLI Mirage
Ember.js Blog
+This is the second in our December series–"Countdown to The New Year: 31 Days of Ember Addons". We plan to highlight a new addon each day until the new year, and we hope you'll join us for the fun!Day 2Today we are going to look at one of our community's most popular addons- ember-cli-mirage.What It DoesThe ember-cli-mirage addon is a client-side server to help you build, test, and demo your Ember app. It helps developers be more productive by providing ways to generate fake data, allowing front-end engineers to spend more time focusing on the UI.Why I Like ItAs I was informally polling the community about their favorite Ember addons, ember-cli-mirage came up A LOT. For good reason, too. It's well-supported by the addon maintainers, there's a dedicated documentation site, and there's support on the Ember Community Discord server in the #ec-mirage channel."It’s a part of the ecosystem I dearly miss when I work with other frameworks."As an extra bonus, EmberMap has generously made their +
5年前
記事のアイキャッチ画像
Countdown to The New Year - Ember CLI Sass
Ember.js Blog
+This is the eighth in our DecEmber series–"Countdown to The New Year: 31 Days of Ember Addons". We plan to highlight a new addon each day until the new year, and we hope you'll join us for the fun!Day 8ember-cli-sass is an addon that I always install when I work on side projects. It's that amazing / critical / \<add your hype word of choice here>!In all seriousness, let me tell you why I love Sass and why I encourage you to try out ember-cli-sass today.What It Doesember-cli-sass uses Sass to preprocess stylesheets in your Ember app (or addon). That's just a fancy way of saying you will have an easier time expressing how you want to style your app.The addon also supports common, advanced use cases for Ember projects:Source maps by default in developmentSupport for outputPaths configurationAbility to specify includePathsAbility to edit Sass in Chrome Dev ToolsWhy I Like ItThere are two areas to examine here: (1) why I love Sass, and (2) why I love ember-cli-sass.Why I Love SassSass (Synt +
5年前
記事のアイキャッチ画像
Countdown to The New Year - Ember CLI TypeScript
Ember.js Blog
+This is the 24th part of our DecEmber series–"Countdown to The New Year: 31 Days of Ember Addons". Highlighting a new addon each day until the new year starts, we hope you enjoy learning together with us!Day 24Today we are going to take a look at writing apps in TypeScript - using ember-cli-typescript.What It DoesThe ember-cli-typescript addon sets up everything you need to start using TypeScript in your Ember apps and addons. This includes not only configuring Babel to handle TypeScript, but build-time type-checking, in-browser type error reporting, and a whole set of custom blueprints for generating TypeScript versions of everything from routes and controllers to services to components. ember-cli-typescript also helps addon authors write their addons in TypeScript by handling automatic precompilation and type definition generation when publishing.Why I Like ItStatic typing is a lifesaver, especially in ambitious apps with complex structures and many moving parts. It helps speed up de +
5年前
記事のアイキャッチ画像
Countdown to The New Year - Ember CLI Update
Ember.js Blog
+This is the 26th in our December series–"Countdown to The New Year: 31 Days of Ember Addons". We plan to highlight a new addon each day until the new year, and we hope you'll join us for the fun!Day 26Let's highlight how you can update Ember your projects with ember-cli-update.What It DoesBesides package updates like ember-source and ember-cli, there are more files that are updated when a new version of Ember releases.Tweaks to testem.js or .eslintrc.js may be missed if you're not tracking those files changes (via something like ember-new-output).ember-cli-update was created to update those kinds of files along with package.json changes for you.It can also run codemods against your newly installed versions.A new feature is on its way where it can maintain any blueprint, not only the official Ember blueprint.The idea is that you can make one blueprint for your organization, and keep your projects up-to-date like ember-cli-update does today.You could also keep default blueprints that shi +
5年前
記事のアイキャッチ画像
Countdown to The New Year - Ember Code Snippet
Ember.js Blog
+This is the twenty-ninth in our DecEmber series–"Countdown to The New Year: 31 Days of Ember Addons". We plan to highlight a new addon each day until the new year, and we hope you'll join us for the fun!Day 29Before I took this assignment, I didn't know anything about ember-code-snippet. Now, I'm glad that I did. This addon surfaced in 2015, has received regular updates, and powers many of my favorite addons. (Can you guess how?)What It Doesember-code-snippet lets you render code snippets in your app (or addon). Quite handy if you want to create a technical blog or document your components.It provides a helper called get-code-snippet so that (1) you can save code snippets in a dedicated folder and (2) create your own component to customize their look.To illustrate the use, we'll consider a code snippet from the Ember.js Octane vs Classic Cheat Sheet:// my-app-name/snippets/make-your-own-elementId.jsimport Component from '@glimmer/component';import { guidFor } from '@ember/object/intern +
5年前
記事のアイキャッチ画像
Countdown to The New Year - Ember Composable Helpers
Ember.js Blog
+This is the 18th in our DecEmber series–"Countdown to The New Year: 31 Days of Ember Addons". We plan to highlight a new addon each day until the new year, and we hope you'll join us for the fun!Day 18Today we are going to look at the 11th most popular addon on Ember Observer: ember-composable-helpers.What It DoesThe ember-composable-helper addon provides composable helpers for Ember apps, which allows for more declarative templating.Now, the first time I read that sentence, I thought, "huh what?" so I want to break it down a little more.This addon provides helpers. Useful helpers (like filter-by, repeat, and group-by, to name a few. These helpers can be used together (imagine using group-by in conjunction with filter-by…go ahead, imagine it, I'll wait…).The declarative bit means that we're telling our template what we want to do, succinctly; ember-composable-helpers tells our app how to do it, saving us time and increasing our productivity.Why I Like ItI think this addon is the bee's +
5年前
記事のアイキャッチ画像
Countdown to The New Year - Ember Concurrency
Ember.js Blog
+This is the fifth in our DecEmber series–Countdown to The New Year: 31 Days of Ember Addons". We plan to highlight a new addon each day until the new year, and we hope you'll join us for the fun!Day 5Let's talk about ember-concurrency.The experience is part joy, part tragedy.The joy comes from having elegant, straightforward solutions for things like debouncing.The tragedy is that I have to write this code myself when I am working in a non-Ember setting, but I suppose absence makes the heart grow fonder.What It DoesThe ember-concurrency addon helps you "write concise, robust, and beautiful asynchronous code." For example, think about what should happen if a user rapidly clicks a "submit" button. With this addon, there's a nice way to prevent 30 form submissions.Or, what if an API request takes a long time, and you want to be able to cancel it? Promises won't help you, but ember-concurrency tasks will.Why I Like ItWithout ember-concurrency, it would take a lot of effort to manage starti +
5年前
記事のアイキャッチ画像
Countdown to The New Year - Ember CSS Modules
Ember.js Blog
+This is the 22nd part of our December series–"Countdown to The New Year: 31 Days of Ember Addons". Highlighting a new addon each day until the new year starts, we hope you enjoy learning together with us!Day 22Today we are going to take a look at creating apps with style - using ember-css-modules.What It DoesWith the addon ember-css-modules, styling à la CSS Modules is only one ember install away.CSS Modules allow us to write styles which are scoped to particular parts of our application by default and allow style sharing by explicit opt-in mechanisms. The ember-css-modules addon helps us to co-locate css files next to our components, routes and controllers following Ember's file name conventions.Why I Like ItMaking the apps we are building look awesome can be really fun! But maintaining a growing CSS code base can also be really hard. CSS Modules are a great way to modularise our styles in a way that they apply locally to only the exact component or route we wrote them for by default. +
5年前
記事のアイキャッチ画像
Countdown to The New Year - Ember Exam
Ember.js Blog
+This is already the second to last edition of our December series-"Countdown to The New Year: 31 Days of Ember Addons". In this series we are highlighting a new addon each day until the new year, and we hope you'll join us for the fun!Day 30On the 30th day of our Countdown to The New Year we want to feature an exciting Ember addon to make your test suite fun to work with: ember-exam!Learn more about ember-exam on Ember Observer.What It Doesember-exam is an addon that allows to have more control over running your ember-qunit (Ember's default testing framework) and ember-mocha test suite. It extends from the default Ember CLI test command, allowing you run it as you would ember test.Why I Like Itember-exam allows us to run tests in parallel which can greatly reduce the overall run time of our test suite. Using the --random option of this addon, we are able to run tests in random order; this helps us to uncover interdependencies between test cases which would be hard to spot otherwise. An +
5年前
記事のアイキャッチ画像
Countdown to The New Year - Ember In Viewport
Ember.js Blog
+This is the 27th in our DecEmber series–"Countdown to The New Year: 31 Days of Ember Addons". We plan to highlight a new addon each day until the new year, and we hope you'll join us for the fun!Day 27For the 27th edition of Countdown to The New Year we're going to take alook at ember-in-viewport.What It DoesDoes your app use scroll event listeners or getBoundingClientRect to determine if an element on your page is in the user's viewport? If so, you have come across the perfect addon for you to observe DOM elements!Common use cases for ember-in-viewport include lazy loading images, infinite scrolling (see ember-infinity) and/or tracking advertisement impressions. This is a flexible and performant library to give your users the performance they need when visiting your site.Recent additions have added our own {{in-viewport}} modifier, allowing you to "observe" elements in template only components! See the Modifiers section for more examples.Why I Like Itember-in-viewport supports browser +
5年前
記事のアイキャッチ画像
Countdown to The New Year - Ember Leaflet
Ember.js Blog
+The first of its kind "Countdown to The New Year: 31 Days of Ember Addons" series highlights popular addons in the Ember community. We hope you enjoy learning about fun tools for Ember developers together with us each day!Day 17In the 17th increment of Countdown to The New Year let's take a look at an exciting Ember addon to add maps to our apps: ember-leaflet!Learn more about ember-leaflet on Ember Observer.What It DoesWith ember-leaflet we can create useful maps for our web applications. This addon helps us to integrate the functionality of Leaflet.js - an open-source JavaScript library for mobile-friendly, interactive maps - into our Ember app.Why I Like ItLeaflet.js is already a great library built with simplicity, performance and usability in mind. The addon ember-leaflet makes the developer experience even better for us: we can build complex, multi-layered street maps directly in our templates using the useful layer components provided by the addon API. This makes creating intera +
5年前
記事のアイキャッチ画像
Countdown to The New Year - Ember Mapbox GL
Ember.js Blog
+This is the 21st in our DecEmber series–"Countdown to The New Year: 31 Days of Ember Addons". We plan to highlight a new addon each day until the new year, and we hope you'll join us for the fun!Day 21Today we are going to take a look at making maps in Ember with ember-mapbox-gl.What It DoesHave you ever wondered how to make maps in Ember? No? Okay, but you should!This post is about adding an interactive map to your Ember project. By the end of this post, you'll have a map of the location of your company's business (provided that it has some physical location in Cartesian space).(Note: I'm not talking about these kinds of maps, although they're not totally unrelated).Every time I need to solve a problem in Ember, I do a quick search through the Ember addon ecosystem.Yes, it's satisfying to solve the problem yourself, but it's smarter—and quicker—to use someone else's code. Shoulders of giants, people. Now, web mapping is a pretty complicated suite of technologies, so the temptation to +
5年前
記事のアイキャッチ画像
Countdown to The New Year - Ember Modifier
Ember.js Blog
+Day 3This is the third in our DecEmber series–"Countdown to The New Year: 31 Days of Ember Addons". We plan to highlight a new addon each day until the new year, and we hope you'll join us for the fun!Today we are going to look at a rising star in our addon ecosystem- ember-modifier.What It DoesThe ember-modifier addon provides an API for authoring element modifiers in Ember. It mirrors Ember's helper API, and has forms for writing both simple functional modifiers and more complicated class modifiers.A modifier can add customized, automatic behavior to a DOM element, such as tracking scroll position or adding new event listeners. After you write a modifier, you can use it in a template like this:<div {{my-modifier}}> Some more content</div>Developers who have tried out the Octane preview might already be familiar with ember-render-modifiers, which provide some modifiers like {{did-insert}} out of the box. With ember-modifiers, you can go beyond the box to build whatever your app needs! +
5年前
記事のアイキャッチ画像
Countdown to The New Year - Ember Page Title
Ember.js Blog
+This is the eleventh in our DecEmber series-"Countdown to The New Year: 31 Days of Ember Addons". We plan to highlight a new addon each day until the new year, and we hope you'll join us for the fun!Day 11This addon ember-page-title provides a helper for changing the browser tab title of the page within your application.What It DoesThe ember-page-title addon is helpful for many reasons, but an important reason is that it is a WCAG success criteria (2.4.2) to provide a page title.A quick tip about page titles! The title of each Web page should:Identify the subject of the Web pageMake sense when read out of context, for example by a screen reader or in a site map or list of search resultsBe shortWhy I Like ItThanks to ember-page-title, you can provide users with an HTML browser title tag so they know where they are within your single-page application (SPA).How to use it:Run ember install ember-page-titleAdd {{head-layout}} to your application.hbs fileInclude the title helper to each page +
5年前
記事のアイキャッチ画像
Countdown to The New Year - Ember Power Select
Ember.js Blog
+This is the fourteenth in our DecEmber series - "Countdown to The New Year: 31 Days of Ember Addons". We plan to highlight a new addon each day until the new year, and we hope you'll join us for the fun!Day 14Today's selection for '31 Days of Ember Addons' is ember-power-select.What It DoesEmber Power Select provides a powerful select component, built from the ground up for Ember so that it works the way you expect an addon to work in Ember. Exceptionally well-documented, Ember Power Select allows you to create everything from a straightforward list of text items to an asynchronous search driven select which incorporates graphical elements in the list.The addon's website includes a cookbook for more unusual requirements as well as a list of community provided addons which address functionality outside of the scope of Ember Power Select.Why I Like ItI have grown to love using Ember Power Select while developing a CRUD-rich web app which benefits from many instances of select elements dr +
5年前
記事のアイキャッチ画像
Countdown to The New Year - Ember Shepherd
Ember.js Blog
+This is the 20th in our DecEmber series–"Countdown to The New Year: 31 Days of Ember Addons". We plan to highlight a new addon each day until the new year, and we hope you'll join us for the fun!Day 20For the 20th edition of Countdown to The New Year we're going to take alook at ember-shepherdwhich allows you to add tours to your Ember app.What It DoesThe ember-shepherd addon provides an Ember wrapper for the site tour libraryShepherd, which allows you to seamlesslyconfigure your site tours with an Ember service.It allows you to show new users around your app, introduce new features to existing users, or suggest a flow your users might follow to optimally use your app.It is configurable to show modal overlays or not, and can be hooked up to your existing application flow to conditionally show steps or be controlled manually.Why I Like ItTours are an often overlooked feature of apps, and can be crucial to providing a good user experience. Without them, a user may feel lost in your app o +
5年前
記事のアイキャッチ画像
Countdown to The New Year - Ember Simple Auth
Ember.js Blog
+This is the 13th edition in our DecEmber series–"Countdown to The New Year: 31 Days of Ember Addons". We plan to highlight a new addon each day until the new year, and we hope you'll join us for the fun!Day 13Today we're going to look at ember-simple-auth!What It DoesThe ember-simple-auth addon is a lightweight library that helps you implement authentication and authorization in your Ember applications. It takes care of maintaining a client side session and synchronizing it accross tabs and windows, so you don't have to worry about your user signing out in one tab and remaining signed in in others.It comes with a set of authentication providers (OAuth, Device, Torri) and can be customized in case you need to support a different authentication mechanism. It also provides a session service and a series of mixins that will aid you in adding authorization information to your requests, defining which routes should be accessible only to signed in users, and controlling the user session.Why I +
5年前
記事のアイキャッチ画像
Countdown to The New Year - Ember Sortable
Ember.js Blog
+This is the first in our DecEmber series–"Countdown to The New Year: 31 Days of Ember Addons". We plan to highlight a new addon each day until the new year, and we hope you'll join us for the fun!Day 1To kick things off, we're going to look at ember-sortable.What It DoesThe ember-sortable addon provides sortable UI primitives for Ember apps- this is super useful in the sense that teams don't have to reinvent this very common pattern every time they need it for their own applications!Why I Like ItWhile the ember-sortable addon has been around for some time now, providing a consistent way to add drag and drop functionality to an Ember app, it is the most recent additions that have made this addon especially worth paying attention to. Yicheng Gong, a software engineer at LinkedIn, noticed that the addon was missing accessibility support. He took on the work via the Adopted Ember Addons org, and updated the addon to add the missing features!The addon now provides a keyboard-only way to sor +
5年前
記事のアイキャッチ画像
Countdown to The New Year - Ember Template Invocation Location
Ember.js Blog
+This is the 25th in our December series–"Countdown to The New Year: 31 Days of Ember Addons". We plan to highlight a new addon each day until the new year, and we hope you'll join us for the fun!Day 25I'm not sure there is anyone who knows the ins and outs of Ember and its ecosystem quite as well as Robert Jackson, aka rwjblue. Today, we look at a useful addon he wrote to help make debugging a little simpler - ember-template-invocation-location.What It DoesThe ember-template-invocation-location addon will allow you to debug things such as the location in a template that a given helper, component, or modifier was invoked from; the invocation site of the thing that invoked that template, and so on up to the root most template (generally a route template). Since this is primarily done in development and test builds, it will not work in production by default.The general goal of this addon is to enable significantly easier debugging. As a result of this, it is expected that the majority of +
5年前
記事のアイキャッチ画像
Countdown to The New Year - Ember Template Lint
Ember.js Blog
+This is the 19th in our DecEmber series–"Countdown to The New Year: 31 Days of Ember Addons". We plan to highlight a new addon each day until the new year, and we hope you'll join us for the fun!Day 19Today we are going to look at an addon that is part of every new Ember app. The ember-template-lint addon has many new features added recently, and is worth a close look!What It DoesAs you may guess from the addon title, ember-template-lint is a linter for your template files!It checks for mistakes and advises best practices for the markdown in your component and route templates.Because we work in JavaScript, there are different ways something could be done, but often there is an ideal solution that avoids problems down the line.This is where ember-template-lint shines. It will throw warnings and/or errors when you try to break one of these rules.It's extendable and customizable too, so you can get the right combination of rules for your project.Why I Like ItThe ember-template-lint addon +
5年前
記事のアイキャッチ画像
Countdown to The New Year - Ember Test Selectors
Ember.js Blog
+Our December series - "Countdown to The New Year: 31 Days of Ember Addons" aims to highlight a new addon each day until the new year, and we hope you enjoy hearing about addons that bring us joy as well!Day 15On the 15th day of our Countdown to The New Year we want to take a look at a helpful Ember addon which lets us write redesign-proof tests: ember-test-selectors!What It Doesember-test-selectors is an addon that allows us to use additional, test-specific markup in the form of data-test attributes in the dev and test environments of our app. This additional, test-specific markup allows us to select elements in our integration and application tests reliably - even if the HTML markup or CSS selectors change during a redesign of our app.The addon takes care of removing data-test attributes from our production builds automatically, freeing us from the worry that our bundle size might increase as we build and test away.Why I Like ItIf we only rely on CSS selectors or HTML markup to find e +
5年前
記事のアイキャッチ画像
Countdown to The New Year - Ember Tether
Ember.js Blog
+May the 4th edition in our December series be with you! In "Countdown to The New Year: 31 Days of Ember Addons" we highlight a new addon each day until the new year, and we hope you'll join us for the fun!Day 4Today we are going to take a look at ember-tether.What It DoesThe addon ember-tether provides us with a UI component that - once rendered - will render its block to any other target DOM node on the page as configured via the component's attributes. This "tethering" of the component's block to a target somewhere else on the page also retains the component's context - making Ember action handling and data binding possible.Why I Like ItEven though we have a lot of control over how and where Ember apps render UI using routes and components, it's sometimes difficult to implement less conventional UI patterns such as interactive modal dialogs or tooltips for street maps without writing lots of boilerplate. I enjoy using ember-tether for giving me the freedom to render app content where +
5年前
記事のアイキャッチ画像
Countdown to The New Year - Built-in Addons
Ember.js Blog
+This is the last of our December series-"Countdown to The New Year: 31 Days of Ember Addons". Thank you for joining us!What a month it’s been! Over the last thirty days, we have showcased different kinds of addons in the Ember ecosystem. In this final post, we’ll show how an Ember app’s default addons come together to form a great developer experience, and we will reflect on the article series as a whole.This article series highlights the real spirit of the Ember community, the ways in which we come together to find a way to say yes to good ideas. It started out as a wish: “Wouldn’t it be nice if we had our own advent calendar blog?” Then, it quickly turned into a refined possibility: “Let’s do a countdown to the new year so we can cover more addons.” From there, it grew into actionable steps: “What does an MVP blog post look like? How about a pre-determined format to make it easier to allow other community members to contribute?” This is one example of how many of our favorite open so +
5年前
記事のアイキャッチ画像
Countdown to The New Year - Ember SVG Jar
Ember.js Blog
+This is the twelfth in our December series–"Countdown to The New Year: 31 Days of Ember Addons". We plan to highlight a new addon each day until the new year, and we hope you'll join us for the fun!Day 12Today we're highlighting ember-svg-jar.What It DoesThere's a reason ember-svg-jar has a 10 out of 10 on Ember Observer! The ember-svg-jar addon enables you to effortlessly use SVG images in Ember apps.Why We Like ItA common theme in the Ember community is zero configuration. In that vein, with ember-svg-jar, you get a visual workflow out of the box to search and preview icons in one place. Check out the live demo and empower your team with this feature!The ember-svg-jar addon helps you reduce the size of your assets. Using svgo, SVGs are automatically optimized, which can cut your file size by half or more. So useful!The addon is flexible and extensible. ember-svg-jar provides an easy-to-use helper {{svg-jar "asset-name"}}, support for both inline and symbol embedding methods, and the +
5年前
記事のアイキャッチ画像
First Annual DecEmber Event!
Ember.js Blog
+This year, the Ember Learning Core Team is hosting our first annual DecEmber, a hackathon event specifically targeted at Learning Team efforts! For an extra bit of awesome, it’s running at the same time as 24 Pull Requests, so contributions to DecEmber will count for both!Maybe December is a busy month for you, because of the holidays and family obligations—and that’s totally okay—we hope you have a great time! But for some, December is a time of the year with a lot of downtime. Maybe that’s you! Are you wondering what to do with all your vacation time in December? We’ve got ya covered!Participation RulesTo qualify for any of our random assortment of thank you goodies (that we’ve delightfully dubbed Embercouragement), you must complete at least five participation activities for repositories in the ember-learn org between December 1-28, 2018.Participation ActivitiesSubmitting PRs for issuesIn the Ember Learn orgThat have the DecEmber labelWriting Issues for repositories in the ember-lea +
6年前
記事のアイキャッチ画像
Ember 1.0 Prerelease 2
Ember.js Blog
+Ember 1.0 Prerelease 2 is out now. This is mainly a bug fix releaseafter 1.0.pre. However, there are a few things you should be aware ofand we'll go over those a bit below. We're still pushing hard toward the a 1.0 beta release but wanted to make some of our bug fixes available in a more formal way. If you want to go ahead anddownload now, you can grab it over on the Github Download Page. What's Changed NowOther than bug fixes, there are a few things we've changed thatcould affect your 1.0.pre apps.{{outlet}} now creates a Metamorph rather than a <div>. This makesit less obtrusive, but you may have to change your HTML or CSS if youwere relying on the <div>.We have removed CP_DEFAULT_CACHEABLE and VIEW_PRESERVES_CONTEXTflags. Both behaviors are now always on.Inline Handlebars templates must always be named now. The default nameis 'application'. This means that <script type="text/x-handlebars">behaves exactly the same as<script type="text/x-handlebars" data-template-name="application">.U +
12年前
記事のアイキャッチ画像
Ember 1.0 Prerelease
Ember.js Blog
+We're pleased to announce the Ember 1.0 Prerelease. It's been a coupleof months since our 0.9.8.1 release and a lot has changed. By makingthis prerelease available we're giving you the opportunity to try outthe feature set for 1.0. Read on to learn what's new along with a fewcaveats.What's NewRouterEmber.js is all about giving you the tools to build ambitious apps onthe web. Here's the thing about ambitious apps: they usually have state.Lots of state. And the bigger your app gets, the harder keeping allof it in your head becomes.Part of being an app on the web is taking advantages of the browser'sstrengths. In particular, the fact that we have URLs to describe whatwe see on our screen is an advantage over native applications. Yourusers want to be able to share that URL on Twitter or Facebook and have their friends see what they're seeing.Ember 1.0 Prerelease includes what we think is the most advanced toolfor modeling your application's state: Ember.Router. The router allowsyou to desc +
13年前
記事のアイキャッチ画像
Ember 1.0 RC
Ember.js Blog
+Today at Ember Camp, we announced the release of Ember.js 1.0 RC1.This release is all about fixing bugs from the pre4 release, andgets us that much closer to a final 1.0 release. Between this releaseand the 1.0 final, we will mostly be focusing on stability and documentation.If you discover any blocking bugs or undocumented areas, please file tickets atthe emberjs/ember.js repo on GitHub and consider helping out.Route ReplacementYou can now transition to a new route without creating an entry in the history:// instead of this, which creates a history entryrouter.transitionTo('index');// do thisrouter.replaceWith('index');In the redirect hook, you can use replaceWith and Ember won't createa history entry.In a controller, you can use replaceRoute (instead of transitionToRoute)to do the same thing.Item ControllerIf you want every item in a {{#each}} to be wrapped in an ObjectController,you can do so:{{#each posts itemController="post"}} {{!-- `this` in here is each post wrapped in an App.P +
12年前
記事のアイキャッチ画像
Ember 1.0 RC2
Ember.js Blog
+Today, we're releasing the second Release Candidate of Ember 1.0.As we said when we released RC1, the next few releases will beabout bugfixes and improvements, and should not have any breakingchanges.Namespace Lookup for ControllersIt is now possible to look up controllers that are included in anamespace other than the main application namespace.For example, when using the render helper:{{render 'posts'}}This will render the posts template with the controller App.PostsController, where App is the main application namespace.If you want to use an alternative namespace, you can use a/-separated path.{{render 'blog/posts'}}This will render the blog/posts template with the controllerBlog.PostsController.Using Render With Multiple ModelsIn RC1, you could use {{render 'posts'}} to render the poststemplate using the app's instance of App.PostsController. Usingrender in this way will always render the template using the samesingleton controller.In RC2, we are adding the ability to render a temp +
12年前
記事のアイキャッチ画像
Ember 1.0 RC3
Ember.js Blog
+Today we are announcing the third Release Candidate of Ember 1.0.As we said when we released RC1, all releases until 1.0 is finalwill be about bugfixes and improvements, and should not have anybreaking changes.PerformanceSince RC2, a series of performance improvements have landed.When adjacent child views are scheduled for insertion they areare now batched together, and inserted together rather then one ata time.Object deletion is now async, this prevents un-needed churn when destroyinglarge interconnected object graphs.The number of objects allocated during view rendering has been cut down.The ongoing performance effort is being championedby Erik Bryn and Kris Selden.TestingThere have been many fixes and improvements to App#reset, which should nowcorrectly clear application state when invoked. Typically this is only usedfor integration tests.// before each integration testApp.reset();Please Note: App.reset() now brings its own run loop, and no longerneeds to be wrapped in one.Initial +
12年前
記事のアイキャッチ画像
Ember 1.0 RC4
Ember.js Blog
+AnnouncementWe have noticed a performance regression, a debug flag was left on by mistake. So if you really want the goodness of RC4 without this regression use this build, we'll have an official release out soon.Today, we are pleased to announce Ember.js 1.0 RC4:This RC4 release of Ember puts us very close to the final 1.0 release.Ember.js 1.0 RC4As we approach 1.0 final, our focus continues to be on bugfixes, performance, andreliability.BREAKING CHANGE: Controller/Model SetupOne of the roles of Route objects in an Ember application is to tellcontrollers which model they should represent.By default, the object that you return from a route's model hook isset as the model property on the corresponding controller. So, forexample, if you have this route:App.PhotosRoute = Ember.Route.extend({ model: function() { return App.Photo.find(); }});The array returned from model would be set as the model property ofthe App.PhotosController. This tells the controller that it shouldpresent that model +
12年前
記事のアイキャッチ画像
Ember 1.0 RC5
Ember.js Blog
+Ember.js 1.0 RC5 has been released and is now available from themain website as well as builds.emberjs.com.RC5 fixes several regressions and bugs found in RC4. Notably:A performance regression caused by a change to run loop scheduling hasbeen fixed. Thanks to Erik Bryn forworking on this.Promises returned from a route's model hook could cause the app tohang on page refresh. This has been fixed thanks to Alex Matchneer.The ember-testing package, which contains additional helpers fortesting Ember.js apps, is no longer included in the production build.This means less JavaScript for end users to load over the network.Thank you to everyone who filed issues and pull requests. Please try outRC5 in your applications and report any issues or regressions you findby filing an issue on GitHub.Lastly, thanks to Stefan Penner, whohas been busting his tail to get Ember.js to the 1.0 finish line,including doing the release engineering for these release candidates.Thanks Stef!
12年前
記事のアイキャッチ画像
Ember 1.0 RC6.1, RC5.1, RC4.1, RC3.1, RC2.1 RC1.1 Released
Ember.js Blog
+Because many Ember.js apps allow users to interact with private data, wetake security issues very seriously.In fact, we're one of the few JavaScript projects that has aclearly outlined security policy and alow-traffic mailing list exclusively for securityannouncements.We want developers to know that they can trust Ember enough to buildtheir businesses on top of it.In that spirit, today we are announcing the release of Ember.js 1.0RC6.1, RC5.1, RC4.1, RC3.1, RC2.1 and RC1.1. These are all securityreleases that address a potential XSS security issue you can learn moreabout by following this link:CVE-2013-4170It is recommended that you update immediately. In order to easeupgrading, the only major change in each release is the security fix.We would like to thank Mario Heiderich of Cure53for responsibly disclosing this issue, working with us on the patchand the advisory, and having patience while we went through oursecurity procedure for the first time.Like a smoke detector or fire extingui +
12年前
記事のアイキャッチ画像
Ember 1.0 RC6
Ember.js Blog
+Ember.js 1.0 RC6 has been released and is available from themain website and at builds.emberjs.com. Thisrelease features two big changes: 1) router update 2) Ember Components.Router UpdateThe biggest change is router update (aka "router facelift"), which addressestwo major issues. The first was inconsistent semantics between URL-based transitionsand transitionTo. The second was spotty async support which made it difficult toprevent or delay route entry in cases such as authentication and async code-loading.We have now harmonized URL changes and transitionTo semantics and more fully embracedasynchrony using promises.Additionally, router transitions have become first-class citizens and there arenew hooks to prevent or decorate transitions:willTransition: fires on current routes whenever a transition is about to take place beforeModel/model/afterModel: hooks fired during the async validation phaseFinally there is an error event which fires whenever there is a rejected promise orerror thro +
12年前
記事のアイキャッチ画像
Ember 1.0 RC7 Released
Ember.js Blog
+We’re pleased to announce the release of Ember 1.0 RC7 today! If all goes smoothly, this will be our penultimate RC before Ember 1.0. This release includes a number of bug fixes and a few small improvements. We’ve got a few other bug fixes in the queue that weren’t quite ready but this release was overdue and we didn’t want to wait. To that end, we expect to release RC8 next week. Read on for more details on what we changed.Important ChangesRoute#controllerFor no longer auto generates controllersIn some cases, people have been relying on controllerFor to access controllers for routes that have not yet been entered, relying on its auto-generation ability. Unfortunately, this can actually lead to subtle bugs. When entering a route, Ember looks for a controller with a matching name. If that controller isn’t found, Ember generates one according to the type of the route’s model. If the model is an array, we generate an ArrayController; if it’s an object, an ObjectController; if neither, a s +
11年前
記事のアイキャッチ画像
Ember 1.0 RC8 Released
Ember.js Blog
+With Ember 1.0 RC8, we have reached the final RC before 1.0 final, whichwe hope to release this weekend if all goes well.This final release candidate comes with a couple of small breakingchanges that we are making before 1.0 because they should have a smallimpact on application code but a large impact on performance.We normally would not make changes of this nature this close to the 1.0final release date. However, the performance improvements were sodramatic we did not want to wait until Ember.js 2.0 to introduce thechange, and we are serious in our commitment to not breaking the APIpost-1.0. This was our last chance to get these changes in beforeputting the final stamp on the 1.0.Both of the changes are related to observers. If you find yourselfwriting code with lots of observers, you may be writing non-idiomaticcode. In general, you should only need to use observers when you arebridging Ember code to other libraries that do not support bindings orcomputed properties.For example, if y +
11年前
記事のアイキャッチ画像
Ember 1.0 Released
Ember.js Blog
+Today, we're excited to announce the final release of Ember.js 1.0.The first commit to the repository that would become Ember.js happened on April30th, 2011, almost two and a half years ago.At the time, Backbone.js was rocketing to popularity. In response to largeJavaScript frameworks like SproutCore, Cappuccino, and Dojo, which tried toabstract away HTML, most web developers began rejecting any solution whosesource code they couldn't read over in an afternoon. The "microlibrary" frenzyhad hit full tilt.However, we knew that as web browsers became more and more powerful, thesesimplistic abstractions wouldn't scale up to the kind of apps that users wouldbegin to demand.We realized that helping developers grapple with the complexity of building100% JavaScript web applications could only happen if we embraced the toolsthat they were most comfortable with: HTML and CSS.Based on the current popularity of frameworks like Ember, Angular and Knockout,it's clear that this strategy turned out to +
11年前
記事のアイキャッチ画像
Ember 1.1.1 and 1.2 Beta Released
Ember.js Blog
+Hot off the heels of our 1.0 release, we've got two new bundles ofgoodness for you to try out today.First up is Ember.js 1.1.1, the inaugural stable release after ourswitch to a Chrome-like six week releasecycle.Because this is the kickoff release of the new process, there are veryfew new features and the delta between 1.0 and 1.1.1 is very small. Thisrelease is composed primarily of bug fixes and performance improvements,so we recommend you upgrade right away.For a list of exactly what's new, see the CHANGELOG.(If you're wondering why 1.1.1 and not 1.1, there was a regressionintroduced in Ember.Object.create() that could break 1.0-compatibleapps that we didn'tnotice until after we'd tagged the 1.1 release.)To coincide with the stable release, we've also got a new beta releaseof Ember 1.2. Beta releases are intended to get more eyeballs on newfeatures that look ready to go, but may have bugs or edge cases that wehaven't yet sussed out.The only changes between a beta release and the sta +
11年前
記事のアイキャッチ画像
Ember 1.1.2 Released
Ember.js Blog
+Unfortunately, there was a second regression in 1.1 that didn't getcaught in time to make it into 1.1.1. On that account 1.1.2 is out nowto correct that issue. For more information about the problem seeIssue #3637.We recommend that everyone using 1.1.0 and 1.1.1 upgrade at theirnearest convenience. Head on over to emberjs.com/buildsto download. Our apologies for the inconvenience.Ember 1.2 Beta 2While we were at it, we also released the second 1.2 beta which includesa couple of bug fixes. 1.2.0-beta.2 is also available atemberjs.com/builds.
11年前
記事のアイキャッチ画像
+Ember.js 1.10.0 and 1.11 Beta Released
Ember.js Blog
+We are pleased to announce the release of both Ember.js 1.10.0 and thefirst beta in the 1.11 series. This comes as the tenth cycle of ourrelease process that began after 1.0 was released.The 1.10 release represents the effort of at least 50 contributorsacross over 553 commits.The HTMLBars Templating EngineThroughout 2014 the Ember.js community has poured its shared effort intoa new templating solution. This new library, dubbed HTMLBars, makes availablefeatures and performance improvements impossible to support with Handlebars(the previous library). We are delighted to announce the inclusion ofthe HTMLBars templating engine in Ember.js 1.10.HTMLBars will enable the implementation of several APIs described inThe Road to Ember 2.0, and contributesto our continued improvement of rendering performance. Additionally,it will allow us to continue supporting all Ember 1.x template syntax.This long-term effort would not have succeeded without the continuedcontributions of the Ember community and +
10年前
記事のアイキャッチ画像
Ember.js 1.11.0 and 1.12 Beta Released
Ember.js Blog
+We are pleased to announce the release of both Ember.js 1.11.0 and thefirst beta in the 1.12 series. This comes as the eleventh cycle of ourrelease process that began after 1.0 was released.The 1.11 release represents the effort of at least 87 contributorsacross over 646 commits.New Features in Ember.js 1.11Bound Attribute SyntaxCurrent Ember developers are familiar with the bind-attr syntax, usedto declare an attribute binding on an HTML element. An originalmotivation for HTMLBars was to improve on this syntax.Ember 1.11 introduces a more intuitive API for attribute binding. Forexample, here the color variable is bound to the class of a div:<div class="{{color}}"></div>The inline if helper can also be used in these contexts:<div class="{{color}} {{if isEnabled 'active' 'disabled'}}"></div>For some attributes, like the disabled boolean, passing a literal valueis desirable. An example:<input disabled={{isDisabled}}>To allow the data-binding of non-string values to boolean properties and +
10年前
記事のアイキャッチ画像
Ember.js 1.11.1 Released
Ember.js Blog
+Today we are releasing Ember.js 1.11.1, a patch-level release of Ember thatfixes several regressions introduced in the 1.11.0 release.CollectionView with attributeBindingsDuring the 1.11.0 cycle much effort was put into making sure that attributeBindings usedthe same logic that template bound attributes use. Namely, that attributeBindings useHTMLBars' attribute helpers instead of jQuery's.Unfortunately, this work lead to an error when CollectionView instances were used withattributeBindings specified. This regression is fixed in 1.11.1.Invalid URLsRefactoring in the router initialization process lead to a bug that caused the browsers URLto become out of sync with the correct URL when the back button was pressed while usingHistoryLocation.This regression is fixed in 1.11.1.Handlebars Helper IssuesA couple regressions were fixed for Handlebars helpers with 1.11.1:The inverse template (aka {{else}} block) of Handlebars helpers was not properly accountedfor during the HTMLBars transition. +
10年前
記事のアイキャッチ画像
Ember.js 1.12 and 1.13 Beta (Glimmer!) Released
Ember.js Blog
+We are please to announce the release of Ember.js 1.12 and the first beta in the 1.13 series.1.13 beta is the first Ember.js release that includes Glimmer, the new Emberrendering engine, as well as the final batch of Ember 2.0 features. We willdiscuss those details more below.New Features in Ember 1.12Ember 1.12 is a relatively light release, and includes features that move Embercloser to ES6 class syntax and the first parts of the internal implementationneeded for a stable release of the FastBoot addon.New Computed SyntaxPer RFC #11, Ember is introducing anew syntax for computed properties. This change better aligns computed propertysyntax with JavaScript getters and setters and makes writing settable computedproperties developer friendly.It also has the nice side effect of improving performance, as the old syntax,with its two-in-one function signatures, was harder for JavaScript engines tooptimize.The simplest syntax for a computed property is to define the getter as a function:expor +
10年前
記事のアイキャッチ画像
Ember.js 1.13.0 and 2.0 Beta Released
Ember.js Blog
+We are pleased to announce the release of both Ember.js 1.13.0 and thefirst beta in the 2.0 series. This comes as the thirteenth cycle of ourrelease process that began after 1.0 was released.The 1.13 release represents the effort of at least 43 contributorsacross over 680 commits.Ember 1.13 is the last release in the 1.x series and the first release that includes the Glimmer rendering engine. It includes a number of deprecations that will ease the upgrade to Ember 2.0, which is due to land in six weeks.Ember 2.0 beta is the first release in the 2.x series. This means that many features deprecated during the 1.x series will be removed in Ember 2.0. If you encounter any unexpected changes in features not marked as deprecated in 1.13 while testing Ember 2.0 beta, please report them immediately. We would like to fix these unintentional regressions before the final release of 2.0 in six weeks.The release of Ember 2.0 beta also means that the first features in Ember 2.1 (most notably angle b +
10年前
記事のアイキャッチ画像
Ember 1.2.0 and 1.3 Beta Released
Ember.js Blog
+What better way to celebrate the holiday season than with twobrand-spankin' new releases of Ember.js?Hot off the presses, we've got 1.2.0 and 1.3.0 beta on deck foryou. Since we started following a Chrome-like releasecycle, we'll have twonew releases for you every six weeks. 1.2.0 is the newest stablerelease; 1.3.0 beta is the latest beta channel release.Beta releases are intended to get more eyeballs on newfeatures that look ready to go, but may have bugs or edge cases that wehaven't yet sussed out.New in 1.2Loading and Error SubstatesWhile we'd all like to write apps that are fast and bullet-proof,sometimes your backend may be slow to respond, or generate an error,when your Ember app requests a model.Dealing with those cases is much easier in Ember.js 1.2, thanks toconventional loading and error routes.To learn how to set these up, see Loading and ErrorSubstates section of theguides.Non-block form {{link-to}} helperPreviously, the {{link-to}} helper required that you use it in blockf +
11年前
記事のアイキャッチ画像
Ember 1.3.0 and 1.4 Beta Released
Ember.js Blog
+We are pleased to announce that both Ember.js 1.3.0 and the first beta in the 1.4 serieshave been released. This comes as the third cycle of our six-week releaseprocess that began after 1.0 was released.New in 1.3Non-array Dependencies for ReduceComputedGenerally, using reduceComputed is all about efficiently computing the resulting value, butoccasionally you might need to recompute every time. It is now possible to instructreduceComputed to completely recompute when an item is added/removed (instead of callingthe addedItem and removedItem callbacks).This is done by using either non-array dependent keys or adding .[] to an array dependency.Take a look at the following example:Ember.Object.extend({ // When `string` is changed, `computed` is completely recomputed. string: 'a string', // When an item is added to `array`, `addedItem` is called. array: [], // When an item is added to `anotherArray`, `computed` is completely // recomputed. anotherArray: [], computed: Ember.reduceComputed('st +
11年前
記事のアイキャッチ画像
Ember 1.4.0 and 1.5 Beta Released
Ember.js Blog
+We are pleased to announce that both Ember.js 1.4.0 and the first beta in the 1.5 serieshave been released. This comes as the fourth cycle of our six-week releaseprocess that began after 1.0 was released.New features in 1.4Property Brace ExpansionIn prior versions of Ember if you wanted to observe both foo and bar on bazyou would need to setup both baz.foo and baz.bar as dependent keys.var obj = Ember.Object.extend({ baz: {foo: 'BLAMMO', bar: 'BLAZORZ'}, something: function(){ return this.get('baz.foo') + ' ' + this.get('baz.bar'); }.property('baz.foo', 'baz.bar')});With the new property brace expansion, you could setup the computed properties dependenciesinstead like: something: function(){ return this.get('baz.foo') + ' ' + this.get('baz.bar'); }.property('baz.{foo,bar}')This allows much less duplication/redundancy when your dependent keys are mostly similar.See the original PR #3538 for more details.Ember.run.bindEmber.run.bind provides a useful utility when integrating with non-Emb +
11年前
記事のアイキャッチ画像
Ember 1.5.0 and 1.6 Beta Released
Ember.js Blog
+We are pleased to announce that both Ember.js 1.5.0 and the first beta in the 1.6 serieshave been released. This comes as the fifth cycle of our six-week releaseprocess that began after 1.0 was released.New features in 1.5Handlebars Logging of Primitive ValuesThis feature allows you to log primitive values (strings, numbers, etc) from within your templates. Previously, the {{log}} helper only allowed usage of bound property lookup.{{log "**LOOKEY HERE**"}}New Testing HelpersRouting HelpersA few new testing helpers have been added to make it easier to make assertions on the stateof routing in your application (for example to confirm clicking a given link results in aredirect to a specific route).New routing test helpers: currentRouteName, currentPath, and currentURL.Trigger Event HelperA new triggerEvent helper has been created to allow triggering of arbitrary events on an element.triggerEvent('#some-element-id', 'dblclick');Ember.computed.readOnlyGenerally, when you use Ember.computed. +
11年前
記事のアイキャッチ画像
Ember 1.6.0 and 1.7 Beta Released
Ember.js Blog
+We are pleased to announce that both Ember.js 1.6.0 and the first beta in the 1.7 serieshave been released. This comes as the sixth cycle of our release process that began after 1.0 was released.Delays DetailedAs many of you know, the 1.6 release is the first to be published after converting thecodebase to ES6 modules. The 1.6+ builds are now transpiled by the es6-module-transpilerinto AMD and use a small AMD loader to handleloading the transpiled modules. Unfortunately, adding the additional loader overhead onboot has a fairly significant performance impact on boot speed of older mobile clients(approximately 5-10% boot time penalty).This regression was brought to our attention before 1.6.0 was intended to ship (lateMay), and we decided to hold the release until a fix could be applied. In retrospect thiswas absolutely the wrong decision. The fix has taken much longer than originally anticipatedand in the meantime folks are stuck with 1.5.1. Many of our users either are not affectedor d +
11年前
記事のアイキャッチ画像
Ember 1.6.1 Released
Ember.js Blog
Shortly after Ember 1.6.0 was released a regression was identified regarding custom error substates.The error handling that was added to make debugging errors thrown in the Router's promise hooksinadvertently caused the error substates to be completely ignored.For more details review the following links:Failing JSBin from the original bug report.Fixing PREmber.js 1.6.1 CHANGELOG
+11年前
記事のアイキャッチ画像
Ember 1.7.0 and 1.8 Beta Released
Ember.js Blog
+We are pleased to announce that both Ember.js 1.7.0 and the first beta in the 1.8 serieshave been released. This comes as the seventh cycle of our release process that began after 1.0 was released.This release brings bug fixes, potentially breaking changes and new features.New FeaturesNestable this.routeThis change removes the restriction that only this.resource can have nestedchild routes.Prior to this change, using this.resource would reset the namespace and in orderto preserve it you had to do the following:this.resource('foo', function() { this.resource('foo.bar', function() { this.resource('foo.bar.baz', function() { // All this repetition to get an // intuitively-named FooBarBazRoute }); });});this.route can be nested like this.resource, but unlike this.resource, the namespaceof child routes is appended rather than reset to a top-level namespace, allowing the above to bewritten as:this.route('foo', function() { this.route('bar', function() { this.route('baz', function() { // uses +
10年前
記事のアイキャッチ画像
Ember.js 1.8.0 and 1.9 Beta Released
Ember.js Blog
+We are pleased to announce that both Ember.js 1.8.0 and the first beta in the1.9 series have been released. This comes as the eighth cycle of our releaseprocess that began after 1.0 was released.This release represents the effort of at least 40 contributors across over 600 commits.Major rendering-layer refactor ("metal-views")In previous versions of Ember.js, the HTML of a page was created (viaHandlebars) and assembled (via the render tree) using string concatenation. InEmber.js 1.8, fragments of a page are still created (via Handlebars) asstrings, but are then parsed into DOM and assembled as a DOM tree.Metal-views is the first part of the HTMLBars effort to land in Ember. It isan important step towards the complete removal of strings from the Ember.jsrendering pipeline.Introducing HTMLBars into Ember incrementally demonstrates the community'scommitment to semantic versioning, and to improving the framework withoutabandoning existing codebases.Some of the immediate benefits of this re +
10年前
記事のアイキャッチ画像
Ember.js 1.8.1 Released
Ember.js Blog
+Today we are releasing Ember.js 1.8.1, a patch-level release of Ember thatfixes several minor regressions introduced in the 1.8 release.Throw exception when attributeBindings includes classPrior to 1.8, it was possible to make class part of attributeBindings and havethose values merged with classNameBindings. For example, with the following templateand code "from-template" and "from-class" would be merged into the DOM node's classlist.{{foo-bar class="from-template"}}App.FooBarComponent = Ember.Component.extend({ classNameBindings: [':from-class'], attributeBindings: ['class']});The intent of this code is unclear and the pre-1.8 behavior was unintentional. In Ember1.8.1 an exception is thrown for including class in attributeBindings.View instancesPassing view instances to the {{view}} helper was broken in Ember.js 1.8. This behaviorhas been restored.Work-around provided for more iOS8 ARMv7 JIT BugsiOS8 has introduced a severe bug in optimized ARMv7 code. In 1.8.0 we worked around the i +
10年前
記事のアイキャッチ画像
Ember.js 1.9.0 and 1.10 Beta Released
Ember.js Blog
+We are pleased to announce the release of both Ember.js 1.9.0 and thefirst beta in the 1.10 series. This comes as the ninth cycle of ourrelease process that began after 1.0 was released.The 1.9 release represents the effort of at least 52 contributors across over 436 commits.The Road to Ember 2.0In early November Tom, Yehuda, and the Ember.js Core Team shared The Road to Ember 2.0.This RFC document acts as a map for the next several releases of Ember.js.Ember.js 1.9 introduces several important deprecations that signal upcoming changes. Additionally, many view-layer internals arerefactored to take advantage of the "streams" observation pattern.Ember.js 1.10 (beta) begins a series of releases that willintroduce new APIs while deprecating ones to be removed in 2.0.To that end, and with much excitement, we are extremely pleased to announce the introductionof the HTMLBars templating engine into Ember.js 1.10. This new rendering pipelinemarks a significant milestone for the framework, and b +
10年前
記事のアイキャッチ画像
Ember.js 1.9.1 Released
Ember.js Blog
+Today, the Ember team is pleased to announce the release of Ember.js1.9.1. Ember 1.9.1 fixes one regression and introduces more conservativeescaping of attributes to help developers guard against inadvertent cross-sitescripting (XSS) vulnerabilities.{{view}} Helper & InstancesThe 1.9.0 release introduced a regression where the Handlebars{{view}} helper would only work with Ember.View subclasses, notinstances. In 1.9.1, passing a view instance to the helper has beenfully restored.We intended to deprecate this functionality, not remove it entirely.If your app was relying on this behavior, first, please accept ourapologies for the accidental regression. Second, please considerrefactoring your code to use components instead of views, as support forthis API will be removed in Ember 2.0.XSS Improvements for Bound AttributesXSS vulnerabilities happen when you unintentionally put unescapeduser-supplied content into the DOM, creating a vector for attackersto trick the browser into evaluating Ja +
10年前
記事のアイキャッチ画像
Ember.js 2.0 Released
Ember.js Blog
+Ember 2.0 is not a traditional major release. After thirteen point releases inalmost two years, we're taking a turn to focus entirely on sweeping outbuilt-up cruft as a foundation for continued progress.Ember 2.0 only removes features that were deprecated as of Ember 1.13, soapps that run on Ember 1.13 without any deprecation warnings should runwithout issues on Ember 2.0.New applications should begin using Ember 2.0 today. Apps requiring Ember-Datashould use Ember-Data 2.0.0-beta.1 (2.0 release coming shortly!).New Features in Ember.js 2.0<This space intentionally left blank!>Major releases of most libraries try to do two things. They introduce new APIs,and remove deprecated ones. Our release focuses on doing one thing well:Instead of introducing new features, the goal of Ember 2.0 is to removeaccumulated cruft.Since Ember 1.0, adherence to semantic versioning has helped us grow an amazingcommunity. Ember powers extremely ambitious applications, and most of thoseapplications have been +
9年前
記事のアイキャッチ画像
Ember.js 2.1 Beta Released
Ember.js Blog
+Ember.js 2.1 beta is released today. As a minor release, Ember 2.1 will bebackwards compatible with Ember 2.0. Any changes to the API will be additive.This continues Ember's commitment to Semantic Versioningwe began with the 1.0 release.In addition it means many of the first features for Ember 2.2, most notably anglebracket components, have landed in Canary behind a feature flag. If you'reinterested in help us progress with those features, now is a good time totry them out.On to the changes coming in our late September/early October release.New Features in Ember.js 2.1Ember.js 2.1 will be a minor release of Ember. This means changes to the API aremade in an additive, backwards compatible manner. In roughly six weeks, thesefeatures will be part of the 2.1 stable version.A summary of the new features in today's release follows.{{get}} HelperThe {{get}} helper allows dynamic property lookup on objects in templates.For example, these two usages are equivalent:{{user.name}}{{get user "name" +
9年前
記事のアイキャッチ画像
Ember.js 2.1 and 2.2 Beta Released
Ember.js Blog
+Ember.js 2.1, a minor version release of Ember with additive features only, is released today. This release represents the work of over 82 direct contributors, and over 850 commits.Ember.js 2.2 beta, the branch of Ember that will be released as stable in roughly six weeks, is also being released today.New Features in Ember.js 2.1Changes to the Ember's API in 2.1 are backwards compatible. A summary of the new features in today's release follows.{{get}} HelperThe {{get}} helper allows dynamic property lookup on objects in templates.For example, these two usages are equivalent:{{user.name}}{{get user "name"}}A property with a value of a string can be passed as the second argument,making both the object and the property being read dynamic. For example:{{get user somePropertyName}}For documentation on get, reference the API documentation.Big thanks to @jmurphyau for theimplementation of this feature, and for his excellentember-get-helper addon thatdemonstrated how useful this helper would b +
9年前
記事のアイキャッチ画像
Ember 2.10 and 2.11 Beta Released
Ember.js Blog
+Today, the Ember project is releasing Ember.js, Ember Data and Ember CLIversion 2.10.0.This also kicks off the 2.11 beta cycle for all sub-projects. We encourage ourcommunity (especially addon authors) to help test these beta builds and reportany bugs before they are published as a final release in six weeks' time. Theember-try addon is a great way tocontinuously test your projects against the latest Ember releases.Starting with this release, we will be publishing a single, unified releaseblog post summarizing all the changes for all three sub-projects in one place.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 2.10Ember.js 2.10 is the first release to include Glimmer 2,a ground-up rewrite of Ember's rendering engine.Despite all the changes that took place under-the-hood, we are committed tomaking this a +
8年前
記事のアイキャッチ画像
Ember 2.11 and 2.12 Beta Released
Ember.js Blog
+Updated on December 19, 2017 to include information about Ember.js 2.4-LTS.Today, the Ember project is releasing Ember.js, Ember Data and Ember CLIversion 2.11.0.This also kicks off the 2.12 beta cycle for all sub-projects. We encourage ourcommunity (especially addon authors) to help test these beta builds and reportany bugs before they are published as a final release in six weeks' time. Theember-try addon is a great way tocontinuously test your projects against the latest Ember releases.This release also marks the conclusion of critical bugfixes support for Ember.js2.4-LTS and we strongly recommend LTS users to migrate to 2.8-LTS immediately.2.4-LTS will continue to receive security patches for another four releases(around July 2017). 2.4-LTS was released in April of 2016, and was the firstLong-Term Support release of Ember.js. We're pleased with the impact of LTSreleases on the Ember project and look forward to continuing the practice.You can read more about our general release proc +
8年前
記事のアイキャッチ画像
Ember 2.12 and 2.13 Beta Released
Ember.js Blog
+Today the Ember project is releasing version 2.12.0 of Ember.js, Ember Data, and Ember CLI.This release kicks off the 2.13 beta cycle for all sub-projects. We encourage ourcommunity (especially addon authors) to help test these beta builds and reportany bugs before they are published as a final release in six weeks' time. Theember-try addon is a great way tocontinuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 2.12The2.12.0 release is an Ember.js Long-Term Support candidate. In six weeks, the 2.12.x serieswill become the latest LTS release and six weeks after that the 2.8 LTS branchwill no longer receive bugfix patches.For more information about Ember's LTS policies, see theannouncement blogpost andbuilds page.Ember 2.12 implements the factoryFor +
8年前
記事のアイキャッチ画像
Ember 2.12-LTS, Ember 2.13 and 2.14 Beta Released
Ember.js Blog
+Updated on December 19, 2017 to include information about Ember.js 2.12-LTS.Today the Ember project is releasing Ember.js 2.12 LTS (a long-term supportrelease) and version 2.13.0 of Ember.js, Ember Data, and Ember CLI.This release also kicks off the 2.14 beta cycle for all sub-projects. We encourageour community (especially addon authors) to help test these beta builds and reportany bugs before they are published as a final release in six weeks' time. Theember-try addon is a great way tocontinuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Ember.js 2.12-LTSEmber 2.12-LTS is our third long-term support release. You can install itby upgrading ember-source to ~2.12.2 in your package.json.The LTS channel is designed for Ember users who would like to upgrade lessfrequentl +
8年前
記事のアイキャッチ画像
Ember 2.14 and 2.15 Beta Released
Ember.js Blog
+Today the Ember project is releasing version 2.14.0 of Ember.js, Ember Data, and Ember CLI. You may have noticed we're a few weeks late on this release, as thestart of summer may have left us a little distracted 😅.This release kicks off the 2.15 beta cycle for all sub-projects. We encourage ourcommunity (especially addon authors) to help test these beta builds and reportany bugs before they are published as a final release in six weeks' time. Theember-try addon is a great way tocontinuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 2.14Ember.js 2.14.0 is an incremental, backwards compatible release of Ember withbug-fixes, performance improvements, and minor deprecations.A notable change that began in Ember 2.13.0 and continues in 2.14.0 is improve... +
8年前
記事のアイキャッチ画像
Ember 2.15 and 2.16 Beta Released
Ember.js Blog
+Updated on December 19, 2017 to include information about Ember.js 2.8-LTS.Today the Ember project is releasing version 2.15.0 of Ember.js, Ember Data, and Ember CLI.This release kicks off the 2.16 beta cycle for all sub-projects. We encourage ourcommunity (especially addon authors) to help test these beta builds and reportany bugs before they are published as a final release in six weeks' time. Theember-try addon is a great way tocontinuously test your projects against the latest Ember releases.This release also marks the conclusion of critical bugfixes support for Ember.js2.8-LTS, which was released in October 2016. We strongly recommend LTS users tomigrate to 2.12-LTS immediately. 2.8-LTS will continue to receive security patchesfor another four releases (around May 2017).At the same time, this release also concludes security patch support for Ember.js2.4-LTS, which was released in April of 2016.We're pleased with the impact of LTS releases on the Ember project and look forwardto co +
7年前
記事のアイキャッチ画像
Ember 2.16 and 2.17 Beta Released
Ember.js Blog
+Today the Ember project is releasing version 2.16.0 of Ember.js, Ember Data, and Ember CLI.After six weeks as a stable release, Ember.js 2.16 will be promoted tolong term support,under which it will receive bugfixes for the next 6 releases and security fixesfor the next 10 release.This release also kicks off the 2.17 beta cycle for all sub-projects. We encourage ourcommunity (especially addon authors) to help test these beta builds and reportany bugs before they are published as a stable release in six weeks' time.Ember.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 2.16Ember.js 2.16 continues to improve the framework with minor bug fixes.Additionally, it introduces a major change in conventional usage. As of Ember2.16, newly generated Ember applications will use the JavaScript modules APIdescribed in detail below.No APIs are deprecated as part of these changes. Although we encourageapplications to upgrade to the new modules API, we plan to +
7年前
記事のアイキャッチ画像
Ember 2.16-LTS, Ember 2.17 and 2.18 Beta Released
Ember.js Blog
+Updated on December 19, 2017 to include information about Ember.js 2.16-LTS.Today the Ember project is releasing Ember.js 2.16 LTS (a long-term supportrelease) and version 2.17.0 of Ember.js, Ember Data, andEmber CLI.This release also kicks off the 2.18 beta cycle for all sub-projects. We encourageour community (especially addon authors) to help test these beta builds andreport any bugs before they are published as a final release in six weeks' time.The ember-try addon is a great way tocontinuously test your projects against the latest Ember releases.Despite an initial delay on these releases, and an additional delay on this announcement,the Ember 3.0 Release Schedule is unchanged.This means that Ember 2.18 and the first beta of Ember 3.0 will be release on January 1st, 2018.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Emb +
7年前
記事のアイキャッチ画像
Ember 2.18 and 3.0 Beta Released
Ember.js Blog
+Today the Ember project is releasing version 2.18.0 of Ember.js, Ember Data,and Ember CLI.After 2.5 years and 18 minor releases, Ember 2.18 marks the end of the project's 2.x series.To ensure a smooth upgrade path going into the 3.x series, 2.18 has beendeclared an LTS candidate. In six weeks the latest 2.18 build will succeedEmber 2.16.2 as the latest LTS release. As an LTS, it willreceive bug fixes until Ember 3.5 is released.Today we also kick off the 3.0 beta cycle for all sub-projects. Ember 3.0introduces no new features. Instead, it removes support for deprecated public APIs,all of which have been deprecated since at least Ember 2.14 (released July 2017).Extended support for removed Ember.js APIs will be provided via anoptional addon through Ember 3.4.Ember 3.0 removes support for Microsoft Internet Explorer 9,IE 10, and PhantomJS. This includes support for these platforms by Ember.js,Ember Data, and Ember CLI. For more details about this decision seeRFC 252and the discussion on +
7年前
記事のアイキャッチ画像
Ember.js 2.2 and 2.3 Beta Released
Ember.js Blog
+Ember.js 2.2, a minor version release of Ember with backwards compatiblechanges, is released today. This release represents the work of over 60contributors.Ember.js 2.3 beta, the branch of Ember that will be released as stable inroughly six weeks, is also being released today.Changes in Ember.js 2.2Ember.js releases occur every six weeks, regardless of how significant thechanges are. 2.2 introduces no new features, but does include performanceimprovements and bug fixes.Notable improvements include a performance fix for Ember's _superimplementation under minification, and the skipping of view and controllertemplate locals logic when operating without the view and controller legacyaddons.For more details on changes landing in 2.2, review theEmber.js 2.2.0 CHANGELOG.Ember.js 2.3 betaEmber.js 2.3 beta is released today, and in six weeks it will become thenew stable version of Ember. This beta cycle introduces several new featuresand a notable deprecation.visit APIEmber FastBoot and new tes +
9年前
記事のアイキャッチ画像
Ember.js 2.3 and 2.4 Beta Released
Ember.js Blog
+Ember.js 2.3, a minor version release of Ember with backwards compatiblechanges, is released today.Ember.js 2.4 beta, the branch of Ember that will be released as stable inroughly six weeks, is also being released today.Changes in Ember.js 2.3Ember.js 2.3 introduces a number of features we're excited to see in a stablerelease.ember-qunit 0.4.16+ is required for your codebase's test suite to becompatible with Ember 2.3. See "Introducing Owners and Deprecating Containers"below for more detail.visit APIEmber FastBoot and new testingAPIs motivated the addition of a visit method for Ember.Application andEmber.ApplicationInstance objects. Called on Ember.Application thismethod accepts several configuration options.For example, you might use this API to manually boot an Ember applicationand then instruct it to visit a URL:import MyApp from 'my-app';$(function() { let App = MyApp.create({ autoboot: false }); let options = { // Prevent this application from updating the URL in the address bar l +
9年前
記事のアイキャッチ画像
Ember.js 2.4 and 2.5 Beta Released
Ember.js Blog
+Ember.js 2.4, a minor version release of Ember with backwards compatiblechanges, is released today. After an additional six-week maturation cycleas a stable release version, 2.4 will be declared Ember's first Long-TermSupport (LTS) release. For more about the LTS process and what you shouldexpect, see last week's postAnnouncing Ember's First LTS Release.Ember.js 2.5 beta, the branch of Ember that will be released as stable inroughly six weeks, is also being released today.Changes in Ember.js 2.4No new features are added in Ember core in 2.4. Instead this releaseis primarily comprised of bugfixes making it an excellent LTS candidate. Ingeneral the core team andcommunity have remained active around other highly visible parts ofthe Ember stack (Ember CLI, Ember Data, FastBoot, Glimmer, etc).In six weeks, the current release build of 2.4 will become Ember's firstLTS release. Builds on the LTS channel will receive critical bugfixes covering thesubsequent six release cycles (~36 weeks), and +
9年前
記事のアイキャッチ画像
Ember.js 2.4-LTS, 2.5, and 2.6 Beta Released
Ember.js Blog
+Ember 2.4-LTS, the first Ember Long-Term Support release, lands today as Ember2.4.5. Future versions of 2.4 will be considered part of the LTS channel.The LTS channel comes with a commitmentthat low-risk critical bugfixes and security patches will be backported tothese versions. Additionally, any change to commonly used private APIs must be deprecatedin at least one LTS release before removal, making LTS releases a slowermoving target for addons to support.2.4-LTS will receive critical bugfixes for the next 6 release cycles (untilroughly November 2016) and security patches for the next 10 release cycles(until roughly April 2017). For more information about how the LTS process works,see the blog post Announcing Ember's First LTS Release.Ember 2.5, a minor version release of Ember with backwards compatiblechanges, is also released today.Ember 2.6 beta, the branch of Ember that will be released as stable inroughly six weeks, is released today.Notable deprecations in Ember 2.4-LTSEmber 2.4 +
9年前
記事のアイキャッチ画像
Ember.js 2.6 and 2.7 Beta Released
Ember.js Blog
+Ember.js 2.6, a minor version release of Ember with backwards compatiblechanges, is released today.Ember.js 2.7 beta, the branch of Ember that will be released as stable inroughly six weeks, is also being released today.Changes in Ember.js 2.6No new features are added in Ember core in 2.6. In general the core team andcommunity have remained active around other highly visible parts of the Emberstack (Ember Data, FastBoot, Glimmer, etc).Notable DeprecationsThe following deprecations are scheduled for release with Ember 2.6 and will beremoved in Ember 3.0:The didInitAttrs hook for component lifecycles is deprecated in favor ofusing init. didInitAttrs had confusing timingissues, and init fulfills the same role. See the deprecation guide for more details.Passing a model argument to {{render}} is deprecated in favor of usinga component for the same cases. For example {{render 'chat' roomModel}}can be refactored into a chat-room component.See the deprecation guide for more details.For more de +
9年前
記事のアイキャッチ画像
Ember.js 2.7 and 2.8 Beta Released
Ember.js Blog
+Ember.js 2.7, a minor version release of Ember with backwards compatiblechanges, is released today.Ember.js 2.8 beta is also being released today. This branch will be released asstable in roughly six weeks and will then go on to be the next LTS releaseroughly six weeks after that.Changes in Ember.js 2.7Ember 2.7 introduces one new backward compatible API:Ember.computed.uniqByIn general, the core team is hesitant about adding any new computed macrosor array prototype extensions to the framework. Instead, we encourage developersto adopt an addon such as ember-cpmif they desire an expanded list of macros.However contributor @seanjohnson08 correctlypointed out there is a logical gap in the APIs Ember provides today. Althougheach of find, map, filter, and reject have a comparable xxxBy method(for example findBy) no comparable method exists for uniq.Ember 2.7 adds uniqBy as an computed property macro. For example:import Ember from 'ember';export default Ember.Component.extend({ accidents: Em +
9年前
記事のアイキャッチ画像
Ember.js 2.8 and 2.9 Beta Released
Ember.js Blog
+Today, the Ember core team is happy to announce two new Ember.js releases –Ember.js 2.8 and Ember.js 2.9 beta.Ember.js 2.8Ember.js 2.8 is a minor release with only backwards compatible changes.LTS CandidateThe Ember.js 2.8 release is considered a release candidate for the LTS(long-term support) channel. As described in the original LTS announcement,the 2.8 branch will be moved into the LTS channel six weeks after today'srelease. Although we don't anticipate any issues, this process ensures the LTSreleases will be rock solid.EnginesEmber.js 2.8 introduced a new EnginesAPI, which allows multiple logical applications to be composed together into asingle application from the user's perspective.The best way to use this feature in your apps is through the ember-engines addon.To get started, check out the excellent guideswritten by @trentmwillis.This release introduced a set of low-level APIs for the core functionalityalong with the usual semver guarantees. While the ember-engines addon itsel +
8年前
記事のアイキャッチ画像
Ember.js 2.8-LTS, 2.9 and 2.10 Beta Released
Ember.js Blog
+Today, we are releasing Ember 2.8-LTS (a long-term support release), Ember 2.9.0 and Ember 2.10 beta.Ember.js 2.8-LTSEmber 2.8-LTS is our second long-term support release. You can install it by running bower install --save ember#lts-2-8 in your projects.The LTS channel is designed for Ember users who would like to upgrade less frequently, while still getting support from the project and the wider ecosystem. At the same time, it allows addon authors to know which versions of Ember to focus their effort on.Per our usual policy, Ember 2.8-LTS is released six weeks after the 2.8.0 stable release. This allows ample time to fix any reported regressions and ensures a rock solid LTS release. It will continue to receive critical bugfixes for six release cycles (roughly June 2017), and security patches for ten release cycles (roughly February 2018).Meanwhile, Ember 2.4-LTS will continue to receive critical bugfixes for another two release cycles (roughly January 2017), and security patches for s +
8年前
記事のアイキャッチ画像
Ember's 2018 Roadmap: A Call for Blog Posts
Ember.js Blog
+Ember has been humming along for years, with direction set by the core team, based on their instincts, experiences, and community interactions. And it's worked well!As our community grows though, the sheer volume of good ideas makes it hard to rely on our core team and primary influencers to collect all the great ideas out there. So we're updating the process to help give voice to all those of you who want it.The Ember team would like you to write a blog post to propose goals and direction for Ember in the remainder of 2018. The content of these posts will help us to draft our first Roadmap RFC.What's a Roadmap RFC?The Roadmap will outline the community's priorities for the remainder of the year. It will be presented as an RFC and follow the normal RFC process. The RFC will be written based on community input--the blog posts we've requested and other community discussion--and curation from the core team and subteams.We recognize the need to have shared, clear, and published project-wid +
7年前
記事のアイキャッチ画像
Ember's 2019 Roadmap: Call for Blog Posts
Ember.js Blog
+Ember in 2018 (and 2019) has been more exciting than ever! We've been working diligently to advance the project based on our 2018 Roadmap, but while we work to finish that, it is time to think about the future.The Ember team would like you to write a blog post to propose goals and direction for Ember for the next year. The content of these posts will help us to draft our next Roadmap RFC.What's a Roadmap RFC?The Roadmap will outline the community's priorities for the next year. It will be presented as an RFC and follow the normal RFC process. The RFC will be written based on community input--the blog posts we've requested and other community discussion--and curation from the core teams.This is will be our second annual Roadmap RFC. To see the results of the process, see the 2018 Roadmap RFC.The 2018 Roadmap led to the "Octane Edition" of Ember, currently in preview. Octane includes many features, most of which have already landed in a stable release. As the edition nears completion, we +
6年前
記事のアイキャッチ画像
Ember 3.0 Released
Ember.js Blog
+Today the Ember project is releasing version 3.0.0 of Ember.js, Ember Data, andEmber CLI. Ember 3.0 doesn't introduce any new functionality, instead it focusesthe framework by removing long-deprecated APIs and support for legacy platforms.Our plans for Ember 3.0 were announced in October 2017 in The Road to Ember3.0.We're committed to giving every Ember codebase a path into the 3.x series. Withthis goal in mind, we froze API deprecations targeting Ember 3.0 back in July2017 (Ember 2.14). We've provided a detailed deprecationguide for all APIs removals, andadditionally extracted most of the features removed in 3.0 into an addon.This blog post will help you understand what is being removed in 3.0 and whatmigration strategies are available. If you're interested in trying Ember for thefirst time today, get started by running:yarn global add ember-cli # Or npm install -g ember-cliember new my-projectcd my-projectember serve # Then visit http://localhost:4200Additionally, today the 3.1 beta +
7年前
記事のアイキャッチ画像
Ember 3.1 Beta Released
Ember.js Blog
+Today we're releasing Ember 3.1-beta.1, including releases of Ember.js, EmberData, and Ember CLI.Traditionally beta releases share a blog post with thecorresponding stable release, however to keep our messaging clear during thetransition we've split them up today. See the Ember 3.0Release Post for more details on Ember 3.0.Ember.jsEmber.js is the core of the Ember framework. It provides routing, rendering, anddependency injection features.Changes in Ember.js 3.1-beta.1Ember 3.1-beta is an minor release containing several new features and bugfixes. It includes a bump of Glimmer VM, Ember's rendering implementation,to version 0.30.5. Per our release cycle, these features will be released as3.1 stable in six weeks.ES5 Getters for Computed PropertiesEmber's object system has long used set and get to access properties.These APIs came from the codebase's origins in SproutCore, and predated ES5'sdefineProperty. In recent years native JavaScript setter and getterimplementations have become fas +
7年前
記事のアイキャッチ画像
Ember 3.1 and 3.2 Beta Released
Ember.js Blog
+Today the Ember project is releasing version 3.1.0 of Ember.js, Ember Data, and Ember CLI.This release kicks off the 3.2 beta cycle for all sub-projects. We encourage ourcommunity (especially addon authors) to help test these beta builds and reportany bugs before they are published as a final release in six weeks' time. Theember-try addon is a great way tocontinuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 3.1Ember 3.1 is a minor release containing several new features and bug fixes. It includes a bump of Glimmer VM, Ember's rendering implementation, to version 0.30.5.Named Arguments (1 of 4)Named arguments are here! This allows you to reference component arguments as {{@name}} when passed in as {{user-profile name="Zoey"}}.From RFC 276: Until n +
7年前
記事のアイキャッチ画像
Ember 3.10 Released
Ember.js Blog
+Today the Ember project is releasing version 3.10 of Ember.js, Ember Data, and Ember CLI. This release kicks off the 3.11 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 3.10Ember.js 3.10 is an incremental, backwards compatible release of Ember with bugfixes, performance improvements, and minor deprecations. There are four (4) new features, one (1) deprecations, and seventeen (17) bugfixes in this version.New Features (4)Angle Bracket Invocation for Nested Components (1 of 4)From Ember 3.10 onwards you ca +
6年前
記事のアイキャッチ画像
Ember 3.11 Released
Ember.js Blog
+Today the Ember project is releasing version 3.11 of Ember.js, Ember Data, and Ember CLI. This release kicks off the 3.12 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 3.11Ember.js 3.11 is an incremental, backwards compatible release of Ember with bugfixes, performance improvements, and minor deprecations. There are four (4) new features, one (1) deprecation, and several bugfixes in this version.New Features (4)Forwarding Element Modifiers with ...attributes (1 of 4)Angle bracket component invocation wa +
6年前
記事のアイキャッチ画像
Ember 3.12 Released
Ember.js Blog
+Today the Ember project is releasing version 3.12 of Ember.js, Ember Data, and Ember CLI. This release of Ember.js is an LTS (Long Term Support) candidate. LTS candidates prioritize stability over the addition of new features, and have an extended support schedule. To learn about the next wave of features coming in future releases, see the Octane release plan post.This release kicks off the 3.13 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 3.12The 3.12.0 release is an Ember.js Long-Term Support candida +
5年前
記事のアイキャッチ画像
Ember 3.13 Released (Octane Preview)
Ember.js Blog
+Today, the Ember project is releasing version 3.13 of Ember.js, Ember Data, and Ember CLI.Ember 3.13 is the final release of Ember before Octane. Ember 3.13 is also the Octane preview. The preview allows adventurous community members to start using its stable features and help put the final round of polish on supporting tools and documentation before Octane becomes official in 3.14. You can learn more about what to expect from Octane and how to prepare your apps in a previous blog post.Additionally, version 3.12 of Ember is now promoted to LTS (Long Term Support). An LTS version of Ember continues to receive security updates for 9 release cycles (54 weeks) and bugfixes for 6 cycles (36 weeks). LTS releases typically occur every four minor versions. The previous LTS version of Ember was 3.8.The Octane PreviewThe Octane features in 3.13 are stable public APIs with our normal SemVer guarantees. If you build an app using APIs in the Octane preview, it will continue to work in future versio +
5年前
記事のアイキャッチ画像
Ember 3.14 Released (Octane Preview Cont.)
Ember.js Blog
+The Ember project has recently released version 3.14 of Ember.js, Ember Data, and Ember CLI. This kicks off the 3.15 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesThe Octane Preview, ContinuedAs described in the Octane Release Update, Octane will continue to be opt-in in Ember 3.14. By continuing the Octane preview period in 3.14, we are allowing more time for Octane to be polished before it becomes the default Ember experience.Although Octane is still opt-in in 3.14, all Octane features are stable public APIs with our normal SemVer guarantees. If you build an app using APIs in the Octane preview, it +
5年前
記事のアイキャッチ画像
Ember 3.15 "Octane" Released
Ember.js Blog
+Today the Ember project is releasing version 3.15 of Ember.js, Ember Data, andEmber CLI. In addition to brining new features and bug fixes, Ember 3.15 also marks the official release of the Octane edition, which is Ember's first edition release.Ember developers using the Octane edition can exercise modern features like native ESclasses, decorators, the new Glimmer component API, and a new approach to statemanagement called tracked properties. Combined, these innovative changes toEmber are more than just new tools and APIs. Octane's features, together,sum up to a paradigm shift in how Ember applications are built.Read more about how Octane makes web application development fun andproductive inOctane is Here, a blog post from Yehuda.…and then explore our completely updated and refreshed guide and APIdocumentation:Check out the completely rewritten core concepts section in the guides.Read the completely updated Super Rentals tutorial.Already using Ember and want to adopt Octane? See the O +
5年前
記事のアイキャッチ画像
Ember 3.16 Released
Ember.js Blog
+Today the Ember project is releasing version 3.16 of Ember.js, Ember Data, and Ember CLI. This release of Ember.js is an LTS (Long Term Support) candidate. LTS candidates prioritize stability over the addition of new features, and have an extended support schedule.This release kicks off the 3.17 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 3.16The 3.16.0 release is an Ember.js Long-Term Support candidate. In six weeks, the 3.16.x series will become the latest LTS release and six weeks after that the 3. +
5年前
記事のアイキャッチ画像
Ember 3.17 Released
Ember.js Blog
+Today the Ember project is releasing version 3.17 of Ember.js, Ember Data, and Ember CLI.Version 3.16 of Ember is now promoted to LTS (Long Term Support). An LTS version of Ember continues to receive security updates for 9 release cycles (54 weeks) and bugfixes for 6 cycles (36 weeks). LTS releases typically occur every four minor versions. The previous LTS version of Ember was 3.12.This release also kicks off the 3.18 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 3.17Ember.js 3.17 is an incremental, ba +
5年前
記事のアイキャッチ画像
Ember 3.18 Released
Ember.js Blog
+Today the Ember project is releasing version 3.18 of Ember.js, Ember Data, and Ember CLI.This release also kicks off the 3.19 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 3.18Ember.js 3.18 is an incremental, backwards compatible release of Ember with bugfixes, performance improvements, and minor deprecations. There are no new features, zero (0) deprecations, and several bugfixes in this version.New Features (0)No new features in Ember.js 3.18, but it is worth noting support for Node 8 has been dropped +
5年前
記事のアイキャッチ画像
Ember 3.19 Released
Ember.js Blog
+Today the Ember project is releasing version 3.19 of Ember.js, Ember Data, and Ember CLI. This release kicks off the 3.20 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 3.19Ember.js 3.19 is an incremental, backwards compatible release of Ember with bugfixes, performance improvements, and minor deprecations. There is zero (0) new feature, zero (0) deprecations, and several bugfixes in this version.New Features (0)There are no new features introduced in Ember.js 3.19.Deprecations (0)There are no new deprec +
5年前
記事のアイキャッチ画像
Ember 3.2 Released
Ember.js Blog
+Today the Ember project is releasing version 3.2.0 of Ember.js, Ember Data, and Ember CLI- a little later than planned, for sure! Thank you for your support and patience.This release kicks off the 3.3 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and reportany bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way tocontinuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesNote that we didn't include 3.3 beta features in this blog post, mostly because we were so focused on getting 3.2 out the door, and had to prioritize. Thank you for understanding!Ember.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 3.2Ember.js 3.2 is an incremental, backwards compatible release of Ember with bugfix +
7年前
記事のアイキャッチ画像
Ember 3.20 Released
Ember.js Blog
+Today the Ember project is releasing version 3.20 of Ember.js, Ember Data, and Ember CLI. This release of Ember.js is an LTS (Long Term Support) candidate. LTS candidates prioritize stability over the addition of new features, and have an extended support schedule.This release kicks off the 3.21 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 3.20Ember.js 3.20 is an incremental, backwards compatible release of Ember with bugfixes, performance improvements, and minor deprecations.Developers who upgrade the +
5年前
記事のアイキャッチ画像
Ember 3.21 Released
Ember.js Blog
+Today the Ember project is releasing version 3.21 of Ember.js, Ember Data, and Ember CLI.Version 3.20 of Ember is now promoted to LTS (Long Term Support). An LTS version of Ember continues to receive security updates for 9 release cycles (54 weeks) and bugfixes for 6 cycles (36 weeks). LTS releases typically occur every four minor versions. The previous LTS version of Ember was 3.16.This release kicks off the 3.22 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 3.21Ember.js 3.21 is an incremental, backwar +
4年前
記事のアイキャッチ画像
Ember 3.22 Released
Ember.js Blog
+Today the Ember project is releasing version 3.22 of Ember.js, Ember Data, and Ember CLI.This release kicks off the 3.23 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 3.22Ember.js 3.22 is an incremental, backwards compatible release of Ember with bugfixes, performance improvements, and minor deprecations.Ember.js 3.22 introduced several bug fixes, including:RouterService#isActive updates correctly when the route changes. (#19094)A custom modifier manager only consumes arguments that it actually uses. (P +
4年前
記事のアイキャッチ画像
Ember 3.23 Released
Ember.js Blog
+Today the Ember project is releasing version 3.23 of Ember.js, Ember Data, and Ember CLI.This release kicks off the 3.24 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 3.23Ember.js 3.23 is an incremental, backwards compatible release of Ember with bugfixes, performance improvements, and minor deprecations.Ember.js 3.23 introduced several bug fixes, including:Updated Glimmer (rendering engine) to improve developer experience with debugging (#19213)Ensured that (fn (mut ...)) works with falsy values (#1922 +
4年前
記事のアイキャッチ画像
Ember 3.24 Released
Ember.js Blog
+Today the Ember project is releasing version 3.24 of Ember.js, Ember Data, and Ember CLI. This release of Ember.js is an LTS (Long Term Support) candidate. LTS candidates prioritize stability over the addition of new features, and have an extended support schedule.This release kicks off the 3.25 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 3.24Ember.js 3.24 is an incremental, backwards compatible release of Ember with bug fixes, performance improvements, and minor deprecations.Bug FixesEmber.js 3.24 in +
4年前
記事のアイキャッチ画像
Ember 3.25 Released
Ember.js Blog
+Today the Ember project is releasing version 3.25 of Ember.js, Ember Data, and Ember CLI. This release kicks off the 3.26 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 3.25Ember.js 3.25 is an incremental, backwards compatible release of Ember with bug fixes, performance improvements, and minor deprecations.Bug FixesEmber.js 3.25 contains several bug fixes, including:Empty htmlSafe strings are now considered false. (#18148)Template locals no longer clobber component invocations of the same name. (#19351) +
4年前
記事のアイキャッチ画像
Ember 3.26 Released
Ember.js Blog
+Today the Ember project is releasing version 3.26 of Ember.js, Ember Data, and Ember CLI.This release kicks off the 3.27 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 3.26Ember.js 3.26 is an incremental, backwards compatible release of Ember with bug fixes, performance improvements, and minor deprecations.Bug FixesEmber.js 3.26 introduced 5 bug fixes. Here are a few notable ones:The Ember router and the router service have been updated so that an infinite recursion does not occur when the router service +
4年前
記事のアイキャッチ画像
Ember 3.27 Released
Ember.js Blog
+Today the Ember project is announcing release 3.27 of Ember.js, Ember Data, and Ember CLI. This is a minor version, stable release.We're also announcing the start of the 3.28 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test beta builds and report any bugs before they are published as a stable release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.Ember.js 3.28 (again, starting beta today) is the final planned version of the 3.x release cycle, and willbecome an LTS release. As of the 3.28-beta being released, the main developmentbranch of all Ember projects will become 4.0. Look for more information on Ember4.0 here on the blog this coming week.You can read more about our general release process with these resources:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applic +
4年前
記事のアイキャッチ画像
Ember 3.28 and 4.0 Beta Released
Ember.js Blog
+After 3.5 years and 28 minor releases, Ember 3.28 marks the end of the project's 3.x series.To ensure a smooth upgrade path going into the 4.x series, 3.28 has been declared an LTS (Long Term Support) candidate. In six weeks,the latest patch version of 3.28 will be promoted to be the latest LTS releaseand replace 3.24-LTS.We're also announcing the start of the Ember 4.0 beta cycle for all sub-projects. Following the process set in previous major versions, Ember 4.0's beta introduces no new features. Instead, it removes support for deprecated public APIs. We encourage our community (especially addon authors) to help test beta builds and report any bugs before they are published as a stable release in six weeks' time. We also encourage everyone to help maintainers resolve deprecations in their favorite addons. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.Developers who want to prepare for the upcoming 4.0 version of Ember should +
3年前
記事のアイキャッチ画像
Ember 3.3 Released
Ember.js Blog
+Today the Ember project is releasing version 3.3 of Ember.js, Ember Data, and Ember CLI. While ember-data and ember-cli only released recently, Ember.js released 3.2 over six weeks ago. Releasing 3.3 ensures that Ember.js does not have an excessively long time between releases.This release kicks off the 3.4 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 3.3Ember.js 3.3 is an incremental, backwards compatible release of Ember with bugfixes, performance improvements, and minor deprecations. There is zero ( +
7年前
記事のアイキャッチ画像
Ember 3.4 Released
Ember.js Blog
+Today the Ember project is releasing version 3.4 of Ember.js, Ember Data, and Ember CLI. This release kicks off the 3.5 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.NOTE: Due to some bugs found once people started using the release version of Ember-CLI 3.4, we delayed this blog post while we ironed out issues. At this point, things are pretty stable and upgrading should be fine.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 3.4The 3.4.0 release is an Ember.js Long-Term Support candidate. In six weeks, the 3.4.x series will become the latest LTS rel +
6年前
記事のアイキャッチ画像
Ember 3.5 Released
Ember.js Blog
+Today the Ember project is releasing version 3.5 of Ember.js, Ember Data, and Ember CLI.Notable features include Ember CLI build performance improvements of up to 32% and new Ember Data powers for addon developers.Additionally, versions 3.4 of Ember, Ember CLI, and Ember Data are now promoted to LTS, which stands for LongTerm Support. An LTS version of Ember continues to receive security updatesfor 9 release cycles (54 weeks)and bugfixes for 6 cycles (36 weeks).LTS releases typically occur every four minor versions.The previous LTS version for Ember was 2.18. 3.4 is the first LTS forEmber CLI and Ember Data.This release kicks off the 3.6 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release pro +
6年前
記事のアイキャッチ画像
Ember 3.6 Released
Ember.js Blog
+Today the Ember project is releasing version 3.6 of Ember.js, Ember Data, and Ember CLI. Highlights include public API support for ES6 classes and two new RouterService methods.This release kicks off the 3.7 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 3.6Ember.js 3.6 is an incremental, backwards compatible release of Ember with bugfixes, performance improvements, and minor deprecations. There are 2 new features, 6 deprecations, and 13 bugfixes in this version.New Features (2)Native Classes (1 of 2)The +
6年前
記事のアイキャッチ画像
Ember 3.7 Released
Ember.js Blog
+Today the Ember project is releasing version 3.7 of Ember.js, Ember Data, and Ember CLI. This release kicks off the 3.8 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 3.7Ember.js 3.7 is an incremental, backwards compatible release of Ember with bugfixes, performance improvements, and minor deprecations. There is zero (0) new feature, zero (0) deprecations, and three (3) bugfixes in this 3.7 version.Note that in Ember.js 3.7 support for Node 4 has been explicitly dropped. Node 4 is no longer supported by +
6年前
記事のアイキャッチ画像
Ember 3.8 Released
Ember.js Blog
+Today the Ember project is releasing version 3.8 of Ember.js, Ember Data, and Ember CLI. This release kicks off the 3.9 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 3.8The 3.8.0 release is an Ember.js Long-Term Support candidate. In six weeks, the 3.8.x series will become the latest LTS release and six weeks after that the 3.4 LTS branch will no longer receive bugfix patches.For more information about Ember's LTS policies, see the announcement blog post and builds page.Ember.js 3.8 is an incremental, b +
6年前
記事のアイキャッチ画像
Ember 3.9 Released
Ember.js Blog
+Today the Ember project is releasing version 3.9 of Ember.js, Ember Data, and Ember CLI. This release kicks off the 3.10 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesAdditionally, versions 3.8 of Ember and Ember Data are now promoted to LTS, which stands for Long Term Support. An LTS version of Ember continues to receive security updates for 9 release cycles (54 weeks) and bugfixes for 6 cycles (36 weeks). LTS releases typically occur every four minor versions. The previous LTS version for Ember was 3.4.Ember.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.j +
6年前
記事のアイキャッチ画像
Ember 4.0 released
Ember.js Blog
+Today the Ember project is releasing version 4.0 of Ember.js, Ember Data, andEmber CLI. Ember's 4.0 release focusesthe framework by removing long-deprecated APIs and support for legacy platforms.This blog post will help you understand how to upgrade and navigate any breakingchanges.Although Ember "Octane" APIs have beenthe default for new applications since Ember 3.15, the framework has continuedto support "Classic" framework features in accordance with our semanticversioning commitment. Ember 4.0 takes a step forward and dropsalready-deprecated classic APIs, however the foundational EmberComponent andEmberObject/computed APIs are not removed in this release.Additionally, today we're promoting Ember 3.28 to become Ember's latestLong-Term Support (LTS) release. Ember's LTS release process provides bugfixsupport for about 36 weeks, and security patches for about 54 weeks. See the3.28 release post and LTSdocumentation for more details.For applications using LTS releases, upgrading directl +
3年前
記事のアイキャッチ画像
Ember 4.1 Released
Ember.js Blog
+Today the Ember project is releasing version 4.1 of Ember.js, Ember Data, and Ember CLI.This release kicks off the 4.2 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 4.1Ember.js 4.1 is an incremental, backwards compatible release of Ember with bug fixes, performance improvements, and minor deprecations.Bug FixesEmber.js 4.1 introduced 2 bug fixes.Passing an ObjectProxy to isEmpty with a property size now throws an assertion (#17570).The router has been updated so that when query params are using a nested +
3年前
記事のアイキャッチ画像
Ember 4.2 Released
Ember.js Blog
+Today the Ember project is releasing version 4.2 of Ember.js, Ember Data, and Ember CLI.This release kicks off the 4.3 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 4.2Ember.js 4.2 is an incremental, backwards compatible release of Ember with bug fixes, performance improvements, and minor deprecations.Bug FixesEmber.js 4.2 introduced 1 bug fix.Class-based helpers are now allowed to work in strict-mode. (#19878)FeaturesEmber.js 4.2 introduced 0 features.DeprecationsEmber.js 4.2 introduced 0 deprecations. +
3年前
記事のアイキャッチ画像
Ember 4.5 Released
Ember.js Blog
+Today the Ember project is releasing version 4.5 of Ember.js and Ember CLI.Version 4.4 of Ember is now promoted to LTS (Long Term Support).An LTS version of Ember continues to receive security updates for 9 release cycles (54 weeks) and bugfixes for 6 cycles (36 weeks).LTS releases typically occur every four minor versions.The previous LTS version of Ember was 3.28.This release kicks off the 4.5 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 4.5Ember.js 4.5 is an incremental, backwards compatible release +
3年前
記事のアイキャッチ画像
Ember 4.6 Released
Ember.js Blog
+Today the Ember project is releasing version 4.6 of Ember.js, Ember Data, and Ember CLI.This release kicks off the 4.7 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 4.6Ember.js 4.6 is an incremental, backwards compatible release of Ember with bug fixes.Bug FixesEmber.js 4.6 introduced 2 bug fixes.Replace deprecated substr() method with substring() methodAdjust uniqueId() implementation to only generate valid selectors. querySelector does not work if the first character is a number, sonow we ensure that +
3年前
記事のアイキャッチ画像
Security Releases: Ember 4.8.1, 4.4.4, 3.28.10, 3.24.7
Ember.js Blog
+Today we are releasing Ember.js 3.24.7, 3.28.10, 4.4.4, 4.8.1, and 4.9.0-beta.3 to patch a security vulnerability. A CVE number is pending and this post will be updated to include it once it's been issued.Apps that pass untrusted input as paths to EmberObject.setProperties or EmberObject.set, or the corresponding standalone functions setProperties or set, may get surprising results that, in combination with other application bugs, could lead to cross-site scripting vulnerabilities.import EmberObject from '@ember/object';let o = new EmberObject();// This can lead to prototype pollution in unpatched Ember versionso.set(untrustedPath, untrustedValue);// This can lead to prototype pollution in unpatched Ember versionso.setProperties({ [untrustedPath]: untrustedValue });These methods were vulnerable to Prototype Pollution, meaning an attacker can set paths like __proto__.__proto__.isAdmin to mutate unexpected objects, including Javascript intrinsics like the global Object. Depending on the +
2年前
記事のアイキャッチ画像
Ember 4.8 Released
Ember.js Blog
+Today the Ember project is releasing version 4.8 of Ember.js, Ember Data, and Ember CLI.This release kicks off the 4.9 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 4.8Ember.js 4.8 is an incremental, backwards compatible release of Ember with bug fixes, performance improvements, and minor deprecations.Bug FixesEmber.js 4.8 introduced 1 bug fix.#20166 - fixed a bug where calling RouteInfo.find() method executes callback with undefined object since 4.3.0.FeaturesEmber.js 4.8 introduced 1 feature.#20180 - +
2年前
記事のアイキャッチ画像
Ember 4.9 Released
Ember.js Blog
+Today the Ember project is releasing version 4.9 of Ember.js, Ember Data, and Ember CLI.Version 4.8 of Ember is now promoted to LTS (Long Term Support).An LTS version of Ember continues to receive security updates for 9 release cycles (54 weeks) and bugfixes for 6 cycles (36 weeks).LTS releases typically occur every four minor versions.The previous LTS version of Ember was 4.4.This release kicks off the 4.10 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 4.9Ember.js 4.9 is an incremental, backwards compa +
2年前
記事のアイキャッチ画像
Ember 5.0 Released
Ember.js Blog
+EmberJS 5.0 embodies the commitment to stability and reliability that developers have come to expect from the Ember ecosystem. The Ember team has worked hard to remove all the deprecations and make us move towards Polaris. Get up-to-date with the latest in Ember and enjoy!This post will cover our release strategy, how to upgrade, what to expect, and deprecated APIs that were removed.This is the first major release under the new release strategy and goals proposed in RFC 830, Evolving Ember's Major Version Process.To summarize, every 12 minor releases, Ember will ship a new major release, which removes anydeprecated code targeted for that major version.When it comes to introducing new features, Ember generally aims to ship new features in minor releases, offering backwards compatibility for existing code at the same time as giving developers the chance to try out new capabilities.This approach reduces the challenges that teams face for major upgrades, compared to producing big, breaking +
2年前
記事のアイキャッチ画像
Ember 6.0 Released
Ember.js Blog
+Ember 6.0 continues the commitment to stability and reliability that developers have come to expect from the Ember ecosystem and further moves us towards the Polaris Edition of Ember. Get up-to-date with the latest in Ember and enjoy!This post will cover our release strategy, how to upgrade, what to expect, and deprecated APIs that were removed.This release follows the release strategy and goals proposed in RFC 830, Evolving Ember's Major Version Process.To summarize, every 12 minor releases, Ember will ship a new major release, which removes anydeprecated code targeted for that major version.When it comes to introducing new features, Ember generally aims to ship new features in minor releases, offering backwards compatibility for existing code at the same time as giving developers the chance to try out new capabilities.This approach reduces the challenges that teams face for major upgrades, compared to producing big, breaking, splashy major versions with lots of new features.In Ember +
3ヶ月前
記事のアイキャッチ画像
Ember accessibility and a11y tools
Ember.js Blog
+What is it like to build an accessible Ember app? With a few lines of code, you can audit your app for problems, get customized advice on how to fix them, and see visual indications of which things on a page need work. We'll walk through an example using the Super Rentals app from Ember's official tutorials. We'll also cover some improvements being made to Ember itself for a better experience out of the box.An accessible app is one that gives all users equal access to information and functionality, including those who use Assistive Technology like screen readers. This kind of work is sometimes abbreviated as a11y. There are set standards called the Web Content Accessibility Guidelines, and in many cases, it's the law.This article was written as of Ember.js version 3.1. The same approach applies for all 2.x apps, with some changes to test syntax. Anyone can write a guest article --- get in touch if you are interested!Using ember-a11y-testingWe don't have to learn a thousand rules to sta +
7年前
記事のアイキャッチ画像
2019 Ember Community Survey
Ember.js Blog
+What an incredible time to be in the Ember Community!Ember.js completed seven backward-compatible minor version releases in the last year.An amazing 200+ community members contributed to core Ember projects (that's not even counting the 4500+ ember addons!)Over 3,000 community members have joined the Ember Discord chat.An Ember documentary was released, looking at Ember's history…and Ember's bright future.With 2019 already under way, we would like your help to learn about who is in the Ember community and how they work with the framework. To that end, we're pleased to announce the official 2019 Ember Community Survey. Survey Landing PageThis is the fifth year we're learning about the community's makeup and interests, and we look forward to sharing the results at EmberConf 2019 on March 18th. Over 1300 participants took part in the survey in 2018 (2018 survey results) and we are aiming for even more participation this year!Completing the survey should take about 15 minutes. We've added +
6年前
記事のアイキャッチ画像
Ember Data 0.13
Ember.js Blog
+Today, we are pleased to announce the release of Ember Data 0.13.Ember Data 0.13 is the first official release of Ember Data. This shouldmake it easier for people to synchronize Ember.js and Ember Dataversions, and make reasoning about the upgrade process much easier.Ember Data 0.13In the past few months, Ember Data has stabilized a lot. We still considerit alpha, and recommend it for production use only to those who like tolive on the bleeding edge and contribute back to the project. To make lifeeasier for those folks, though, we will be cutting regular releases like wedo with Ember.js.A few of the many folks involved in the changes in this release includeTom Dale, Yehuda Katz, Cyril Fluck, Igor Terzic, Stefan Penner, Paul Chavard,Gordon Hempton, Peter Wagenet. Thank you to you all and everyone else whohas contributed code and others.API Revision RemovalNow that we are doing regular releases, the API revision check has beenremoved. You no longer need to provide the API revision number +
12年前
記事のアイキャッチ画像
Ember Data v1.0.0-beta.12 Released
Ember.js Blog
+New Core ContributorsLong-time contributors Brendan McLoughlin and Sylvain Minahave been given collaborator status and will help us triage issues, merge pullrequests, and contribute bugfixes and documentation.New Featuresstore.fetchWhen using Ember Data, the most common pattern in the model hook is to callstore.find for your model:export default var PostRoute = Ember.Route.extend({ model: function(params) { return this.store.find('post', params.post_id); }});store.find will return the instance of the Post record if it has alreadybeen fetched in the store. Sometimes, this is not desirable. For example, youmay not know if you have already loaded the post in another request viasideloading, or you want the most up to date information. You could eithercheck if the record existed usingstore.hasRecordForId, or always callreload on your model in the route's afterModelhook.store.fetch wraps this common pattern by reloading a record if it exists inthe store, or reloads the record if it doesn't e +
10年前
記事のアイキャッチ画像
Ember Data v1.0.0-beta.14.1 Released
Ember.js Blog
Ember Data v1.0.0-beta.14.1 is a bugfix release that adds sourcemapsto your build pipeline in Ember CLI and Rails. Additionally supportfor versions of Ember <= 1.7.1 have been removed. This was mentionedin the beta.12 blogpost, and is now enforced via an assertionin the code and by your package manager files.
10年前
記事のアイキャッチ画像
Ember Data v1.0.0-beta.14 Released
Ember.js Blog
+Due to a hiccup during the publishing step while releasing beta.13,we've removed beta.13 from npm and instead published beta.14. Thisrelease is available to you whether you are using npm and ember-cli,rubygems, or bower. Note that the builds are always available as staticfiles at emberjs.com/builds.ImprovementsIgor Terzic, David Hamilton, and StefanPenner put in some great strides to improve performance aroundhow relationships work together in Ember Data. These performance changeshave wide-reaching effects into everything you do in Ember Data:querying records, pushing records into the store, and creating records.Since everyone on the Ember Data team works on real apps, we testedthese changes in our applications and saw improvements averaging 50% orhigher around pushing and creating records into the store.Breaking Changesstore.update() has been deprecatedCalling store.update() has been deprecated in favor of store.push()nowhandling partial payloads:var post = store.push('post', { id: 1, +
10年前
記事のアイキャッチ画像
Ember Data v1.0.0-beta.15 Released
Ember.js Blog
+We are pleased to announce the release Ember Data 1.0.0-beta.15. Itincludes many bug fixes as well as several new features. As alwaysthis release can be obtained from npm (for use with ember-cli),rubygems, or bower. The builds are also available as static files atemberjs.com/buildsThe 1.0.0-beta.15 release represents the effort of at least 30contributors across over 168 commits.ImprovementsSnapshot APIIn Ember Data serializers will now be given a snapshot instanceinstead of a record instance when serializing records. A snapshotrepresents the frozen state of a record at a particular moment intime. Its initial purpose is to be passed to serializers instead ofthe real record. This allows the serializer to examine the currentstate of that record in the moment without triggering side-effects,like loading relationships.The snapshot has a different API from a record for accessingproperties so you will know you are working with a snapshot. Usingsnapshot.get is still supported for compatibility +
10年前
記事のアイキャッチ画像
Ember Data v1.0.0-beta.16.1 Released
Ember.js Blog
+Ember Data v1.0.0-beta.16.1 is a bugfix release that fixes 2regressions reported with Ember Data v1.0.0-beta.16. As alwaysthis release can be obtained from npm (for use with ember-cli),rubygems, or bower. The builds are also available as static files athttp://emberjs.com/builds.store.adapterFor('application') Throwing ExceptionsKamal Fariz Mahyuddin reported issue#2925 where code thatattempted to use the store's adapterFor method to accessthe application adapter was throwing an error with Ember Datav1.0.0-beta.16. This has been fixed in Ember Datav1.0.0-beta.16.1.Incompatibility with Ember 1.10.0-beta.4Daniel Sudolreported thatv1.0.0-beta.16 was throwing an error when it was loaded alongsideEmber 1.10.0-beta.4 due to Ember Data calling the wrongregisterHelper method on HTMLBars. This was tracked down to an issuein ember-inflector which comes bundled with EmberData. The issue has been fixed in v1.5.0 of ember-inflector andEmber Data v1.0.0-beta.16.1 now includes the updated version.Test +
10年前
記事のアイキャッチ画像
Ember Data v1.0.0-beta.16 Released
Ember.js Blog
+We are pleased to announce the release Ember Data 1.0.0-beta.16. Itincludes many bug fixes as well as several new features. As alwaysthis release can be obtained from npm (for use with ember-cli),rubygems, or bower. The builds are also available as static files atemberjs.com/buildsThe 1.0.0-beta.16 release represents the effort of at least 31contributors across over 112 commits.New Core ContributorContributor Christoffer Persson has been given collaboratorstatus and will help us triage issues, merge pull requests, andcontribute bug fixes and documentation. Christoffer has been extremelyactive in triaging issues and contributing features and bug fixes tothe Ember Data project.Breaking ChangesThe store now passes snapshots instead of records to adapter methodsIn 1.0.0-beta.15 Ember Data introduce the Snapshot API and beganpassing snapshot instances into all serializers to preventside-effects from occurring when inspecting relationships forserialization. This introduces some pain points i +
10年前
記事のアイキャッチ画像
Ember Data v1.0.0-beta.17/18 Released
Ember.js Blog
+Beta.17 and Beta.18 contained many bugfixes from the community! Please checkthem out in the CHANGELOG. Thank you to everyone who submittedpatches!While many bugs were stomped, some important changes are worth calling out:(Possibly) Breaking Deprecationsrecord.constructor.typeKey is now record.constructor.modelNameIn Ember Data, when you ask for a model, Ember Data looks its class up usingEmber's Dependency Injection API. When the model class is lookedup, Ember Data stores the type on the model class.For example, when the following code runs in your application:var post = this.store.getById('post', 1);and Ember Data will store the string "post" on the model class:console.log(post.constructor.typeKey); // 'post'Ember Data uses this typeKey property internally when creating and extractingpayloads in Serializers, and when locating models in Adapters. The typeKey isalso currently available on Snapshots, which are passed to adapter andserializer methods. typeKey was previously always normali +
10年前
記事のアイキャッチ画像
Ember Data v1.0.0-beta.19.1 Released
Ember.js Blog
Ember Data 19.1 contains fixes for a few regressions. Thanks to everyonewho reported issues. Thanks to @bmac and @wecc for fixing!Fix a regression where a DS.Model's InternalModel would not be seton init - @bmac Pull RequestPass store to inverseFor in removeEmbeddedForeignKey #3270 - @weccPull Request
10年前
記事のアイキャッチ画像
Ember Data v1.0.0-beta.19 Released
Ember.js Blog
+Ember Data 1.0.0-beta.19 contains a lot of bugfixes from the comunity!Thank you for helping us push toward a stable release of Ember Data!New FeaturesSnapshots have changedAttributeschangedAttributes, which represents the changes that have happenedsince the model was last synced with the server, are now available onthe snapshot in your adapters and serializers, instead of onDS.Model instances.Breaking ChangesPassing Classes to Store MethodsPreviously, you were allowed to pass a classes directly to store methodslike store.push:var record = store.push(App.Post, {id: 1});While this isn't a very popular way and generally not recommended in thedocumentation, it did remain the preferred way to do things in EmberData's tests for a long time. As we move toward to using Ember'sDependency Injection framework for consistency, passing these classesdirectly to store methods has been removed. Instead, you should pass adasherized string:var record = store.push('post', {id: 1});To help you upgrade thr +
10年前
記事のアイキャッチ画像
Ember Data 1.0.0 Beta 2 Released
Ember.js Blog
+Ember Data 1.0.0-beta.2 has been released.The release fixes a number of bugs, and adds several new features:Fix a number of issues where the code still expected class names(App.Post) instead of module-friendly shorthand (post).Add host and namespace in the RESTAdapterAdd record.rollback()Add support for since token from find all fetchesAdd store.update(type, hash) to update some, but not all attributesImprove subclassability of RESTSerializer and RESTAdapterThanks to Paul Chavard, Toran Billups, Bradley Priest, Kasper Tidemann, Yann Mainier,Dali Zheng, Jeremy Green, Robert Jackson, Joe Bartels, Alexandre de Oliveria,Floren Jaby, Gordon Hempton, Ivan Vanderbyl, Johannel Würbach, Márcio Júnior,Nick Ragaz, Ricardo Mendes, Ryunosuke SATO, Sylvain Mina, and ssuredThanks to everyone who has been porting adapters to Ember Data 1.0!
11年前
記事のアイキャッチ画像
Ember Data v1.0.0-beta.9 Released
Ember.js Blog
+Since Ember Data v1.0.0-beta.8, a lot has changed. Since we didn't write a blogpost for beta.8, this blog post will contain features in both beta.8 and beta.9.New Release ScheduleSince the first beta release for Ember Data 1.0, Ember Data has typically beenreleased when we felt like critical features or bugfixes were merged. Due to theever changing nature of Ember Data, we'd like to reward Ember Data users forkeeping up with changes by providing more frequent releases until a releasecandidate emerges. Beginning Monday, August 18th 2014, Ember Data will release anew beta version every 3 weeks. The builds will be available on the buildspage, Bower, Rubygems, and soon, NPM.Breaking ChangesObject.create shim requiredEmber Data now requires an Object.create polyfill for environments withoutObject.create or incorrect Object.create implementations such as InternetExplorer 8. Ember.js will be shipping with an Object.create polyfill in 1.8.0.If you are using stable builds of Ember, we recommend +
10年前
記事のアイキャッチ画像
Ember Data v1.13 Released
Ember.js Blog
+We are proud to announce the release of Ember Data 1.13. Thisrepresents the first stable release of Ember Data since its creationover 3 years ago.As we explained in the The Ember 2.x Projectblog post, going forward Ember Data will be syncing up its releases and version numbers with Ember.js releases.Ember Data 1.13 is the first release of Ember Data that syncs its version with a version of Ember.js. It will be followed by Ember Data 2.0, which will be released alongside Ember.js 2.0. Ember Data 1.13 is fully backwards compatible with Ember Data beta.19, allowing for a smooth upgrade path.Ember Data 1.13 OverviewEmber Data 1.13 is a massive release we are very proud of.The highlight of the Ember Data 1.13 release is a total overhaul of Ember Data's internal format and Serializer API to follow JSON API.Two years ago Tom Dale and Yehuda Katz published a vision for how Ember Data should look in the future and articulated the need for a single, ubiquitous JSON API standard.We are very happy +
10年前
記事のアイキャッチ画像
Ember Data v2.0 Released and v2.1 Beta Released
Ember.js Blog
+We are excited to announce the release of Ember Data 2.0, thesecond stable release since 1.13 that includes significant improvements,cleanup, and cruft removal.As previously discussed, Ember Data releases occur inlockstep with Ember, to help developers better reason aboutcompatibility between these libraries. Ember Data 2.0 is designed to beused in tandem with Ember 2.0, and like Ember 2.0, we have used theoccasion of a new major version number to remove deprecated features andclean up the code.Ember Data 2.0 is about removing deprecatedfunctionality, not adding new features. If you've already startedusing Ember Data 1.13 and cleared the deprecations, you should findupgrading to Ember Data 2.0 to be very straightforward.JSON APIIn the Ember Data 1.13 blog post, we described how wehad overhauled Ember Data's internals to use JSON API from top tobottom.Using JSON API dramatically simplified internal code and APIs, but Iwant to emphasize that moving to JSON API internally does not affecty +
9年前
記事のアイキャッチ画像
Ember Data 2.1 and 2.2 Beta Released
Ember.js Blog
+Ember Data 2.1, a minor version release of Ember Data with bug fixes only, is released today. This release represents the work of over 26 direct contributors, and over 127 commits.Ember Data 2.2 beta.1, the branch of Ember Data that will be released as stable in roughly six weeks, is also being released today.New Features in Ember Data 2.1There are no new Features introduced in Ember Data 2.1. Instead theEmber Data team spent this release cycle focused on improving theguides, API documentation and fixing bugs.See the Ember Data 2.1.0 CHANGELOG for a full list of all changes.Ember Data 2.2 betaNo new features are currently planned for Ember Data 2.2. During thecanary cycle leading to this beta, the Ember Data team and communityhave been primarily focused on bug fixes and performanceimprovements. The Ember Data team expects the introduction of newfeatures to resume in Ember Data 2.3.For more details on changes in 2.2, review theEmber Data 2.2.0-beta.1 CHANGELOG.
9年前
記事のアイキャッチ画像
Ember Data 2.2 and 2.3 Beta Released
Ember.js Blog
+Ember Data 2.2, a minor version release of Ember Data with bug fixesonly, is released today. This release represents the work of over 21direct contributors, and over 140 commits.Ember Data 2.3 beta.1, the branch of Ember Data that will be releasedas stable in roughly six weeks, is also being released today.Changes in Ember Data 2.2There are no new features introduced in Ember Data 2.2. Instead thethis release contains bugfixes and documentation improvements forEmber Data.See the Ember Data 2.2.0 CHANGELOG for a full list of all changes.Ember Data 2.3 betaEmber Data 2.3 beta is released today, and in six weeks it will become thenew stable version of Ember Data.Ember CLI AddonPreviously the primary way of consuming Ember Data was using the bowerpackage. The existing Ember Data addon for Ember CLI added Ember Datato the bower.json file. This often lead to some confusion becauseupdating the version of the Ember Data addon on packages.json wouldnot update the version of Ember Data included +
9年前
記事のアイキャッチ画像
Ember Data 2.3 and 2.4 Beta Released
Ember.js Blog
+Ember Data 2.3, a minor version release of Ember Data, is released today. This release represents the work of over 32 direct contributors, and over 196 commits.Ember Data 2.4 beta.1, the branch of Ember Data that will be released as stable in roughly six weeks, is also being released today.Changes in Ember Data 2.3Ember Data 2.3 is now a full Ember CLI addon. Previous versions ofEmber Data required users to include both the ember-data package intheir project's package.json file and the ember-data package intheir project's bower.json file. This resulted in confusion becauseupdating ember-data in package.json would not update ember-datain bower.json.To upgrade Ember Data to version 2.3 in your Ember CLI projects pleasedo the following:remove the ember-data package from your bower.jsonupdate ember-cli-shims package to version 0.1.0 ... "dependencies": { "handlebars": "2.0.0", "ember": "~2.2.0",- "ember-cli-shims": "0.0.6",+ "ember-cli-shims": "0.1.0", "ember-cli-test-loader": "ember-cli-t +
9年前
記事のアイキャッチ画像
Ember Data 2.4 and 2.5 Beta Released
Ember.js Blog
+Ember Data 2.4, a minor version release of Ember Data, is released today. This release represents the work of over 20 direct contributors, and over 76 commits.Ember Data 2.5 beta.1, the branch of Ember Data that will be released as stable in roughly six weeks, is also being released today.Changes in Ember Data 2.4Friendly Errors@nikz has implementedRFC 101 which providesmore context for RESTAdapter and JSONAPIAdapter errors in EmberData. Be sure to check out thepull request for moredetails.Importing Modules@pangratz added public paths to help you import the DS.EmbeddedRecordsMixin and DS.Serializer modules.// DS.EmbeddedRecordsMixinimport EmbeddedRecordsMixin from 'ember-data/serializers/embedded-records-mixin';// DS.Serializerimport Serializer from 'ember-data/serializer';Fastboot Support@danmcclain added twocommits to enable supportfor Ember Data with theEmber CLI Fastboot addon.For more details on changes in 2.4, review theEmber Data 2.4.0 CHANGELOG.Upcoming Features in Ember Data 2 +
9年前
記事のアイキャッチ画像
Ember Data 2.5 and 2.6 Beta Released
Ember.js Blog
+Ember Data 2.5, a minor version release of Ember Data, is released. This release represents the work of over 31 direct contributors, and over 137 commits.Ember Data 2.6 beta.1, the branch of Ember Data that will be released as stable in roughly six weeks, is also being released.Changes in Ember Data 2.5ds-finder-includeThe ds-finder-include feature allows an include query parameter tobe specified using store.findRecord() and store.findAll() asdescribed in RFC 99. Theinclude parameter tells JSON-API servers which relationships tosideload in a response, but it can also be used by custom adapters tosignal which relationships the backend can sideload to improveperformance.Thanks to @HeroicEric forimplementing this feature.// GET /articles/1?include=commentsvar article = this.store.findRecord('article', 1, { include: 'comments' });// GET /articles?include=commentsvar article = this.store.findAll('article', { include: 'comments' });ds-referencesThe ds-references feature implements the refere +
9年前
記事のアイキャッチ画像
Ember Data 2.6 and 2.7 Beta Released
Ember.js Blog
+Ember Data 2.6, a minor version release of Ember Data, isreleased. This release represents the work of over 22 directcontributors, and over 85 commits.Ember Data 2.7 beta.1, the branch of Ember Data that will be releasedas stable in roughly six weeks, is also being released.Changes in Ember Data 2.6ds-serialize-ids-and-typesEnables a new ids-and-type strategy (in addition to the already existing ids and records) forserializing has many relationships using the DS.EmbeddedRecordsMixin that will include bothid and type of each model as an object.For instance, if a user has many pets, which is a polymorphic relationship, the generated payload would be:{ "user": { "id": "1" "name": "Bertin Osborne", "pets": [ { "id": "1", "type": "Cat" }, { "id": "2", "type": "Parrot"} ] }}This is particularly useful for polymorphic relationships not backed by STI when just including the id of the records is not enough.Thanks to @cibernox forimplementing this feature.Upcoming Features in Ember Data 2.7.beta +
9年前
記事のアイキャッチ画像
Ember Data 2.7 and 2.8 Beta Released
Ember.js Blog
+Ember Data 2.7, a minor version release of Ember Data, isreleased. This release represents the work of over 27 directcontributors, and over 103 commits.Ember Data 2.8 beta.1, the branch of Ember Data that will be releasedas stable in roughly six weeks, is also being released.Blueprint ChangesIn Ember Data 2.5 there was a change made to the blueprints to usemodule paths when importing instead of importing the default DSnamespace. At the time this was thought to be a minor change and didnot receive much scrutiny. However, in time the Ember Data team hasdiscovered that the changes to the import statements in the blueprintshave made it more confusing for both new and experienced Emberdevelopers.In Ember Data 2.5 and Ember Data 2.6 the following generator command for building a model:ember generate model post content isDraft:boolean comments:has-many user:belongs-toIt would generate the following blueprint:// app/models/post.jsimport Model from 'ember-data/model';import attr from 'ember-dat +
9年前
記事のアイキャッチ画像
EmberData 4.12 Special LTS Update
Ember.js Blog
+EmberData 4.12 Special LTS UpdateIn our 5.0 Announcement we promised extended support for 4.12 LTS beyond just bug fixes.This support extends beyond simple bug-fixes. If minor enhancements can be made to better support new presentation class implementations that support the 4.x series we will willingly accept them. Our goal is simple: we want no one left behind.To this end, here are the changes we currently plan to make for 4.12 to ensure our users can both upgrade to 4.12 from 4.6 and 4.11 more seamlessly and to provide additional tools for users on 4.12 to begin shifting to the RequestManager paradigm as early as possible for their app.Builders and Build utilsThe first LTS release of @ember-data/rest and @ember-data/active-record will have their peer-dependency supported versions set to include ~4.12.3 of @ember-data/store.Once apps have updated from 4.12 to the 5.x LTS they should use the associated release's version to ensure maximum inter-compatibility.@ember-data/request-utils ha +
1年前
記事のアイキャッチ画像
EmberData 5.X Update
Ember.js Blog
+This week, in coordination with the broader Ember project, EmberData released 4.12, its final4.x version, and began iterating towards the first release of the 5.x series.A wrap on 4.xThis final release of the 4.x cycle introduced several new concepts to support a new paradigm for managing Requests and new capabilities for Caching Data.The primary focus of these changes was to support caching Documents and to ensure that Resources are handled opaquely. Loosely defined: A Document encompasses the full response returned by an API request, and can typically be identified uniquely by url. Documents may contain many resources or references to resources, where a resource is defined as some data which your application or the API treats as uniquely identifiable.Note: Historically, Model has mapped to a resource "type" and serves to present the data for a resource. It may be useful to think about resources as the backing data for a Model; however, resources can be far more generic than this and +
2年前
記事のアイキャッチ画像
Ember Data Meeting Minutes - 2014/06/25
Ember.js Blog
+Although most of our collaboration takes place on Github, IRC(#emberjs on freenode.net), and our Discourse sitethe Ember Data team meets privately everyWednesday at 11am PST through Google Hangout for a weeklydiscussion of all things Ember-Data.Attendees@tomdale,@wycats,@terzicigorSerializer refactorWe discussed how best to refactor the existing serializers, especially the work lead by @BMac to break up theRest Serializer into a JSON Serializer + a Sideloading mixin. While working on it, there were several issues raised, including the problem ofhow to make sure that mixins that extend the JSON Serializer(Embedded records mixin right now, and Sideloading mixin in the future) have theirhooks called in the right order and that they do not interfere with each other.Decided that the refactor into a mixin is a good idea.Tom raised the idea of having a serialization pipeline, but we decided to punt on that for now.Decided to wait on more use cases before deciding whether/and how to reorganize +
11年前
記事のアイキャッチ画像
Ember Data Meeting Minutes - 2014/07/02
Ember.js Blog
+Although most of our collaboration takes place on Github, IRC(#emberjs on freenode.net), and our Discourse sitethe Ember Data team meets privately everyWednesday at 11am PST through Google Hangout for a weeklydiscussion of all things Ember-Data.Attendees@tomdale,@wycats,@terzicigorPushPayload discussionWe discussed the PushPayload proposal@wycats concluded that the original decision for pushPayload on the store to accept a type argument was a mistake.Decided that instead of creating several new hooks, the best course of actions seems to be to add a normalize method to the store.Thus instead of doing pushAndNormalize from the discuss proposal, one can dostore.push(type, store.normalize(type, payload))It also seems nice to have a normalize method on the store as the inverse of serialize which already exists on the model.Group Coalescing@hjdivad and @terzicigor recently added agroupedRecordsForFindMany hook on the findCoalescingbranch to enable users to decide how to group coalesced reque +
11年前
記事のアイキャッチ画像
Ember Data Meeting Minutes - 2014/08/20
Ember.js Blog
+Every week, the Ember Data team meets to discuss improvements and vision forthe Ember Data Project.AttendeesTom Dale (@tomdale)Igor Terzic (@terzicigor)Stanley Stuart (@fivetanley)Single Source of TruthThis was a fairly brief meeting and mostly involved a code review of Igor'sexcellent work on the Single Source of Truth Branch. At a high level, the workin this branch vastly simplifies many internals in Ember Data on howrelationships keep up to date. These changes will also bring many bugfixesaround inconsistencies related to relationships. You can read more about thegoals of this branch in "The Road to Ember Data 1.0" blog post.You can read about the bug fixes referenced in the pull request. TheSingle Source of Truth changes are expected to land in Ember Data v1.0.0-beta.10.
10年前
記事のアイキャッチ画像
Ember Data Progress Update
Ember.js Blog
+A month ago, we told you about our plans for stabilizing EmberData. I'd liketo give you an update on the status of those efforts.First, though, I'd like to thank everyone who has been contributing to EmberData. As an open source project, a healthy, active community is ourlifeblood. In particular, I want to call out Igor Terzic, Stefan Penner,Paul Chavard and Gordon Hempton for going above and beyond the call ofduty.Thanks to their efforts, we've been making steady progress towardstriaging and reviewing pull requests andissues.Additionally, Yehuda and I have been able to devote significant time toworking on Ember Data thanks to the financial support ofAddepar. They have my sincere thanks for beinga company that understands the importance of investing in open source.A New FocusImagine that you are starting a new job as a developer on an existingserver-side web application. On the first day, you begin the process offamiliarizing yourself with the codebase.Since you have experience with th +
12年前
記事のアイキャッチ画像
Ember FastBoot 1.0 Released
Ember.js Blog
+We are thrilled to share that we have released Ember FastBoot 1.0 (including ember-cli-fastboot addon, fastboot-app-server and other FastBoot libraries).What is Ember FastBoot?Ember FastBoot is a server-side rendering solution for ambitious Ember apps,allowing your Ember apps to use principles of progressive enhancement, such as an initial render of your app without JavaScript.It provides a complete solution for server-side rendering of your app from development to deployment.FastBoot works by running your Ember app in Node and shipping the rendered HTML of your initial requested route in your index.html (which also contains scripts for your app to boot in browser) to the user.This helps you show meaningful content to your user while the JavaScript is being downloaded, and also helps the initial page of your app to paint faster.Once the JavaScript downloads and your Ember app in the browser boots, it takes over the initial rendered HTML.It also helps the content in your Ember applicati +
8年前
記事のアイキャッチ画像
Ember Guides Status Update
Ember.js Blog
+The road to Ember 2.0 has been long and rewarding: the community and team have invested in huge efforts to move Ember to a component-based architecture; we released a stable Ember Data; and we unified our development process with Ember CLI. All in all, we've made huge progress.Unfortunately, our docs efforts haven’t kept up with all of those improvements. We know that many Ember users have been frustrated that they can't find the resources they need to take advantage of new features.Over the next few releases, we'll be focusing on major improvements to the content of the Ember Guides and the process of landing new features so we don't fall behind again.Upcoming releasesHere's what you can expect in the coming weeks and months:Ember Data: Several of us are working hard to update the Models section of the Guides to properly document Ember Data in its stable form. This should be released imminently.Ember 2.1: Several people are working on reviewing the Guides from beginning to end to impr +
9年前
記事のアイキャッチ画像
Ember Homepage survey
Ember.js Blog
+The first version of emberjs.com was created over 7 years ago, in 2011! Since then there's not only been a major redesign, but countless features, blog posts, guides, examples, and lessons learned added to the site. It's been thrilling to watch the Ember community evolve emberjs.com over the years.201120152018That said, we believe it's time for another redesign of the homepage. The marketing copy doesn't capture many of the amazing innovations that have landed in Ember over the past few years. We want the homepage to reflect how great it is to be an Ember developer in 2018.But first we need your help!We want to find out what makes you continue to use Ember in a world full of alternatives, so we can better communicate Ember's value proposition to others who might find similar success.By taking a few minutes to answer these questions, you can help influence the messaging behind Ember's future homepage and any other marketing materials we create.We really appreciate your time, and thanks! +
7年前
記事のアイキャッチ画像
Community Update from the Learning Team
Ember.js Blog
+Each Ember team meets in person at EmberConf. For many of us, it was our first chance to sit down in person and plan together! This is important for us because it allows us spend an entire day getting to know each other and plan for the upcoming year.In order to keep the community updated while we move initiatives forward, we'd like to share with you the major outcomes from our face to face meeting. The learning team (and friends!) spent the day reviewing our current workload, extracting all of the ideas from @locks' brain, and reviewing priorities for the upcoming year.GoalsWe had a few goals for the day:craft a mission statementidentify all of the initiatives that were in the scope of the learning teamput all of the initiatives into categoriesprioritize the categoriesWe were able to identify categories of work that naturally fell in to one of two directions - user support and marketing. Here are some of of those categories, with initiatives for each:User SupportGuidesAPI Docs (versio +
7年前
記事のアイキャッチ画像
Ember Node.js LTS Support
Ember.js Blog
+Ember is committed to being a good steward of our collective codebases as part of the Node.js ecosystem. In that spirit we will be following the Node.js Long Term Support Schedule to provide clear guarantees of which versions of Node.js we support and how long we will support them. We will test against the same set of releases which the Node.js Long-term Support Working Group says they support: any "Current", "Active LTS", or "Maintenance" releases.What does support mean?All Ember projects can be expected to work in any of the supported Node.js versions and will support every documented feature. We will not maintain separate branches or classes of support for different Node.js support classifications. For example, Ember CLI can be expected to work the same running on a "Maintenance" Node.js version as it does on a "Current" Node.js version. Not all of our projects presently align to this pattern but we will, over time, coalesce to this state.Meeting this commitment does not come withou +
8年前
記事のアイキャッチ画像
The Ember 2.x Project
Ember.js Blog
+For the past several years, when we've talked about "Ember releases", we were always talking about releases of the Ember codebase itself.In practice, that has meant that in order to put together the full, recommended Ember stack, you needed to figure out not only what Ember version to use, but also what versions of our other libraries and tools worked with it.Starting with Ember 2.0, we will coordinate every release of Ember with releases of the main ecosystem tools maintained by the core team:Ember CLIEmber.jsEmber DataLiquid FireList ViewAll of these tools will share a version number with Ember itself.Upgrading to Ember 2.3 means that you'll get a new version of the Ember tools and a new version of Ember. You'll also get new versions of Liquid Fire, List View and Ember Data designed to work with (and tested against) Ember 2.3.These projects will also ship betas alongside Ember itself, meaning that when Ember 2.3-beta.1 is released, there will be versions of Ember Data, Liquid Fire an +
10年前
記事のアイキャッチ画像
Ember 4.10 Released
Ember.js Blog
+Today the Ember project is releasing version 4.10 of Ember.js, Ember Data, and Ember CLI.This release kicks off the 4.11 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 4.10Ember.js 4.10 is an incremental, backwards compatible release of Ember with bug fixes, performance improvements, and minor deprecations.Bug FixesEmber.js 4.10 introduced 2 bug fixes.#20327 - Fix the types for the mutation-methods of NativeArray#20283 - revert TS compilerOptions.target to ES2017FeaturesEmber.js 4.10 introduced 3 feature +
2年前
記事のアイキャッチ画像
Ember 4.11 Released
Ember.js Blog
+Today the Ember project is releasing version 4.11 of Ember.js, Ember Data, and Ember CLI. This release kicks off the 4.12 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 4.11Ember.js 4.11 is an incremental, backwards compatible release of Ember with bug fixes, performance improvements, and minor deprecations.Bug FixesEmber.js 4.11 introduced 0 bug fixes.FeaturesEmber.js 4.11 introduced 2 features.Stable TypeScript types for the @ember/owner package (first released in 4.10).Stable TypeScript types for the +
2年前
記事のアイキャッチ画像
Ember 4.12 Released
Ember.js Blog
+Today the Ember project is releasing version 4.12 of Ember.js, EmberData, and Ember CLI. This release kicks off the 5.0 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 4.12Ember.js 4.12 is an incremental, backwards compatible release of Ember with bug fixes, performance improvements, and minor deprecations.Bug FixesEmber.js 4.12 introduced 3 bug fixes.#20388 - Don't run getters while applying mixins, ensuring that getters are never evaluated while applyingmixins.#20398 - Fix runloop types on TypeScript 5. +
2年前
記事のアイキャッチ画像
Ember 4.3 Released
Ember.js Blog
+Today the Ember project is releasing version 4.3 of Ember.js, Ember Data, and Ember CLI.This release kicks off the 4.4 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 4.3Ember.js 4.3 is an incremental, backwards compatible release of Ember with bug fixes, performance improvements, and minor deprecations.Bug FixesEmber.js 4.3 introduced 3 bug fixes.A memory leak in the Router Service class is fixed (#20025). It was affecting tests and FastBoot apps.Using RouterService#transitionTo no longer adds unspecifie +
3年前
記事のアイキャッチ画像
Ember 4.4 Released
Ember.js Blog
+Today the Ember project is releasing version 4.4 of Ember.js, Ember Data, and Ember CLI.This release kicks off the 4.4 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 4.4Ember.js 4.4 is an incremental, backwards compatible release of Ember with bug fixes, performance improvements, and minor deprecations.Bug FixesEmber.js 4.4 introduced 1 bug fix.Calling isEmpty on instances of ObjectProxy wrapping ArrayProxy was not working, this is fixed in #16879.FeaturesEmber.js 4.4 introduced 4 features.The {{unique-i +
3年前
記事のアイキャッチ画像
Ember 4.7 Released
Ember.js Blog
+Today the Ember project is releasing version 4.7 of Ember.js, Ember Data, and Ember CLI.This release kicks off the 4.8 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 4.7Ember.js 4.7 is an incremental, backwards compatible release of Ember with bug fixes, performance improvements, and minor deprecations.Bug FixesEmber.js 4.7 introduced 1 bug fix.Replacing Firefox detection that used a deprecated browser APIFeaturesEmber.js 4.7 introduced 0 features.DeprecationsEmber.js 4.7 introduced 0 deprecations.For mo +
2年前
記事のアイキャッチ画像
Ember 5.1 Released
Ember.js Blog
+Today the Ember project is releasing version 5.1 of Ember.js, EmberData, and Ember CLI.This release kicks off the 5.2 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.The headlining feature of this release is stable TypeScript support! 🎉 The framework now publishes TypeScript types built from Ember's own source code, with Ember's strong Semantic Versioning commitment baked in—bringing benefits for both TypeScript and JavaScript users. For details, a couple important caveats, and a migration guide, check out the accompanying ... +
2年前
記事のアイキャッチ画像
Ember 5.10 Released
Ember.js Blog
+Today the Ember project is releasing version 5.10 of Ember.js and Ember CLI. Following Ember's Major Version Policy, 5.10 is the last release of the 5.x series that will have deprecations targeting 6.0. Version 5.12 in September will be the final release of the 5.x series.This release kicks off the 5.11 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 5.10Ember.js 5.10 is an incremental, backwards compatible release of Ember with bug fixes, performance improvements, and minor deprecations.Bug fixesEmber.js +
7ヶ月前
記事のアイキャッチ画像
Ember 5.11 Released
Ember.js Blog
+Today the Ember project is releasing version 5.11 of Ember.js and Ember CLI. Following Ember's Major Version Policy, the previous release, 5.10, was the last release of the 5.x series that will have deprecations targeting 6.0. Version 5.12 in September will be the final release of the 5.x series.This release kicks off the 5.12 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 5.11Ember.js 5.11 is an incremental, backwards compatible release of Ember with bug fixes, performance improvements, and minor deprec +
6ヶ月前
記事のアイキャッチ画像
Ember 5.12 Released
Ember.js Blog
+Today the Ember project is releasing version 5.12 of Ember.js and Ember CLI. Following Ember's Major Version Policy, version 5.12 will be the final release of the 5.x series. This release of Ember.js is an LTS (Long Term Support) candidate. LTS candidates prioritize stability over the addition of new features, and have an extended support schedule.This release kicks off the 6.0 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 5.12Ember.js 5.12 is an incremental, backwards compatible release of Ember with b +
4ヶ月前
記事のアイキャッチ画像
Ember 5.2 Released
Ember.js Blog
+Today the Ember project is releasing version 5.2 of Ember.js, EmberData, and Ember CLI.This release kicks off the 5.3 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 5.2Ember.js 5.2 is an incremental, backwards compatible release of Ember with bug fixes, performance improvements, and minor deprecations.Bug FixesEmber.js 5.2 introduced 2 bug fixes:#20505 Remove use of this.element in component-test and helper-test blueprints.#20501 Fix the types for the mutation-methods of NativeArray.FeaturesEmber.js 5.2 +
1年前
記事のアイキャッチ画像
Ember 5.3 Released
Ember.js Blog
+Today the Ember project is releasing version 5.3 of Ember.js, EmberData, and Ember CLI. This release kicks off the 5.4 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 5.3Ember.js 5.3 is an incremental, backwards compatible release of Ember with bug fixes, performance improvements, and minor deprecations.DeprecationsEmber.js 5.3 introduced 1 deprecation.Deprecate implicit record loading in Ember Route per RFC #774. Please see the deprecation guide for more information.Deprecations are added to Ember.js whe +
1年前
記事のアイキャッチ画像
Ember 5.4 Released
Ember.js Blog
+Today the Ember project is releasing version 5.4 of Ember.js and Ember CLI. This release of Ember.js is an LTS (Long Term Support) candidate. LTS candidates prioritize stability over the addition of new features, and have an extended support schedule.This release kicks off the 5.5 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 5.4Ember.js 5.4 is an incremental, backwards compatible release of Ember with bug fixes, performance improvements, and minor deprecations.FeaturesEmber.js 5.4 introduced 1 feature: +
1年前
記事のアイキャッチ画像
Ember 5.5 Released
Ember.js Blog
+Today the Ember project is releasing version 5.5 of Ember.js and Ember CLI.Version 5.4 of Ember.js and version 5.3 of EmberData are now promoted to LTS (Long Term Support). An LTS version of Ember continues to receive security updates for 9 release cycles (54 weeks) and bugfixes for 6 cycles (36 weeks). LTS releases typically occur every four minor versions. The previous LTS version of Ember.js was 4.12 and the previous LTS version of EmberData was also 4.12.This release kicks off the 5.6 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web a +
1年前
記事のアイキャッチ画像
Ember 5.6 Released
Ember.js Blog
+Today the Ember project is releasing version 5.6 of Ember.js and Ember CLI.This release kicks off the 5.7 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 5.6Ember.js 5.6 is an incremental, backwards compatible release of Ember with bug fixes, performance improvements, and minor deprecations.Bug fixesEmber.js 5.6 introduced 3 bug fixes.#20595 - A blueprint-generated file for an addon re-export should always be a JavaScript file, not a TypeScript file.#20603 - Internal templates should be strictMode and fix +
1年前
記事のアイキャッチ画像
Ember 5.7 Released
Ember.js Blog
+Today the Ember project is releasing version 5.7 of Ember.js and Ember CLI.This release kicks off the 5.8 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 5.7Ember.js 5.7 is an incremental, backwards compatible release of Ember with bug fixes, performance improvements, and minor deprecations.FeaturesEmber.js 5.7 introduced 2 features.#20639 - Add an optional feature no-implicit-route-model to opt-in to the removal of the implicit loading of a model per RFC #774 and facilitated by ember-optional-features. E +
1年前
記事のアイキャッチ画像
Ember 5.8 Released
Ember.js Blog
+Today the Ember project is releasing version 5.8 of Ember.js and Ember CLI. This release of Ember.js is an LTS (Long Term Support) candidate. LTS candidates prioritize stability over the addition of new features, and have an extended support schedule.This release kicks off the 5.9 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 5.8Ember.js 5.8 is an incremental, backwards compatible release of Ember with bug fixes, performance improvements, and minor deprecations.Bug fixesEmber.js 5.8 introduced 1 bug fix +
10ヶ月前
記事のアイキャッチ画像
Ember 5.9 Released
Ember.js Blog
+Today the Ember project is releasing version 5.9 of Ember.js and Ember CLI.Version 5.8 of Ember.js is now promoted to LTS (Long Term Support). The current LTS version of EmberData remains at version 5.3. An LTS version of Ember continues to receive security updates for 9 release cycles (54 weeks) and bugfixes for 6 cycles (36 weeks). LTS releases typically occur every four minor versions. The previous LTS version of Ember.js was 5.4.This release kicks off the 5.10 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Em +
8ヶ月前
記事のアイキャッチ画像
Ember 6.1 Released
Ember.js Blog
+Today the Ember project is releasing version 6.1 of Ember.js and Ember CLI.This release kicks off the 6.2 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.You can read more about our general release process here:Release DashboardThe Ember Release CycleThe Ember ProjectEmber LTS ReleasesEmber.jsEmber.js is the core framework for building ambitious web applications.Changes in Ember.js 6.1Ember.js 6.1 is an incremental, backwards compatible release of Ember with bug fixes, performance improvements, and minor deprecations.Bug fixesEmber.js 6.1 introduced 1 bug fix.#20782 - Fixes Ember keyword shadowing: keywords should always be superseded by in-scope lexical variables.FeaturesEmber.js 6.1 introduced 1 new feature.#20787 - Publish ember +
1ヶ月前
記事のアイキャッチ画像
Security Releases - Ember 1.2.2, and 1.3.2
Ember.js Blog
+Because developers trust Ember.js to handle sensitive customer data inproduction, we take the security of the project extremely seriously. Infact, we're one of the few JavaScript projects that has a clearlyoutlined security policy and alow-traffic mailing list exclusively for securityannouncements.Today we are announcing the release of Ember.js 1.2.2,1.3.2, and 1.4.0-beta.6 that contain an important security fix:1.4.0-beta.6 -- Compare View1.3.2 -- Compare View1.2.2 -- Compare ViewThese releases contain the fix for an XSS vulnerability thatyou can learn more about on our security mailing list:CVE-2014-0046It is recommended that you update immediately. In order to easeupgrading, the only major change in each release is the security fix(other than 1.4.0-beta.6, which is a normal beta channel release withthe fix rolled in).We would like to thank Hyder Ali of Zohofor responsibly disclosing and working with us on the patchand the advisory.If you discover what you believe may be a security i +
11年前
記事のアイキャッチ画像
Ember v4 TypeScript Support Update
Ember.js Blog
+The Typed Ember team—Chris Krycho (@chriskrycho), Dan Freeman (@dfreeman), and James Davis (@jamescdavis)—is happy to announce that the @types type definition packages, maintained on Definitely Typed, now have full support for Ember 4.x!TypeScript is "JavaScript with syntax for types.… a strongly typed programming language that builds on JavaScript, giving you better tooling at any scale." Using Ember will never require using TypeScript, but we aim to provide a best-in-class experience of using TypeScript, with benefits for JavaScript users too. Want to try it out? Follow the docs for ember-cli-typescript.This update for Ember v4 types brings two major changes with two big benefits.The two major changes:All APIs which were deprecated during the 3.x cycle and removed in Ember v4.0.0 have been dropped from the types. Amusingly, this includes a number of things which were deprecated in 2.x and removed at 3.0, and even a few which were deprecated the 1.x era and removed at 2.0! Additionall +
3年前
記事のアイキャッチ画像
EmberConf 2017: State of the Union
Ember.js Blog
+Ember.js (or should we say Amber.js) turned five years old last December. In some ways, five years is a short amount of time. But when measured in web framework years, it feels like a downright eternity.As Yehuda and I were getting ready for our keynote presentation at this year's EmberConf, we tried to remember what developing web apps was really like in 2011. We knew that the web had changed for the better since then, but I think we both had repressed our memories of how truly awful it was.The Web in 2011The most popular browser in 2011, by a wide margin, was IE8. Today, for most people, IE8 is a distant, half-remembered nightmare.Today, we freely use new language features like async functions, destructuring assignment, classes, and arrow functions. We even get to use not-quite-standardized features like decorators ahead of time thanks to transpilers like Babel and TypeScript. In 2011, however, everyone was writing ES3. ES5 was considered too "cutting edge" for most people to adopt.D +
8年前
記事のアイキャッチ画像
EmberConf 2023
Ember.js Blog
+We're thrilled to announce that EmberConf 2023 will take place on July 20-21 at the Oregon Convention Center in Portland, OR. The venue is state-of-the-art and fully accessible. We're excited to offer both in-person and live online attendance options. Tickets are on sale now!This is the first conference back in person since the pandemic, and we're taking all the necessary precautions to ensure a safe and enjoyable experience for everyone attending in person (check out the FAQ page for details on our specific precautions). For those attending online, we're working hard to provide an engaging and interactive experience as well. You might not be there with us in person, but we’ll try our best to make everyone feel included!As we celebrate 10 years since Ember 1.0, we’ll focus on not just Ember’s longevity, but Ember’s modern-day community. The talks and workshops have been specifically chosen to help meet users where they are right now, and the practical challenges they face day-to-day.We +
2年前
記事のアイキャッチ画像
Ember.js Native Class Update - 2019 Edition
Ember.js Blog
+(This post was originally published on www.pzuraq.com)These are exciting times in Ember! With Ember Octane just around the corner, native class support has officially landed in v3.6 (with a polyfill supporting v3.4+), and the Decorators RFC has been merged and will be implemented soon (pending decorators moving to stage 3 in the January meeting). Some time ago, I wrote an article that detailed how to use native classes in Ember, along with best practices for writing them. Since then, some major changes have occured, and I wanted to give a quick update for early adopters and folks who are curious about them in general.This post will focus on changes since the original article and current best practices. We'll be talking about:The Native Class Constructor Update RFCnew vs. createconstructor vs. initClass Fields vs. extend()Avoid Class Field Arrow Functionssuper vs. _super()When It's Ok to Use extend()Avoiding reopen and reopenClassAvoiding EmberObjectMisc. Class TipsIf you're new to nati +
6年前
記事のアイキャッチ画像
Embroider Initiative: Progress Update
Ember.js Blog
+This post was originally published on mainmatter.comFor anyone who has clicked the link to this blog post but doesn't already know,Embroider is a new build pipeline that compiles Ember apps into spec-compliant,modern JavaScript. Before Embroider, it was somewhat difficult to participate inmodern build-tooling optimisations such as code-splitting and tree-shaking.Embroider allows you to opt-into these behaviours out of the box.Embroider is of critical importance for the entire Ember ecosystem, yet has beenin development for many years with no clear end in sight. The EmbroiderInitiative is spearheaded by Mainmatter with the support of a group of sponsorsto help speed up development on Embroider so that we can make it the defaultbuild system for newly generated Ember apps as soon as possible. This will allowEmber developers to continue leveraging its advantages while benefiting from amodern build system. We hope to see Ember apps being built with Vite before theend of the year.The Embroid +
1年前
記事のアイキャッチ画像
Evolving Ember’s Major Version Process
Ember.js Blog
+We recently made a significant shift in how we think about versioning in Ember, with RFC 0830: Evolving Ember’s Major Version Process. Starting in the current 4.0 cycle, Ember major versions will be 18 months long, running from the .0 release up to the .12 release, and then starting a new major version.For example, in the current 4.x cycle, we will do minor releases up through 4.12 in April 2023, and then release 5.0 in May 2023. Then we will repeat, with 5.12 arriving in September 2024 and 6.0 coming in November 2024.This is a pretty significant change, so it’s important to say up front the things that aren’t changing:Our approach to minor releases is not changing. We will keep releasing on the same steady cadence. Features will be in, or not, based on whether they’re ready.Our approach to Long Term Support releases is not changing. That means that every major version will have 3 LTS releases over its life: the .4, .8 and .12 releases. Having a minimum of 3 LTS releases is important t +
2年前
記事のアイキャッチ画像
Ember.js Face-to-Face Meeting Summary, Q4 2018
Ember.js Blog
+Last month, members of the Ember.js Core Team met in-person and remotely to review the direction that the framework API is headed, work through some architectural design questions, and figure out next steps. In this article, we’ll share a summary of the discussions and themes of the weekend.What happens in a F2F meeting?"F2F" stands for face-to-face, a meeting where members of a core team get together to work on problems or brainstorm in a way that is difficult to do remotely or in one-hour meetings. Each of the core teams of Ember meets at least once a year, often right after EmberConf.All core teams make an effort to keeps notes of their meetings, and you can find the agenda and notes (covering day one) for the framework F2F in the core notes repo.Read on for a summary of what was covered.Octane RFC reviewThe F2F agenda focused on discussing and commenting on open RFCs, especially those related to Ember “Octane”. Octane will be Ember’s first edition release, a minor version release o +
6年前
記事のアイキャッチ画像
The Ember JS Framework Takes the GAAD Pledge
Ember.js Blog
+As we join Global Accessibility Awareness Day (GAAD) in celebrating its tenth anniversary, we are delighted to announce that the Ember JavaScript Framework has taken the GAAD pledge to make accessibility a core value of our framework.For those who know the project well, this will come as no surprise. It’s no secret that we think that accessibility is an integral part of quality code. Ember.js is committed to providing a well-lit path for developer success, and our plans to make it easier for developers to write accessible code are part of that. In 2020, the Ember Accessibility Strike Team became the Ember Accessibility Working Group, demonstrating our commitment to long-term accessibility growth in the framework.What We've Done So FarEmber has also been shipping improvements with the “accessibility by default” developer experience in mind. These improvements include support for default app language (RFC #635), default page titles (RFC #645), added content to the guides specifically for +
4年前
記事のアイキャッチ画像
Celebrating Accessibility in Ember
Ember.js Blog
+As we celebrate Global Accessibility Awareness Day (GAAD), I also want to take the time to celebrate the incredible progress that the Ember community has made in our accessibility (a11y) efforts. Over the past few years, the Ember community has been purposefully strategic about accessibility improvements; it hardly came as a surprise that we made our commitment to accessibility even more visible by taking the GAAD Pledge last year to make accessibility a core value of our framework.Getting Started: Setting GoalsAfter completing an analysis of the accessibility-related shortcomings shared both across all JS Frameworks and in Ember specifically, a tangible list of items that could be improved emerged. It was also clear that additional education of the community was needed to increase mindshare regarding accessiblilty in general.Of course, there is a forever-long list of accessibility improvements to be made across the web; to avoid trying to boil the proverbial ocean, it was important to +
3年前
記事のアイキャッチ画像
Glimmer's In Canary, Test Your Apps!
Ember.js Blog
+After months of work, Glimmer is landing in Canary today.What this means:The test suite passes.We have tested Glimmer on our own apps, and, for the most part, apps boot andrun correctly.There are still known issues (see below), including with the test helpers.At this point, we need community help to identify compatibility issues notcovered by the test suite.We expect to continue improving compatibility with the pre-Glimmer engine forsome time, as new issues come to light.Glimmer is the new rendering engine the Ember community has been working on forthe past several months. It is the first ground-up change to the templatingengine since SproutCore 2.0, and takes advantage of the groundwork laid byHTMLBars to dramatically improve re-rendering performance. It also sets thestage for more performance improvements during the 2.x series, andReact-inspired improvements to the Ember programming model. Best of all, we arelanding Glimmer in Ember 1.13, compatible with the full public API of Ember1 +
10年前
記事のアイキャッチ画像
Glimmer.js Progress Report
Ember.js Blog
+At EmberConf in March of this year, we announced Glimmer.js, alibrary for building modern UI components optimized for the mobile web. I wantedto give an update on what we've been working on since then.There were two primary motivations for releasing Glimmer.js as a standalone project:We wanted people who aren't "all in" on Ember to have a way to incrementallyadopt part of the framework.We wanted a laboratory where we could freely run experiments on what anext-generation component library might look like, without creating churn forEmber users.Because Ember's rendering layer is built on top of the shared Glimmer VM,successful experiments have a clear path to make their way upstream to Emberusers. And, once stabilized, we'd like Glimmer.js to be the default componentAPI for new Ember apps—but it's still too premature to set any timelines forthat today.Unlocking ExperimentationWhile Ember is known for incorporating the best ideas from across the JavaScriptecosystem, it's important that we +
7年前
記事のアイキャッチ画像
Announcing Glint 1.0
Ember.js Blog
+After two years in public preview and contributions from dozens of community members, the EmberTypeScript team is excited to announce the release of Glint 1.0!While Glint has been available as an unstable prerelease for some time, the project has nowreached a level of stability and functionality that we're comfortable recommending it even forlarge applications with a low tolerance for churn.What is Glint?In an Ember application, templates are the connective glue that bind together all the differentpieces of your codebase. On its own, however, TypeScript can't see what's happening in yourtemplates, so any typechecking or other helpful aids it provides can only ever operate uponsmall islands of disconnected code, and all of your connections are completely opaque to thetooling.Glint enables TypeScript to understand your templates as well, meaning you getend-to-end type safety for your entire application. You also get editor support for things likedocumentation and type info on hover, jump +
2年前
記事のアイキャッチ画像
Global Accessibility Awareness Day
Ember.js Blog
+Happy Global Accessibility Awareness Day!To mark this occasion, I'd like to talk about the ways Ember already helps you make accessible applications, give you an update on what Ember has been doing to make it easier than ever to create accessible Ember applications, and finally a few things that you can do starting today to make your applications more accessible.Accessibility in EmberBecause Ember is an HTML-first framework, it is straight-forward to write accessible applications from day one. Here are just some of the ways that we have provided a solid foundation for you to build your applications, no matter what scale or what size team you have, or what level of talent you have on your team.Accessibility on our Core Team - As an accessibility expert, I provide feedback on new features while we are designing them, to ensure that we're setting our users up for success. Having that kind of representation on a framework's core team demonstrates Ember's commitment to accessibility and rec +
5年前
記事のアイキャッチ画像
Hacktoberfest 2020
Ember.js Blog
+Have you ever spotted something in Ember code or documentation that needed fixing?Did you want to get involved in contributing to open source, but you have no idea where to start?Good news! It's Hacktoberfest 2020, and you are invited to participate in Ember-focused special events and mentorship opportunities through the month of October.You can make some commits, meet some new people, and maybe get some free stuff!What is Hacktoberfest?Hacktoberfest is an annual, worldwide celebration organized by DigitalOcean and sponsored by many companies that use open source software.Here is the premise:Sign up anytime between October 1 and October 31.Make 4 valid Pull Requests to any public repositories on GitHub.If you are among the first 70,000 developers who complete the challenge, you get a prize. This year, you can select between a T-shirt and a tree planted in your name.Many open source project maintainers put in some extra effort during Hacktoberfest to make it easy and fun to participate +
4年前
記事のアイキャッチ画像
Handlebars Version Compatibility
Ember.js Blog
+Handlebars 2.0 was released a few weeks ago, and since its release we have received manyrequests to update Ember to allow the use of the latest version. Handlebars 2.0 containsa number of changes the list below represents a few that are likely to affect yourEmber application:Precompiler output has changed, which breaks compatibility with prior versions of theruntime and precompiled output.A JSON polyfill is required to run the compiler in IE8 and below. It's recommendedthat the precompiler be used in lieu of running the compiler on these legacy environments.Lines containing only block statements and whitespace are now removed. This matches theMustache spec but may cause issues with code that expects whitespace to exist but wouldnot otherwise.For more information about the changes please review the release notes.Since the release of Ember 1.0.0, Ember has required Handlebars 1.x. As each new version ofHandlebars has been released we have needed to update our version requirement to allow +
10年前
記事のアイキャッチ画像
How To Todo In Ember Template Lint
Ember.js Blog
+IntroductionAt the time of this writing, this feature is available in ember-template-lint@3.0.0-beta.3.The new todo feature in the ember-template-lint addon provides a new option to the existing states for linting rules.With this new functionality, linting issues can be converted into a todo and developers can strategically plan the work to resolve issues in existing code. A todo can be set to automatically become a warning, then an error with the use of a supporting feature called decay days.Previously, running the lint:hbs script (default in an Ember app) would cause ember-template-lint to run on all of the .hbs files, and return a result that included number of warnings and number of errors found.Now, however, we have a new option—we can also include number of todos. First, update the lint:hbs script in the package.json file to use the --include-todo flag (we want to be reminded that we have todos!):"lint:hbs": "ember-template-lint . --include-todo",Next, run the command yarn lint:h +
4年前
記事のアイキャッチ画像
Internet Explorer 8 Support Will Be Removed in Ember 2.0
Ember.js Blog
+After reviewing this thread, it seems clear that the vast majority ofEmber users who have responded, including people working at largecorporations, are comfortable with dropping IE8 support in Ember 2.0.On the other hand, while there is enormous support for dropping IE9support as well, a number of people still rely on support for IE9, andthe benefits of dropping IE9 in Ember 2.0 are not as strong.After reviewing discussion on the RFC proposal, many in-person conversations with Emberusers in large companies, and reviewing the private data sent to us viaemail, we have decided that Ember 2.0 will support IE9+.So how are we going to manage this transition, and what should you doif your business still requires IE8 support for the time being?1.13 with Extended Browser SupportThe core team will continue to periodically release point releases inthe 1.13 series to patch security bugs and browser compatibilityissues, including issues in IE8.No new features will be added, and we should be clear t +
10年前
記事のアイキャッチ画像
Igor Terzic Joins the Core Team
Ember.js Blog
+Today I'm happy to announce that Igor Terzic is joining the Ember.jscore team.Igor has been instrumental in the development of Ember Data. He has bothfixed bugs relentlessly and landed major new features, such as therecent work on modelling relationships as entities with a single sourceof truth.Thanks to his hard work, Ember Data is rapidly approaching a stablerelease, and it's no exaggeration to say that we couldn't have done itwithout him.Igor has been maintaining Ember Data diligently for some time now, andwe are overdue in recognizing his efforts via membership to the coreteam. As Ember Data is more than ever a core part of the Emberexperience, we're looking forward to even tighter coordination betweenthe two projects.You can follow Igor on Twitter ifyou'd like to keep tabs as he travels the world. Thank you, Igor, forall of your hard work, and welcome to the core team!
10年前
記事のアイキャッチ画像
Improved RFC Process
Ember.js Blog
+The Ember project is pleased to announce that an improved RFC ("request for comments") process has been implemented.As proposed in RFC #617 "RFC Stages", RFCs will now progress through several stages that now include tracking implementation, release, and completeness of features, as well as design:0 - ProposedA new proposal for a change to Ember or its processes that is offered for community and team evaluation. In practical terms, this is an open pull request on the emberjs/rfcs repo.1 - ExploringAn RFC deemed worth pursuing but in need of refinement. This stage is marked by labeling the opened PR as 'Exploring'.2 - AcceptedA fully specified RFC. Waiting for or in the process of implementation. An FCP is required to advance to this stage. This stage is marked by updated frontmatter in the text of the RFC and by being merged to the main branch of the emberjs/rfcs repo. When the RFC is merged, a PR to advance to the next stage is automatically opened on the repo to provide a coordinatio +
2年前
記事のアイキャッチ画像
Inside FastBoot: Faking the DOM in Node
Ember.js Blog
+As we announced in the inaugural blog post in our Inside FastBootseries, wehave begun working on giving Ember.js developers the ability to runtheir apps in Node.js. Once complete, this feature will allow your usersto see HTML and CSS right away, with the JavaScript downloadingin the background and taking over once it has fully loaded.Before the holidays, we had already succeeded in getting the Ember.jsframework loading in Node.js (where it cannot rely on things like theDOM) without throwing any exceptions. We also were able to get Emberapps booting, parsing URLs, and completing most of the functionalitynecessary to start the app, including loading controllers, routes andmodels, etc.This week, we've made good progress on the next major piece offunctionality: allowing HTMLbars templates to render in Node.js where,again, there is no native DOM available.So how does HTMLbars, a DOM-based templating library, work in anenvironment without a DOM?As it turns out, we can introduce a "virtual DO +
10年前
記事のアイキャッチ画像
Inside FastBoot: The Road to Server-Side Rendering
Ember.js Blog
+Using JavaScript to write fast, interactive web applications has exploded in popularity over the past few years. JavaScript apps offer many strengths over traditional server-rendered applications. Most notably, rich interactions and lightning-fast responses to user clicks allow for UIs that previously were only the domain of native apps.The first JavaScript-heavy applications were productivity apps, and the experience of loading an app on the web, even with a spinner, was far better than the equivalent experience of downloading and installing a native app.Increasingly, though, content-rich destinations such as news or video sites are starting to move to JavaScript to gain the benefits of improved interactivity. Unlike productivity apps, where the user logs in once at the beginning of the day and stays logged in, content sites are loaded many times per day, often via search engines or social sharing.In this context, where the JavaScript app looks like a "normal" web page, loading spinne +
10年前
記事のアイキャッチ画像
Introducing Subteams
Ember.js Blog
+I'm very happy to share with you our plan to scale Ember's day-to-daydecision-making and coordination—something we're calling Subteams. We mentionedsome of this in this year's EmberConf keynote, and wanted to expand on thespecific details.Ember.js was once only a view layer for rendering templates in thebrowser, but has grown to become a complete SDK for the web. With onenpm install, you get everything you need to create a modern webapplication.Making things simple for developers often means a lot of coordinationand decision-making behind the scenes. As the number of pieces making upEmber has grown—encompassing not only Ember.js but Ember CLI, EmberData, the Ember Inspector, documentation, and more—we want to ensurethat the Core Team does not become a bottleneck for progress.At the same time, we believe that having a strong vision that everyonecan rally behind is critical to building software that feels cohesive.So how do we ensure that everyone is pulling their cart in the samedirecti +
9年前
記事のアイキャッチ画像
Introducing Zoey
Ember.js Blog
+Over the last few years the Ember project and community have grown, and along with it, the Ember brand. We took care and caution to craft an experience and feel that while exciting and ambitious, stayed friendly and approachable. A big part of that is thanks to our friendly neighborhood mascot, the Tomster.The time has come to expand the family. Introducing Zoey.When chatting about the origins of the Tomster for an EmberConf talk last year, Jamie White and Tomster illustrator Lindsey Wilson had chuckled about how a mascot needed to be a little bit like the perfect pop song. Distinct, but just generic enough that all different sorts of people could see themselves in it, just like the one right lyric in the song makes it the anthem of a million different emotions and situations.Tomster's done a great job of that until now, and with the addition of Zoey, even more amazing Ember developers will be able to see themselves in Ember.While Tomster will always be the original friendly face of Em +
9年前
記事のアイキャッチ画像
Making Ember.js Easier
Ember.js Blog
+We frequently receive feedback from new developers about how frustratingit can be to get started with Ember. Yesterday, one of the most activecomment threads on HackerNews was largely about that.We hear you loud and clear. Ember.js is not easy to get started with, and we take that very seriously. We are all working nights and weekends to make the framework as approachable as humanly possible.One of the Hacker News commenters, kanja, nailed it. In response to another commenter who felt like the negative reaction was strong:It's incredibly out of proportion - but people really want to use ember (because it promises all these great things!) and they're frustrated by the docs (because they're not really good for first time users) so this is kind of a flash point.Absolutely right. Ember promises—and, we think, delivers—tremendous value. But ramping up to that point is not easy, and we received this feedback repeatedly and take it very seriously.There was another common sentiment that we'd l +
12年前
記事のアイキャッチ画像
Introducing the new Ember Mentorship Program
Ember.js Blog
+We're pleased to announce the creation of the new Ember Mentorship Program!Mentorship has been a strong theme throughout Ember’s existence. We started with our first core team members pairing together at the creation of Ember, and today it’s one of the foundational parts of our DNA. Now we’re formalizing many of the things we already do, into a more structured, community-wide initiative, so we can do an even better job.Mentorship is a responsibility shared by our entire community, and we’re excited to help it grow. It’s a celebration and elevation of the work that many, many people have contributed to, and a public statement that this is something we care about, prioritize, and intend to keep on doing.Established InitiativesIn addition to some fun new plans, the Ember Mentorship Program umbrella captures and unifies a bunch of existing efforts. Some are face-to-face events, others are remote, and some combine the two.Some of the things we've already been doing:The annual Mentorship Wor +
6年前
記事のアイキャッチ画像
The Post-1.0 Release Cycle
Ember.js Blog
+Now that we've shipped Ember 1.0 final, it's time to look forward to futurereleases.The plan moving forward is to adopt a Chrome-like release cycle: more frequent releases with more clarity about where features are in the pipeline.TL;DRThe Ember.js 1.x Schedule:Every six weeks: A new stable version of Ember.js.Every week: A new beta of the next version of Ember.js. WhenEmber 1.1 is released, the first beta of Ember 1.2 will be releasedat the same time.Every day: A new "canary" build, which is the last successful build ofthe day.Every successful build: The ember-latest.js build is updatedAll builds will be available on the new Ember.js Builds section of theEmber website.All new features will start out on the master branch behind a feature flag. Canaryand latest builds will ship with all experimental features, enable-ableat runtime.Beta and Stable releases will only ship with features that the core teambelieves are stable.Read on for more details about how we plan to organize new feature +
11年前
記事のアイキャッチ画像
Community Update: Octane Documentation
Ember.js Blog
+The preview of the Octane edition of Ember is coming soon, and with all these fantastic new features comes a lot of documentation. Since this requires coordination of many moving parts, we want to outline the approach we're taking, and outlining some ways that the community can contribute.PreparationIn order to prepare for the new edition, the Learning Core Team spent time figuring out how to best transition the existing docs in such a way that was consistent with iterative innovation.One of the goals of improving the guides in general was to improve the learning flow in the guides (see RFC #431). As such, we determined that a change to the table of contents was in order.Updating the guidesAs per the usual standard, we have planned out this work to be able to complete it in an iterative fashion. This was particularly important because we are updating guides as new features for the Octane release are merged into Ember.PhasesThis is roughly the planned phases of the documentation work fo +
6年前
記事のアイキャッチ画像
Octane is Here
Ember.js Blog
+Ember 3.15 is Octane! Curious what Octane means for web development? This blog post will get you oriented.For a write up of the technical details (upgrade strategies, deprecations, new Ember Data features) see the Ember 3.15 Release blog post.What is Ember Octane?Ember Octane is the best way for teams to build ambitious web applications.Ember has always focused on building the best framework that people with different levels of skill can use together to build web applications. Octane updates Ember's components and reactivity system to make them more modern, easier to use, and just more fun.The Ember Project Recommends OctaneAs of Ember 3.15, the Ember project recommends Octane for new applications and addons. If you create a new app using ember new with 3.15 or later, you will get a new Octane application.Octane is More FunThe Ember Octane edition is, first and foremost, about making it easier and more fun to build Ember applications.The centerpiece of Octane's ergonomic improvements a +
5年前
記事のアイキャッチ画像
Octane is coming in v3.14
Ember.js Blog
+Update: The timeline has changed since the initial publishing of this post, and Octane is not 3.14.See the Octane Release Update for the latest news.The Ember community is wrapping up the work for Octane, and we expect to get it over the finish line in time for v3.14!Ember Octane describes a set of new features that, when taken together, represent a foundational improvement to the way you use Ember. It has modern, streamlined components and state management that make it fun to build web applications. With seamless interoperability for existing apps, teams can migrate at their own pace, while developers building new apps start out with the best that Ember has to offer.This article will cover the release plan and how your team can prepare.Release planThe next release of Ember is 3.12, which is an LTS (long term support) candidate. Check out the release blog posts to learn which of Octane's features are already available in stable releases like this one.Ember 3.13 will be feature-complete +
5年前
記事のアイキャッチ画像
Octane Release Update
Ember.js Blog
+The short version: We're still learning from the community as they adopt Octane,and won't be recommending Octane as the default Ember mode in the Ember's 3.14release. You can continue to opt-in to Octane in Ember 3.14, and the developerexperience of doing so is continuing to improve.Octane Feedback has been positiveEmber developers have been able to opt-in to Octane since Ember 3.13. By theirown estimation, some developers have been shipping Octane apps toproduction!This has, as expected, resulted in substantial feedback from the community.The feedback about the new programming model has largely been positive.Not anew app, but @intercom has beenincrementally moving to Octane for the past few months. As of this week,we're running Glimmer components in production. I spent this week pairingwith lots of colleagues, most coming from @reactjs. There isuniversal excitement with Octane!— Gavin Joyce (@gavinjoyce) October5, 2019PolishEmber 3.13 is feature-complete for Octane in the core framewo +
5年前
記事のアイキャッチ画像
Organizing Our Contributors
Ember.js Blog
+Open source project management is different than inside a typical software company. It's an example of the purest form of leadership: you’re getting a bunch of peers all moving in the same direction, despite no formal hierarchy or authority structure. It comes down to building consensus, persuasion, and setting the right examples.The Ember Core Team was formed in 2011 because even decentralized open source communities need leadership and shared direction. As our community and core contributor group grew, there was too much going on to keep all the work under the direct attention of the Core Team. And so multiple other teams emerged organically; first the Ember CLI team and Ember Data, and later the Learning team.The work that all these teams do is equally important. But the historical accident of Ember Core being the first team left Ember Core with numerous varied jobs. It became the coordination point for both technical leadership and overall community support.As often happens, the wa +
7年前
記事のアイキャッチ画像
Plain Old Functions as Helpers
Ember.js Blog
+Ember 4.5 introduced a long-awaited feature: the ability to use normal JavaScript functions as helpers.Today, this means two things:You can use (bound) methods on your backing class as helpers directly.You can define function-based helpers without importing and using helper().In the future, it will also work extra nicely with the upcoming <template> feature!Let's see what each of those looks like.Using methods as helpersEmber developers have often wanted to be able to call methods on a backing class as helpers. This often comes up in an {{#each}} loop where you want to calculate some value using state in the backing class for each item. You could work around this by introducing some other intermediate object via a getter, or by extracting a helper you could call with the state and the item from the loop… but now you can call a method exactly like you would in JS code!Here's a simplified example with a component which can choose to hide items from a list passed in.Backing class:import C +
3年前
記事のアイキャッチ画像
Requiring two-factor authentication on our GitHub organizations
Ember.js Blog
+As of today, we are requiring all members of Ember GitHub organizations to have two-factor authentication (2FA) enabled.The following are the relevant organizations:Ember.jsember-cliGlimmer.jsember-dataEmber Learning Teamember-enginesEmber FastBootOnly members of these organizations--those with potential write access--are required to have 2FA enabled. It is NOT required to open an issue, make a PR, or otherwise interact with the organizations on GitHub. However, we strongly recommend enabling 2FA, especially for any account with write access to public repos.When we enabled this requirement any members without 2FA enabled were automatically removed from the above organizations. If you were removed from one of those organizations today, please enable 2FA and contact katie in the community slack or your favorite organization admin to be re-invited. We have formalized this policy after self-auditing our security policies in the wake of yesterday's npm incident. Because developers trust Emb +
7年前
記事のアイキャッチ画像
The Transition to Ember 2.0 in Detail
Ember.js Blog
+As we approach the eve of the release of Ember 1.13-beta, it's a goodtime to talk about the transition plan for those of us who have Ember1.11 and 1.12 applications.The high level:Ember 1.13-beta.1 will be released early this week. It will come with thenew Glimmer engine and a series of new deprecations, preparing forcruft removal in Ember 2.0.Ember 1.13 will ship with support for angle bracket components,which also serve as the opt-in for one-way data flow and the entiretyof the other React-inspired programming model improvements.We will continue to fix regressions caused by the Glimmer enginethroughout the 1.13 beta cycle.We plan to release Ember 2.0-beta.1 on June 12, as announced atEmberConf.We will release a point release of Ember 1.13 (likely 1.13.1)together with the release of Ember 2.0. This release will continueto fix regressions caused by the Glimmer engine, and help smooth thetransition to Ember 2.0.We will likely release additional point releases of Ember 1.13 tohelp addres +
10年前
記事のアイキャッチ画像
Security and Bugfix Releases - Ember 1.10.1, 1.11.2, 1.11.3
Ember.js Blog
+Because developers trust Ember.js to handle sensitive customer data inproduction, we take the security of the project extremely seriously. Emberremains one of the few JavaScript projects that has a clearlyoutlined security policy and alow-traffic mailing list exclusively for securityannouncements.Security Releases: Ember.js 1.10.1, 1.11.2Today we are announcing the release of Ember.js 1.10.1 and 1.11.2, whichcontain an important security fix.1.10.1 -- Compare View1.11.2 -- Compare ViewAdditionally the stable, beta, and master branches have all been patchedThese releases contain a fix for an XSS vulnerability thatyou can learn more about on our security mailing list:CVE-2015-1866It is recommended that you update immediately. In order to easeupgrading, the only change in each release is the security fix.We would like to thank Phillip Haines of Zestiafor working with us on identifying the issue and on the advisory process.If you discover what you believe may be a security issue in Ember.j +
10年前
記事のアイキャッチ画像
Security Incident - AWS S3 Access Key Exposure
Ember.js Blog
+On November 29th, 2016, the Ember security team was notified that version 2.11.0-beta.1 of the ember-source npm package inadvertently included a file that contained an AWS access key. This access key had permissions for full read/write access to the Ember S3 buckets.These buckets are used to distribute pre-built versions of Ember.js and related libraries and host other static content:Ember.js via builds.emberjs.comEmber Data via builds.emberjs.comBackburner.js via builds.emberjs.comHandlebars.js via builds.handlebarsjs.com.s3.amazonaws.comRSVP.js via rsvpjs-builds.s3.amazonaws.comRouter.js via routerjs.builds.emberjs.com.s3-website-us-east-1.amazonaws.comEmber guides and API documentationWhile the vast majority of Ember users retrieve new releases from Bower or npm, the builds on S3 are frequently used with online tools like JSBin and Ember Twiddle or anywhere it is more convenient to add a <script> tag.After performing a full audit, we concluded that the key was not accessed during th +
8年前
記事のアイキャッチ画像
Security Releases - Ember 1.11.4, 1.12.2, 1.13.12, 2.0.3, 2.1.2, 2.2.1
Ember.js Blog
+Because developers trust Ember.js to handle sensitive customer data inproduction, we take the security of the project seriously. The Emberproject maintains a clearly outlined security policy and alow-traffic mailing list exclusively for securityannouncements.Security Releases: Ember.js 1.11.4, 1.12.2, 1.13.12, 2.0.3, 2.1.2, 2.2.1Today we are announcing the release of Ember.js 1.11.4, 1.12.2, 1.13.12,2.0.3, 2.1.2 and 2.2.1, which contain an important security fix.1.11.4 -- Compare View1.12.2 -- Compare View1.13.12 -- Compare View2.0.3 -- Compare View2.1.2 -- Compare View2.2.1 -- Compare ViewAdditionally, the stable, beta and master branches have been patched.These releases contain a fix for an XSS vulnerability that you can learnmore about on our security mailing list:CVE-2015-7565It is recommended that you update immediately. In order to easeupgrading, the only change in each release is the security fix.We would like to thank Roman Shafigullin at LinkedIn for reporting theissue, as wel +
9年前
記事のアイキャッチ画像
Stabilizing Ember Data
Ember.js Blog
+Yesterday, we gave you an update on our progress making Ember.js easierto use. One thing we didn't discuss was our plan for Ember Data.It's no secret that, while many developers are building awesome appswith Ember.js, Ember Data still causes lots of frustration due to bugsand a changing, complex API. Documentation about it is also mixed inwith Ember.js documentation, making it difficult for new developers tounderstand what is stable and what is not.To be clear, Ember Data is not a dependency of Ember.js.Discourse, for example, usesits own wrapper around$.ajax.Even though Ember Data is not a dependency of Ember.js, loading datafrom the server is an extremely important part of most web applications,and it's a problem that every Ember.js application will have to dealwith.Our long-term goal is as follows: we don't think most web developers shouldhave to write any custom XHR code for loading data. Strong conventionson the client and strong conventions on the server should allow them tocommu +
12年前
記事のアイキャッチ画像
Stable TypeScript Types in Ember 5.1
Ember.js Blog
+The headlining feature of Ember 5.1 is stable TypeScript support! 🎉 The framework now publishes TypeScript types built from Ember's own source code, with Ember's strong Semantic Versioning commitment baked in—bringing benefits for both TypeScript and JavaScript users. This dedicated blog post walks through all the details.Getting startedJavaScriptTypeScriptCaveatsStabilityMigration GuideFrom the preview typesFrom DefinitelyTypedBackgroundOnwardGetting startedBoth JavaScript and TypeScript developers can benefit from using these new type definitions. If you are JavaScript developer, this will make automatic imports, in-editor framework documentation, and other features work much better for you in your Ember app or addon. If you are a TypeScript user, you will get all of those benefits as well as the strong type safety guarantees and refactoring capabilities you are used to.JavaScriptIn your app/app.js, add this single doc comment to the bottom of the file:/** * @typedef {import('ember-... +
2年前
記事のアイキャッチ画像
The Ember Times - Issue No. 100
Ember.js Blog
+Happy 🎉 100th 🥳 Ember Times, Emberistas! 🐹This week:how to conditionally wrap components 💝,check out the Ember Sinon 4.0.0 release 💯,Ember CLI Mirage 1.0.0 release 🎉,Ember File Upload 2.7.0 release 🆙,ES6 Class Syntax Codemod 🤖,and last, but not least,mythical null and error handling with True Myth 3.0 🔮!Conditionally Wrapping Components with Ember.js 💝Last year, we learned how to yield an Ember component in multiple places.This month, @baroquon shares step-by-step instructions on how to extend this work so that we can conditionally wrap components.The best news? With angle bracket syntax, we can dramatically simplify our template! 💯Find out how today!Ember Sinon 4.0.0 Release! 💯Ember Sinon, an Ember CLI addon adding support for Sinon.JS, released a breaking change in version 4.0.0 which includes the latest Sinon.JS release – Sinon 7.3.2, EmberJS 3.10, and drops Node 6 support to match the latest Ember CLI blueprints.Sinon.JS provides standalone test spies, stubs, and mocks ... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 101
Ember.js Blog
+👋 Emberistas! 🐹This week:put your thoughts to paper for the #EmberJS2019 Roadmap RFC 🛣🗺,a new addition to the Learning Team 👏,a sneak preview of ember-query-params-service ❓,and a retro of 💯 Ember Times. 🎉#EmberJS2019 🛣🗺Blog posts wanted! 🚨 We would like you to write a blog post to propose goals and direction for Ember for the next year. The content of these posts will help the Core Team to draft their next Roadmap RFC. Don't have a blog? #EmberJS2019 tweets or GitHub Gists are a-ok! Please share your posts by Monday, June 17th.Read the Roadmap RFCLooking to see what's already out there? Posts are being gathered at this community repo - thanks @abhilashlr! We wanted to share some highlights with you from posts we've read this week.@ijlee2 wants Ember to Build a Larger Community.Our community, while truly amazing and supportive, is yet small. To flourish, we need support from developers who don’t work with Ember daily. These developers may professionally work with React, Angul... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 102
Ember.js Blog
+добры дзень Emberistas! 🐹This week: more #EmberJS2019 posts wanted! ✏️, RFC for an alternative to Controllers 🎛, and tips for adding TypeScript 🌟!More #EmberJS2019 Posts Wanted! ✏️Don't forget. This Monday, June 17th is the deadline for your #EmberJS2019 post to be a part of Roadmap RFC! Please write a blog post, GitHub Gist, or tweet, then share it with roadmap@emberjs.com and Discord community. 🧡Read the Roadmap RFCFor ideas and inspiration, you can check out all #EmberJS2019 posts at our community repo. If time's not on your side, feel free to write and share your post even after the deadline.Here are the highlights from this week's posts:@Turbo87 focused on Ember being able to support existing technologies:@yarnpkg PnP is a fantastic way to reclaim some/a lot of disk space. I started some work last year to support it in Ember CLI, but couldn't finish it in time. We should revisit this!@efx shared thoughts on existing posts.I think we should treat learning as important as the te... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 103
Ember.js Blog
+हॅलो Emberistas! 🐹This week:submit to the Ember Camp Chicago CfP 🌭,celebration of 55 posts for #EmberJS2019 🎉,unravel the mystery of Ember testing syntax 💡,examine alternatives to the input helper 🤔,watch the Visual Regression Testing Made Easy talk video 📺,more expressive dependency injection ⬅️,and clean out unused components from your 🐹 app!EmberCamp Chicago on September 16th! 🌭The EmberCamp Chicago CfP is open until June 30th. If you are interested in doing a talk, mini-talk, activity, workshop, or keynote, please submit soon!Tickets are on sale now, with an Early Bird sale of $99 until July 8! If you want to receive announcements about EmberCamp, sign up on embercamp.com.Also, last year's sessions have all been published as a playlist. If you only want to see Trek's awesome intros, there's a separate playlist for that. 🥁Thank You for Participating in #EmberJS2019! 🎉Over the last few weeks, we saw 55 blog posts, GitHub Gists, and tweets that described how Ember can contin... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 104
Ember.js Blog
+Halò Emberistas! 🐹This week is all about Embroider:Readers' Questions: What is Embroider? 🤔,live Embroider Demo by Edward Faulkner 🖥️, and anRFC for Embroider v2 Addon Format 💬. Also, help out in the Prettier Glimmer Quest Issue 🎀✨!Readers' Questions: What is Embroider?In this week's brand new Readers’ Question it's all about Embroider: What is it about and should you use it in your Ember app?In her write-up @jessica-jordan will give a high-level overview of the motivation for the project, its benefits and where to learn more about it. Read the full answer on the offical Ember forum.Read moreSubmit your own short and sweet question under bit.ly/ask-ember-core. And don’t worry, there are no silly questions, we appreciate them all - promise! 🤞Live Embroider Demo by Edward Faulkner 🖥️You might be wondering next, how do I start using Embroider in my app? How exactly do Embroider options affect my build? 🙋‍♂️🙋‍♀️At EmberATX, Edward Faulkner showed how you can build the familiar Sup... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 105
Ember.js Blog
+Hoi Emberistas! 🐹This week:help design the Ember skill tree 🌱,observers going async ⏱,RFC to support populating head tag ⛑️,RFC to add load hook to Route 🎣,an update on Ember Inspector 🕵️‍♀️,submit your EmberFest 2019 talk today 🎤, and anEmberWeekend episode featuring Luke Melia 🔈!Help Design the Ember Skill Tree 🌱Recall your first day as an Ember developer (or mentor). Did you feel overwhelmed by the sheer amount of things that you felt you needed to learn (teach)?What skills do I need to learn now? 😕What skills do I learn next? 🤯What resources are available to me? 🥺Enter Ember skill tree. It helps you visualize important skills and the steps to acquire them. It aligns with the Ember guides too.The only problem? The tree doesn't exist yet.@gossi and the Ember Learning Team would like your help with creating the Ember skill tree. We encourage you to participate today! Please share your experiences of learning and teaching Ember. 💞RFC to Add load Hook to Route 🎣A new RFC has... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 106
Ember.js Blog
+👋 Emberistas! 🐹This week: find out how Ember Data has been repackaged in 3.11 📦,a tutorial to learn how to build an Ember Octane PWA from scratch 👨‍💻,see EmberJS powered blogging in action at DublinJS 🎥,checkout updated Ember Igniter articles 🔥,and last, but not least, an exclusive "I contribute to Ember" interview with @st-h 🎙!Ember Data Repackaged in 3.11 📦Starting with Ember 3.11, Ember Data will be shipped as a collection of small packages under the namespace @ember-data. This helps you import only the packages that you need, identify the API that you can replace, and know where to start if you want to contribute to Ember Data. 🎉Say hello to the new import syntax:import Model, { attr, belongsTo, hasMany } from '@ember-data/model';Previous styles of import will be deprecated in a future release. Don't worry. Before that happens, a codemod and lint rules will be available to help you migrate your code.We encourage you to learn today about Ember Data packages in 3.11 and the... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 107
Ember.js Blog
+What's happening, Emberistas? 🐹This week:read the new RFC on Deprecation Removal Policies 📋,Ember 3.11 is out! 🚀flexible imports with Ember Auto Import ⏬,learn how to make an Electron app with Ember 🖥️,and last, but not least, improving your DX on Ember 💯!RFC: Major Version Release for All Deprecation Removal 📋An RFC was proposed by @kerrick to have a major version release for all deprecation removals. The main issue revolves around the Intimate API policy which can catch some developers off guard when upgrading Ember versions.Certain private APIs are considered "Intimate API" because there are addons and consumers who use them despite being private. We sometimes have issues when deprecating these private APIs. This is because not all private APIs would warrant a deprecation warning (and therefore a major version change). The RFC proposes to have a major version release for all deprecation removals.Read, comment, and discuss the full RFC on GitHub!Ember 3.11 is Out 🚀A lot of coo... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 108
Ember.js Blog
+🤙 Emberistas! 🐹This week:learn how to use Sentry to track production errors 📈,get your new hires off to the best start 📚,learn about the newest – and hopefully last! – way to handle events in Ember with the {{on}} Modifier 🔛,a cheat sheet for modern Ember components ✨, and last, but not least,find out how to create static sites with Prember and Ember Data 🔥!Sentry Error Reporting for Ember.js 📈Sentry is an open-source error tracking tool that helps you monitor and fix production errors in your Ember app. In 2018, Sentry announced a new SDK for browsers, called @sentry/browser.To help you get started, @Turbo87 published a blog post. 🧡 In particular, you can learn how to:migrate from ember-cli-sentry addon to the official @sentry/browserreport messages and exceptions to Sentry at willfilter out errors that aren't criticaladd metadata to errorsWe encourage you to deliver high-quality Ember apps today!How to Hire and Train Developers when You Don’t Use React 📚@jenweber wrote an aw... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 109
Ember.js Blog
+🙌 Emberistas!Read the newly published Ember 2019-2020 Roadmap RFC 🐹,tune in to learn about GraphQL and Ember 👨‍💻,join EmberCamp Chicago (Sept 16th) 🍕,learn why you shouldn't use observers 🙋‍♀️🙋‍♂️,small things matter ✏️,and Super Rentals tutorial in Octane 🚀!Ember 2019-2020 Roadmap RFC 🐹@tomdale posted the first draft of the Ember 2019-2020 Roadmap RFC. This document is a distillation of multiple sources ranging from the blogs from the Call For Blog Posts, the Community Survey, discussions on Discord, Twitter, Ember Discuss, and more!The high level goals for 2019-2020 are:Reducing the size and conceptual complexity of Ember.Improving ease of adoption.This will be done by continuing to simplify Ember, modernizing our build system, enabling better accessibility (a11y) by default, and optimizing for growth by sharing how Ember Octane is modern, productive, and fun.Check out the full RFC on GitHub!Tune in for This.JavaScript: GraphQL👨‍💻Mark your calendars! In partnership with Ha... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 110
Ember.js Blog
+Aloha Emberistas! 🐹This week:{{on}} & {{fn}} in Octane Guides 🔥,Foreign Key Attrs Blog Post 🔑,watch This.JavaScript: State of Frameworks on Tuesday 📜,build JAMstack websites with Empress 🍓,versioned Ember API links added to the Guides 🔢,and last, but not least,an Update for Co-Located Templates in the Guides ☝️!{{on}} & {{fn}} in Octane Guides 🔥Many thanks 👏 to @NullVoxPopuli and all the other contributors that worked on the awesome PR updating the preview of the Ember Octane Guides section dealing with @action, the {{on}} modifier & {{fn}} helper!These updates to the Guides relate to event handling, binding of context and partial application of functions, and affect the way that actions are used in Ember Octane.Check out the PR here. For more context, see the blog post from @pzuraq.Foreign Key Attrs Blog Post 🔑Ever have issues handling foreign key attributes in Ember Data?Check out the clear and concise blog post by @skaterdav85 that continues his work on Ember Data.The post ... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 111
Ember.js Blog
+Здраво Emberistas! 🐹This week:learn how to write async-aware tests 🕰️,there's a new Zoey on the block 📷,outer HTML semantics on the Crash Log Podcast 🎙,and last, but not least,the release of Ember Table 2.0 🎉!Settle Down; Ember's Test Framework Has Your Async Covered 🕰️"The Ember community has spent a lot of time thinking about how to make your tests easy to write, dependable, and most importantly, async aware." It's easy in Ember to ensure that your synchronous tests wait for asynchronous actions to complete. 💎@scalvert gives a great overview of how the settled helper plays a pivotal role. Thanks to settled, the test helpers that we use every day⁠—render, click, visit, and triggerEvent⁠—know when async operations have completed. We can also use settled directly to complete an async operation that @ember/test-helpers doesn't manage.The author also covers 2 additional tools that help us write async-aware tests:ember-test-waiters, to mark the start and end of an async operation th... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 112
Ember.js Blog
+Gi suilon Emberistas! 🐹This week:announcing the official Ember Octane release plan 🏎🐹,watch talks from the first Chennai EmberJS Meetup 🇮🇳,read up on fun state management using Microstates 💡,get your tickets to EmberCamp Chicago 🍕,and last, but not least,help improve the EmberArray documentation 👩‍💻👨‍💻!Ember Octane Is Coming 🏎🐹The time has come: Ember Octane is coming to your Ember application very soon!As recently announced in the official Ember Octane release plan, the very first edition of Ember is going to be released at the same time as the planned release date of Ember v3.14.But what does it mean? By the time Ember 3.14 is published, the framework will include all Octane-related features and enable them by default. Additionally, the "Octane way" will be the primary and recommended way to build Ember apps. This will also be reflected in Ember's official documentation (API Docs and Guides) and migration tools.Wanna learn more about what is going to happen between now a... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 113
Ember.js Blog
+Tach Emberistas! 🐹This week:brand new content in the Ember Guides 🤓,use Ember Engines and Yarn Workspaces to maximize happiness 🤗,add visual regression testing to your Ember app using ember-backstop 🧪,and last, but not least,learn how Ember is organised and thrives 🌺!Check Out New Content in the Official Ember Guides 🐹🤓The most popular learning resource for early and advanced Ember developers,the Guides, is waiting up for you with some brand new content!The Guides now features a new section entirely dedicated to accessibility. It teaches you how to create your own accessibility strategy for your application, and how to implement keyboard accessible, screenreader accessible and overall barrier-free user interfaces with Ember. If you haven't done so, be sure to check it out today and leave either feedback or support for improving this section in the #topic-a11y channel on the Ember Discord- and thanks to @melsumner for working on it!Additionally, a soon-to-be-released version of t... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 114
Ember.js Blog
+Hiya Emberistas! 🐹 This week:read the Octane Update for the Modern Ember Tutorial 🎁,participate in the discussion of deprecating eventing 💬,join the crowd at EmberFest 2019 🐹🎉,and suggest ideas for the upcoming Ember Octane issue ✍️!Ember Octane Update for Modern Ember Tutorial 🎁@CodingItWrong updated his Modern Ember tutorial to use octane-app-blueprint.This tutorial provides an intro to:Angle bracket syntax for componentsEasy ES6 imports of NPM modulesDecorators for clear and expressive component implementationsTracked properties to automatically rerender components and recompute derived dataand Co-locating component templates and classes for easy developmentTry out Ember Octane today which @CodingItWrong calls the “simplest, most straightforward, most productive frontend framework!”Emberistas from Europe and Beyond: Get Ready for EmberFest 2019 🐹🎉If you're using Ember, you're based in Europe or you're planning your next trip there soon, be sure to mark October 17th and 18th ... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 115
Ember.js Blog
+👋 Embereños! This week: Meet @model for route templates 🆕,share your thoughts on Apple Music being an Ember app 🍎,contribute to Octanify allthethings 📝,a designer's & developer's story of transitioning to Ember ⚛️➡️🐹,and celebrate the 4.0 release of Ember Sinon QUnit 🎉!Meet @model for Route Templates 🆕Starting with Ember Octane (3.14), you can use a named argument, @model, in the route template to refer to your data from the model() hook. The Ember Octane Guides have been updated to show uses of @model.<h2>List of Scientists</h2><ul> {{#each @model as |scientist|}} <li>{{scientist}}</li> {{/each}}</ul>@model was introduced to help new developers quickly learn templates. By avoiding this.model, they would not need to understand another concept—the controller—to build their first Octane app. By using a named argument, we can also reinforce the idea that @ is used to denote things that are "passed as arguments" to the template.You can try out @model now on canary, or wait for 3.14 ... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 116
Ember.js Blog
+🏄‍♂️ Emberistas! 🐹Check out the new Octane Super Rentals Tutorial 🚀,the 1st EmberJS Meetup in Nizhny 🥳,and an Ember Times exclusive "I contribute to Ember" interview 📝 with Michelle Santarsiero!Octane Super Rentals Tutorial 🚀Godfrey Chan @chancancode and Vaidehi Joshi @vaidehijoshi did some great work writing new tutorial content for Octane. You can now preview the revamped Super Rentals tutorial in the Octane guides.What’s more amazing about this Super Rentals tutorial is that it is automatically generated. It runs the commands from markdown files and edits the files the same way that the reader would. It even captures the output and screenshots for the published tutorial. This way, if any steps stopped working due to a change in Ember itself, we would know right away from a CI failure.If you are looking to contribute, or if you have any feedback on the content, check out the super-rentals-tutorial repo on GitHub!The Inaugural EmberJS Nizhny Novgorod Meetup 🥳Recently, the Ember... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 117
Ember.js Blog
+👋 Emberistas! 🐹Celebrate the release of Ember 3.13 (Octane Preview) 🎉,Adopted Ember Addons welcomes ember-sortable 🐣,learn about what happened at EmberCamp 2019 🐹🏕,read the updates to the Ember Octane Guides 🚀, andcheck out the latest feature for Ember SVG Jar 📇!Celebrate the Release of Ember 3.13 (Octane Preview) 🎉Ember Octane (3.14) is arriving soon! Today, in 3.13, you can try out all stable features of Octane, including 5 new features:Tracked properties (@tracked)Component co-location (part 1)component-class generatorBuild-time detection of edition for addon authorsupdateComponent hook for addon authorsIn addition, version 3.12 of Ember has now been promoted to LTS (Long Term Support). An LTS version of Ember will receive security updates for 9 release cycles (54 weeks) and bugfixes for 6 cycles (36 weeks).We encourage you to learn more about the new features and migration path to 3.13 by checking out the official announcement. We'd also appreciate your help with completin... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 118
Ember.js Blog
+Happy fall 🍂, Emberistas! 🐹This week:Podcast: The New Ember with Mike North 🎙️,listen to 2 podcast episodes with Leah Silber 🎧,celebrate Ember Madrid on stage at Codemotion 2019 🇪🇸,EmberMap 🎥 on animating across routes with Ember Animated ✨,ember-cli-typescript 3.0.0 release 💚, andwatch EmberCamp 2019 🍿🎥!Podcast: The New Ember with Mike North 🎙️A recent JavaScript Jabber podcast had Mike North @mike-north discussing the “New Ember” and how it is a lot more approachable now. This “New Ember”, or Ember Octane, brings Ember from having the steepest learning curve of the popular JavaScript frameworks to hardly having to learn anything at all.Mike also talks about how Ember provides stability for developers using them by having a long track record for providing tools and education to make the upgrade seamless and even have old components living next to brand new ones with updated syntax. As a testament to this, Mike mentions that his original Frontend Masters course – Intro to Em... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 119
Ember.js Blog
+✌️ Emberistas! 🐹Read the blog post on handling Promises and UI states with Ember.js 🔄,learn how Ember has helped Intercom evolve since 2014 📖,a mutable future with Ember Octane 🐹🏎,and Ember and GraphQL: a quick example 📹.Promises and UI States in Ember.js 🔄Sabin Hertanu @herzzanu wrote a blog post on handling promises and UI states with Ember. Examples of this range from providing loading states when sending a post request to enabling complicated behaviour such as a backoff period before being able to interact with the UI again.The idea was to write promise-based operations as generator functions using the provided ember-concurrency APIs.Read the full blog post for more details!Ember and GraphQL: A Quick Example 📹Watch an introduction to using GraphQL with Ember.js in Rocky Neurock @jneurock's new video! The YouTube video ⚡️quickly ⚡️ demonstrates how to get up and running with Ember.js, GraphQL, Apollo and EmberCLI Mirage.If you've been interested in learning how to set up an ... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 120
Ember.js Blog
+🏄‍♀️ Emberistas! 🐹Ember Bootstrap 3.0.0 released 🎉,dive into Octane features with EmberMap 📚,learn about ember-engines 📝 ,help wanted for Ember Octane linting rules 🤖,and greetings from the Ember Times team at Emberfest! 🐹🎉Ember Bootstrap 3.0.0 Released 🎉Just a few days ago, Ember Bootstrap 3.0.0 was released. Ember Bootstrap brings the Bootstrap library to Ember without requiring any of the Bootstrap JavaScript. Instead, it rebuilds the dynamic features of Bootstrap with native Ember Components.The UI library enters the Octane-era with this new major version: It introduces full support of angle bracket component invocation syntax and an updated documentation. All components have been refactored to native classes.Ember Bootstrap v3 drops support for some very old versions of Ember, but still supports 2.18+ to ease the migration path. The commitment to backwards compatibility introduced some technical challenges because Ember 2.18 isn't supported by native class polyfill.In add... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 121
Ember.js Blog
+Hallöchen Emberistas! 🐹The EmberConf 2020 CFP is now open! 🗣️Watch Gavin rewrite an Ember 1.5 app in Octane 🥁and get started with Glimmer Components ✨!EmberConf 2020 CFP Now Open! 🗣️Next year’s EmberConf, which is going to be held in Portland, Oregon, USA from March 16 to 18, 2020, has opened its CFP (call for papers) for submission!You can submit either a 15 or 30 minute conference talk, a workshop, a 30 minute BonusConf talk, or a 5 minute MiniTalk proposal. Remember the first several rounds of reviews in the CFP are anonymous, so please refrain from including biographical information in your talk abstract or details.The deadline to submit your talk is December 1st at 11:59pm PST. EmberConf is intended to be an inclusive, welcoming conference for everyone. You can learn more about inclusiveness and diversity efforts at the EmberConf website.Submit your talk on the CFP app today!Ember Octane Livestream: Build a Drum Machine 🥁If you haven't yet, we encourage you to watch Gavin Joy... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 122
Ember.js Blog
+हॅलो Emberistas! 🐹An important announcement about the Octane release 📝,release of qunit-assertions-extra 🎉,fine-tune validations with Ember Model Validator 3.10 🔍,better builds for the Guides 🏗,and the Ember Simple Auth 2.0.0 release 🛳!Octane Release Update 📝Yesterday, the Ember team announced that the upcoming 3.14 release will not include Octane as the default mode.While several developers are successfully using Octane in production already, a few key ingredients are missing in order to make Octane a success story for everyone. The remaining tasks are:Make removal of jQuery optional to help with your migration (completed in 3.14 ✅)Finish updating Ember Inspector to support Glimmer componentsDocument the Octane programming model in the Ember GuidesWhat will this announcement mean for you?If you tried out Octane in Ember 3.13, please keep on using it. The features that make up Octane are stable and backed by semantic versioning.If you were waiting for Ember 3.14 to try out Octan... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 123
Ember.js Blog
+👋 Emberistas! 🐹This week: join the EmberConf CFP Brainstorm 🧠⛈️, use Ember Add Listener Helper to pub/sub with confidence 📣, watch EmberFest from the comfort of your home cinema 🎬, and an update on getting Ember API Docs Ready for Octane 📖!EmberConf CFP Brainstorm 🧠⛈️This coming November 14, 2019 at 10:00am PT the annual Ember CFP Brainstorm is happening over BlueJeans!The session will go through the content of next year’s EmberConf which is happening between March 16-18, 2020. We'll chat about the CFP, the topics we hope to see, and answer community questions about ideas and proposals. The EmberConf 2020 CFP closes on Dec 1, 2019.Sign up for a reminder on the EmberConf CFP Brainstorm website!Ember Add Listener Helper Released! 📣Thanks to Ben Demboski (@bendemboski), you can use Ember Add Listener Helper to pub/sub with confidence! Both classic and Glimmer components will listen to and unsubscribe from events as needed.You can learn more how to use the addon from the README and... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 124
Ember.js Blog
+👋 Emberistas! 🐹This week: 400 Releases on the Ember.js Repo 🎉, share your thoughts for RFCs #549 and #554 💬, learn how to use telemetry helpers to power up your codemods 📡, release of Octane Super Rentals Tutorial Part 2 🚀, enjoy the new and shiny Ember-powered Apple TV 🍏📺, and check out a new accessibility-focused ember-bootstrap release ✨!400 Releases on the Ember.js Repo 🎉The ember.js repo hit 400 releases on GitHub this week! We’ve had over 770 contributors between May 2011 to November 2019. A big thank you ❤️ to the numerous efforts of all all these community members!RFC #549: Ember Dev for Other Platforms 💬Adam Baker (@bakerac4) has proposed the need to better advertise Ember as a cross-platform solution: Use 1 framework to create web, mobile, and desktop apps! The possibility of marketing Ember as cross-platform exists already, thanks to projects like Corber and Glimmer Native.How can we market Ember as cross-platform and support developing for other platforms? Be sure... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 125
Ember.js Blog
+👋 Emberistas! 🐹Check out the Ember 3.14 release 🐹✨,"I Contribute to Ember" with Ryan Mark 👨‍💻,submit your EmberConf 2020 proposal today 🎤,VS Code Plugins for Octane 🤖,beta releases for Ember Basic Dropdown and Ember Power Select ⭐,listen to a new episode of Ember Weekend 🎧,and a brand-new Readers' Question about the future of DDAU 🤓!Ember 3.14 is Out! 🐹✨The latest release of Ember is out! Ember 3.14 brings many new features, bug fixes and improvements for the Ember.js library, Ember Data and Ember CLI.The release includes performance improvements for fetching relationships via links and the new @model syntax in Route templates as described in Request for Comments (RFC) No. 523, among other updates. Additionally, the Octane Preview continues in the latest version of Ember - allowing you to try out Ember Octane in your app today!Learn all about the new and shiny Ember 3.14 release and how to opt-in into Octane by reading the official release announcement."I contribute to Ember"... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 126
Ember.js Blog
+👋 Emberistas! 🐹More Improvements Coming to Ember Inspector Soon 🚀,represent Ember in the State of JavaScript 2019 survey 📃,give thanks to Octane Guides contributors 🙏,Ember got more real with RealWorld 🌟,the EmberConf CfP closing on Dec 1st 📆,and Ember + Tailwind CSS tips and tricks 🎨!More Improvements Coming to Ember Inspector Soon 🚀A huge shoutout and thank you are owed to Godfrey Chan (@chancancode) and Robert Wagner (@rwwagner90), the maintainers of the Ember Inspector, and everyone else involved for all their amazing work in getting the new and improved Ember Inspector ready for Octane! 🔥🔥🔥With the release of Octane coming it is welcomed news that Octane's Glimmer components work in Ember Inspector now, in both the component tree and the object inspector. Other improvements include revamping the component hover inspection tool to match Chrome's inspection style, many bug fixes and a complete rewrite of the component tree logic that is more future proof.Godfrey Chan (@c... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 127
Ember.js Blog
+Happy DecEmber Emberistas! 🐹"I contribute to Ember" with Ben Demboski" 👨‍💻,become an Ember author in DecEmber ✍️🎄,a reminder to help test the new Inspector 🔬,release v3.0.0 of ember-test-selectors 🎉,and try out Ember Electron v3 beta today 🖥️!"I contribute to Ember" with Ben Demboski 👨‍💻In our fourteenth edition of our contributor interview series, community member Ben Demboski (@bendemboski) talks about his work on ember-electron.We’d like to thank Ben for his contributions to the Ember community, and for all of his help keeping ember-electron up and running!Check out the full interview on the Ember Discuss forum.Read moreThe idea behind these interviews is to provide community members with more information and insight into open source contributions, learning resources and community events. Contributors to the community gain a platform to share their thoughts on their own experiences and learnings as they were contributing to Ember. Our hope is that it gives first-time and ad... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 128
Ember.js Blog
+Happy Friday the 13th 👻, Emberistas! 🐹Updates for the Octane/Classic Ember Cheat Sheet 🎮,check out the new accessible controls for ember-sortable 🎛️,introduce adaptive loading to your app with Ember Device 📶,a new testing codemod from Freshworks 🎉,and more DecEmber 📆 updates!New Release of the Octane vs Classic Cheat Sheet 🎮Ember's first edition, Ember Octane, is around the corner. And did you already know that you can find all the cheat codes you will ever need to move classic Ember apps to Octane ones in this official cheat sheet? It compares many of the APIs, patterns and best practices that you might already be familiar with from the classic Ember world to the new paradigms used in Octane applications.In the past weeks plenty of community members worked on getting the cheat sheet ready for the upcoming launch of Ember Octane. Recently, they added information on how the Data Down, Actions Up pattern compares between classic and Octane apps, template co-location, how to migra... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 129
Ember.js Blog
+Happy Holidays, Emberistas! 🐹🌲⛄️Ember Octane is here 🐹🎉,new ember-autofocus-modifier 💡,3 new RFCs for template helpers 3️⃣,ember-apollo-client v2 released 🎉and join us for the last 11 days of DecEmber 1️⃣1️⃣!Octane Is Here 🎉Ember 3.15 was released this week. In addition to the usual new features, improvements and bug fixes, this release also marks the official release of Ember's first edition - Ember Octane!But what is Ember Octane? Ember Octane is the new, recommended way for developers to build Ember applications and addons.Octane features a new reactivity model, a renewed practice of building components and a stronger focus on HTML driven web development than ever before. It aims to make the development of performant Ember apps not only more easy and productive, but also more fun right from the start. And on top of that, Ember Octane is fully opt-in and interoperable for existing Ember apps - which means you can try out the new way of building modern Ember Octane apps gradual... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 130
Ember.js Blog
+Happy New Year, Emberistas! 🐹This week, we have an Ember Octane Special Edition for you!We've collected as much info as possible about this new Ember edition. So throughout this post, you will find useful information to help you get the most out of Ember Octane.Octane is modern Ember, and I’m psyched that we got it over the finish line. Have fun building apps! ~ Yehuda Katz (@wycats)This week: What is the Octane Edition? 🙋‍♀️🙋‍♂️,where can I learn more 🤓,how to migrate to Octane 🐹🏗️,community feedback from Outdoorsy 👏,conquer Octane with Ember Atlas 🗺🌍,and Octane at EmberConf 2020 📢!What is the Octane Edition? 🙋‍♀️🙋‍♂️Ember Octane introduces the idea of editions. Let's look at what an edition means in Ember and what features you can find in the Octane edition.What is an Edition?In Ember, an edition represents a cohesive programming model and can focus on a particular theme. For example, the Octane edition is focused on productivity and performance!Having editions helps you ... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 131
Ember.js Blog
+Привет, Эмберисты! Hello, Emberistas! 🐹Help improve Ember's autotracking and reactivity system 💬, read the new test waiters RFC ⏳, optimize your app with Ember Data 📈, the Russian Ember community 🇷🇺, and learn about powerful debugging at EmberConf 💻!4 RFCs on improving Ember's autotracking and reactivity system 💬Ember Octane features a new reactivity system thanks to tracked properties. They simplify syncing the DOM with JavaScript changes. Find out how autotracking works from the Ember Guides.To help address some shortcomings, Chris Garrett (@pzuraq) proposed introducing the decorators and classes listed below. We encourage you to participate in RFCs and provide feedback!566. @memo decoratorUnlike computed properties, autotracked getters don't cache their values. @memo will let you opt in to memoization.567. @use decoratorThe @use API will leverage autotracking to solve two issues:Allow Glimmer components to define a behavior with its own lifecycle, independently of the templat... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 132
Ember.js Blog
+👋 Emberistas! 🐹Get together at EmberConf meetups 🍦, learn how to use RouteInfo.metadata from EmberMap 🧩, try an Octane & JAM sandwich at EmberConf 🏎🥪🍓, monitor Ember app performance with Tracerbench ⏱, and try out the Related Files Hopper VSCode extension 🤸!Get together at EmberConf meetups 🍦🎲🗻Besides learning a lot from the talks at EmberConf, it is also an amazing place to meet people and get to know them. One of the easiest places to do that is at the meetups that can be organised by you.Last year there were a lot of different meetups, from delicious food and drink gatherings, to a nerve-racking chess tournament, and bouldering.If you have a great idea for a meetup, you can sign up here. Keep an eye on this page as well if you want to know about all the meetups and when they will happen.Learn how to use RouteInfo.metadata from EmberMap 🧩Ember uses the RouteInfo object to send route information. These include route name, query parameters, and parent route. Since Ember 3.1... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 133
Ember.js Blog
+✌️ Emberistas! 🐹This week:Check out the RFC for Improved Ember Registry APIs 🗒️®️,Octane community feedback from FlashRecruit 👏,contributing to OSS with confidence at EmberConf 💪,and meet two developers who write short Ember posts regularly ✏️!RFC: Improved Ember Registry APIs 🗒️®️Chris Krycho (@chriskrycho) proposed adding a new, object-based API for all registry APIs; deprecate the current string-based microsyntax registry APIs; and introduce a capabilities property to the resolver to safely support existing resolvers.The RFC: Improved Ember Registry APIs covers the problems with the microsyntax and the lack of TypeScript support. The RFC recommends adding a new Identifier API which would contain the name, type, and optionally the namespace fields instead of the current microsyntax. For example:From:getOwner(this).lookup('service:session');To:getOwner(this).lookup({ type: 'service', name: 'session' })From:class Example { @service('global@session') session;}To:class Example { @se... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 134
Ember.js Blog
+👋 Emberistas! 🐹This week: Polyfilled ember-data packages syntax for all Ember apps 📦,use Figma with Storybook to make your developer life easier 🎨,QUnit DOM announces v1.0 release 🎂,and check out the ember-changeset 3.0.0 release 🎉!Back to the future with ember-data packages polyfill 📦🚀The ember-data packages API allows you to import objects and methods from smaller packages in the ember-data module following guidelines similar to the ones established in the Ember Modules RFC#176. With real and resolvable package paths, many developers can directly benefit from them with improved code reference information in their IDE. The ember-data packages API is available since ember-data 3.11.There's nothing like a new, shiny API that makes your developer life easier. Even better if you can already use that API in your application without any upgrading! Users of ember-data with version 3.10 and below get to benefitfrom the new way of importing with the help of the ember-data packages poly... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 135
Ember.js Blog
+Happy Valentine's Day, Emberistas! 💌Learn about Native Decorator Support from EmberMap 🐹🗺️,review the RFC for splarguments 💖,autotracking! a blog series on reactivity systems 🤖,JSParty podcast with Jen and Chris 📻, andthree reasons to switch to angle bracket syntax in Ember Octane 💡!EmberMap: Learn about Native Decorator Support 🐹🗺️Check out the latest EmberMap episode of "What's New in Ember." It talks about what the Native Decorator Support feature from Ember 3.10 means for you and why Decorators are important for Ember's adoption of ES classes.With Ember 3.10, all the core APIs and surrounding ecosystem libraries can start adopting decorators as per the stage 1 or "legacy decorators" implementation which would pave the way for ES classes in Ember. However, the happy path is still to wait until your app is on the Octane release or 3.15 or beyond to start using both ES classes and decorators together for all of your Ember app code.To check out how to upgrade your app, check o... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 136
Ember.js Blog
+ഹലോ Emberistas! 🐹Call for videos for the EmberConf keynote 📢,Ember 3.16 released 🚀,Minesweeper meets Ember Octane 💣,check out the journey to your first published addon 📅,2020 Ember Community Survey 📝, andlearn how to forward element modifiers in < 10 mins ⏰!Call for videos for the EmberConf keynote 📢Hi, Embereños! It's me, Yehuda.I'm collecting some videos of people's Ember stories for possible use in this year's EmberConf keynote.You can make the video as long or as short as you want, but if you're not sure, 2 minutes is probably a good target length.Here are some topics you could cover to help flesh out your story:What were you doing before you were a web developer or before you became a member of the Ember community?What made you try Ember?Have you enjoyed your experience as a member of the Ember community?Don't feel restricted to details about Ember features. Feel free to talk about intangible details, like how it feels to be part of a community that works together, your ex... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 137
Ember.js Blog
+Bonjou Emberistas! 🐹Learn about how autotracking works 👣,try out the latest ember-template-lint v2 ✅,Ember website redesign 🔥,2020 Ember Community Survey reminder 📝, andbeta test ember-cli 3.17 🧪!How autotracking works 👣Chris Garrett (@pzuraq) wrote a new blog post in his autotracking blog series, previously he wrote on what is reactivity and on what makes a good reactive system.In How Autotracking Works, Chris discusses how autotracking fulfils the reactivity design principles exploring how it's implemented and why. In the blog, we go through memoization, referential equality, revisions, tags, and how they all work together to provide autotracking for Ember.Memoization, a technique where we cache the previous arguments that a function was called with along with the result they produced in order to minimize excess work, is the foundation of autotracking. However, due to how equality works in JavaScript, we need to make use of referential equality to perform a faster deep-equal wh... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 138
Ember.js Blog
+Happy International Women's Day, Emberistas! 🐹2020 Ember Community Survey due this Sunday 📈, the possible future of app hooks and testing directories 📂, the evolution of Ember and Intercom 🚀🐹, splitting & migrating your project to a monorepo 🐘, read the blog post on modifiers 🦄, and find out how to use Ember with WebAssembly (Rust) 💡!2020 Ember Community Survey due March 8th! 📈If you haven't yet, please take a brief moment of your day to fill out the annual survey! Your feedback can help everyone shape Ember better. 💞Discuss the future of app hooks and testing directories in Ember 📂Since the early days of the framework, the Ember CLI has been a major factor for productivity and great developer ergonomics when developing Ember apps. And a while ago Mehul Kar (@mehulkar) submitted two new Requests for Comments (RFCs) to suggest even more improvements for the favorite productivity tool of any Emberista!In RFC#575: Test Directories a new directory structure for testing is propos... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 139
Ember.js Blog
+வணக்கம் Emberistas! 🐹Join the all-virtual EmberConf 2020 📺🎉,JHU COVID-19 dashboard - made with Ember! 🐹,Ember Twiddle supports Octane features up to Ember 3.17 💖,videos of the EmberJS Chennai meetup 🇮🇳,ember-models-table v3.0.0 🌟,QR scanning without bundle size growing 📷,check out handy examples of tests in Ember 💡, anda new RFC for handling destroyables 💥!EmberConf 2020 is on (and goes virtual) 📺🎉Despite the current health situation, resulting difficulties with travel and event restrictions, EmberConf 2020, March 16th-18th is around the corner and will definitely be on! As usual, you can enjoy inspiring talks about Ember, the web and open-source from community members from all around the world at EmberConf's first-ever all-virtual conference!100% of the conference talks will be delivered remotely at the regularly scheduled time at emberconf.com - ready to watch together with your colleagues and Ember friends. Hangout with other conference attendees at #ember-conf on the E... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 140
Ember.js Blog
+👋 Emberistas! 🐹Meet Ember 3.17 🆕,tell us about your EmberConf experience ❤️,read about testing best practices on the Ember Testing Guide 📗,comment on the co-located test RFC ⛓,embrace easier release management for your apps 📦🙌,learn how to add CI with GitHub Actions ✅,and respect the underscore 🙇.Ember 3.17 released 🆕On March 16—just in time for EmberConf!—Ember 3.17 was officially announced. This release marked Ember 3.16 as an LTS and kicked off the 3.18 beta cycle.Ember 3.17 introduced these changes:Ember.jsSignificantly updated the Glimmer rendering engineEmber CLIRemoved internal usage of RSVP in favor of native promisesRemoved ember-cli-eslint and ember-cli-template-lint in favor of eslint and ember-template-lintEnsured that npm test or yarn test fails when lint:js or lint:hbs failsEnsured that npm test or yarn test in an addon fails if ember-try scenarios failRemoved a number of older experiments (module unification and delayed transpilation)To learn more about upgrading... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 141
Ember.js Blog
+👋 Emberistas! 🐹Yehuda's Octane Tutorial 🔥,a quick tip for refactoring your templates 📑,dive into angle and curly bracket invocations 🔍,easier porting of websites with Percy ✨,Feeder Corona Dashboard 📰,track JavaScript's built-in classes 💯,Ember autostash modifier 💾,read about how to use a ember-template-lint rule from an addon ✅,decorator positioning now enforceable ↕️,and last, but not least, stand alone EmberConf 2020 videos are out 🎥!Yehuda's Octane tutorial 🔥There's an awesome new Octane tutorial in town 🤠 and it's written by none other than our very own Yehuda Katz (@wycats)!!!In the tutorial you'll build the schedule page for a conference like EmberConf. It feels like just the right thing to build after our amazing virtual EmberConf 💙💚💛💜🧡.The first part in this tutorial, Let's Go, begins with something that not all JavaScript tutorials cover, HTML and CSS, using CSS Grid and Flex. You'll learn how to go from mocks to a deployed app in very little time.The second p... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 142
Ember.js Blog
+👋 Emberistas! 🐹Community support for the Ember API Docs 📓❤️,release of ember-arg-types 🍎🍊,Ember CLI improvement tips 🚀,betas of Glimmer.js 2 🎉, and last, but not least,watch 3 virtual talks from EmberATX 📽️!Community support for the Ember API Docs 📓❤️The Ember API Docs have been one of the cornerstones of Ember's official learning resources since the early days of the project.But did you already know that right now there are plenty of efforts underway to modernise the app? In this regard, we'd like to thank Gaurav Munjal (@Gaurav0) in particular for bringing in lots of new upgrades, awesome refactors and improvements to the API Docs ❤️!If you are interested in helping with modernising the Ember API Docs - be it contributing code, triaging issues, or reviewing changes - make sure to chat with the Ember Learning team. You can do so either on an issue discussion on Github or on the #dev-ember-learning channel through the Ember Discord!Release of ember-arg-types 🍎🍊Jon Kilroy (@j... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 143
Ember.js Blog
+👋 Emberistas! 🐹Destroyables RFC in final comment period 💬,Ember Engines documentation rewrite ⚙️,Ember Octane at Square 💻,check out the new Ember CLI documentation 📚,introducing qunit-wait-for ⏰,and last, but not least, power up your Ember app with ember-glue ✨!Destroyables RFC in final comment period 💬The Destroyables RFC entered its final comment period today. That means you have 7 days (until April 17) to provide feedback.The Destroyables RFC proposes an API that the Ember community can follow so that Ember's built-in constructs, which include components, services, routes, controllers, helpers, and modifiers, can clean up after themselves when destroyed. For example, a request in a data-fetching component would be cancelled if the parent is destroyed.Please visit the RFC page to learn more. Be sure to provide your feedback on time!Ember Engines documentation rewrite ⚙️Michael Villander (@villander) announced a rewrite to the documentation for the Ember Engines Guides to improv... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 144
Ember.js Blog
+👋 Emberistas! 🐹Call for a11y-focused contributors ❤️,quest issue: drop mixins from ember-simple-auth 🔐,RFC roundup 📣Ember Conf 2020 trainings 🚀,and last, but not least, state management with ember-statecharts 📈!Call for contributors: join the strike team for accessibility in EmberThe Ember community put in lots of work into framework features and addons to allow us to build accessible and user-friendly applications. But still there is more work to be done to address accessibility issues in Ember.js and to improve the future of how we build JavaScript apps.Do you want to be part of these efforts to help modern Ember apps become more accessible?Then be sure to join the #st-a11y strike team on the Ember Discord chat! The recently founded strike team for creating an accessible JavaScript framework has already put together a detailed list of issues to work on and is counting on your support. On top of that, there are several accessibility-related issues in ember-template-lint that cou... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 145
Ember.js Blog
+👋 Emberistas! 🐹Ember Styleguide 4.0.0 release 🔥,autotracking case study with TrackedMap 🐾🗺,simple drag and drop in Ember Octane 🐺,meet 2 developers who became Ember developers 🎉,and last, but not least, watch the new EmberMap video on the {{fn}} helper 📺!Ember Styleguide 4.0.0 release 🔥A new Ember Styleguide release was cut today 🛳 and it represents a massive amount of work by a number of contributors over the last year: 372 commits, 719 files and 13 contributors to be exact! 😱 Check out the app here on the web as well.To see any of the individual changes, please look at the pre-release versions in the changelog. The changes are too many to capture here, but here are a few of the high level overviews:Remove ember-cli-addon docs in favor of field-guide for better SEORemove components that are not actively being used in any projectImplement base styles that are common across all of the Ember websitesImplement common CSS helpers for things that don't need a dedicated componentU... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 146
Ember.js Blog
+👋 Emberistas! 🐹Ember website(s) redesign call for contributors 🎨🐹,Yehuda's Octane tutorial continued 🔥,contribute to the Global Accessibility Awareness Day blog series ✍️,ember-bootstrap 4 release candidate 🛳,strict mode templates RFC accepted 💖,and last, but not least, check out the Yahoo Knowledge Graph COVID-19 Dashboard 🗺️, built with Ember!Call for contributors: Shipping the Ember website(s) redesign 🎨🐹Early last year, the community came together to discuss the future of the design strategy of official Ember sites. After plenty of time and work investments from individual contributors, companies and the Ember Core team, the redesign for the main site emberjs.com shipped successfully!Many other official resources for the Ember community, such as the Blog, API Docs, and CLI Guides, are looking forward to get a new look & feel as well - and you can help with that! A call for contributors is looking for those who have experience with JavaScript, HTML and CSS and who want to ... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 147
Ember.js Blog
+👋 Emberistas! 🐹Ember 3.18 is out 🎉,investigate arguments with Ember Inspector 🕵️‍♀️,read the blog post comparing Ember Octane and React 🐹⚛️,explore autosave with Ember Octane 💾,review Embroider & memoization RFCs 💬,and last, but not least, check out the ember-keyboard RFC ⌨️!Ember 3.18 is out 🎉The latest versions of Ember.js, ember-data and ember-cli are out with the 3.18 release!This new minor release version is full of bug fixes for the core libraries that power your Ember application, so be sure to upgrade soon.For more info on the current release schedule of Ember check out our releases page and for information on Ember v3.18, you can give the official release post a read.Investigate component arguments with the new Ember Inspector 🕵️‍♀️The brand-new, 4.0 version of Ember Inspector - the best tool for inspecting and debugging your Ember applications - is out! The recent release comes not only with lots of valuable bug fixes, but also with many amazing features, including:I... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 148
Ember.js Blog
+👋 Emberistas! 🐹Watch the new EmberMap video on the {{on}} modifier 🔦,mut and set autotracking in Octane 📖,Ember Twiddle updates 🌟,Ember performance tweaks 🏎,preview deployments with ember-cli-deploy and GitHub Actions ✅,and last, but not least, see helpers spawn from JavaScript files ✨!EmberMap: The {{on}} Modifier 🔦Check out the new EmberMap video on the {{on}} modifier, a new way to attach events in Ember. It can be attached in either a plain HTML element or an Ember component.<Toggle @checked={{this.isAdmin}} @onChange={{this.toggleIsAdmin}} {{on 'mouseenter' this.showTip}} {{on 'mouseleave' this.hideTip}}/>The {{on}} modifier accepts two arguments: the event name and the function handler. The event name is actually the same argument that the vanilla JS API element.addEventListener(eventName) accepts. And the function handler is any action, meaning any properly bound function. It can either live on the component instance or be passed in as an argument.<span role='checkbox' ar... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 149
Ember.js Blog
+🏄‍♂️ Emberistas! 🐹Ember Engines acceptance testing guides 📝,check out the new EmberMap video on Tracked Properties 👣,polyfills for in-element and named blocks 🚀,setting up Coveralls for your Ember addons 💪,Ember in COVID-19 research 🔬📖🐹,Global Accessibility Awareness Day Ember blog post 📖🐹,"My Experience with Ember.js" video series 🎥,and last, but not least, read the prettiest RFC in Emberland 💅!Ember Engines acceptance testing guides & Octane 📝Michael Villander (@villander) and team have fleshed out docs about the acceptance test story in the Ember Engines ecosystem, touching on some bleeding-edge cases. Also, the entire doc examples were migrated to Ember Octane! Visit the official site to see Ember Engines' new acceptance testing guides. Many thanks to Dan Gebhardt (@dgeb), Gabriel Csapo (@gabrielcsapo) and Thomas Gossmann (@gossi) for their reviews and tips!Using Ember Engines? Chat about it in the #ember-engines channel on the Ember Discord.EmberMap: Tracked Properti... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 150
Ember.js Blog
+👋 Emberistas! 🐹Ember Octane vs Classic cheat sheet is in Octane 🔥, Ember tutorials on MDN 🎉, test directory RFC FCP closing 🚨⏳, new router service refresh RFC ♻️, and last, but not least, "My Experience with Ember.js" Part 2 🎬!Ember Octane vs Classic cheat sheet is in Octane 🔥Ember Octane vs Classic Cheat Sheet is a quick reference to understanding how to convert a classic Ember syntax to an Octane one. The website is nearing its one year anniversary! 🎂 What better way to celebrate than being upgraded from vanilla JS to an Ember Octane app?Thanks to work by Jen Weber (@jenweber) and Isaac Lee (@ijlee2), the project is now built on a few well-known solutions: ember-code-snippet, ember-prism, ember-intl, ember-cli-deploy, and GitHub Actions for CI.What's in store for the future? The project can use your help with updated content, mobile responsive design, and—perhaps what's most cool—translations to languages besides English. If you'd like to help, please reach out to the Ember L... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 151
Ember.js Blog
+👋 Emberistas! 🐹Ember.js for #BlackLivesMatter 🤝,participate in the ember new --lang RFC 🌐,change the way you load your data with ember-await ⌚,beta release of ember-data-model-fragments 🚢,connect an Ember App to an OAuth2 Python Flask Server 🔐,and last, but not least, integrate Netlify with empress-blog 🚀!Ember.js for #BlackLivesMatter 🤝You may have noticed that emberjs.com is currently offline, as a small mark of respect, and expression of solidarity for #BlackLivesMatter. The Ember.js guides, community code of conduct, and legal information remain available.ember new --lang RFC 🌐There is an RFC to introduce the --lang flag to Ember CLI and help brand new Ember apps meet a Level A guideline for WCAG. (Level A is the minimum level of conformance.) If the flag is used with a valid language code, the CLI will assign the lang attribute to the root <html> element in app/index.html.How will the lang attribute help your end users?"Both assistive technologies and conventional user ag... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 152
Ember.js Blog
+👋 Emberistas! 🐹Meet the long-awaited ember-collection v1.0 release candidate 🎉,use a modern keyboard API with ember-keyboard v6.0 ⌨️,learn how to make your existing app accessible 💪,introducing ember-concurrency-async 🚀,and last, but not least, an interactive way to create new Ember apps RFC ✨🐹!Meet the long-awaited ember-collection v1.0 release candidate 🎉After two years, a new version of ember-collection is here! You can use this addon to incrementally render a large list of items. The official v1.0 will be released soon.Two of the most notable changes are:Ember upgrade from 2.18 to 3.12!Improved continuous integration and auto-release processPlease thank Alon Bukai (@Alonski), Gaurav Munjal (@Gaurav0), Robert Wagner (@rwwagner90), and Vasanth (@vasind) for their help with maintaining ember-collection. If you currently use the addon, we ask that you upgrade and check that your app and tests continue to pass.Use a modern keyboard API with ember-keyboard v6.0 ⌨️Are you ready for... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 153
Ember.js Blog
+👋 Emberistas! 🐹Set up fast with ember-new-plus ⚡️,read through the Type Stability for Addons RFC 💠,stories of becoming a developer 📖,new LinkedIn group for Ember.js developers 🐹,practice responsive design in Octane with ember-container-query ✨,farewell Ember A11y Strike Team, hello Working Group for Digital Accessibility 🚀,and last, but not least, handle asset urls with confidence in Ember & Cordova 📱🐹!Set up fast with ember-new-plus ⚡️Aseem Taneja (@atej) has created a bash script that automates the setup of some often-used tools in an Ember project. To further enhance your DX, it also recommends VS Code extensions and generates settings to integrate with them.Based on your selections, you get:Linting and formatting with ESLint + PrettierUtility-first CSS with Tailwind CSS + PostCSSGit hooks with HuskyPre-commit linting of staged files with lint-stagedAdherance to conventional commit messages with commitlintA launch configuration for in-editor debugging with VS Code's Debugger... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 154
Ember.js Blog
+👋 Emberistas! 🐹Check out the new addon ember-stargate 🌟,a new addon to integrate Netlify CMS with empress-blog 🎉,learn to SEOptimize your Ember app 💪 ✨,and last, but not least, a Readers' Question on how to become a writer for The Ember Times 📝!Get ready for ember-stargate 🌟Simon Ihmig (@simonihmig) announced a new addon called ember-stargate – a modern and lightweight take on portals in Ember.“Portals” are a way to render things in a different place of the DOM tree than they are logically defined in the app. There are a number of existing solutions in the Ember ecosystem for the same problem such as ember-wormhole, ember-elsewhere, the native {{in-element}} (previously using the ember-in-element-polyfill).The ember-stargate addon aims to solve this problem without using private APIs, Ember's component helper, or having to jump through hoops to implement. All you need to make a portal work is to define the content that should be sent through the portal using <Portal @target="som... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 155
Ember.js Blog
+👋 Emberistas! 🐹2020 Ember Roadmap published 🧭,release of Ember.js 3.19! 🎉,Rock & Roll with Ember.js Octane edition is here 🔥🐹,Ember 101: new video tutorial series for beginners 💻,State of Frontend survey 📊,and last, but not least, ember-meta 1.0.0 release 🚢!The 2020 Ember Roadmap 🧭Hot off the press is The 2020 Ember Roadmap. We highly encourage you to have a look and share the news with developers in the wider JavaScript ecosystem!This year, our 2 headline priorities are:Polish the practical and conceptual details of Octane (tracked properties, Glimmer components, related tooling, accessibility, performance and payload improvements).Make Ember easier to try and adopt. Lower barriers for Ember developers when collaborating with the greater JavaScript project. We will do this through improvements and simplifications to the framework, and through focused communication with the greater JavaScript community.There's much more exciting news from the Roadmap than we can possibly incl... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 156
Ember.js Blog
+👋 Emberistas! 🐹Read the blog post on using ember-concurrency with TypeScript 🤝,reusable DOM behavior in React vs Ember 🪔,and last, but not least, Mirage JS with GraphQL 🏝!Using ember-concurrency with TypeScript 🤝James C. Davis (@jamescdavis) wrote a blog post summarizing how to use TypeScript with ember-concurrency as well as some best practices.ember-concurrency is an addon that manages asynchronous tasks in Ember applications. The addon traditionally exports a task function which is used similarly to a computed property.import { task } from 'ember-concurrency';export default Component.extend({ myTask: task(function*() { yield foo; return bar; })}The blog post goes through how to use ember-concurrency with Ember Octane and TypeScript. For Octane, we need to use Native Class Syntax. The ember-concurrency-decorators package was created to make this work for ember-concurrency.However, decorators cannot change the type of the thing they decorate. To allow TypeScript, the ember-concu... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 157
Ember.js Blog
+👋 Emberistas! 🐹LexasCMS releases official support for JSON:API and more 🎉,Deprecation Stages RFC is out 🚀,tweaking UI behavior with Ember Data queries 📝,learn what reactivity means with an example 💡,read the blog post series of lessons learned working with Ember 📔,and last, but not least, "Ember Data in the Wild" Octane edition is here 📣!LexasCMS releases official support for JSON:API and more 🎉Have you been looking to integrate a headless CMS with your Ember.js application?LexasCMS recently shipped a new JSON:API compliant content delivery API which aims to make this integration easier than ever before.Read the release blog post for more information.New Ember Data addon for LexasCMS releasedMichael Donaldson (@mike183) has published the new ember-data-lexascms addon for easily integrating LexasCMS with any Ember.js application.The step are: install the addon, configure your space ID and application adapters/serializers, and begin pulling content directly from LexasCMS using E... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 158
Ember.js Blog
+👋 Emberistas! 🐹Ember 3.20 Released 🚀,a series of blog posts on ember-modifer and its internals 🎉,detect when Ember components enter or leave the viewport 🔍,a blog post and RFC on Ember.Component 📖,and last, but not least, document Ember apps with Docfy 📗!Ember 3.20 Released 🚀A new Ember.js blog post is up to announce the release of version 3.20 of Ember.js, Ember Data and Ember CLI!3.20 includes several new features for the ecosystem.In Ember.js, the {{in-element}} helper is available as public API. This helper solves rendering challenges similarly to ember-wormhole and ember-elsewhere. It allows rendering content into a destination elsewhere on a page.Ember Data explicitly supports the combined use of EmbeddedRecordsMixin and JSONAPISerializer through the isEmbeddedRecordsMixinCompatible property.Ember CLI allows syncing Blueprints when running npx ember-cli-update, which avoids some potential issues that previously existed when running this flow. Check out the related RFC to ... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 159
Ember.js Blog
+👋 Emberistas! 🐹Community addon updates: stable version of ember-bootstrap v4 released 💥, and check out ember-dayjs-helpers 🕰️!Just released: stable version of ember-bootstrap v4 💥Simon Ihmig (@simonihmig) announced the stable release of ember-bootstrap v4, tweeting that it's another step toward a full Octane refactoring! Glimmer components are coming next.Bootstrap users can check out the full list of changes in the changelog. For breaking changes, give ember-bootstrap-codemods a try. We are appreciative of all the codemods in the Ember community!Not familiar with ember-bootstrap? It's an Ember CLI addon that provides a collection of Ember components that mimic the original Bootstrap plugins and components in an Ember-friendly way, replacing the need for bootstrap.js. For more info, check out the website and the corresponding repo.Check out ember-dayjs-helpers 🕰️Rajasegar Chandran (@rajasegar) created the ember-dayjs-helpers library which contains over 30+ template helpers based ... +
5年前
記事のアイキャッチ画像
The Ember Times - Issue No. 160
Ember.js Blog
+👋 Emberistas! 🐹"I contribute to Ember" with Isaac Lee and Jared Galanis 🙌,how to participate in the Ember RFC process 🚀,EmberFest: share your virtual Hello with us! 🐹,learn how to use csz in your Ember app 🌟,and last, but not least, ember-cli-next: an experimental terminal UI for ember-cli 🔥!"I contribute to Ember" with Isaac Lee and Jared Galanis 🙌In the 15th edition of our contributor interview series, we're highlighting The Ember Times' very own Isaac Lee (@ijlee2) and Jared Galanis (@jaredgalanis). We'd like to thank Isaac and Jared for their contributions to the Ember community, and congratulate them for joining the Ember Learning Core Team!Check out the full interview on the Ember Discuss forum. They discuss their biggest motivations in contributing to Ember and how they got started in open source.Read moreThe idea behind these interviews is to provide community members with more information and insight into open source contributions, learning resources, and community eve... +
4年前
記事のアイキャッチ画像
The Ember Times - Issue No. 161
Ember.js Blog
+👋 Emberistas! 🐹ember-component-template-colocation-migrator now supports addons 🎉,built with Ember.js: 10001 virtual art exhibit 🎨,ember-mobile-menu v2 released 📱,help with Embroider readiness 🔥,and last, but not least, new free video and instructor at EmberMap 📹!Release of ember-component-template-colocation-migrator 1.1.0 🎉The ember-component-template-colocation-migrator codemod co-locates component JS and HBS files as described in the Component Templates Co-location RFC. The v1.1.0 release adds support for migrating addons, but templates shared by multiple components are excluded. In this case, it is up to end users how to list those; they are reported in the same way other skipped templates (like partials) are. Similarly, mixins that use layout are not migrated.When running the codemod, instead of:your-addon/ addon/ components/ some-component.js templates/ components/ some-component.hbsYou will get:your-addon/ addon/ components/ some-component.js some-component.hbsTry it ou... +
4年前
記事のアイキャッチ画像
The Ember Times - Issue No. 162
Ember.js Blog
+👋 Emberistas! 🐹Update from the Accessibility Working Group 🙌,syntax highlighting in markdown with ember-showdown-prism 🔦,testing your Mirage.js setup 🧪,and last, but not least, read the proposed {{id}} helper RFC 🆔.Update from the Accessibility Working Group 🙌In March 2020, a group of Ember developers formed the Accessibility (A11y) Strike Team, now known as the Ember A11y Working Group. The group wanted to address the issues that were outlined in RFC #595: Technical A11y Issues in New Ember Apps.This week, Melanie Sumner (@MelSumner) published an official blog post to provide a status update. We encourage you to read the blog post. Accessible apps are for everyone and the discussions, RFCs, and addons started by the A11y Strike Team may influence your app development.As always, we give a big shout-out to all community members who participated in the A11y Strike Team. 💜A new way to add syntax highlighting to your code blocks, with ember-showdown-prism 🔦Chris Manson (@mansona) ... +
4年前
記事のアイキャッチ画像
The Ember Times - Issue No. 163
Ember.js Blog
+👋 Emberistas! 🐹Learn what's new in the Ember 3.21 release 🎉,Embroider preparation blog post 📖,get ready for Hacktoberfest 2020 👩🏽‍💻🧑🏽‍💻,CI with GitHub Actions for Ember Apps: Part 2 🎥,and last, but not least, celebrate 3 addon major releases 🌟!Learn what's new in Ember 3.21 release 🎉The Ember Blog announced the v3.21 releases of Ember.js, Ember Data, and Ember CLI. The occasion also marked the LTS release of Ember v3.20. It will receive bug fixes until May 2021 and security patches until September 2021.The release of version 3.21 may affect your development workflow in a few ways:getWithDefault (both the function and class method) has been deprecated per RFC #554.ember new --lang support has landed per RFC #635.ember-try configuration for addons has been updated to include ember-lts-3.20 and exclude ember-lts-3.12.The release also kicked off the 3.22 beta cycle. If you can, please help with testing beta builds and reporting bugs before version 3.22.0 is published. 💜Embroi... +
4年前
記事のアイキャッチ画像
The Ember Times - Issue No. 164
Ember.js Blog
+👋 Emberistas! 🐹Hacktoberfest + The Ember Times ✍️,a new reference page for Ember CLI commands 🔖,migrating off of mixins in Ember Octane 👋,async data and autotracking in Ember Octane ✨,autotracking developer experience 🔥,ember-concurrency 2.0.0.beta-1 🎉,and last, but not least, EmberJS with REST API 💪!Hacktoberfest + The Ember Times ✍️Hacktoberfest is a celebration of open source open to everyone in the global GitHub community. Whether you’re a developer, student learning to code, event host, or company of any size, you can help drive growth of open source and make positive contributions to an ever-growing community. All backgrounds and skill levels are encouraged to complete the challenge!Need ideas for Hacktoberfest contributions? Or looking to get started in open source? We suggest working with us on the next Ember Times issue! As you may know, The Ember Times is the newsletter for the official Ember Blog. As writer, you will take on an active role in the Ember community and k... +
4年前
記事のアイキャッチ画像
The Ember Times - Issue No. 165
Ember.js Blog
+வணக்கம் Emberistas! 🐹Hacktoberfest 2020 events and info 🎃,read the new RFC to deprecate tryInvoke 📜,tips for switching from Ember Data to Ember Orbit 💡,read the blog post on Ember Octane with Glimmer Components ✨,and last, but not least, September EmberJS Chennai Meetup 🇮🇳 !Hacktoberfest 2020 events and info 🎃Have you always wanted to contribute to open source, but don't know where to start? The month of October is the perfect time to give it a try!Hacktoberfest is an annual celebration of open source happens around the world, in thousands of projects on GitHub. Here in Ember land, we have lined up special events, mentoring, pairing, and more. You can read the full details in the Ember blog, but here are the highlights:Tomorrow on Saturday, October 10th, drop into a pairing session! You can join voice chat on Ember Discord, where mentors are available to to take your questions, give some advice, and do pair programming during two sessions. Just jump into the "General" voice chan... +
4年前
記事のアイキャッチ画像
The Ember Times - Issue No. 166
Ember.js Blog
+👋 Emberistas! 🐹New RFC to Deprecate transition methods of Controller and Route ✍️,learn what's new in the Ember 3.22 release 🎉read the blog post on React component patterns in Ember ⚛️,Glimmer VM tracking video 📹,Deprecate tryInvoke RFC enters Final Comment Period 📜,EmberMap Octane conversion video 📼,and last, but not least, built with Ember: Emojible 🥳!RFC: Deprecate transition methods of Controller and Route ✍️Jeldrik Hanschke (@jelhan) proposed a new RFC to Deprecate transition methods of Controller and Route in order to reduce public API exposed related to routing.The RFC aims to deprecate the methods transitionTo and replaceWith of the Route object and the methods transitionToRoute and replaceRoute of the Controller object. The existing methods transitionTo and replaceWith of the RouterService object should be used instead.The RFC proposes that the existing methods are today not documented properly so there are likely timing differences between the different routing calls e... +
4年前
記事のアイキャッチ画像
The Ember Times - Issue No. 167
Ember.js Blog
+👋 Emberistas! 🐹New Release and APIs for ember-a11y-testing 🎉,two deprecation RFCs merged 🙌,new Octane ready release of the a11y focused ember-select-light 🔦,and last, but not least, ember-key-manager v1.0.0 ⌨️!Release 4.0.0 of ember-a11y-testing 🎉Steve Calvert (@scalvert) released 4.0.0 of ember-a11y-testing which included changes to the API to make it hands off in terms of running accessibility audits. The ember-a11y-testing library is a wrapper around Deque Labs' axe-core accessibility testing engine. It integrates into your testing environment using either a one-time setup, or in individual tests using an a11yAudit() test helper.With the new 4.0.0 release, you can do audit of your code using the regular test helper APIs by importing the setupGlobalA11yHooks function and invoking it in tests/test-helper.js. The setupGlobalA11yHooks function lets you write your own strategy on when to invoke the audit using the shouldAudit argument so you can run it all the time, for all the con... +
4年前
記事のアイキャッチ画像
The Ember Times - Issue No. 168
Ember.js Blog
+👋 Emberistas! 🐹Read the blog on yieldable named blocks 📛,keep up to date on @use and Resources RFC 💡,ember-bootstrap Octane updates 🏎,and last, but not least, from Phorest: Ember is still a good decision in 2020! 🙌Blog: Modal Dialog Using Yieldable Named Blocks 📛A blog post by Balint Erdi (@balinterdi) goes through how Named Blocks allows us to have more than one block when invoking components using the angle-bracket syntax.With the Yieldable Named Blocks RFC accepted and the ember-named-blocks-polyfill already implementing it, we can use yieldable named blocks in our Ember apps today. The blog goes through using the {{yield to=""}} syntax to implement multiple named blocks in a modal example.Named blocks are useful anywhere where it makes sense to provide several "slots" that the user of the component can customize. Read the full post today on Balint’s blog!Introducing @use 💡In October, Chris Garrett (@pzuraq) published a blog post and an addon to highlight updates regarding t... +
4年前
記事のアイキャッチ画像
The Ember Times - Issue No. 169
Ember.js Blog
+👋 Emberistas! 🐹Watch a deep dive on component primitives 📺, and check out the "Rock & Roll with Ember band" interview series 🎸!Watch: Component primitives deep dive 📺Chris Garrett (@pzuraq) and Scott Newcomer (@snewcomer) deep dived into Ember's component primitives such as the setComponentTemplate, setComponentManager, and precompileTemplate APIs.Chris walks through the problem of formalizing relationships between the JavaScript component and its Handlebars template. This is done by preprocessing the template via the precompileTemplate API and then establishing that relationship to the JavaScript component using the setComponentTemplate API.These primitives are actually public so anyone can make a transform or parser to build their own custom template import syntax. This flexibility means we can experiment using these primitives before finalizing the API. We can even iterate on it later on to find the best fit for our ecosystem.Watch the full video discussion on YouTube!The "Rock... +
4年前
記事のアイキャッチ画像
The Ember Times - Issue No. 170
Ember.js Blog
+👋 Emberistas! 🐹Ember 3.23 released 🎉,explore Ember/Glimmer component performance 🚅,read the blog post on the Ember Octane mental model ✍️,Ember + Tailwind 2.0 🎨,learn how to use WebSockets with Ember Data 📟,Glimmer apps with Snowpack 🔥️⛄,and last, but not least, meet fractal-page-object ❄️!Ember 3.23 Released 🐹Version 3.23 of Ember.js, Ember Data, and Ember CLI was released on December 14th! Please use the ember-try addon to continuously test your projects against the latest Ember releases.Ember.js 3.23 included improved error ergonomics, the invokeHelper from JavaScript Helper Invocation API RFC, and the helper manager from Helper Managers RFC. There were no deprecations in Ember 3.23.Ember Data 3.23 deprecates najax requests when ember-fetch is installed to better guide users on how to update their app. If you do not have jQuery enabled, this deprecation does not apply to you.There were no significant changes in Ember CLI 3.23.Read the full Ember 3.23 release notes for the co... +
4年前
記事のアイキャッチ画像
The Ember Times - Issue No. 171
Ember.js Blog
+👋 Emberistas! 🐹Speakers wanted for EmberConf 2021 📆,Ember 3.24 release 🙌,read the blog on understanding args in Glimmer components ✍️,announcing the launch of the redesigned Ember Blog 📝,five RFCs for Ember 4.0 milestone 💬,and last, but not least,micro-frontends with Glimmer.js and single-spa 🔥!Speakers wanted for EmberConf 2021 📆This year's EmberConf has been announced to take place March 29-30, 2021! EmberConf is 2 days of Ember talks, sessions and fun — streaming live virtually anywhere. Want to give a talk at EmberConf? We're now accepting proposals.EmberConf is great because our speakers are great, and you could be one of them. The Call for Papers (CFP) is public, starts out blind, and features a collaborative process to help applicants improve their proposals. Proposals will be accepted through January 31st at 11:59pm PT. Learn more at the EmberConf 2021 CFP site.There are a lot of options for talks this year. Conference talks can be 30, 15, 10, or 5 minutes total. Have a... +
4年前
記事のアイキャッチ画像
The Ember Times - Issue No. 172
Ember.js Blog
+👋 Emberistas! 🐹Get your EmberConf talk proposals in ASAP, TypeScript in Ember guide, Storybook for Ember tutorial, building a Router component for Glimmer.js, and building prototypes with Ember.Remote EmberConf talk proposals due this Sunday! 🗣Developers around the world are invited to submit talk proposals for EmberConf 2021! The deadline for submissions is this Sunday, January 31st at 11:59pm ET.Is there something cool you learned recently that you would like to share? Do you want to build up your speaking and teaching skills? Did you build something you are proud of?This is your chance to share it! Talks are pre-recorded and the conference is fully remote.If you have questions or need some help, visit the #emberconf channel on the Community Discord. Good luck!Video tutorials: TypeScript basics with Ember.js 🔤Ilya Radchenko (@knownasilya) did a couple of videos on getting started with TypeScript for your Ember.js applications.The first video goes through setting up ember-cli-type... +
4年前
記事のアイキャッチ画像
The Ember Times - Issue No. 173
Ember.js Blog
+👋 Emberistas! 🐹Beta release of ember-template-lint v3, Prettier for .hbs, learn more Ember.js in 2021, new Ember-related podcasts, Pro Ember Data book, and the EmberConf community spotlight!Beta release of ember-template-lint v3 ✅ember-template-lint which is a linter for template files in Ember has released a beta version of 3.0.0. Thanks to Steve Calvert (@scalvert) and Rob Jackson (@rwjblue), this release will include the TODO feature which will help teams adopt the latest version of ember-template-lint and immediately apply linting rules to new code while allowing time to resolve existing issues.As part of the 3.0.0 beta release, a lot of rules have also been turned on in the default recommended config. This version will also promote the octane config into the default recommended config.Check out the full plan for the 3.0.0 release on GitHub and the related blog post.Prettier for .hbs 😀Prettier is coming to an Ember .hbs file near you! Prettier is a popular opinionated code forma... +
4年前
記事のアイキャッチ画像
The Ember Times - Issue No. 174
Ember.js Blog
+👋 Emberistas! 🐹Podcast on native apps and Ember, keep up with the latest in template linting with the Tailwind CSS linter, release of ember-browser-services, and real-world Ember roundup.Building native apps with Ember.js 🎙️The first Ember Report podcast is live! You can find it on all the podcast platforms, like Spotify and Apple Podcasts. Kenneth Larsen (@kennethlarsen) and Jan Butschen (@buschtoens) tell you all about the ins and outs of building native apps with Ember.js. Kenneth asks all the critical questions, you as a listener might have, and Jan shares his expertise on how they embedded their Ember.js app in Capacitor, the successor to Cordova.With practical examples and a ton of show notes, this podcast will get you started in the world of native apps as an Ember developer. From discussing the technology and the developer experience to discussing the future of native apps vs PWA’s, they’ve got you covered.Rediscover class sanity with Tailwind CSS linter for Ember templates ... +
4年前
記事のアイキャッチ画像
The Ember Times - Issue No. 175
Ember.js Blog
+👋 Emberistas! 🐹Ember Community Survey 2021, official TypeScript support RFC, EmberConf Contributors Workshop, Ember - a beacon of productivity, ember-responsive-image v2 released, Mirage JS for complex testing, and new podcast episodes!Ember Community Survey 2021 📆The annual community survey is up - please take the survey today and let us know what you think about Ember!Totally Anonymous: No personal identification is attached to survey responses. Last year, over 1000 participants shared information about themselves, their businesses, and applications.At EmberConf, the results to the 2021 survey will be shared with a comparison to the 2020 results. Detailed aggregate and individual responses will also be made public.Take the 2021 Ember Community SurveyQuestions? Feedback? Please join us in the #dev-ember-learning channel on the Discord community chat, or email the survey team via survey@emberjs.com.P.S. Please spread the word about the survey, ask your friends and coworkers to fill ... +
4年前
記事のアイキャッチ画像
The Ember Times - Issue No. 176
Ember.js Blog
+👋 Emberistas! 🐹EmberConf is this Monday, get into the EmberConf vibe with Leah and Kenneth, meet Glint, a typed-template solution for Ember, and the release of ember-electron v3!EmberConf is this Monday 🎉EmberConf is the best place to meet the folks behind the magic, and Virtual EmberConf 2021 is this upcoming Monday and Tuesday! 🙌 EmberConf is two days of Ember talks, sessions and fun -- streaming live virtually everywhere.Hop onto the Ember Discord to start chatting with your Ember friends in the #emberconf channel. Starting this Monday, most EmberConf chatter will take place in #ec-hallway and the dedicated-per-session channels under the "Virtual EmberConf" category.Here at the Ember Times, we are super excited about the conference lineup. Monday is an optional day of workshops and BonusConf streams, from "Debugging Your Brain" to "Introducing Template Imports". Tuesday's main event will be a full day of keynotes and technical sessions, including "Ending the Plague of Memory Lea... +
4年前
記事のアイキャッチ画像
The Ember Times - Issue No. 177
Ember.js Blog
+👋 Emberistas! 🐹EmberConf videos, virtual Ember Meetups, achieving a11y automation testing, and serverless functions in Ember and Glimmer.Virtual EmberConf 2021 🔥 📼Heyo! Did you miss out on Virtual EmberConf 2021? Did you see some talks, but missed others? Did you watch all of the content, but want to re-watch things!? 👀 Fear not, the suite of full conference talks can now be found online now as individual videos.If you didn't get a chance to see them, you shouldn't miss the Keynote Part 1 and Keynote Part 2 by none other than our own Yehuda Katz (@wycats) and Godfrey Chan (@chancancode).Also not to be missed are talks by Chris Garrett (@pzuraq) on template imports, and a stunning talk on building robust and reliable software by Chris Krycho (@chriskrycho).There was also a beautiful and inspiring 💖 talk about Learning Ember in 2021 by Lenora Porter (@lenoraporter).For sure, whatever you do, do not miss the absolutely mind blowing 🤯 closing keynote by Edward Faulkner (@ef4) about ... +
4年前
記事のアイキャッチ画像
The Ember Times - Issue No. 178
Ember.js Blog
+👋 Emberistas! 🐹Find out about the Ember 3.26 release, updated release of Unstable Ember Language Server, and addon roundup.Ember 3.26 released 🥳Ember 3.26 release was announced on April 12, 2021. The release patched a few bug fixes in ember-source and ember-cli. It also introduced several deprecations in ember-source in preparation of the upcoming Ember 4.0 release.We encourage you to make time to address deprecated patterns in your apps and addons. The Deprecations Guide provides examples of how you might update your code.Here are 3 quick tips for what you can do for Ember 3.26:To make a route transition in a controller or route, inject the router service and use its transitionTo or replaceWith method. You can check the API Guides to learn more about the router service.For new code, using the router service shouldn't cause an issue. When you update existing code, however, your app may behave differently when the route transition occurs. Before any update, write tests that cover the... +
4年前
記事のアイキャッチ画像
The Ember Times - Issue No. 179
Ember.js Blog
+👋 Emberistas! 🐹Global Accessibility Awareness Day, Readers' Question: Embroider status update, @use with Ember Apollo Client, and how JS frameworks solved the problem of rendering fast.May 20th is Global Accessibility Awareness Day 💟Global Accessibility Awareness Day, an awareness day focusing on digital access and inclusion for the more than one billion people with disabilities and impairments, will be celebrated on May 20, 2021. Here are some suggestions from Melanie Sumner (@MelSumner) on how you can get involved in some accessibility (a11y) related open source projects!Help convert ember-component-patterns from Gitbook to an Ember appHelp with a11y-automation.dev which is a project to track a11y automationCheck out the help wanted page for issues in the ember-a11y GitHub organizationHelp write some a11y-related linting rules for ember-template-lintFor more ideas please check out the Global Accessibility Awareness Day (GAAD) website!Readers' Question: What’s the current status of... +
4年前
記事のアイキャッチ画像
The Ember Times - Issue No. 180
Ember.js Blog
+👋 Emberistas! 🐹Ember's 10 year anniversary, Prettier for Handlebars support, Embroider in 3.5 weeks, GAAD pledge, quickstart to authentication, built with Ember: Fleetbase, and new and shiny add-ons ✨Happy 10 year anniversary, Ember.js! 🎉Many thanks to Natasha Fel and Andrey Fel (@andreyfel) for sharing their photos from Ember Nizhny Novgorod's Meetup, which featured a celebratory Nizhny Novgorod Tomster cake for Ember's big anniversary! Check out more photos from the meetup here.Prettier for Handlebars support 🙌Prettier can now officially format HTML templates with Handlebars (HBS) in the newly released version 2.3.0. Thank you to Cyrille David (@dcyriller) for pushing this initiative, which started in 2017, through the finish line.Prettier is an opinionated code formatter. It enforces a consistent style by parsing your code and reprinting it with its own rules that take the maximum line length into account, wrapping code when necessary. This removes all bikeshedding on what rules... +
4年前
記事のアイキャッチ画像
The Ember Times - Issue No. 181
Ember.js Blog
+👋 Emberistas! 🐹EmberFest, remodeling an Ember app, Ember CLI history, ember-auto-import, web bundling, ember-concurrency release, Ember Data roundup, rwjblue podcast, and keeping a clean git history.EmberFest 2021 is happening! 🏛️Mark your calendars for September 30th – October 1st of 2021 – EmberFest will be back as a hybrid on-site/virtual event! EmberFest is the European Community Ember Conference. The location will be a secret until ticket sales are open so stay tuned.The EmberFest team is confident that this year’s conference can happen in person. At the same time, they realize that some people can’t or might not want to travel yet, so for the first time, EmberFest is going hybrid: there will be both on-site and remote tickets for a livestream available. Early bird tickets will start on June 11, 2021.If you’re interested in seeing what it’s like, check out the last EmberFest conference in 2019, which was in Copenhagen!Ember CLI history, ember-auto-import, web bundling & more 🌎... +
4年前
記事のアイキャッチ画像
The Ember Times - Issue No. 182
Ember.js Blog
+👋 Emberistas! 🐹Using the in-element helper, migrating Controllers to top-level Components, Ember Upgrade Sprints, Ember development on Twitch, and remodeling an Ember App Part 2.Using the in-element helper ⛳Faith Or (@faith-or) wrote a blog post on how they migrated from ember-wormhole to the built-in in-element helper introduced in Ember 3.20.Ember Wormhole is an addon that renders a child view somewhere else in the DOM outside of the component.The in-element helper renders its block content outside of the regular flow, into a DOM element given by its destinationElement positional argument.Common use cases for both include when a piece of UI is a logical child of a component but needs to render somewhere else such as a loading screen, a modal, tooltip or even a dropdown. The differences between the two are slight. Faith goes into more detail in the blog post.There are 3 main takeaways.in-element needs the destination to exist before we use it, while ember-wormhole does not.With in-e... +
4年前
記事のアイキャッチ画像
The Ember Times - Issue No. 183
Ember.js Blog
+👋 Emberistas! 🐹New release of Unstable Ember Language Server, share code snippets on Twitter using Ember, the difference between ember serve and npm run start, and an addon roundup!Release of uELS v2.0.16 ✅Unstable Ember Language Server is a fully featured fork of Ember Language Server. While the name says unstable it actually has been stable and ready to use for day-to-day development!Thanks to both Alex LaFroscia (@alexlafroscia) and Alex Kanunnikov (@lifeart) for new version release which provides:Support workspace/didChangeConfiguration eventImproved startup speed by delaying template tokenizationAutocomplete now use global registry and file change events, not fs lookup, but we still do fs lookup on project initializationAdded template-lint severity supportImproved template-linting speedTry out uELS today:VSCode MarketplaceneoVimEmacs using lsp-modeUse Open VSX for hosting extensions with GitPod, Onivim, Coder, VSCodium, and Theia.Share code snippets on Twitter using Ember 🐦Do y... +
4年前
記事のアイキャッチ画像
The Ember Times - Issue No. 184
Ember.js Blog
+👋 Emberistas! 🐹The Road to Ember 4.0, introducing a11y-disabled-modifier, Emberliners talks, and get your update for ember-engines 0.8.18.The Road to Ember 4.0 🛣Matthew Beale (@mixonic) from the Ember Core Framework and Steering Committee teams, writes about The Road to Ember 4.0 on the official Ember blog.Announcing Ember 4.0: Ember 4.0 will be released around September 20th. Ember 4.4 will be the first LTS candidate of the 4.x series.Whats in a 4.0?: As a major version of Ember, there are no new features. This sections discusses the removal of deprecated APIs. For example, Ember.Logger is removed in favor of native console APIs. Also, sendAction is removed in favor of calling closure actions like any other callback.Planning your upgrade to 4.0: Consider using the ember-cli-deprecation-workflow addon as part of your upgrade process.Contributing to Ember 4.0: Join us on Discord in the #dev-ember-js, #dev-ember-data, #dev-ember-cli, or #dev-ember-learning channels to find out how you... +
4年前
記事のアイキャッチ画像
The Ember Times - Issue No. 185
Ember.js Blog
+👋 Emberistas! 🐹New Educative course, using Ember with XState, let codemods upgrade your app & deal with jQuery, Ember.js: The Good Parts, new release of ember-deep-tracked, why blueprints are cool.Developing Robust Ember.js Applications course on Educative 🆕Based on the popular book, Rock and Roll with Ember.js, Educative has a new (paid) course, Developing Robust Ember.js Applications by Balint Erdi (@balinterdi). Balint chose to partner with Educative because their courses are interactive: there are quizzes and coding challenges at the end of most chapters, which will help reinforce understanding and learning.Takeaway skills:Understand how Ember.js works in web applicationsHelp the user understand how the different building blocks, including components, routing, and services, make everything work in Ember.jsLearn how to use Ember CLILearn how to completely develop and Ember.js applicationWe look forward to giving the course a spin!Using Ember with XState ❎Over the past year, the f... +
4年前
記事のアイキャッチ画像
The Ember Times - Issue No. 186
Ember.js Blog
+👋 Emberistas! 🐹Read the blog post on Avoiding Lifecycle in Components, announcing Glimmer Apollo, new release for ember-responsive-image, and code in public: Ember dev streaming on Twitch.Blog post: Avoiding Lifecycle in Components ✍️NullVoxPopuli (@NullVoxPopuli) published a blog post on Avoiding Lifecycle in Components, namely the lifecycle hooks that come with ember-render-modifiers.For some context, ember-render-modifiers was created from RFC 415: Render Element Modifiers which introduced three new generic element modifiers: {{did-insert}}, {{did-update}}, and {{will-destroy}}. The caveat however was that these modifiers were meant for quickly migrating away from classic Ember components to Glimmer components, because they largely allow you to use the same lifecycle hook methods you've already written while attaching them to these modifiers.The blog outlines several possibilities to avoid using these modifiers:Creating your own custom modifier when behavior is tied to a particula... +
3年前
記事のアイキャッチ画像
The Ember Times - Issue No. 187
Ember.js Blog
+👋 Emberistas! 🐹Release: ember-engines-router-service, ember-scroll-modifier and ember-user-activity updates, and Coding with the Dead on Twitch.⚙️ Release: ember-engines-router-serviceMichael Villander (@villander) released the ember-engines-router-service addon which provides the Router service for ember-engines.The addon gives you access to the RouterService API inside each engine. This allows you to inject the router service as usual to your component within an engine and use APIs such as transitionTo and even transitionToExternal which help link externalRoutes together.import Component from '@glimmer/component';import { inject as service } from '@ember/service';import { action } from ‘@ember/object’;export default class SomeComponent extends Component { @service router; @action transitionToHome() { this.router.transitionToExternal('other.route'); } @action transitionToAdmin() { this.router.transitionTo('admin.route'); }}To learn more, try it out today in your application or read ... +
3年前
記事のアイキャッチ画像
The Ember Times - Issue No. 188
Ember.js Blog
+👋 Emberistas! 🐹Ember 3.28 and 4.0 Beta Released, open source contributors wanted for Ember v4, reactively handle audio in Octane with ember-stereo, and Twitter thread: Ember is data-first.🎉 Ember 3.28 and 4.0 Beta ReleasedAfter 3.5 years and 28 minor releases, Ember 3.28 marks the end of the project's 3.x series. To ensure a smooth upgrade path going into the 4.x series, 3.28 has been declared an LTS (Long Term Support) candidate. In six weeks, the latest patch version of 3.28 will be promoted to be the latest LTS release and replace 3.24-LTS.We're also announcing the start of the Ember 4.0 beta cycle for all sub-projects. Following the process set in previous major versions, Ember 4.0's beta introduces no new features. Instead, it removes support for deprecated public APIs. We encourage our community (especially addon authors) to help test beta builds and report any bugs before they are published as a stable release in six weeks' time. We also encourage everyone to help maintainers... +
3年前
記事のアイキャッチ画像
The Ember Times - Issue No. 189
Ember.js Blog
+👋 Emberistas! 🐹RFC: Asset Import Spec, ember-element-query v4, EmberFest 2021 - best of both worlds, Glimmer cheatsheet, and Glimmer Apollo v0.4.0.✍️ RFC: Asset Import SpecEdward Faulkner (@ef4) proposed a new RFC which defines the standard semantics for what it means to depend on files that are not JavaScript or CSS, like images, fonts, and other media. The ecosystem today mostly relies on broccoli-asset-rev which is a Broccoli plugin that adds fingerprint checksums and CDN URLs to your assets. The RFC argues that the broccoli-asset-rev plugin does not take advantage of the newer capabilities we have in ember-auto-import and embroider. The proposed pull-based design lets code declare what assets it needs and then not worry about how those assets will get delivered is safer and easier to change in the future.import myImage from './hello.png';class extends Component { myImage = myImage}<img src={{this.myImage}} />If this is something you are interested in, please read and discuss the ... +
3年前
記事のアイキャッチ画像
The Ember Times - Issue No. 190
Ember.js Blog
+👋 Emberistas! 🐹It's October…and that means it's time for Hacktoberfest! Also, try out the first beta release of Ember 4.0 today, plus a release of ember-popperjs🎃 HacktoberfestHacktoberfest is an annual, worldwide celebration organized by DigitalOcean and sponsored by many companies that use open source software.Many Ember projects are participating this year! If you complete the challenge,you can get a prize!To participate:Sign up anytime between October 1 and October 31.Make 4 approved Pull Requests to public repositories on GitHub that have the hacktoberfest topic.Take a moment to learn about what goes into an "approved" Pull request.If you are among the first 50,000 developers who complete the challenge, you get a prize. This year, you can select between a T-shirt and a tree planted in your name.Join the #hacktoberfest channel in the Ember Community Discordto collaborate with other participants!Ember projects you can help out withAre you wondering what to work on?There are 100 a... +
3年前
記事のアイキャッチ画像
The Ember Times - Issue No. 191
Ember.js Blog
+👋 Emberistas! 🐹Ember 4 is approaching, checkout v4.0.0-beta.9 🐹,Ember.js Template Imports Blog Series 📚,New Releases of uELS published to VSCode ✅,tracked-built-ins v2.0.0 🔥,Announcing Checkup v1.0.0 🩺,Addon roundup 🙌,GlimmerX Workshop Resources ✨,Migrating an Ember addon to the next-gen v2 format 🚀Ember 4 is approaching, checkout v4.0.0-beta.9 🐹If you've been following along with the progress on Ember 4 you might know that the next major version of Ember is approaching.If you are able to, you should check out Ember v4.0.0-beta.9 in your cutting edge codebases now. A few minor API removals remain, but the vast bulk of planned changes from 3.28 are in this release.For more details on the road to Ember 4.0 see this blog post.Ember.js Template Imports Blog Series 📚There's a fantastic new 5 part series from Chris Krycho (@chriskrycho) on template imports that goes into great detail comparing the various options for template imports that are on the table for the Ember and Glimmer ... +
3年前
記事のアイキャッチ画像
The Ember Times - Issue No. 192
Ember.js Blog
+👋 Emberistas! 🐹Release of ember-functions-as-helper-polyfill 🎉,First pre-release of ember-template-lint v4 🧹,Phorest Interview of Balint Erdi 🎙️,Paired Programming 👭,Ember.js Template Imports Blog Series Finale 📚,Deprecate Bower Support RFC ⏰Release of ember-functions-as-helper-polyfill 🎉NullVoxPopuli (@NullVoxPopuli) released the ember-functions-as-helper-polyfill addon which implements RFC 756: Default Helper Manager. The addon lets you use plain functions as helpers, check out the example below:import Component from '@glimmer/component';export default class MyComponent extends Component { myHelper = x => x * 2;}{{this.myHelper 3}}This reduces the need to create traditional helpers especially when a helper is only really used within the same component. This addon reduces the amount of boilerplate code written and is a more representational model of how template and JS interact.Try out this functionality today with the polyfill!First pre-release of ember-template-lint v4 🧹Bry... +
3年前
記事のアイキャッチ画像
The Ember Times - Issue No. 193
Ember.js Blog
+👋 Emberistas! 🐹Happy 10th Birthday Ember 🐹,Ember Addon Roundup 🌎,First-Class Component Templates RFC 📖,Author Built-In Blueprints in TypeScript RFC in FCP ⌛️,Defaults & Initial Values in Octane 🔥,Uploading images to S3 in Ember 📸Happy 10th Birthday Ember 🐹On December 8th Ember.js completed another trip around the 🌞 and turned 10 years old! 🥳Yehuda Katz (@wycats) recently tweeted about the milestone for Ember and called out some of the most notable things that have been achieved in Ember's history:we adopted promises and made them the primary way to do async in Ember (2013)we added first-class support for JS modules via ember-cli (2014)we adopted React-style one-way data flow via Glimmer (2015)we landed the VM architecture (Glimmer 2) as a drop-in, backwards-compatible change (2016). This change was cited by React as one of the technical motivations for Hooks.Moved the primary Ember API from Ember.* (global) to an intentionally designed JS module API (2016)Landed support for n... +
3年前
記事のアイキャッチ画像
The Ember Times - Issue No. 194
Ember.js Blog
+👋 Emberistas! 🐹Ember 4.0 and 4.1 released 🐹,Ember Ignite virtual mini conference 🔥,Ember at LinkedIn Eng 2022 🎉,Why Ember at Gavant 💛,ember-template-lint 4.0 released 🧹,ember-focus-trap 1.0 released 🛳,Polyfill for Plain Functions as Modifiers ✨,Ember Templates in Glimmer Cheatsheet 📚,Whiskey, Web and Whatnot Episodes 🎙Ember 4.0 and 4.1 released 🐹Ember released version 4.0 of Ember.js, Ember Data, and Ember CLI. Ember's 4.0 release focuses the framework by removing long-deprecated APIs and support for legacy platforms.While Ember Octane APIs have been the default for new applications since Ember 3.15, the framework has continued to support "Classic" framework features in accordance with its semantic versioning commitment. Ember 4.0 takes a step forward and drops already-deprecated classic APIs, however the foundational EmberComponent and EmberObject/computed APIs are not removed in this release.Notable changes in the Ember 4.0 release includes:Dropping Internet Explorer (IE) ... +
3年前
記事のアイキャッチ画像
The Ember Times - Issue No. 195
Ember.js Blog
+👋 Emberistas! 🐹Submit your questions for the Ember Framework AMA, Feb 4th 🙋‍♀,RFC: Add Ember Cookbook 🍳,Ember.js Triaging Office Hours 📚,Ember v4 TypeScript Support Update ✨,Pass me the remote - meetup recordings about V2 addon format and teaching Ember 📹,Mel Sumner on the ShopTalkShow Podcast 🎙,Router Analysis Survey 🚀,How to's with Ember 🔥,Ember Addon Roundup 🌎Submit your questions for the Ember Framework AMA, Feb 4th 🙋‍♀️On February 4th at 2 pm Eastern Time, the Ember.js Framework team will livestream some community questions and answers.Would you like to submit a question or two?Use the Ember Times reader question form, bit.ly/ask-ember-core."AMA" stands for "ask me anything - the team would love to hear what you are wondering about!Livestream details will be posted on the Ember.js Twitter.The session will be recorded and published online, so if you miss the livestream, don't sweat it.RFC: Add Ember Cookbook 🍳Ketaki Deo (@ketakideo) opened an RFC to add a cookbook secti... +
3年前
記事のアイキャッチ画像
The Ember Times - Issue No. 196
Ember.js Blog
+👋 Emberistas! 🐹Extended CFP deadline for Ember conf 📢,Ember.js Framework Core Team AMA 🙋‍♀️,Chris Krycho is added to the Framework Core Team 🎉,Ember Addon Roundup 🌎,Whiskey, Web and Whatnot with guest Chris Thoburn 🔊,Ember Ignite Reminder 🔥Extended CFP deadline for Ember conf 📢If you're still thinking about submitting a talk for Ember Conf you should know that the call for CFP's has been extended by 48 hours (end of 2/16), so you still have a little more time to get your talk idea submitted. 🎉For talk ideas or to get feedback on your talk head on over to #talks or chat more about EmberConf in #emberconf.Ember.js Framework Core Team AMA 🙋‍♀️If you did not get a chance to listen to the live awesome Ember.js Framework Core Team Ask Me Anything (AMA) live stream event hosted by Karl Becker (@karlbecker) and Jen Weber (@jwwweber), don't worry! You can listen to the recorded session today! 🔥Ember Core Team members Yehuda Katz (@wycats), Tom Dale (@tomdale), Melanie Sumner (@melsu... +
3年前
記事のアイキャッチ画像
The Ember Times - Issue No. 197
Ember.js Blog
+👋 Emberistas! 🐹Ember Annual Community Survey is here 🙋‍♀️,First-Class Component Templates RFC is merged 🎉,Official TypeScript Support in Ember RFC is merged 🥳,TypeScript Adoption Plan RFC is open 📓,Add Ember Cookbook RFC is in FCP ⌛️,State of Frontend calls for you ❓,Ember 4.2 Released 🔥,Mocks with MSW Demo 🤖,Whiskey Web and Whatnot Episodes 🎙,EmberFest 2021 Videos 📹,Component Architecture Talk Slides 📽,ember-eui releases 🚀Ember Annual Community Survey is here 🙋‍♀️It’s that time of year again 😀, the annual official 2022 Ember Community Survey is here! Once again we would love your help to learn about who is in the Ember community and how they work with the framework.Last year over 1000 people participated in the survey. As always, your participation is invaluable so please do consider participating.If you're ready, you can go ahead and fill out the survey here now. 🔥🔥🔥If you have any questions, feel free to email the survey team via survey@emberjs.com, or ping us in #d... +
3年前
記事のアイキャッチ画像
The Ember Times - Issue No. 198
Ember.js Blog
+👋 Emberistas! 🐹Fill out the Ember Community Survey by April 7th! 🗳,Hybrid Ember.js Europe Meetup, featuring Ember Data 📽,Ember TypeScript Core Team 🔥,Upcoming free technical writing workshop 📝,EmberConf on April 19th 🐹,Blog post: Making your dynamic Ember components work with Embroider 💥,lint-to-the-future demo video 📹,Glimmer component Signature type RFC in FCP ⌛️,Ember Addon Roundup 🌎Fill out the Ember Community Survey by April 7th! 🗳The annual Ember Community Survey helps guide direction in the Ember ecosystem. The data informs project prioritization, sparks new ideas, and reveals opportunities for growth. The Ember core teams would love to hear from you!The survey is primarily intended for developers who use the Ember JavaScript framework, either for work or personal use, although any developer is welcome to fill out this survey. The survey should take approximately 15 minutes to complete in full, though all questions are optional.Learn more about the survey and fill it ... +
3年前
記事のアイキャッチ画像
The Ember Times - Issue No. 199
Ember.js Blog
+👋 Emberistas! 🐹Fill out the Ember Community Survey by April 7th! 🗳,EmberConf on April 19th 🐹,Upcoming free technical writing workshop 📝,Chris Ng is added to the Learning Core Team 🥳,Decorators are in TC39 Stage 3 🎉,Whiskey Web and Whatnot Episodes 🎙,Dynamic component import demo 😎,Ember Addon Roundup 🌐Fill out the Ember Community Survey by April 7th! 🗳The annual Ember Community Survey is open for only a few more days (until 4/7)! This is another reminder that the Ember core teams would love to hear from you!The annual Ember Community Survey helps guide direction in the Ember ecosystem. The data informs project prioritization, sparks new ideas, and reveals opportunities for growth.The survey is primarily intended for developers who use the Ember JavaScript framework, either for work or personal use, although any developer is welcome to fill out this survey. The survey should take approximately 15 minutes to complete in full, though all questions are optional.Learn more about ... +
3年前
記事のアイキャッチ画像
The Ember Times - Issue No. 200
Ember.js Blog
+👋 Emberistas! 🐹TypeScript in Ember 🤝,Addon Roundup 🌐,Time to watch some movies 🍿,Using Ember in 2022 🏙,TypeScript in Ember 🤝As you might have noticed during EmberConf 2022 TypeScript and Ember are becoming more and more a thing. Chris Krycho (@chriskrycho) gave a talk about Ember's road towards TypeScript. He wrote multiple interesting blogposts about TypeScript: Misusing TypeScript Assertion Functions for Fun and Profit and SemVer for TS in Practice. Krystan Huffmeme (@gitKrystan) updated her blog post about TypeScript with the latest and greatest Ember + TypeScript practices. Not only in the realm of blogposts is TypeScript hot and happening, ember-responsive-image latest update (v3.4.0) adds Glint support to the add-on.Addon Roundup 🌐NullVoxPopuli (@NullVoxPopuli) released several minor versions of ember-resources, an addon that implements the Resource pattern, which added a simplified API (in v4.7) for creating inline, one-off, resources -- using "plain functions". Addition... +
3年前
記事のアイキャッチ画像
The Ember Times - Issue No. 201
Ember.js Blog
+👋 Emberistas! 🐹EmberFest 2022 🇫🇷,Embroider is legit 🧵,Starbeam 🤩,Testing Tasks and Flexible Components Posts 📖,Advanced template support in Intellij Idea 💻,ember-statechart-component 6.0.0 📊,Whiskey, Web and Whatnot Episodes 🔊EmberFest 2022 🇫🇷EmberFest 2022 is happening on September 22-23 in Paris 🇫🇷, and tickets are now on sale! 😊If you’re looking for updates on the latest and greatest in Ember and Glimmer this is the place to be. EmberFest is also a great opportunity to get in touch with the European Ember Community (and friends from abroad) and hiring Ember talent.Don't wait too long to book your ticket and travel as September will be here before we know it!Embroider is legit 🧵Embroider has been declared stable since v1.0.0, or around 6 months ago (released mid-January 2022). Embroider is the 2nd generation build pipeline to Ember Apps that enables the usage of “Standard JavaScript” and leverages standard JavaScript packagers such as Webpack.Since even before v1.0.0,... +
3年前
記事のアイキャッチ画像
The Ember Times - Issue No. 202
Ember.js Blog
+👋 Emberistas! 🐹Ember 4.5 Released 🚀,RFC: Evolving Ember's Major Version Process 🌲,RFC: Standardize npm yarn use ✨,RFC: public types for Owner, Transition, RouteInfo in FCP ⌛️,Ember Addon Roundup 🌐,Whiskey Web and Whatnot Episode with Dan Gebhardt 🔊,Modern CSS in an embroider enabled app 📖,Ember Chessboard Videos 📼Ember 4.5 Released 🚀Ember 4.5 was recently released and it included a few new features for Ember.js around using plain functions as helpers and a new renderSettled test helper. Ember CLI also introduced a few deprecations and various bug fixes.Head on over to the release post to get more details.RFC: Evolving Ember's Major Version Process 🌲Chris Krycho (@chriskrycho) published an RFC on Evolving Ember’s Major Version Process. The RFC proposes to put major versions on a predictable 60-week cadence, similar to the 6-week minor release cadence.The RFC argues that while Ember mentions that it aims to "make major releases as rare as possible” since it forces development t... +
3年前
記事のアイキャッチ画像
The Ember Times - Issue No. 203
Ember.js Blog
+👋 Emberistas! 🐹Ember 4.6 Released 🔥,Plain Old Functions as Helpers 😎,Deprecate Proxies in Ember Data RFC ✨,Speed Improvements in Ember Data Tests 🏎,eslint-plugin-ember 11.0 Released 🧹,Ember Addon Roundup 🌐,Whiskey Web and Whatnot Episode with NullVoxPopuli 🔊,Ember Chessboard Videos Part 3 📼,Migrate ember-data models to Octane 📓,Effects in Ember 🙌,Prevent Load Flashing ⚡️Ember 4.6 Released 🔥Ember 4.6 was recently released!This release included a few bug fixes for Ember.js, 1 deprecation for Ember CLI, and 9 bug fixes for Ember Data. The release also includes 8 deprecations for Ember Data and improvements to Ember Data's build size!Head on over to the 4.6 release blog post and give it a read today!Plain Old Functions as Helpers 😎In case you missed it, there's a new post by Chris Krycho (@chriskrycho) that covers a long-awaited feature that was released recently in Ember 4.5, plain old JavaScript functions as helpers! 😎As the post indicates, this means two things today:You c... +
2年前
記事のアイキャッチ画像
The Ember Times - Issue No. 204
Ember.js Blog
+👋 Emberistas! 🐹Ember Security Releases Blog Post 🔒,Ember 4.8 released 🐹,prettier-plugin-ember-template-tag released 🙌,more-confetti-addon released 🥳,Dive into modern @ember-data 🏗️,Learn how to overwrite the default transition after authentication 🗝️,Deprecation of Ember array prototype extensions 🧹,Watch the movies 🎞,Evolving Ember’s Major Version Process ⭕,Announcing the Official TypeScript Types Public Preview 🔥,Ember Resources Release 🎉Ember Security Releases Blog Post 🔒Ember.js 3.24.7, 3.28.10, 4.4.4, 4.8.1, and 4.9.0-beta.3 were recently released to patch a security vulnerability for apps that pass untrusted input as paths to EmberObject.setProperties or EmberObject.set, or the corresponding standalone functions setProperties or set. Apps that do this may get surprising results that, in combination with other application bugs, could lead to cross-site scripting vulnerabilities.Head on over to the blog post to read more about the security patch.Ember 4.8 released 🐹Em... +
2年前
記事のアイキャッチ画像
The Ember Times - Issue No. 205
Ember.js Blog
+👋 Emberistas! 🐹Ember 4.10 released 🐹,ember-template-lint 5.0 released 🧹,EmberConf News 🎤,New addons ✨,Updated addons 📬,Ember 4.0+ upgrade survey 🐹,Call for support with TS support in Ember 📦,Wacky Tricks We Use in Publishing TypeScript Types ▶️,A new codemod to migrate addons to v2 format 📣Ember 4.10 released 🐹Ember 4.10 was recently released!This release included several new features for Ember.js including the introduction of the @ember/owner package as specified in the API for Type-Only Imports RFC, 2 bug fixes for Ember.js and several deprecations. The release also includes 5 new features for Ember CLI.Head on over to the 4.10 release blog post and give it a read today!ember-template-lint 5.0.0 released 🧹Version 5.0 has been released for ember-template-lint, the linter for best practices with Ember handlebars templates.The key changes include:Linting embedded templates by defaultAdding nearly a dozen rules to the recommended configChanging a few rule names and option defa... +
2年前
記事のアイキャッチ画像
The Ember Times - Issue No. 206
Ember.js Blog
+👋 Emberistas! 🐹Polaris Update 🚀,EmberConf 2023 🎙️,EmberFest 2023 🇪🇸,Open Core Team Meetings 💻 ,a modern way to write codemods 🤖,a codemod to help introduce Glint ✨,Ember Inspector in Safari 🔎,release of prettier-plugin-ember-template-tag 🔥,make VS Code ready for EmberJS 📦,Europe Ember.js Video 🇪🇺,start contributing today 🐹🚀 Update: The Polaris Edition of EmberWe’re trying something new with this edition of Ember-- using a GitHub Project! The Polaris Project is not only a great way to keep track of the active updates to the work being done for this edition, but also look for ways that you can participate!While we are still working to define success for this edition (stay tuned for that!), using standard project management has been an improved way to give more transparency to our work and our hypothesis is that it will also increase community member participation as a result.The Polaris edition intends not only to continue deprecating Ember features that now have native we... +
2年前
記事のアイキャッチ画像
The Ember Times - Issue No. 207
Ember.js Blog
+👋 Emberistas! 🐹EmberFest 2023 is a wrap 🇪🇸, Ember 5.3 is released 🚀, ember-shiki 🌈, Ember videos 🎞️, Whiskey, Web and Whatnot 🎙️, Addon releases ✨, Embroider addon audits 🧀🇪🇸 EmberFest 2023 is a wrap!EmberFest 2023 happened this past week and it was full of exciting talks that hopefully you were able to see in person or remotely. There were talks from Ed Faulkner (@ef4), Chris Thoburn (@runspired), Preston Sego (@NullVoxPopuli) and more!A huge thank you to all who were involved in coordinating and presenting and otherwise helping to put EmberFest together. We are already excited for next year's event 🎉🐹🔥🇪🇺!EmberFest videos may be forthcoming at some point in the not too distant future hopefully 🤞. We'll post here in the Times if and when they are, so keep an eye out!🚀 Ember 5.3 is releasedEmber 5.3 has been released. There were a few deprecations for Ember and Ember CLI. Ember CLI now officially supports --pnpm🔥. EmberData shipped quite a bit of work around RequestMa... +
1年前
記事のアイキャッチ画像
The Ember Times - Issue No. 208
Ember.js Blog
+👋 Welcome to 2024, Emberistas! 🐹EmberFest 2023 videos 🇪🇸, Ember Europe meet-up video 🇪🇺, Glint Deep Dives 🤿, Practicle Blogposts 📝, Addons since 1st of JanuaryWelcome to 2024!It's been an irregular year when it comes to this amazing blog/newsletter. This edition does its best to wrap up some of the important resources released in the last quarter of 2023. It will not cover all the releases of the addons we usually cover. Starting this February we'll try to send out the Ember Times bi-weekly again and we could use your help. If you are interested in writing for the Ember Times, please reach out on Discord (#support-ember-times)!If you are interested in keeping up with all that is going on within the Ember Core teams, you can join the meetings on our Discord server. Since the last time we published this list, two things changed. The RFC meeting happens twice on Friday to make it more accessible for people in/around the EU timezone. With Polaris coming up, on Monday you can join t... +
1年前
記事のアイキャッチ画像
The Ember Times - Issue No. 209
Ember.js Blog
+👋 Emberistas! 🐹Modern EmberData 📜, faster components 🚀, v2 addons, learning EmberJS at AuditBoard, help the adopted-ember-addons📜 Modern EmberDataChris Thoburn (@runspired) walks you through one of the key changes that come with RequestManager that highlights the advantages of the changing architecture, as well as tease a bit of what is still to come: All requests should use EmberData. The blog post will highlight what's to come and what has happened over the last years to set EmberData up to be ready for the future that is schema and spec-driven.🚀 Are template-only components faster?Preston Sego (@NullVoxPopuli) puts components to the test in this clear blog post and explains how you can test your components. So if you are interested in the answer to the question "Are template-only components faster?", check out their blog post!✨ All addons to v2With all the work on embroider more and more addons are publishing major versions in which they upgrade to be a v2 addon.This week we h... +
1年前
記事のアイキャッチ画像
The Ember Times - Issue No. 210
Ember.js Blog
+👋 Emberistas! 🐹News 🗞️, EmberData updates 🛸, Addons ✨, EmberEurope Q1 videos 🇪🇺, Webpack Subresource Integrity plugin for Embroider 📦, ember-serviceable-helper 🚚, Generate Glint template registry 🗂️ and Gember 🫚🗞️ Noteworthy newsGitHub now has full support for syntax highlighting the template tag component authoring format. (.gjs/.gts). Thanks to everyone who contributed by converting their files 👏.Ember's Discord server has now an amazing showcase channel. The goal of this place is to share amazing apps or addons build with Ember!EmberConf is happening in New York City 🗽 on the 31st of May. With this short timeline, the opened CFP will close on the 17th of April and talks will be accepted on a rolling basis. So do you want to share your Ember story from the Big 🍎, send your CFP now!🛸 EmberData updatesEmberData has made some exciting updates recently. A TypeScript Guide has been added to their in-repo guides, along with badges that show the latest published versions for ... +
10ヶ月前
記事のアイキャッチ画像
The Ember Times - Issue No. 211
Ember.js Blog
+👋 Emberistas! 🐹EmberConf 2024 videos 🗽, Live coding WarpDrive 🌌, Ember Europe Q2 🇪🇺, Games with Ember 👾, New addons & libraries 🎊, Updated addons 🌟, EmberData v5.3.x 📦, Security fix for ember-cli-polyfill-io 🔓, read up on template tag & named blocks in the guides 🧱🗽 EmberConf 2024 videosWe enjoyed an energizing EmberConf on the 31st of May in New York City. If you missed the conference or want to watch specific talks back, you can check out the playlist on YouTube.🌌 Live Coding at EmberConf 2024: WarpDrive Legacy Relationships SupportJoin us as we dive into the exciting world of WarpDrive (previously known as EmberData) live from New York City! Despite the hustle and bustle, we're tackling some critical updates and sharing our progress with you. Apologies for the background noise, we couldn't find a quiet spot, but the energy of the city is all part of the experience. Stay tuned for insights, discussions, and a peek into our development process in this vibrant atmosphere!... +
7ヶ月前
記事のアイキャッチ画像
The Ember Times - Issue No. 52
Ember.js Blog
+Emberistas שלום! 🐹Read either on the Ember blog or in our e-mail newsletter what has been going on in Emberland this week.Those Request for Comments (RFCs) keep coming and this is why we present 4 entirely new proposalsthat you shouldn't miss this week.We also have an amazing tutorial for creating accessible web applications for you, to give you a head start in developing, shipping and testing your apps for a11y 👭Check out what's been going in Emberland 🐹 these days:An Object Upgrade with Class 🌟For Ember the road ahead is beset with native ES classes.Last summer the first Request for Comments (RFC) for making ES classesa real thing in Ember had been merged and changed the future outlook for Ember's public API drastically.The proposal crafted the idea of making the well-aged EmberObject model cross-compatible with the more modern ES Class syntax.This paved the way for Ember to evolve with the latest state of the JavaScript ecosystem in mind.Since then, early adopters in the communi... +
7年前
記事のアイキャッチ画像
The Ember Times - Issue No. 53
Ember.js Blog
+Mholweni Emberistas! 🐹Read either on the Ember blog or in our e-mail newsletter what has been going on in Emberland this week.And this week we not only have an insider tip on how to dramatically reduce your app build times 🕐 for you,but we're also reporting back on easy-peasy module imports 🙌 and - last, but not least! - presenting you a brand-new Readers' Question 💯 in this edition of the Ember Times.Check it out!Need for Speed: Ember Edition - Speed Up Ember BuildsHave Ember CLI build times been causing you grief? Do you want to shave 20 seconds from your rebuilds?Tomasz Smykowski has been experimenting with building on SSD vs RAM Disk. He has seen up to 32x speed improvements! Speedups were found when upgrading to a faster processor and using an SSD.Upgrading RAM wasn't found to be helpful however the biggest gain was found by using a RAM disk to hold the project folder which allowed 3x speed gains during builds. The drawback of this is that when the computer shuts down the RAM ... +
7年前
記事のアイキャッチ画像
The Ember Times - Issue No. 54
Ember.js Blog
+привет Emberistas! 🐹Read either on the Ember blog or in our e-mail newsletter what has been going on in Emberland this week.This week you can read all about the 📦 Ember 3.2 and how the 🐹 Core Team has reorganised.There's also a great tip on how you can improve your testing with the new and improved 🚀QUnit DOM.At last, there's news about 👩‍💻 Twiddle as well as a nice 📹 video on the Ember Styleguide. Enjoy!Organising the OrganisersThe Ember Team has published a new blog post outlining some structural changes to the Core teams. It contains two changes: A new Steering Committee and a renaming of some of the existing teams.The Steering Committee will be responsible for areas like community guidelines, managing Ember’s brand, dealing with legal questions and much more.The renaming of the Ember teams means that moving forward, all the official teams will be known as Core teams: Ember.js Core, Ember CLI Core, Ember Data Core, and Ember Learning Core.The intent here is to make it clear t... +
7年前
記事のアイキャッチ画像
The Ember Times - Issue No. 55
Ember.js Blog
+nuqneH Emberistas! 🐹Read either on the Ember blog or in our e-mail newsletter what has been going on in Emberland this week.This week you can learn about updating your Ember app 💁🏻. Learn from firsthand experience how to become an addon maintainer 💪. Get some tips on writing your own RFCs ✨. Check out the new SEO tactics of Ember 🔎 and last but not least learn about the potential move of Ember to a new chat platform 💬. Go ahead and enjoy!Don't Worry, Ember CLI Got You Covered 💻The number one tool for updating Ember.js apps or addons got even better. The newest version of ember-cli-update now runs qunit-dom-codemod for you. This means that you, with close to no effort at all, can utilize this great addon for your tests.And the cool thing is that ember-cli-update fetches new codemods during runtime - so no need to update to get this nice codemod! To run the codemod, type ember-cli-update --run-codemods and magic will take care of the rest for you.You can visit the addon page for e... +
7年前
記事のアイキャッチ画像
The Ember Times - Issue No. 56
Ember.js Blog
+Ia orana Emberistas! 🐹Read either on the Ember blog or in our e-mail newsletter what has been going on in Emberland this week.Learn more about lazily loaded dependencies with ember-auto-import ✨, the latest update of Ember in TodoMVC, the obligatory"Hello World" example for JavaScript libraries 📝, and the latest Ember 3.3 release ⬆️.Be sure to also join us on a tour 🚌 through recent RFCs (Request for Comments) proposing features that will landin an Ember app near you soon! 🚀Got Dependencies? 📦We’ve previously highlighted the great ember-auto-import by the wizardly Edward Faulkner🌟 as a way to import npm packages into your Ember app. With the latest update, it got way cooler.As he demonstrates in this nice screencast, with v1.2.0 you can now lazy load dependencies via import()! The dynamic import() will load the dependency as well as all its recursive dependencies via a separate JavaScript file at runtime. That’s really awesome.To get started, watch the screencast or dive into the... +
7年前
記事のアイキャッチ画像
The Ember Times - Issue No. 57
Ember.js Blog
+~ Γεια σου Emberistas! 🐹Read either on the Ember blog or in our e-mail newsletter what has been going on in Emberland this week.This week you can learn about how to make ember-inspector best inspector ever ✨, single word angle-bracket invocation, and how Ember + WebAssembly are now the best of friends 👐. Find out when to grab a snack 🍿 and join the ember-data live streams 🎥 . Confused about ember-lifeline and ember-concurrency? Checkout the brand-new Readers' Question 💯 in this edition of the Ember Times to unravel the mystery.Ember Inspector - Help shape the future! 🔍We're pushing hard to make Ember Inspector the world class DevTools you deserve, and would love to get your input and help!We would like to hear about feature requests and ideas you have, pain points you have experienced, and anything and everything you can think of, that you would like to see make it into future iterations of Ember Inspector. Please check out the discuss post and leave your thoughts, and feel free ... +
7年前
記事のアイキャッチ画像
The Ember Times - Issue No. 58
Ember.js Blog
+Xin chào Emberistas! 🐹Read either on the Ember blog or in our e-mail newsletter what has been going on in Emberland this week.This time we have a call-to-action to shape the future of the new Ember homepage 🎨👩‍🎨 for you, as well as a brand-new RFC for the Ember CLI Docs 📖,important accessibility updates for ember-toggle 🔘 and a special thank you note for some of our dedicated contributors ✨The Quest for Better DocumentationThere’s a brand new RFC (Request for Comments) for restructuring and refreshing the Ember CLI docs. Jen Weber prepared a great overview of what needs to change to improve Ember CLI documentation. This is especially important since these changes could empower new contributors, correct outdated information and make the learning process way easier.Besides a restructure of the information architecture, Jen proposes to use personas as a way of understanding what changes are needed, as well as transforming the site into an Ember app.Community feedback is as always ap... +
7年前
記事のアイキャッチ画像
The Ember Times - Issue No. 59
Ember.js Blog
+Merhaba Emberistas! 🐹Read either on the Ember blog or in our e-mail newsletter what has been going on in Emberland this week.This week's edition is jammed packed! Take a journey and find out how to use Ember to create Chrome Extensions. Test drive the latest Ember-CLI beta features. Dive deep into the Component Manager Bounds RFC. Learn how to help ship Mirage 1.0. Need Ember powered A/B experiments ? Outdoorsy open sourced an addon that might help.A framework for ambitious Chrome Extensions ⚙Esteban wrote an article on how he used Ember to create Chrome Extensions by combining multiple addons from around the community. He found a ton of of great starter and boilerplate projects on GitHub and identified some key ember-cli projects that make working with Chrome’s Extension API much easier.Specifically, Esteban mentions 3 ember-cli addons: ember-cli-deploy-chrome-app, ember-cli-post-build-copy, and ember-cli-concat that was instrumental in creating ambitious Chrome Extensions using Embe... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 60
Ember.js Blog
+Olà Emberistas! 🐹Read either on the Ember blog or in our e-mail newsletter what has been going on in Emberland this week.This week's Ember Times is all about cool web fonts 😎, community chat migrations and encouraging your inner Ember Data RFC champion 🛡. We also have lots of Ember app wizardry ✨ with ember-cli-create, a guide for using learning resources of all Ember versions efficiently and - last, but not least - a brand-new Readers' Question for you! 💁🏻Taking Web Fonts to the Next Level 🔠Do you like web fonts? Then it’s a good thing that ember-cli-webfonts released version 1.0 🎉Now you can use the webfonts-generator to generate web fonts as part of your ember build process. By default the addon expects to find SVG files in app/webfont-svg but all of this can be customised alongside with class prefixes, base selectors, font names and much more.All you have to do is run ember install ember-cli-webfont and you’re ready to go. Check out the Github repository for more information... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 61
Ember.js Blog
+Ħelow Emberistas! 🐹Read either on the Ember blog or in our e-mail newsletter what has been going on in Emberland this week.This week we have a fresh RFC for modifying your HTML elements 🛠 for you, as well as long-awaited async news from Ember Data 🕓, an empowering podcast session ❤️ and truthful updates for ember-truth-helpers! Check it out ✨Jazz Up Your Tags with Modifiers ✨A new Request for Comments (RFC) might bring new life to your HTML tags:The proposal for Modifiers presents a possible future API for components in Ember which allows toadd custom behaviour, like event listeners or styles, to DOM nodes in your components. Reliable access to DOM nodes will be guaranteed by the means of these element modifiers, alleviating issues with the outerHTML semantics mentioned in the this.bounds RFC which proposed a new way of accessing the root element of future Ember components.This RFC is a successor of the previous RFC#112: Element Modifiers and aims to bring many of the previously men... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 62
Ember.js Blog
+Привет Emberistas! 🐹Read either on the Ember blog or in our e-mail newsletter what has been going on in Emberland this week.Have a look into the next year of Ember with the official 2018 Roadmap RFC 🌆 and read up on plans for Module Unification with Ember Addons 🐹. We also prompt ❗️you to check out Ember CLI Update for fresh ✨ updates and last, but not least, we have a brand-new 🔥 Readers' Question 🌿 in for you this week:RFC: Ember 2018 Roadmap 🛣Tom Dale published an RFC (Request for Comments) for the Ember 2018 Roadmap based on the feedback collected from the #EmberJS2018 call for blog posts earlier this year. Tom identified 3 key goals for Ember in 2018 along with 2 real world use cases to focus on.Goals:1. Improve communication and streamline decision-making, and empower new leaders.Make users feel empowered to become contributors and at the same time expanding and refining the core team structure which includes mentoring new leaders and cross-pollinating knowledge between tea... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 63
Ember.js Blog
+Sholem-aleykhem Emberistas! 🐹Be sure to join the new Ember community chat on Discord 💬! This week, you can have a look into Ember Data's Meta Quest 🔜, some fresh 🍎 RFCs, thoughts on fostering the Ember community 💛, and a special thank you to @mmun 🎉.Meet your Ember 🐹 friends at Discord 🗨The time has come: The Ember Community is starting its big move over to Discord. As proposed in the original and recently accepted RFC (Request For Comments) for the migration you can now chat with your Ember friends 🐹👭👬👫 from all around the world on the Ember Discord server. This comes - among other benefits - with the advantage of unlimited message history.Check out the new community chat today, be sure to set up your profile as described in the #setup-profile channel and to join #discord-server-admin to gain access to your favorite discussions 💬.Ember Data: RecordData Meta QuestThe Ember Data team is looking for community help to bring RecordData to a stable release! You can read more ab... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 64
Ember.js Blog
+Olá Emberistas! 🐹This week we're sharing news about the 🆕 Ember community Discord chat 💬, some fresh 🥑 RFCs, the State of JavaScript 2018 Survey 📝, Ember Data Help Wanted 🏗, and welcoming new Learning Team members 👋!Everyone's Moved! 📦 Meet Your Ember 🐹 Friends on Discord 🗣It's done! 👌 The community chat has finally moved over to Discord!Even more modern than IRC and ICQ combined, you can now chat with other Emberistas from all around the globe in many different topic channels with unlimited message history 💌✨.Join today and be sure to get setup as described in the #setup-profile channel. To start chatting, request the community-member role in #discord-server-admin, so the undaunted org admins can make sure THAT YOU ARE NOT A BOT BUT A REAL HUMAN LIKE US HA-HA 🤖.A Public Factory 🏭 for Your ModelsA brand-new 🔥 Request For Comments (RFC) makes addon authors' and Ember power users' 💪 hearts ♡ leap for joy:The previously deprecated Ember Data store method modelFactoryFor is... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 65
Ember.js Blog
+Ahoj Emberistas! 🐹In this week's edition we're sharing news about a fresh 🥒 RFC to deprecate .property(), exciting addon updates 🚀 for sparkles-component and ember-css-modules, and how Ember is a modern framework 🎉 - tell your friends!Deprecate All the Property 🏠 ModifiersRemember .property()?fullName: computed(function() { // ...}).property('firstName', 'lastName'),This modifier for computed properties in Ember has been around for quite a while.And even though computed properties have already allowed to pass in dependent keys as an argument directly, e.g….fullName: computed('firstName', 'lastName', function() { // ...}),…the modifier hasn't been deprecated yet. The main obstacle for the deprecation has beenthe one valid use of .property(): It is required for cp macros, such as filter or map which receive a callback function as their argument.A brand-new 🔥 Request for Comments (RFC) 🚒 proposes to transition away from the usage of .property for these macros to allow the deprecati... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 66
Ember.js Blog
+Emberistas سلام! 🐹Don't miss brand-new 🔥 RFCs for collocated addon tests and Router served query params this week!We also have news from Ember CLI Deprecation Workflow and a Lost & Found 🕵🏾‍ from the Ember API Docs for you,as well as a Thank You note for the most amazing Issue Triaging Experts! 🙂The Addon Test Is Right Where It Belongs ❤️Spending too much time looking for the test files of your in-repo addon? Feeling too exhausted to maintain a large test suite in which addon and host app test cases are meshed together? It doesn't have to be this way.Read more about how collocated in-repo test files are able to make your developer life easier in this shiny, new Request for Comments (RFC). And as always, be sure to leave your questions or ❤️ emojis right below the RFC's pull request description! ✨ember-cli-deprecation-workflow 1.0.0 Release 🎉This week, @rwjblue (with help from @mixonic, @atsao, and @gaurav0) released 1.0.0 of ember-cli-deprecation-workflow!ember-cli-deprecation-wo... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 67
Ember.js Blog
+Hello, pleased to eat you, Emberistas! -Dracula 🦇🍂 Fall is here and so is Hacktoberfest for Ember, CodeSandbox for Ember, and Storybook for Ember! We're also advertising Help Wanted for the new Ember CLI docs and the latest Ember Twiddle release! Read on in this week's issue…Hacktoberfest 🎃🍻👨‍💻Trick or treat! The fifth annual Hacktoberfest is here! Support open source and earn a limited edition T-shirt by making five pull requests this month to any public repos…why not all Ember ones?!Looking for something to work on? Pop into the #hacktoberfest channel on the Ember Community Discord and ask away with questions! Here are some issues to get you started:ember-learn/cli-guides-sourceember-learn/ember-api-docsember-learn/ember-styleguideember-learn/guides-sourceemberjs/dataemberjs/websitekaliber5/ember-bootstrapWant to help improve Ember Observer? Have a friend or coworker looking for their first open source pull request? A mere 977 addon repos on emberobserver.com/lists/invalid-repo... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 68
Ember.js Blog
+Hola Emberistas! 🐹EmberConf 2019 is here, is this the year for you to submit a talk idea?! 🗣 In this week's issue we're highlighting some ways to contribute to Ember: the Ember Help Wanted App 🚧, the new Ember CLI guides 📚, and Module Unification 📝. We're also celebrating some Hacktoberfest 🕸 wins. Read on!Find Ways to Help Out with the Ember Help Wanted App ✨Too much spare time at hand and don't know what to do? Wanna contribute to open-source? Then check out the sparkling ✨ new Ember Help Wanted App ✨!!The Ember Help Wanted App lists all current open issues across Ember repositories, like Ember CLI, Ember Data, the EmberJS Website and more which could use some support. The website is also a great resource if you're still looking forward to get your contributions in for Hacktoberfest, so be sure to check it out.EmberConf 2019 Call for Papers 📝Huzzah, the announcement is here! EmberConf 2019 will be held March 18-20 in Portland, OR! EmberConf is three days of activities, session... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 69
Ember.js Blog
+Namaste Emberistas! 🐹This week we're discussing 4️⃣ fresh RFCs 🥑: bringing truth helpers to Ember core ✍️, new error handling methods 🚨, jQuery-free Ember apps by default 😄, and some improvements to relationship links 🔗. We're also highlighting test coverage for docs when Ember is upgraded 🚧, the new ember-self-focused addon 👁‍🗨, the EmberConf 2019 CFP brainstorm 🧠⛈, and more…read on!Help Yourselves to Default Template Helpers 🍽️If you find yourself often reaching for the addon ember-truth-helpers in your templates then this new RFC by @cibernox is for you. This Request for Comments (RFC) proposes bringing in some of the template helpers in ember-truth-helpers into Ember Core.The reasoning behind this is that a few helpers from this addon are so common in Ember apps that it makes sense to add them into Ember Core itself to reduce the friction of needing to install an addon to get them.Another reason that might even be more important is that this could open up Glimmer VM low l... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 70
Ember.js Blog
+G'day, Emberistas! 🐹This week we have an Ember standard for i18n 🌍, more convenient transitions through your Ember apps with the new Router Helpers & Element Modifiers RFC, artisan ☕️ deprecations for setting your component managers, a new version of Ember, an exciting new Readers' Question 🤔 on the future of controllers, using GraphQL in Ember 💥, and more!ember-i18n Deprecation and Release of ember-intl 🌐@snewcomer and @cibernox announced a new way to internationalize Ember apps, ember-i18n is now deprecated in favour of ember-intl! This will provide Ember with a standard package for internationalization.There are many reasons to make the change such as:Using the ICU message format which is a standard in the i18n industryLocale-aware numbers, dates, times, currencies, decimals, and percentages!Uses the Native Intl APITranslations are way more powerful and can contain logic (like gender-dependent translations)Advanced addon support to provide translations to the host appThere is e... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 71
Ember.js Blog
+Bonjour Emberistas! 🐹This week your help is needed to bring tree-shaking 🌳 to Ember apps! RFCs on route actions and dynamic tags are ready for your comments 📢. We're also highlighting Ember for CodeSandbox ✨, and the awesome #30DaysOfEmber 📆 series. Read on!Make Tree-Shaking 🌲 Ready for Landing ✈️ - Your Help is Wanted!A promising approach to reduce the size of Ember apps dramatically is known as tree-shaking. This describes a way to exclude any code from your bundle which is ultimately not needed for your application to work as expected.The Packager RFC (Request for Comments) for bringing tree-shaking to Ember apps was accepted in April this year. Since then, lots of progress has already been made on the Ember & Ember CLI side of things. There is even the experimental addon ember-cli-tree-shaker that has been a tangible product of recent efforts to allow you to try out tree shaking today. But there's still a lot more to do. Your help is needed!If you're feeling up to the task to ... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 72
Ember.js Blog
+Kedu Emberistas! 🐹We need Emberistas at JSConf EU, so submit a talk to the newly opened CFP! 🗣️ There's an update to the RFC about RFCs 📜! You can also read about more informative Routes 🤓, watch a tutorial on how to build a live updating league table ⚽️ in Ember 3.5 📹, or help upgrade the test coverage of official Ember projects! ✍️JSConf EU CFP is Now Open! 👐JSConf EU, which will be held from June 1 – 2 2019 in Berlin, has officially opened their Call for Papers (CfP) for talks regarding JavaScript, the web, or a clever hack.This is a good opportunity for us, as Ember developers, to showcase our work to the greater JavaScript community. Similar to the EmberConf process, the CfP starts out blind and later gets de-anonymized.The call for speakers this year is open until December 23rd. JSConf’s sibling conference, CSSconf, even published a blog on How to write a great talk proposal for a tech conference.”Pick the topic you feel most passionate about. This is your conference.” is t... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 73
Ember.js Blog
+Suilad Emberistas! 🐹Last call for your talk submissions to EmberConf 2019! 📣 In this week's issue: eslint-plugin-ember v6.0.0 is out 🚓, watch all the talks from EmberFest 🎥, try out hot reloading in Ember ️🔥, and a sneak peak at DecEmber 😄…Your Last Chance to Become a Speaker at EmberConf 2019 🎤Never tried public speaking before, but you're curious to share your thoughts on something interesting you learned recently? Are you already an experienced meetup speaker and looking for the next stage? Have you spoken at conferences before and want to try something new?No matter what your experience level is, we're looking for you to become a speaker at EmberConf 2019. The CFP (Call for Proposals) will be open for only another 2 days, so be sure to get your talk proposal in this very weekend before Sunday, Nov 18, 2018 at 11:59pm MST.Out of ideas? Be sure to check out the Brainstorm CFP to inspire yourself!Not feeling ready yet? Be assured, that you are ready to tell us your story - we'r... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 76
Ember.js Blog
+εte sεn Emberistas? 🐹Join us with your contributions for DecEmber 🐹🎄, read more about using @tracked in the new RFC 👣, fill out the npm JavaScript Ecosystem Survey 📝, JSON:API 🇯 is getting an update for the holiday season 🎉🎊🎈 and Ember's linting future needs your input 💬!Jingle Bells 🔔, Jingle Bells 🔔, ✨ DecEmber 🐹🎄 All the Way!Find one of the issues 🔍 Ember Learn project December label in use chat unchecked.Send in a PR ⬅️24PullRequests are worthwhile! 🐹Jingle bells, jingle bells, DecEmber all the way! 🐹🎄Tracked Properties RFC Is Up for Review! 👣The Tracked Properties RFC introduces a simpler and more ergonomic system for tracking state change in Ember applications.Developers can identify if a property or a getter should be autotracked by adding a @tracked decorator to it. This allows that value to have its dependencies automatically detected as it is used.Because tracked properties are a very thin layer on top of native JavaScript, setting and accessing tracked pro... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 77
Ember.js Blog
+Salut Emberistas! 🐹This week boolean component arguments 👻 are in for an RFC, learn more about component patterns 📚🧐, Ember 3.6 released 🚀, and the EmberConf speakers have been announced! 👏Boolean Dreams Come True ☁️Ever wanted to pass boolean arguments to your components like you would pass boolean attributes - like checked or readonly - to an HTML element?This fresh RFC (Request for Comments) discusses how this could become reality!Leave your thoughts on how boolean arguments could be implemented for Ember components in the comments below the original proposal.Ember 3.6 Released 🚀Ember 3.6 is out and ready to use. This release contains the last step of the Native Class Constructor Update RFC. This introduces native classes in Ember but with some caveats so remember to read the release post carefully before refactoring your code base.Ember 3.6 also contains the final stage of the router service RFC which includes some new methods that can improve the way you deal with routing. ... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 78
Ember.js Blog
+مرحبا Emberistas! 🐹This week: Find out what's new in Ember Inspector and Extensible Ember Inspector 👨‍💻, read about the Glimmer Components RFC ✨, register for EmberConf 2019 📆, and a new RFC on Render Element Modifiers 🔨!What's New in Ember Inspector and Extensible Ember Inspector 🐹The Ember Inspector team has been working hard over the past few months to close out lots ofsuper old issues (some from several years ago!), as well as adding newfeatures to Ember Inspector. Thanks to @nummiyou can now keep up with the changes being made as well! Whenyou open a new version of Ember Inspector, you'll now be shown an info tabwith all the changes since the last version.We also did a few third party library swaps and updates,most notably switching from ember-pikaday toember-flatpickrand using ember-table for the data tab.@rwwagner90 championed the date picker switch, which resolved several issues withpikaday, and also removed our dependence on jQuery.@thorsteinsson championed the ember-tab... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 79
Ember.js Blog
+Blein Vie Noa, Emberistas! 🐹🎆🎇The new year starts off with loads of new RFCs! Read more about suggested deprecations of Route render methods and selected ApplicationController properties 🈸! We also have a new RFC for a brand new look of emberjs.com, performance improvements 🏎 for the API Docs search, a new beta release of ember-cli-babel and an advanced testing exam for you!Website Redesign 🎨The official Ember website is due for a new look and feel. That is why a new RFC proposes a completely new look 💅 for emberjs.com. A side effect of not having updated the look and feel of the website for some years is that for people who aren’t involved in the day-to-day of Ember development, it’s easy to miss just how well the framework has kept up over the years.The redesign aims to modernize, update and improve all the things on the website so that the impression given to the general public matches reality.There’s already a good discussion going on in the RFC comment section, and we would... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 80
Ember.js Blog
+Grüezi mitenand Emberistas! 🐹This week you can read about the 🦄 magical gifts 🎁 of DecEmber ❄ and the decorators RFC moving into FCP 🎉! Check out a video on the State of Ember today 📺 and read our exclusive interview with community contributor @hakilebara 🧠!DecEmber ❄ is over? Collect your gift! 🎁DecEmber has wrapped up and it seems to have been a big hit! There were many contributions to ember-learn repos and it is all thanks to the awesome Ember community!Did you participate in DecEmber? We'd like to send you a thank you gift! Fill out the form and enjoy!Decorators in FCP 🤓The decorators Request for Comments (RFC) has been moved into Final Comment Period (FCP). This means that if you have thoughts about decorators now is your chance to add your comment.The motivation for the decorators RFC is that native decorators bring a more natural way of declaring computed properties to native classes than the current computed macros.As always, feel free to read the RFC and share your th... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 81
Ember.js Blog
+Salam Emberistas! 🐹This week we have news from the latest 3.7 release of Ember 🚀, an exclusive contributor interview with @serenaf 🎙,and a new RFC on Restructuring the Guides Table of Contents 🔖 for you!Ember 3.7 is Out! 🎉In the past week version 3.7 of Ember.js, Ember CLI and Ember Data has been released. The new release comes with lots of important bug fixes for Ember and new features for Ember CLI, including a new compatibility table for addon authors to be used in their projects' READMEs.Read all about the new release and how you can upgrade your app in the official release blog post."I contribute to Ember" with Serena FritschThis week we'd like to highlight the work of community member Serena Fritsch, also known as @serenaf.In an exclusive interview with the Ember Times she talks about her learnings contributing to the Ember Deprecations App and why she believes that every contribution counts.You can read the full interview on the Ember Forum.Read moreRFC: Restructuring the G... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 82
Ember.js Blog
+హలో Emberistas! 🐹This week you can read all about a new RFC for accessible routing 🗺, angle brackets coming 🔜 to the guides, a new way to decorate with Ember Decorators 🖼, a contributor interview with @bekzod 💬, check out the upcoming Ember.js documentary 🎬🍿🎥, a new RFC for contextual helpers 🎒 and more!New RFC: Accessible Routing in Ember 🗺Currently, routing in Ember is not natively accessible for users with assistive technology. This means that whenever the user navigates to a new route within an Ember application, screen readers do not read out the new content or appropriately move focus. This new RFC by @MelSumner proposes a solution to this so Ember routing can be natively accessible for users with assistive technology.Feel free to read the RFC and leave your thoughts as a comment.Coming Soon: Angle Brackets to the Guides 🎉A quest issue to convert the guides to angle bracket invocation is gaining traction. This effort will bring RFC 311 to the documentation in the next ... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 83
Ember.js Blog
+გამარჯობა Emberistas! 🐹2019 is coming in strong with a staggering amount of RFCs in FCP ⌛, an update on native classes in Ember 🚀, Ember.js Core Team Face-to-Face Meeting 😄, as well as an upcoming This.JavaScript: State of Frameworks! 🎉We also have an exclusive contributor interview with @jenweber for you! 🙌RFCs in Final Comment Period 🖊️⌛2019 is coming in strong with a staggering amount of RFCs in Final Comment Period (FCP). So come and check out these awesome work!Tracked Properties RFC by @pzuraq which introduces a simpler and more ergonomic system for tracking state change in Ember applications.Contextual Helpers & Modifiers RFC by @chancancode or supporting first-class helpers/modifiers in our templates.Two deprecation RFCs by @chadhietala are now in FCP - Deprecate Application Controller Router Properties RFC and Deprecate Route Render APIs RFC.Finally the Restructuring the Guides Table of Contents RFC by @jenweber where the Guides will be rearranged to provide a natural le... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 84
Ember.js Blog
+ሰላም Emberistas! 🐹This week we have a new 🆕 EmberWeekly.com, ✨ the new documentation site for Ember Mirage, an introduction to the EmberConf 2019 closing speaker – Sarah Allen 🗣️, a new theme 🖤 for your Ember Twiddles and an exclusive interview with Ember contributor @rwwagner90!EmberConf 2019 closing speaker: Sarah Allen 🗣️It was recently announced that Sarah Allen – @ultrasaurus – will be the closing EmberConf 2019 speaker!Sarah founded Blazing Cloud, a mobile development firm, and Bridge Foundry, a diversity and inclusion nonprofit. She previously served as Presidential Innovation Fellow in the Obama Administration at the Smithsonian Institution, and was an early engineer on After Effects, Shockwave, and Flash video. She now leads Google Cloud Platform infrastructure teams working on server-side events and security policy.So be sure to register for EmberConf if you haven’t yet!🆕 EmberWeekly.com 💥Our friends at Ember Weekly launched a new EmberWeekly.com. @ebryn tweets that the... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 85
Ember.js Blog
+こんにちは Emberistas! 🐹In this week's issue: watch the Ember.js Documentary 🍿, check out the Ember.js core team panel 📹, there's a big update to the guides 📐, a new RFC to deprecate computed().meta() 🚀, and we have an exclusive interview with Ember contributor Lisa Backer! 🎉Ember.js: The Documentary is Now Released! 🍿JavaScript was not always the dominant force in the web. Today a lot of SPA features we see around the web were pioneered by Ember. Explore the story of why and how Ember.js came to be in Ember.js: The Documentary!Here are a couple of quick snippets from the film. Tom Dale said:JavaScript frameworks don’t have to be disposable software. Web applications don’t have to be disposable software. You don’t need to tell your manager we need to stop writing any new features for the next 6 months because it’s been 2 years and we need to rewrite – Ember is a symbol of the fact that that is a false dichotomy.Yahuda Katz said:I really hope the best of Ember is ahead because I think... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 86
Ember.js Blog
+สวัสดี Emberistas! 🐹Fill out the 2019 Ember Community Survey! 📝 We have RFCs galore: two follow-up RFCs to make Tracked Properties better 👣, the full deprecation of Partials 🥛, the renaming of htmlSafe and the deprecation of with 🚫, and a RFC Roundup Redux episode of Ember Weekend 🔈 for you. This week we're also highlighting a wholesome Ember community experience 🤝, and last, but not least, an exclusive interview with Ember contributor @cibernox! 💬2019 Ember Community Survey 📝The official 2019 Ember Community Survey is here! We would like your help to learn about who is in the Ember community and how they work with the framework.This is the fifth year we're learning about the community's makeup and interests, and we look forward to sharing the results at EmberConf 2019 on March 18th. Over 1300 participants took part in the survey in 2018 (2018 survey results) and we are aiming for even more participation this year!Completing the survey should take about 15 minutes. We've added... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 87
Ember.js Blog
+Happy Friday, Emberistas! 🐹This week: Take and share the 2019 Ember Community Survey 🐹, Ember 3.8 released 🚀, SFC & Template Import Primitives RFC 🔬, Contribution Guides RFC in FCP ✏️, dig through the Classic Class Owner Tunnel RFC 🕳, Help Wanted 🚧, and a brand-new Readers' Question 🤓 for you!Let Your Voice Be Heard in the 2019 Ember Community Survey 🗣With 2019 already under way the Ember Core team would like your help to learn about who is in the Ember community and how they work with the framework. The 2019 Ember Community Survey is anonymous and only open until March 12th!Be sure to take survey today and spread the word among your colleagues and Ember friends!Take the surveyEmber 3.8 Released 🚀New versions of Ember, Ember CLI and Ember Data have been released. Not only does this release contain features like the Element Modifier Manager and the array helper - it also marks 3.8 as a new LTS candidate. Both the features and the LTS information can be found in the release post... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 88
Ember.js Blog
+👋 Emberistas! 🐹Be heard by filling out the Ember Community Survey! 🗣 Check out a video preview of Ember.js Octane tech 🎥, the latest release of ember-ajax 🎉, learn how to contribute to Ember Times 📰, a new full-stack livestream series 📹, and read about angle bracket component invocation syntax for built-in components 📐!Only a Few Days Left to Complete the Ember Community Survey 🚀This upcoming Tuesday, March 12th is the deadline to complete the Ember community survey. If you have already answered the survey, thank you! 🎉 Don’t forget to poke a lot of people around you to complete it too!If you have not yet completed it, please do. Your answer will give a better view on the Ember community and how it is used all around the world!Ember.js Octane Tech Preview 🎥Check out an awesome new video preview by @GavinJoyce explaining some of the features and improvements available as part of Ember Octane!The video briefly covers Module Unification and relevant changes to file structure in... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 89
Ember.js Blog
+Talofa Emberistas! 🐹 We hope to see you at EmberConf next week!Polish up the Guides preview for Octane ⛽️, invoke nested components with angle bracket syntax 📐, an update on module unification 📝, check out the new Yieldable Named Blocks RFC 📇, an Ember Data Development Plan RFC 💾 and more!Copy Editors For the Octane Guides Needed 📝Do you have a few minutes to read a page of the Work in Progress (WIP) of the new Octane Guides and send a PR for any kind of small fix? It's all about spelling, typos and factual accuracy in this round of copy-editing for the Octane Guides, and your help - however big or small - is greatly appreciated! 🖤Your work will contribute to a big initiative the Learning Core team and friends have been working on for a while and which will be highlighted at EmberConf next week!You can read more about how to contribute and what to look out for in the description of the related Quest Issue and thank you for your support - every little bit helps! ⭐️Invoking Compon... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 90
Ember.js Blog
+هيلو Emberistas! 🐹This week has been super busy with The Ember Times team reporting from EmberConf 2019 in Portland Oregon! We are sharing highlights from the conference with you 🐹, learn about Ember Octane ⛽️ in a series of blog posts 📖, read and comment on the new Bind Helper RFC 💖💪, and turn {{on}} the power with a new {{On}} Modifier RFC 🔌.Greetings from EmberConf 2019This week EmberConf - the biggest, annual Ember conference - took place in Portland, Oregon, United States. Ember developers from all around the world came together to learn more about the newest features of the framework, best practices, case studies and most importantly meet online Ember friends.Pictured are Jared Galanis, Melanie Sumner, Kenneth Larsen, L. Preston Sego III, Anne-Greeth Van Herwijnen as Zoey(!), Jessica Jordan, Jen Weber, Ryan Mark, Chris Ng, Amy Lam, and Ricardo "locks" Mendes. Not pictured: Robert Wagner, Alon Bukai, Edward Faulkner, Gaurav Munjal, Miguel Braga Gomes, and Sivakumar Kailasam.... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 91
Ember.js Blog
+හෙලෝ Emberistas! 🐹Read some RFCs around extending EmberObject 💡, learn how to build Hangman with Ember Octane 🎬, plus check out the Record Data Errors RFC 📇, an "e"mpressive EmberWeekend podcast with @mansona 🎙, and the Singleton Record Data RFC for Ember Data 💾! Last, but not least, catch our exclusive interview with Ember contributor @kategengler. 🚀RFCs around EmberObject Base Class 💡@pzuraq opened 2 new RFCs around using the EmberObject base class.The @classic Decorator RFC adds a set of warnings for users who adopt native class syntax with EmberObject base classes. By using the @classic decorator, the warnings around edge cases such as init vs constructor or use of Mixins are turned off. These warnings are used as a guide for components to slowly migrate away from extending from EmberObject to more standalone such as GlimmerComponent.The Injection Hook Normalization RFC supersedes the submitted Classic Class Owner Tunnel RFC. This RFC looks to answer how we should handle de... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 92
Ember.js Blog
+હેલો Emberistas! 🐹The video recordings of EmberConf 2019 are now available! But first, read about the benefits of volunteering at a tech conference 💪, an RFC on adding npm dependency lint ✨, a new {{fn}} Helper RFC 🎉, data loading and animation patterns in your Ember app 🌟, and you don't wanna miss tips on mentoring Ember developers 👩‍🏫! Enjoy some ✨ fan art by @delusioninabox 👩‍🎨, and read the exclusive interview with Ember contributor @pzuraq! 💬3 Reasons to Volunteer at a Tech Conference 💪🏼@lisaychuang shares her experience from this year’s EmberConf, and encourages newcomers in any tech community to attend a tech conference (and possibly volunteer!).As a volunteer, you can get:A warm welcome to the communityBehind the scene accessA chill home base during the conferenceCurious to learn more? Check out her post on Medium: 3 reasons why you should volunteer at a tech conference.Dependency Lint RFC ✨@Alonski proposed that the addon ember-cli-dependency-lint should be added to... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 93
Ember.js Blog
+ഹായ് Emberistas! 🐹Welcome to a Survey Special of The Ember Times! Besides a call for contribution to the Ember Engines Guides MVP that we're featuring this week, this issue will highlight the results of this year's Ember Community Survey. With over 1200 responses, thanks to you, the results of this survey give a nice insight into the Ember Community, where we currently are and also what we can improve upon. You are welcome to read the results yourself, but we as Ember Times writers will give you a nice overview and highlight three main reasons why the community still loves to use Ember today, as well as ways that we can reflect and improve. So enjoy the read. 📜Reason #1. Community 🏆One great reason to use Ember is the community that you are/will be a part of. Ember provides a wide platform for everyone to be an active learner and contributor. Where will you discover yourself next?This year, we surveyed 10 different ways to learn and contribute!Our 5 most favorite places to learn: (d... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 94
Ember.js Blog
+Bonghjornu Emberistas! 🐹This week: calling nested components in Angle Brackets Invocation Syntax 🔍, 2 RFCs for improving Ember Data 💬, an exclusive interview with Ember contributor @danielleadams 🎙, user impersonation with Ember Simple Auth 👤, check out code splitting on routes 🖖, a brand-new blog post about @action, {{on}} & {{fn}} 🚀, and last, but not least, EmberCamp videos are live! 🍿Nested Components in Angle Brackets: A First Look 🔍Starting Ember 3.10 (currently in beta), we can call nested components in angle brackets! 🎉🎉🎉 Recall, we want to use angle brackets to add clarity to code.EmberMap gave us a first look at the new syntax and how to incrementally migrate our templates. For example, the template,{{#ui-grid columns='md:2 lg:3' gutters='md:3' as |grid|}} {{#each sortedEpisodes as |episode|}} {{#grid.column}} {{podcast/components/podcast-card episode=episode}} {{/grid.column}} {{/each}}{{/ui-grid}}would become,<Grid @columns='md:2 lg:3' @gutters='md:3' as |grid|>... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 95
Ember.js Blog
+What's up Emberistas! 🐹This week you can read about the Component Templates Co-location RFC 🖇️, the story behind ember-model-select 📔, the launch of ember-intl-analyzer 🚀, and EmberFest 2019 announced 🇩🇰!Component Templates Co-location RFC 🖇️@chancancode opened an RFC around placing the component’s class and template in the same directory on the file system. The proposed change is to move the templates from being located at app/templates/components into the app/components directory, co-locating it with the component’s JavaScript file.This change provides component class/template coupling, a single source of truth for components, resolves deviations from route template conventions, and the lack of a single import. If you'd like to learn more, please take a look at RFC #481. Read, comment, and spread the word about it! 🖊️The Story Behind ember-model-select 📔Often, inspiration for a new idea comes from combining the best of existing ideas.For his first blog post, @nickschot share... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 96
Ember.js Blog
+Spring has sprung, Emberistas! 🐹This week: arrival of decorators in Ember 3.10 & Octane ✨, a new season of May I Ask a Question 🙋, contributions from the EmberJS Paris contributor workshop 🇫🇷, easier navigation through concurrency in your app tests 🕗, interview with Edward Faulkner on Embroider 🎙️, and building an e-commerce app with Octane 🔥! Read on…Decorators Arrive in Ember 3.10 & Octane ✨It's official: Decorators will be shipped with Ember 3.10 and Octane! 🎉In his latest coverage of Octane, Chris Garrett explains which decorators Ember supports, why others from ember-decorators addon weren't included, and how we can use a polyfill to start using decorators now.Please look forward to the launches of Ember 3.10 and Octane. Learn more about decorators today!P.S. Send your congratulations to Chris on his wedding and honeymoon! 💐Season 2, "May I Ask a Question" Begins! 🙋Jen Weber and Chris Manson kicked off the month of May with a new season of May I Ask a Question.Each week,... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 97
Ember.js Blog
+Kaltxì Emberistas! 🐹This week: the EmberFest 2019 CFP is now open 📝, build a GitHub Gist clone in Octane ⛽️,RFC proposing deprecation of mouseenter + mouseleave Ember Events 🐁, and last, but not least, an interview with Yehuda Katz 🎙️!EmberFest 2019 CFP is now open! 📝EmberFest – the European Community Ember Conference – will be held at Mogens Dahl in Copenhagen this year from October 17-18, 2019. They have recently announced that the CFP is now open with a deadline at August 1, 2019.EmberFest is looking for a wide range of talks, from in-depth technical talks to broader talks covering other aspects of software development. While Ember-related is best, EmberFest is open to considering talks that cover more general software / tech related topics that would be of interest to Ember developers.Submit your talk today!Build a GitHub Gist Clone in Octane ⛽️In this free video tutorial, Program with Erik and Jeffrey Biles pair program on building a simplified GitHub Gist clone in Octane. Je... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 98
Ember.js Blog
+Goeie dag Emberistas! 🐹This week:model hook illuminated in Ember.js Guides 💡,EmberCamp CFP open 🏕,Ember podcasts to keep us happy 📻🍩🎧,a proposal to use Empress to render the Ember RFCs 📃,a new release of the ember-shepherd addon 🚢,the new EmberWork.com ✌️,FAQs about Ember.js in 2019 🙋‍♀️🙋‍♂️, and last, but not least,trapping focus 💥 for better a11y in your Ember apps!model Hook, Illuminated in Ember.js Guides 💡If you haven't yet, please revisit and share the latest Ember.js Guides on Specifying a Route's Model! You will find beginner-friendly, comprehensive explanation of what you can do in a route's model hook. 💖In particular, our guide now shows:Why we want to use the model hookHow to use model, depending on your use case and knowledge of EmberHow to use dynamic segments in modelHow to debug modelThese updates are stepping stones to @jenweber's major initiative to help developers learn Ember Data. Please thank Jen for her positive work, as well as @acorncom, @lisaychuang... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 99
Ember.js Blog
+你好 Emberistas! 🐹Submit your input for Ember's 2019 Roadmap ✍️,Ember 3.10 released 🔟,new ways for you to mock requests in Fastboot tests 👢💨,faster builds on Windows with Docker 🐳,new addon ember-did-resize-modifier released 📐,and last, but not least, Crash Log: a new Ember and more podcast 🎙!Ember's 2019 Roadmap: Call for Blog Posts ✍️It’s that time of the year again! With the 2018 Roadmap underway, it’s time to think about what Ember will look like in 2019! The Roadmap process is part of Ember’s ongoing effort to have collaborative, clear, and published project-wide goals each year.We want your input on what the priorities are for Ember in 2019. You can talk about Ember Data, Ember CLI, learning, tooling, the community, addons, and anything else Ember-related. To start you off, we have early 2019 blog posts from @MelSumner, @wycats, and @NullVoxPopuli! Make sure you get yours in before the June 17th deadline (it can be anything from a company blog post to a GitHub gist)!To contr... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 43
Ember.js Blog
+Ola Emberistas!This week we try out another format for the newsletterand bring it right to the Ember blog - making it accessible to even more Ember enthusiasts in the community.And this week we not only have news about the 2018 roadmap for Ember CLI for you,but also highlights from the latest Ember 3.1 release.Last but not least, a new Readers' Question about a neat new syntax feature is waiting for you.Here's what's happened this week 🐹:The Road Ahead for Ember CLI in 2018This week the Ember CLI team has published their official roadmap for thecommand-line tool to keep the Ember community posted on which shiny new thingsmight be landing in an Ember app near you soon.The current project goals for 2018 include a dedicated transition story toModule Unification, enablingTreeshaking, adding service worker supportto the blueprint of Ember apps by default and many other exciting topics.You can read more about the roadmap on the Ember Forumand give your thoughts and suggestions in the discus... +
7年前
記事のアイキャッチ画像
The Ember Times - Issue No. 44
Ember.js Blog
+ಹಲೋ Emberistas!You can find our newsletter in both the e-mailand the blog format.Share it with all your Ember friends!In this edition, we will share updates for Ember CLI, what's upcomingfor Ember documentation very, very soon, and the latest Ember patch release thatneither you nor your apps should miss.Here's a recap of what happened in Emberland these days ✨Ember 3.1.1 Released 🐹✨This week, a patch for Ember was released. It includes several bug fixes, but here are a few selected ones:A bug was introduced in Ember 3.1 that caused ariaRole to not be appended if this was initially set as being false. The expected behaviour here is that if you initially set the ariaRole to false it should not be appended, but you might want to dynamically change this later on. This is now fixed with Ember 3.1.1.After upgrading to 3.1 some people started seeing errors like Cannot read property 'syscall' of null. This was caused by ComponentDefinitions leaking heap space. This has been fixed in Ember 3.1... +
7年前
記事のアイキャッチ画像
The Ember Times - Issue No. 45
Ember.js Blog
+こんにちは Emberistas!Lots of Ember programmers and writers have been busy this week! We have several new data-driven RFCs (📝 Requests for Comments), community efforts, and an outstanding update to Ember Inspector to present to you.As well as a sincere reminder to eat your veggies! 🥒🥕I hope my build never lets me down again in Ember 🐹Have you ever made a change in the source code of your Ember app and subsequently awaitedthe reload of your app's browser tab, to no avail?Seconds, minutes, a coffee later—you might have checked your terminal window—then at last, you find that syntax error in your templatethat led to a failing build, preventing the reload.This week's RFC proposes the automatic inclusion of ember-cli-build-notificationsinto new Ember apps. It's an addon providing system notifications for failing Ember app builds by default.The RFC proposal also discusses several alternative techniques to improve developer ergonomics regardingapp builds. If you're curious, check out the full ... +
7年前
記事のアイキャッチ画像
The Ember Times - Issue No. 46
Ember.js Blog
+හෙලෝ Emberistas!Again you can enjoy reading The Ember Times in both the e-mail and the blog format to share it even better with your Ember friends.This week we'll highlight a new RFC deprecating features from ancient Ember times and a sweet reminder for blogging about your best wishes for Ember and - last, but not least - we have a brand-new Readers' Question❓✨ for you!Moar #EmberJS2018 blog posts wanted!We've already seen a lot of thoughtful blog posts from the Ember team's call for community blog posts. But we're hoping for more! Have something to say?Write a blog post by May 30th to propose goals and direction for Ember in the remainder of 2018. The content of these posts will help the core team to draft their first Roadmap RFC.Looking for inspiration? Check out the #EmberJS2018 hashtag on Twitter or @zinyado's repo collecting posts on GitHub.Global resolution and more for Ember 🐹@Gaurav0 has submitted an RFC to finally deprecate the Globals resolver and the related API. The Global... +
7年前
記事のアイキャッチ画像
The Ember Times - Issue No. 47
Ember.js Blog
+안녕하세요 Emberistas!Again you can enjoy reading The Ember Times in both the e-mail and the blog format to share it even better with your Ember friends.This week we have several RFCs from the Ember Data 📟 project for you, as well as an #EmberJS2018 countdown, a new way to cast some template transform magic 🎩 and a recap of what has happened in Readers' Questions for you:Meta and Link all the Things in Ember Data 🐹This backwards compatible Request for Comments (RFC) allows ember-data users to associate optional meta and links on records alongside the top-level document meta (mandatory) and links (optional). Sadly, ember-data currently stores this information only on relationships and not individual records. The RFC design is pretty straightforward and proposes that all meta and links:will be honored in any resource that is part of a JSON API compliant documentwhen defined on resource identifiers (e.g. links inside a relationhip that link to other resources) will be ignoredwhen defined on... +
7年前
記事のアイキャッチ画像
The Ember Times - Issue No. 48
Ember.js Blog
+你好 Emberistas!Read either on the Ember blog or in our e-mail newsletter what has been going on in Emberland this week: We have some news for Ember CLI bundled up for you, as well as documentation highlights from the folks from ember-cli-addon-docs, a final reminder to hand in your Ember Roadmap blog post and a pretty big announcement from the Learning Team for you! 🙆🏾What is your wish for Ember in 2018?🌟There’s a week left of the Ember’s 2018 call for blog posts. There’s already been a lot of great blog posts from the community, but we’re hoping for more!Write a blog post by May 30th to propose goals and direction for Ember in the remainder of 2018. The content of these posts will help the core team to draft their first Roadmap RFC.Looking for inspiration? Check out the #EmberJS2018 hashtag on Twitter or @zinyado’s repo collection posts on GitHub.A Package out for delivery to Ember CLI 📦♥︎🐹Recently, lots of work has landed 🛬 in Ember CLI to bring the long-awaited Packager feature... +
7年前
記事のアイキャッチ画像
The Ember Times - Issue No. 49
Ember.js Blog
+Breaking News: Just import from NPM! 🚨Just before the editorial deadline, we received reports from the internet that there is now a way to easily npm install a package and import it into your Ember app. The addon ember-auto-import will allow zero-configuration imports out of the box today and should be a suitable until the packager feature lands in Ember CLI. Reports also claim that addon author and Ember Core team member @ef4 stated that his work was heavily inspired by a particular blog post series using the hashtag #EmberJS2018.ਸਤ ਸ੍ਰੀ ਅਕਾਲ Emberistas!This week we have a 🌟 Special Edition 🌟😲 for you: we'll take a look into the internals of the newEmber Guides website, which has had a complete makeover and relaunched this month to finally run on an amazing Ember app. This will finally make contributions through the Ember community immensely easier. ✨In this special edition of The Ember Times, @real_ate who championed the migration of the Guides will let us have a peek into the ne... +
7年前
記事のアイキャッチ画像
The Ember Times - Issue No. 50
Ember.js Blog
+Sawubona Emberistas! 🐹Read either on the Ember blog or in our e-mail newsletter what has been going on in Emberland this week:We have a couple of fresh 🥒 Ember RFCs (Request for Comments) in for you this week, a status update from the long-awaitedPackage 📦 feature in Ember CLI 💻, a call-to-action for creative writers ✍️ andlast, but not least, a brand-new Readers' Question for you 📚:Lets Send SendAction Away!The time has come. component#sendAction has served the Ember community well for years but in a new RFC by @cibernox he proposes to deprecate this feature. In the old days, before v1.13, component#sendAction was the only way to bubble up actions from components. Since v1.13 we have closure actions which are more intuitive and flexible and they are the current recommended Ember Way™ for doing actions in components.Closure actions have been the recommended way to do actions in components for almost 3 years. Also component#sendAction is not even mentioned in the guides anymore so ... +
7年前
記事のアイキャッチ画像
The Ember Times - Issue No. 51
Ember.js Blog
+העלא Emberistas! 🐹Read either on the Ember blog or in our e-mail newsletter what has been going on in Emberland this week.We have a reminder for a RFC (Request for Comments) which has entered its Final Comment Period (FCP),as well as a look into the Future of Ember and an engine-powered Roadmap highlight for you.This is what's happened in Emberland this week 🐹:Back To the Future 🤖✨A polyfill that is now available is ember-named-arguments-polyfill which polyfills the named arguments feature to work for Ember 2.10+.This is helpful for add-on authors who want to leverage the named arguments feature for a cleaner template. So, components receiving an argument named foo can now do:{{@foo}}. This allows you to distinguish arguments from local variables, computed properties and such.Named arguments already landed in Ember 3.1 so this polyfill is for anyyone who didn't upgrade but still wants to use the feature.The Future of Ember is nowQuite recently a plethora of RFCs (Request for Comment... +
7年前
記事のアイキャッチ画像
The Ember Times - Issue No. 74
Ember.js Blog
+This week we are thankful for our Emberistas! 🐹Check out the new Ember Data public packages 📦, this week's work by dedicated contributors 💪 to the Ember Guides, an improvement to the guides tutorial 🗺️, and the Ember in VSCode tutorial 💻!RFC for @ember-data packages 📦@runspired dropped a big RFC on Ember Data packages. The RFC proposes public import path changes for ember-data and moving ember-data into the @ember-data namespace.The motivations for these changes revolve around improving the TypeScript experience, reduce bike shedding, simplify the mental model, engage more contributors, improve CI time, and more! By breaking down the single large package into smaller consumable chunks, end users can pick and choose which parts they need and do not need as well as make the ecosystem easier to navigate.There are detailed designs on where each package will move towards so read more about it in the RFC on GitHub!With Learners in Mind: Improving the Ember Guides 🐹This week a set of c... +
6年前
記事のアイキャッチ画像
The Ember Times - Issue No. 75
Ember.js Blog
+Hallo Emberistas! 🐹This week we have: the Learning Team's first annual DecEmber ❄️, a sneak peek at the new Ember CLI guides 📖, final comments on RFC RFCeption 🤔, upvotes for the Ember subreddit ⬆️, a reminder to watch the first season of EmberFest 2018 🍿📽, a how-to for building your own painting game 🎨, and a guide to start writing components you'll love 💖!First Annual DecEmber Event! ❄️This year, the Ember Learning Core Team is sponsoring our first annual DecEmber, a hackathon event specifically targeted at Learning Team efforts! For an extra bit of awesome, it’s running at the same time as 24 Pull Requests, so contributions to DecEmber will count for both!Maybe December is a busy month for you, because of the holidays and family obligations—and that’s totally okay—we hope you have a great time! But for some, December is a time of the year with a lot of downtime. Maybe that’s you! Are you wondering what to do with all your vacation time in December? We’ve got ya covered!Partic... +
6年前
記事のアイキャッチ画像
The Road to Ember 3.0
Ember.js Blog
+Today the Ember.js Core Team is happy to announce our plans for the release of Ember 3.0. Ember 3.0 will arrive 2.5 years and 18 minor revisions after the release of Ember 2.0. The final release of the 2.x series will be Ember 2.18 on January 1st, 2018.Ember 3.0 removes public API deprecated in Ember 2.x releases. 3.0 does not introduce new public APIs or breaking changes.Traditionally, major releases of software are centered around marketing pitches and new functionality. In contrast, major releases of Ember are “garbage collection” releases. Ember APIs that were deprecated during 2.x but were still supported are purged from the codebase in 3.0. The APIs remaining in 3.0 reflect what we think of as the idiomatic way to build an Ember app.Ember 2.0 was the project’s first attempt at a major release where the transition path for apps and addons was a priority. The community took several important lessons from the 2.0 release cycle, and these have shaped our plans for 3.0. Please take a +
7年前
記事のアイキャッチ画像
The Road to Ember 4.0
Ember.js Blog
+Contributors to the Ember project have been hard at work since Ember Octane was released in December 2019.Over the duration of a challenging (and sometimes devastating) year and a half, we've shipped a powerful new feature (Named Blocks) and supported an ecosystem shifting to Octane conventions. We've more closely aligned Ember with wider frontend conventions through improved publishing & build tooling (Embroider) and better support for TypeScript (both through ember-cli-typescript and reducing reliance on type-unsafe framework features).Check out Godfrey's EmberConf 2021 keynote fora more complete walk-through of recent changes in Ember.Announcing Ember 4.0In his EmberConf 2021 keynote, Yehuda shared a name for Ember's next edition: Polaris. In order to unblock Polaris providing the best, most productive experience the Ember project can build, we're going to remove already-deprecated APIs in a 4.0 release.Ember 3.27, which has already been released, was the final version of Ember to i +
4年前
記事のアイキャッチ画像
The Road to Ember Data 1.0
Ember.js Blog
+TL;DR Ember Data 1.0 is coming soon. We have a few last features to land before wecan confidently make guarantees around not breaking the API. Specifically:A guarantee that if one side of a two-way relationship changes, the otherside will remain in sync, even if it hasn't loaded yet.All relationships will become async, but DataBoundPromises will make themwork well in observers, computed properties and in templates.Recall how it took us a few attempts to get the router right, but now we'vegot the best one in JavaScript. Getting Ember Data right has taken longer thanwe thought, but it's here and it's almost ready for a 1.0.Ever since the 1.0 release, developers building apps on top of Ember.js haveappreciated the stability and forward-momentum that our commitment to SemanticVersioning allows.We frequently get asked, "Ember.js is great, but what about Ember Data?" Today,we'd like to give you an update on where Ember Data is and where it's headedsoon.First, the good news: there is only one +
11年前
記事のアイキャッチ画像
This Week in Ember.js
Ember.js Blog
+There's been a lot of exciting changes going in the Ember.js community, here's a recap of some of the biggest updates.Data Format AgnosticismWhile we believe the vast majority of Ember.js apps will be using JSON forcommunication, there's no reason to restrict it so.To this end we've made two changes to Ember Data's DS.Store:A new extractId method has been added to the adapter for extracting the ID from a data hash, by default this asks for data.id.Any method with the term JSON has been renamed to use Data instead, for instance DS.Serializer's toJSON method has been renamed to toData.If you are using the built-in DS.RESTAdapter, these changes do not affect you.Check out BREAKING_CHANGESfor more information.Adapter Dirtiness HooksIn line with the efforts to decouple Ember.js from REST specifics, we've madesome more changes to how the adapter dirties records in relationships.Previously the store would dirty all the objects involved when a relationship was modifiedand let the adapter decid +
12年前
記事のアイキャッチ画像
This Week in Ember.js
Ember.js Blog
+Only a few more days left, I hope everyone's had a great 2012,while you get ready for the New Year, here's what's been happening in Ember.New Router APIThe new router API has been merged!We've spent a lot of time incorporating feedback about our firstiteration of the router, and we think you're going to really love whatwe've come up with. It helps you get started quickly, andeliminates the old API that forced you to write unwieldy nested objects.There is a short walkthrough thatdescribes the thinking behind the new API. Full documentation should belanding this week.Embedded RecordsAfter a massive refactor of the Ember Data library, it now fullysupports embedded records, amongst other goodies.As always, check out BREAKING_CHANGESfor information about updating your apps.DS.JSONSerializerIn the last post we talked about the changes in the serialization API's renaming methodsto remove the JSON specificity whilst adding hooks to manage relationship dirtiness.We've now fully extracted all th +
12年前
記事のアイキャッチ画像
This Week in Ember
Ember.js Blog
+It's been a big month for Ember.js, and we're excited about the progressthat we've made. With so much going on, it can be hard tokeep up-to-date with the project, so here's what you need to know.Ember CampWhile we have an incredible network of local meetup groups, EmberCamp is the first national event for the Embercommunity.We've been working hard on making sure that this event is both fun andeducational, and we'll be announcing the lineup of speakers soon.Unfortuately, tickets have sold out, so if you didn't get yours thistime, make sure you grab a ticket next year!While Ember Camp is happening, keep an eye on this website and on ourTwitter account. There will be several announcements you won't wantto miss!PeepCodeWe were fortunate enough to get to spend a day with Geoffrey Grosenbach,reviewing his in-progress PeepCode screencast about Ember.js. He spent alot of time getting to know Ember in-depth, and we think the finalproduct will be invaluable for new developers getting started wit +
12年前
記事のアイキャッチ画像
This Week in Ember.js
Ember.js Blog
+There's a lot of work happening on Ember.js and sometimes it's hard to keep track of what's going on. Here's what me and Yehuda got done this week.MeetupThe SF Ember.js Meetup on Tuesday (which we actually held in MountainView this month) was a success! It was sponsored by our friends atAddepar, who are also funding me and Yehuda to work on Ember Data forthe next few months. So, big thanks to them!Tony Sherbondy gave an overview of the Addepar app and described howEmber.js has helped them. The biggest "a-ha" moment for me was when hedescribed how they completely changed out the table view that powers bigchunks of the UI, and didn't have to make any changes in the rest of theapp. It's exactly this type of encapsulation that makes Ember a win, andI'm glad to see it happening in real life.I gave a talk on Ember Data, and discussed some of the new APIs we'll beworking on over the next few months. Yehuda gave a talk about the routerproposal. The pork belly buns from the Chairman Baofood tru +
12年前
記事のアイキャッチ画像
Typed Ember is now the Ember TypeScript Core Team!
Ember.js Blog
+Last Friday, the Ember project merged RFC #0724: Official TypeScript Support, committing to make TypeScript an officially-supported language for Ember.js. To make that a reality, we also need to have a team dedicated to maintaining Ember’s types and its TypeScript compiler integrations.Happily, we already have a group of people who do that! For the last five years, Ember has had community-driven TypeScript support, led by the past and present members of the Typed Ember team.The Typed Ember team joins the Framework, Learning, CLI, and Data Core teams as a new Core sub-team: the Ember TypeScript Core Team. Its initial members are the current Typed Ember team: James Davis (@jamescdavis), Dan Freeman (@dfreeman), and Chris Krycho (@chriskrycho).The team will continue to do all the things they have been doing:maintaining TypeScript build integration with ember-cli-typescript and ember-cli-babelinvesting in type-checked templates via Glintsustaining the community types on DefinitelyTyped (un +
3年前
記事のアイキャッチ画像
Update - The Ember Website
Ember.js Blog
+With the initial launch of the website redesign complete, we're now working on the various sub-domains that all come together to make up the Ember Website experience. We want to share these plans with the community, so that those who want to help know where to pitch in.Community members that want to help should familiarize themselves with the ember-styleguide addon - this is the UI addon that we're using to help us consistently apply the branded look and feel to all of the sub-domains within the website. We've created a handy documentation site, so those who want to help out should read through that before getting started.Next up, we plan to work on the blog! To help out with that, visit the Emberify and Redesign the Ember Blog project board on GitHub. Let us know that you want to help in the #st-website channel on the Ember Discord chat server.The project board shows, roughly, the order in which we plan to do the rest of the work:BlogGuidesAPI DocsDeprecation AppHelp WantedEmber CLI G +
5年前
記事のアイキャッチ画像
Update on Module Unification
Ember.js Blog
+Ember's conventions for project layout and file naming are central to thedeveloper experience. It's crucial that we get both the technical andergonomic details right. I wanted to provide an update about ModuleUnification and our plans for the file structure in Ember Octane.In short, we do not plan to ship Module Unification in Octane. Instead,Octane will ship with today's file system layout, with one change: supportfor nested components in <AngleBracket /> invocation syntaxBecause Octane apps will continue with today's file system layout, we want toaddress the largest barrier to <AngleBracket /> adoption today: componentsnested inside other directories.For example, if you have a component located atapp/components/icons/download-icon.js (i.e., nested inside an iconsdirectory), you can invoke it with curly invocation syntax like this:{{icons/download-icon}}However, it's not possible to invoke the same nested component with anglebracket syntax without resorting to clunky workarounds.As pr +
6年前
記事のアイキャッチ画像
Updates To The EmberData Lockstep Versioning Strategy
Ember.js Blog
+Updates To The EmberData Lockstep Versioning StrategyToday the EmberData team is excited to announce changes to how we manage lockstepversioning with the broader Ember.js project.The primary goal of these changes is to improve version-to-version stability for our consumers. We see this being beneficial in several ways.First, by releasing fewer versions that contain no effective changes other than the version bump, we believe consumers will be able to navigate version-by-version and LTS-by-LTS upgrades with greater stability and clarity.Second, if the only changes are bug fixes then these fixes are applied to the latest minorinstead of becoming strung out across multiple minors.Third, this should enable the project to move more carefully at times when more substantive changesare being made.We hope that this new policy will improve the ability for us to invest in upgrade paths forconsumers using older versions by focusing on providing the most robust release targets we can.Policy Changes +
1年前
記事のアイキャッチ画像
What's Coming in Ember in 2014
Ember.js Blog
+Every few months, the Ember core team likes to get together to discussissues face-to-face and set our priorities for the following quarter.This time, we all converged on Portland, Oregon for the weekend tofigure out where to focus our energy in 2014.Build Tools & ModulesWe spent the majority of our time discussing a unified plan thatcombines ES6 modules with fast, robust, full-featured build tools forEmber developers.One thing I love about the Ember community is that it values qualityover raw implementation speed. For us, it's more important to solveproblems than to solvescenarios,because scenario solving leads to fragmented solutions that don't scaleor compose as your app grows.So far, we've held off on endorsing any particular build tool because,while we've investigated all of them thoroughly, the currently-availableoptions all have fatal flaws that make them unpleasant to use as yourapp gets larger.Many people have also been asking us about modules. When we startedEmber, there were +
11年前
\ No newline at end of file diff --git a/blogs/b1ad6abe44c0505dfbebdf1986ffd3f8/index.html b/blogs/b1ad6abe44c0505dfbebdf1986ffd3f8/index.html new file mode 100644 index 000000000000..87227e16d48e --- /dev/null +++ b/blogs/b1ad6abe44c0505dfbebdf1986ffd3f8/index.html @@ -0,0 +1,32 @@ +LegalOn Technologies Engineering Blogのフィード|JSer.info Watch List RSS

LegalOn Technologies Engineering Blog

https://tech.legalforce.co.jp/

LegalOn Technologies 開発チームによるブログです。

フィード

記事のアイキャッチ画像
【後編】「50以上のマイクロサービスを支えるアプリケーションプラットフォームの設計・構築の後悔と進化」の書き起こし #CNDW2024
LegalOn Technologies Engineering Blog
こんにちは、株式会社LegalOn TechnologiesでPlatform Engineerをしている杉田(@toshi0607)です。 先日、CloudNative Days Winter 2024で「50以上のマイクロサービスを支えるアプリケーションプラットフォームの設計・構築の後悔と進化」と題し、LegalOn TechnologiesにけるPlatform Engineeringの取り組みについてお話してきました。前編では、「LegalOn Cloud」を短期間でリリースするために行った工夫と後悔を紹介しました。この記事では、Platform Engineering Advent …
1ヶ月前
記事のアイキャッチ画像
【前編】「50以上のマイクロサービスを支えるアプリケーションプラットフォームの設計・構築の後悔と進化」の書き起こし #CNDW2024
LegalOn Technologies Engineering Blog
こんにちは、株式会社LegalOn TechnologiesでPlatform Engineerをしている杉田(@toshi0607)です。 先日、CloudNative Days Winter 2024で「50以上のマイクロサービスを支えるアプリケーションプラットフォームの設計・構築の後悔と進化」と題し、LegalOn TechnologiesにおけるPlatform Engineeringの取り組みについてお話してきました。この記事では、Platform Engineering Advent Calendar 2024の23日目の記事として登壇内容の前半部分を書き起こします。
2ヶ月前
記事のアイキャッチ画像
Lookerから実行されるBigQueryのクエリコストを分析可能にする方法
LegalOn Technologies Engineering Blog
はじめに 株式会社LegalOn Technologies でデータエンジニアリングをしている鈴木です。 LegalOn Technologies ではBIツールにLooker(https://cloud.google.com/looker)を採用しており、分析用のデータウェアハウスにはBigQueryを採用しています。 この環境を利用して弊社主力製品の各種KPIをダッシュボード化するのに日々取り組んでいます。 本ブログではLookerとBigQueryを併用する上での両者を組み合わせたコストモニタリングの方法を紹介したいと思います。
2ヶ月前
記事のアイキャッチ画像
SIGIR-AP 2024 スポンサー参加レポート
LegalOn Technologies Engineering Blog
はじめに こんにちは。株式会社 LegalOn Technologies 検索・推薦チームのエンジニアをしております、勝田です。この記事は、情報検索・検索技術 Advent Calendar 2024 の19日目の記事として執筆されました。 2024年12月9日から12日にかけて開催された SIGIR-AP 2024 に、スポンサーとして参加しましたのでレポートをお届けします。
2ヶ月前
記事のアイキャッチ画像
プロダクト&データチームによるダッシュボード・メタデータ共創オペレーション
LegalOn Technologies Engineering Blog
+はじめに こんにちは。株式会社LegalOn Technologies データマネジメントチームでアナリティクスエンジニアをしております、須賀です。 この記事は、datatech-jp Advent Calendar 2024 *1 の19日目の記事として執筆されました。 *1: datatech-jp とはデータエンジニアリング、データ活用についての知見を共有したり、交流するためのコミュニティです。 時々輪読会の企画が案内され、私自身も何度か参加して他の方と議論する場として利用しています。 詳細はこちらをご覧ください。 https://datatech-jp.github.io /
2ヶ月前
記事のアイキャッチ画像
リモートチームとして成長し、生産性を上げるための挑戦の軌跡
LegalOn Technologies Engineering Blog
+こんにちは、LegalOn Technologies 検索・推薦チームの志水と勝田です。 我々のチームではこの1年をかけてチームビルディングやアジャイル開発に繋がる様々な手法や施策を試し、その成果が徐々に出てきました。今日はその過程を紹介いたします。時間がかかっても必ず成果は出ると思うので、似た取り組みをしようとされている方はぜひ参考にしてみてください!
3ヶ月前
記事のアイキャッチ画像
社内資料「プロダクトマネージャーのための検索推薦システム入門」を公開します
LegalOn Technologies Engineering Blog
こんにちは。LegalOn Technologies 検索・推薦チームの浅野(@takuya_b / @takuya_a)です。 先日、社内のプロダクトマネージャー(以下、PdM)を主な対象として、検索推薦技術の入門講座を開催しました。このたび、その資料を公開します。
4ヶ月前
記事のアイキャッチ画像
EMギルドでGoogleとのスペシャルセッションを行った話
LegalOn Technologies Engineering Blog
こんにちは、LegalOn Technologies で EM (Engineering Manager) をしている時武と申します。普段は現場寄りの EM としてチーム開発の取り回しをしつつ、チームが抱える様々な課題を解決するのが仕事です。 先日当社で CRE (Customer Reliability Engineer) をしている長内さんから EM ギルドで会社の「数字」について学び直した話 が投稿されましたが、LegalOn Technologies の EM ギルドでは EM に求められる知識や素養を様々な切り口で情報交換できるような活動を行っています。 今回はその一環として、当社で…
4ヶ月前
記事のアイキャッチ画像
ゼロから始める社内ハッカソン
LegalOn Technologies Engineering Blog
はじめに こんにちは、株式会社 LegalOn Technologies 検索・推薦チーム エンジニア の 勝田 (WinField95)です。この記事では、先日実施した検索・推薦チームの社内ハッカソンについてレポートします。 「よし、みんなで楽しく開発合宿!」と行きたいところですが、なんと予算0円です。 急遽ハッカソンを企画したため、残念ながら予算を確保できていませんでした。 しかし、予算がないからといって開発合宿ができないわけではありません。遠方での合宿は難しいものの、やる気さえあればハッカソンは可能です。そこで、チームメンバー全員が通常業務を効率よく終わらせ、生み出した2日間を使ってハッ…
4ヶ月前
記事のアイキャッチ画像
情報科学若手の会で発表してきました
LegalOn Technologies Engineering Blog
LegalOn Technologiesで検索・推薦エンジニアをやっております宮里(smiyazato)です。 9/14-9/16の三連休に軽井沢で開催された情報科学若手の会で、スポンサーとして発表してきたのでその報告を致します。
4ヶ月前
記事のアイキャッチ画像
+Dataflow Indexer データ整合性担保と性能改善
LegalOn Technologies Engineering Blog
はじめに こんにちは。LegalOn Technologies 検索・推薦チームの臼井(jusui)です。 私たちのチームは、LegalOn Technologies が提供する主要サービス—「LegalOn Cloud」、「LegalForce」、「LegalForceキャビネ」—の検索・推薦システムの開発と運用を担当しています。 2024年7月に当チームから「Dataflow 実践開発セットアップ」を公開しました。 tech.legalforce.co.jp
5ヶ月前
記事のアイキャッチ画像
勉強会の「タダ飯狙い」対策どうするか?より良い勉強会のために参加規約のひな形を公開
LegalOn Technologies Engineering Blog
+こんにちは、LegalOn Technologiesで検索エンジニアをしている志水(@banbiossa)です。 食事つきの勉強会を開催する際に、学び目的ではなく飲食目的、いわゆる「タダ飯狙い」の方に遭遇したという声を最近多く聞きます。 この「タダ飯狙い」や不審者の対策にむけて、リーガルテック企業ならではの取り組みとして、参加規約のひな形を準備しました。 本記事では、取り組むまでに至った経緯や過程、ひな形の詳細、協力してくれた方々についてご紹介できればと思います。 勉強会の治安の悪化 弁護士ドットコム社の記事 検索技術勉強会における実体験 勉強会用・参加規約のひな形 ひな形本文 ひな形とは? …
5ヶ月前
記事のアイキャッチ画像
フロントエンド開発に役立つ Datadog 活用法
LegalOn Technologies Engineering Blog
+はじめに 本記事では、Datadog の設定方法を解説しながら、どのようにフロントエンド開発に活用できるかを話していきます。Datadog とは SaaS 型で提供されている監視サービスです。システムやアプリケーションの監視ができ、収集したログを分析するのに役立つ機能をたくさん提供しています。 こんにちは、株式会社LegalOn Technologiesで Software Engineer(Frontend)をしている山越 ( @yukishinonomeIT ) です。弊社では2024年4月に『LegalOn Cloud』というプロダクトを提供開始しました。Datadog は既存のプロダク…
6ヶ月前
記事のアイキャッチ画像
Dataflow 実践開発セットアップ
LegalOn Technologies Engineering Blog
+こんにちは、LegalOn Technologies検索・推薦チームの志水です。 私たちのチームでは Elasticsearch へのデータのインデキシングをCloud PubSub を queue として挟んで非同期にしており、その処理にDataflowを活用しています。Dataflow(=Google managed Apache Beam) はサーバーレスでスケーラブルなデータ処理を得意としています。 Python を用いたDataflowの活用については、例えばこちらの記事が網羅的です。 この記事では似たような観点に加え、Docker上で動かす工夫やintegration testの工…
6ヶ月前
記事のアイキャッチ画像
EMギルドで会社の「数字」について学び直した話
LegalOn Technologies Engineering Blog
社内で行っている組織横断の勉強会「ギルド」の活動をご紹介!今回の勉強会では、中期計画を理解し、企業価値の増加のためにエンジニアがどう寄与できるのかを、数字の面から勉強しました。
6ヶ月前
記事のアイキャッチ画像
JaSST24’Tokyoで「生成AIでテストコード生成の効率化」をテーマに登壇しました
LegalOn Technologies Engineering Blog
2024年3月の14〜15日に開催されたJaSST’24 Tokyoというソフトウェアテストシンポジウムに「生成AIを使ったテスト記述の最適化と生産性向上」をテーマに登壇しました。 こんにちは!LegalOn TechnologiesでSoftware Engineer in Test(SET)をしている山本です。 本記事では、登壇の発表内容や感想についてお話できればと思います。 ※オンライン登壇であったため、写真を用意することができず申し訳ありません。 セッション概要
8ヶ月前
記事のアイキャッチ画像
Lucene/Elasticsearch の Character Filter でユニコード正規化するとトークンのオフセットがズレるバグへの Workaround
LegalOn Technologies Engineering Blog
pre.code{ white-space: pre; overflow-x: scroll; } こんにちは、LegalOn Technologiesでエンジニアをしている神田(@kampersanda)です。 この記事の内容 Elasticsearch の Character Filter でユニコード正規化を適用したとき、Tokenizer の結果によってはトークンのオフセットに不正な値が入るバグが報告されています。 github.com 頻繁に起こるケースでは無いのですが、実際にデータを Elasticsearch に取り込む際に発生しており、恒久的な対応が必要です。本記事では、そのバ…
8ヶ月前
記事のアイキャッチ画像
ネットワーク分析を用いた文書参照関係の分析
LegalOn Technologies Engineering Blog
はじめに 株式会社LegalOn Technologies でデータアナリストをしている高木 要です。LegalOn Technologiesではデータ分析業務に積極的に取り組んでおり、我々データアナリストチームは各部門のステークホルダーとともに製品やビジネスの価値をデータから評価できるようにデータ分析を行なっています。分析内容は多岐に渡り、製品利用状況や営業データなどを用いて、プロダクト開発やビジネスにおける意思決定精度の向上に努めています。 今回は「ネットワーク分析を用いたお客様の法律文書ナレッジマネジメント状況の可視化」についてご紹介いたします。
10ヶ月前
Jaccard係数に基づく類似文書検索の高速化技法
LegalOn Technologies Engineering Blog
こんにちは、LegalOn Technologiesでエンジニアをしている神田(@kampersanda)です。 本記事では、Jaccard係数に基づく類似文書検索の高速化技法を解説し、契約書検索での実験結果を報告します。
10ヶ月前
記事のアイキャッチ画像
「生成 AI を搭載したプロダクト開発」というタイトルでデブサミ2024に登壇しました!
+LegalOn Technologies Engineering Blog
こんにちは!LegalOn Technologiesのソフトウェアエンジニア、渡辺です。 2024年2月15日から16日にかけて開催された"Developers Summit 2024"(以下、デブサミ)に参加し、「生成AIを搭載したプロダクト開発~少人数で爆速リリースしてわかったこと~」というテーマで発表しました。 今回は、発表までの過程、スケジュール、発表内容、そして発表後の感想について書かせていただきます。
1年前
記事のアイキャッチ画像
4年ぶりの開催!検索技術勉強会 - 2023 - イベントレポート&インタビュー
LegalOn Technologies Engineering Blog
+こんにちは、LegalOn Technologiesにてエンジニアリング推進グループに所属の荒木と申します。 2023年12月20日、弊社オフィスにて「検索技術勉強会(以降 勉強会)」が開催されました。 この勉強会の内容と「なぜオフライン勉強会を再開したのか」について、弊社の検索・推薦グループのエンジニアへインタビューを行いました。本記事ではこれらについてレポートします。
1年前
記事のアイキャッチ画像
検索クエリパーサー自作入門
LegalOn Technologies Engineering Blog
+はじめに こんにちは。株式会社LegalOn Technologies でエンジニアをしております、勝田(@WinField95)です。この記事は、情報検索・検索技術 Advent Calendar 2023 の 20日目の記事として執筆されました。 この記事では、ANTLR[1]を使用したシンプルなクエリ構文の解析を行う検索クエリパーサーの生成と、解析結果から Elasticsearch の Query DSL[2]への変換までのプロセスと簡単な実装を紹介します。実務では、要求に応じて複雑なクエリ構文の文法定義が必要になる場合もありますが、この記事ではなるべく簡単なクエリ構文を取り扱います。…
1年前
記事のアイキャッチ画像
シフトレフトを実現する仕様確認会:QAエンジニア主導の新たな取り組み
LegalOn Technologies Engineering Blog
+はじめに こんにちは。株式会社LegalOn Technologies で品質保証(QA)エンジニアをしております、リンです。 2021年にLegalOn Technologiesでキャリアをスタートしました。入社当時、QAチームはたった3人で、品質保証プロセスもまだ発展途上でした。時間が経つにつれ、会社は急速に成長し、現在では、QAエンジニアの数も19人に増えています。組織が成長すると共に、最も効果的な品質保証プロセスを見つけるための探求は続いています。 この記事では、その過程で取り入れた新しい取り組みについて説明します。
1年前
記事のアイキャッチ画像
社内勉強会で使用したSimCSEのチュートリアル資料を公開しました
LegalOn Technologies Engineering Blog
+こんにちは、LegalOn Technologies Researchで研究員をしている神田(@kampersanda)です。 弊社では、検索チーム主催でセマンティック検索とベクトル検索に関する社内勉強会を定期的に実施しています。この勉強会では、技術に関心のあるエンジニアが有志で議題を持ち寄り、知識共有を行っています。 その成果のひとつとして、文埋め込み技術であるSimCSEのチュートリアル資料を作成し、以下に公開しました。 github.com この資料はNotebookとして作成されており、SimCSEの学習から評価までの一連の動作を簡単に試して頂くことができます。また、コードの各パートに…
1年前
記事のアイキャッチ画像
PyCon APAC 2023 に参加してきました
LegalOn Technologies Engineering Blog
+はじめに こんにちは、LegalOn Technologies 検索チームの志水です。 2023/10/27と28に開催された PyCon APAC 2023 に参加したので、そのレポートをお送りします。 2日間あるイベントのうち、初日は私によるレポート、2日目はチームリーダーの打田によるレポートをお届けします。
1年前
記事のアイキャッチ画像
Looker System Activity を低コストなサーバレスイベント駆動パイプラインで BigQuery へ取り込む
LegalOn Technologies Engineering Blog
+はじめに 株式会社LegalOn Technologies でデータエンジニアリングをしている 田中 晶 です。 LegalOn Technologies では、データドリブンな意思決定をするために、データ分析基盤や BI ツールの整備を行い、プロダクトに関わる多くの社員がデータを活用できる状態を維持し、さらなる活用を目指しています。 過去の啓蒙活動や整備の甲斐もあり、現在弊社で利用しているBIツールである Looker のライセンスは多くの社員に付与されており、またその活用も専門職だけでなく、営業部門の活用率も高いという利用率の計測結果も出ているほどです。 このように活用されているデータ分析…
1年前
記事のアイキャッチ画像
LegalOn Technologies のエンジニアグレード評価基準を公開します
LegalOn Technologies Engineering Blog
+こんにちは。LegalOn TechnologiesでCTOを務めている深川といいます。 もし私がどういう人なのか気になる方がいましたら、私のことは以下の弊社オープン社内報でも記載していますので、よかったらこちらの記事をご覧いただければと思います。 https://now.legalontech.jp/n/n36b23e19f7b0 エンジニア組織の運営は人数が増えていくにつれて加速度的に難易度があがります。その中でも、エンジニアリングマネージャーにとって常に頭を悩ませるものが人事評価制度です。特に、評価基準については、公正かつ納得感があり、それでいて属人化しない評価基準を作り上げるのは至難の…
2年前
記事のアイキャッチ画像
Datadog Session Replayの導入による効果
LegalOn Technologies Engineering Blog
+はじめに こんにちは、株式会社LegalOn Technologies (以下 LegalOnと呼びます) SRE&プラットフォームグループの加藤です。 LegalOnでは、2019年4月に『LegalForce』、2021年1月に『LegalForceキャビネ』を正式リリースして以来、機能追加やUI/UXの改善などのアップデート、バックエンドやインフラの改善を行っています。さらにはリリース初期段階では予期できなかった技術的な課題への対応や、発見された不具合の修正も行っています。 サービスにおいて不具合が発生したときの影響は、機能数とユーザー数が増えていくにつれ大きくなります。そのため、万が一…
2年前
記事のアイキャッチ画像
IR Reading 2023 Spring 参加レポート
LegalOn Technologies Engineering Blog
+こんにちは、検索・推薦チームの浅野(@takuya_b / @takuya_a)です。 2023年6月10日に開催された IR Reading 2023春に、弊社の勝田(検索・推薦)、宮里(検索・推薦)と参加しました。 今回は、そちらの様子をレポート形式でお届けします。
2年前
記事のアイキャッチ画像
セキュリティインシデント対応の体系化
LegalOn Technologies Engineering Blog
こんにちは、株式会社LegalOn TechnologiesでCSIRTのリーダーを務めている今成と申します。 本記事では、LegalOn Technologies(以下 LegalOn)におけるCSIRTのセキュリティインシデント対応に係るプロセスおよび管理方法を、体系的に整理した事例をご紹介します。企業のセキュリティ担当者の方々に、セキュリティインシデント対応の事前準備という観点で、参考になる情報を記載しています。ぜひ最後までお読みください。
2年前
\ No newline at end of file diff --git a/blogs/b3caf4367a61048782a3524a5d913dc1/index.html b/blogs/b3caf4367a61048782a3524a5d913dc1/index.html new file mode 100644 index 000000000000..7ee8a2180e1a --- /dev/null +++ b/blogs/b3caf4367a61048782a3524a5d913dc1/index.html @@ -0,0 +1,74 @@ +Inngest Product &amp; Engineering Blogのフィード|JSer.info Watch List RSS

Inngest Product & Engineering Blog

https://www.inngest.com

Inngest's durable functions replace queues, state management, and scheduling to enable any developer to write reliable, multi-step code faster without touching infrastructure.

フィード

記事のアイキャッチ画像
Customer story: Otto
Inngest Product & Engineering Blog
Learn how Otto uses Inngest to build and scale AI Agents that are as easy as a spreadsheet.
1日前
+
記事のアイキャッチ画像
The Principles of Durable Execution Explained
Inngest Product & Engineering Blog
Learn what Durable Execution is, how it works, and why it's beneficial to your system.
2ヶ月前
記事のアイキャッチ画像
step.ai: the quickest way to build reliable AI applications on Serverless while saving on compute
Inngest Product & Engineering Blog
Combining step.run() and step.ai.infer() is the best toolset to build reliable AI applications on Serverless while saving on compute.
2ヶ月前
記事のアイキャッチ画像
+Simplify your queues with Inngest, the modern Kafka alternative
Inngest Product & Engineering Blog
Build reliable event-driven workflows with a streamlined developer experience
2ヶ月前
記事のアイキャッチ画像
Introducing AgentKit and step.ai: orchestrating AI with confidence
Inngest Product & Engineering Blog
+The easiest way to build production-ready AI workflows with AgentKit and step.ai
3ヶ月前
記事のアイキャッチ画像
October 2024 queue retrospective
Inngest Product & Engineering Blog
Summary of the queue related issues in October 2024
3ヶ月前
記事のアイキャッチ画像
Announcing: Function runs search
Inngest Product & Engineering Blog
Instantly search across all your Function runs with advanced queries filtering on events and function runs properties.
3ヶ月前
記事のアイキャッチ画像
The Principles of Production AI
+Inngest Product & Engineering Blog
How LLM evaluations, guardrails, and orchestration shape safe and reliable AI experiences.
3ヶ月前
記事のアイキャッチ画像
4 solutions to Vercel function timeouts
Inngest Product & Engineering Blog
Solving Vercel timeout issues isn't only about increasing the timeout but also using the right tools for the job.
3ヶ月前
記事のアイキャッチ画像
5 Reasons Why Your Queue is Slowing You Down
Inngest Product & Engineering Blog
Common pitfalls of traditional queues and how Inngest can help
3ヶ月前
記事のアイキャッチ画像
Agentic workflow example: importing CRM contacts with Next.js and OpenAI o1
Inngest Product & Engineering Blog
A reimagined contacts importer leveraging the power of reasoning models with Inngest
4ヶ月前
記事のアイキャッチ画像
MEGA SEO: Building the next generation of blogging with AI workflows
Inngest Product & Engineering Blog
+Joe Adams from MEGA SEO shares how Inngest enabled them to build AI workflows that would have been difficult or impossible to achieve with SQS.
4ヶ月前
記事のアイキャッチ画像
Bulk cancellation UI: the latest addition to Inngest's recovery tool suite
Inngest Product & Engineering Blog
Handle incidents
4ヶ月前
記事のアイキャッチ画像
Enhanced observability with Inngest: Waterfall trace view and advanced monitoring
Inngest Product & Engineering Blog
A new era for monitoring durable functions
4ヶ月前
記事のアイキャッチ画像
Introducing Workflow Kit by Inngest
Inngest Product & Engineering Blog
The fastest way to build workflow UIs
4ヶ月前
記事のアイキャッチ画像
Neon + Inngest: Trigger durable functions from database changes
Inngest Product & Engineering Blog
A new integration for Postgres database events
4ヶ月前
記事のアイキャッチ画像
Announcing Inngest self-hosting
Inngest Product & Engineering Blog
The easiest way to self-host durable execution.
5ヶ月前
記事のアイキャッチ画像
What are Durable Functions? A visual JavaScript primer
Inngest Product & Engineering Blog
Lydia Hallie's powerful animated illustrations cover the inner workings of Durable Functions.
5ヶ月前
記事のアイキャッチ画像
Understanding the Differences Between Rate Limiting, Debouncing, and Throttling +
Inngest Product & Engineering Blog
Explore three different ways to control your Inngest Function's runs.
5ヶ月前
記事のアイキャッチ画像
Incident report for August 16, 2024 - Function execution outage
Inngest Product & Engineering Blog
A full report on the incident that caused function execution to fail on August 16, 2024 UTC.
6ヶ月前
+
記事のアイキャッチ画像
Next.js Serverless Functions vs Durable Functions
Inngest Product & Engineering Blog
Learn how Durable Functions remove the need of a separate server to handle long-running workflows or to power queues.
6ヶ月前
記事のアイキャッチ画像
Inngest's new design: Our process in rethinking our information architecture
Inngest Product & Engineering Blog
The Inngest Cloud and Dev Server got a brand new design. This post digs into the process behind this new Information Architecture.
6ヶ月前
記事のアイキャッチ画像
Announcing: Batch Keys
Inngest Product & Engineering Blog
Batch keys allows developers to group work units by leveraging Inngest's efficient event-matching engine.
6ヶ月前
記事のアイキャッチ画像
Sharding high-throughput Redis without downtime
Inngest Product & Engineering Blog
Read about how we rolled our new sharded infrastructure out to production without a millisecond of downtime and how it improved Inngest's overall performance.
7ヶ月前
記事のアイキャッチ画像
Announcing Summer PCXI Hackathon
Inngest Product & Engineering Blog
Win $2,500 in a thrilling two-week hackathon using the PCXI stack: Prisma, Xata, Clerk, Inngest 🎉
7ヶ月前
Fixing noisy neighbor problems in multi-tenant queueing systems
Inngest Product & Engineering Blog
Ensuring fairness and consistent performance for all users with concurrency controls
7ヶ月前
記事のアイキャッチ画像
Inngest is SOC 2 Type II compliant
+Inngest Product & Engineering Blog
Our commitment to security and privacy for our company and platform
8ヶ月前
記事のアイキャッチ画像
Migrating videos across platforms reliably - A look into Mux's Truckload project
Inngest Product & Engineering Blog
Dave Kiss shares his takeaways from building Truckload, a project which simplifies heavy video migration between hosting platforms.
9ヶ月前
記事のアイキャッチ画像
What is waitUntil (Vercel, Cloudflare) and when should I use it?
Inngest Product & Engineering Blog
What is it, when to use it, and when not to use it
9ヶ月前
記事のアイキャッチ画像
Accidentally Quadratic: Evaluating trillions of event matches in real-time
Inngest Product & Engineering Blog
Building the expression engine that powers ephemeral event matching.
9ヶ月前
記事のアイキャッチ画像
A Deep Dive into a Video Rendering Pipeline
Inngest Product & Engineering Blog
banger.show is a video app maker that heavily relies on background data processing
9ヶ月前
記事のアイキャッチ画像
AI in production: Managing capacity with flow control
Inngest Product & Engineering Blog
What do you need to take your LLM based product from demo to production?
10ヶ月前
記事のアイキャッチ画像
Queues aren't the right abstraction
Inngest Product & Engineering Blog
Why you shouldn't directly use message queues in 2024
10ヶ月前
記事のアイキャッチ画像
Finta's Automated Financial Synchronization powered by Plaid, Stripe and Inngest
Inngest Product & Engineering Blog
Learn how Finta builds and optimizes data pipelines.
10ヶ月前
記事のアイキャッチ画像
+Debouncing in Queueing Systems: Optimizing Efficiency in Asynchronous Workflows
Inngest Product & Engineering Blog
Explore backend message queuing systems, implementing debouncing in Postgres, and simplifying the process with Inngest.
1年前
記事のアイキャッチ画像
Inngest raises $6.1M led by a16z
Inngest Product & Engineering Blog
Accelerating development of the reliability layer for modern applications +
1年前
記事のアイキャッチ画像
Edge Event API Beta: Lower latency from everywhere
Inngest Product & Engineering Blog
Targeting sub 100ms response times from anywhere in the world
1年前
記事のアイキャッチ画像
Launch Week Recap
Inngest Product & Engineering Blog
A look at all the releases of the past week: from Replay and per-step error handling to new SKDs and integrations.
1年前
記事のアイキャッチ画像
Improved error handling in Inngest SDKs
Inngest Product & Engineering Blog
+Using native language primitives to handle failed steps
1年前
記事のアイキャッチ画像
Building auth workflows with Clerk and Inngest
Inngest Product & Engineering Blog
How to trigger Inngest functions with Clerk events in the new integration
1年前
記事のアイキャッチ画像
Svix + Inngest: Reliable Webhook Delivery and Execution
Inngest Product & Engineering Blog
Svix customers can now quickly integrate with Inngest
1年前
記事のアイキャッチ画像
Cross-language support and new Inngest SDKs: Python, Go, with more to come +
Inngest Product & Engineering Blog
The Inngest SDKs provide a language- and cloud-agnostic way to create fault-tolerant, long-running functions with built-in flow control.
1年前
記事のアイキャッチ画像
Migrating long running workflows across clouds with zero downtime
Inngest Product & Engineering Blog
+How the Inngest system is designed to help you migrate across clouds with minimal effort.
1年前
記事のアイキャッチ画像
Announcing: Inngest Replay
Inngest Product & Engineering Blog
The death of the dead-letter queue.
1年前
記事のアイキャッチ画像
How we built a fair multi-tenant queuing system
Inngest Product & Engineering Blog
Building the Inngest queue - Part I
1年前
記事のアイキャッチ画像
Bulk cancellation API
Inngest Product & Engineering Blog
Cancel a time range of functions using the REST API.
1年前
記事のアイキャッチ画像
Adding workflows to an Astro app with Inngest
Inngest Product & Engineering Blog
+Learn how to extend the range of your Astro app with long-running processes, and when to do so.
1年前
記事のアイキャッチ画像
2023 Wrapped
Inngest Product & Engineering Blog
Over the past twelve months, we've shipped a lot and improved the DX across the board, our team has grown three-fold, and we were able to raise a seed round.
1年前
記事のアイキャッチ画像
Building Metrics with TimescaleDB
Inngest Product & Engineering Blog
How we built better observability into Inngest
1年前
記事のアイキャッチ画像
+Python errors as values: Comparing useful patterns from Go and Rust
Inngest Product & Engineering Blog
Safer error handling, inspired by Go and Rust
1年前
記事のアイキャッチ画像
New in observability: Function Metrics
Inngest Product & Engineering Blog
Better observability into function runs
1年前
+記事のアイキャッチ画像
User-Defined Workflows in Next.js with Sanity and Inngest
Inngest Product & Engineering Blog
Get your workflows up and running quickly with Sanity and Inngest in Next.js
1年前
記事のアイキャッチ画像
Introducing Inngest TypeScript SDK v3.0
Inngest Product & Engineering Blog
Learn about the exciting new features in v3.0 and how to upgrade.
1年前
記事のアイキャッチ画像
How a durable workflow engine works: you might not need a queue
Inngest Product & Engineering Blog
+Breaking down how a durable workflow engine works, and how event-driven workflow engines improve DX.
1年前
記事のアイキャッチ画像
Semi-Autonomous AI Agents and Collaborative Multiplayer Asynchronous Workflows
Inngest Product & Engineering Blog
Use Inngest and PartyKit to Power Up Your OpenAI Chatbots.
1年前
記事のアイキャッチ画像
Sending customer lifecycle emails with Resend and Inngest
Inngest Product & Engineering Blog
How to Send Effective and Reliable Emails in your Next.js Applications with Resend & Inngest
1年前
記事のアイキャッチ画像
Building an Event Driven Video Processing Workflow with Next.js, tRPC, and Inngest
Inngest Product & Engineering Blog
How Badass Courses built a self-service video publishing workflow for Kent C. Dodds with AI generated transcripts and subtitles.
2年前
記事のアイキャッチ画像
Migrating from Vite to Next.js
Inngest Product & Engineering Blog
+A how-to guide
2年前
記事のアイキャッチ画像
Inngest raises $3M from GGV to build the reliable workflow platform for every developer
Inngest Product & Engineering Blog
New round led by Glenn Solomon of GGV Capital, including Guillermo Rauch and Tom Preston-Werner
2年前
記事のアイキャッチ画像
Introducing Event Batching: Handling data at scale
Inngest Product & Engineering Blog
Providing a way to handle high load events, and processing them in bulk
2年前
記事のアイキャッチ画像
Introducing Inngest TypeScript SDK v2.0
+Inngest Product & Engineering Blog
Learn about the exciting new features in v2.0 and how to upgrade.
2年前
記事のアイキャッチ画像
Introducing Branch Environments: Full-Stack Testing for Every Branch with Inngest
Inngest Product & Engineering Blog
Modern workflow for your business-critical code
2年前
記事のアイキャッチ画像
Running chained LLMs with TypeScript in production
Inngest Product & Engineering Blog
Build production-ready zero-infra LLM backends using TypeScript in minutes
2年前
記事のアイキャッチ画像
5 Lessons Learned From Taking Next.js App Router to Production
Inngest Product & Engineering Blog
What did we learn from building and shipping our new app with the Next.js 13 App Router?
2年前
記事のアイキャッチ画像
Inngest - Add Superpowers To Serverless Functions
+Inngest Product & Engineering Blog
Introducing the next version of Inngest!
2年前
記事のアイキャッチ画像
Customer story: Ocoya
Inngest Product & Engineering Blog
Learn how Ocoya uses Inngest to develop and deliver their world class product in record time, with end-to-end local testing.
2年前
記事のアイキャッチ画像
Long-running background functions on Vercel
Inngest Product & Engineering Blog
How to run business critical jobs for minutes, hours or days
2年前
記事のアイキャッチ画像
How to import 1000s of items from any E-commerce API in seconds with serverless functions
Inngest Product & Engineering Blog
Import data from Shopify, WooCommerce or BigCommerce APIs reliably and quickly
2年前
記事のアイキャッチ画像
AI Personalization and the Future of Developer Docs
Inngest Product & Engineering Blog
+
Providing developer-specific examples to help developers learn how to use the Inngest SDK. The beginning of AI-personalized learning flows for users.
2年前
記事のアイキャッチ画像
Deploying event-driven functions to RedwoodJS
Inngest Product & Engineering Blog
Announcing our new RedwoodJS handler.
2年前
記事のアイキャッチ画像
Building More Reliable Workflows With Events
Inngest Product & Engineering Blog
Run critical code with guarantees and observability
2年前
記事のアイキャッチ画像
+Completing the Jamstack: What's needed in 2022?
Inngest Product & Engineering Blog
Where the Jamstack is today and what is left to complete the vision.
2年前
記事のアイキャッチ画像
Vercel + Inngest: The fastest way to ship background functions
Inngest Product & Engineering Blog
Announcing our new Vercel integration.
2年前
記事のアイキャッチ画像
Run Next.js functions in the background with events and schedules on Vercel and Netlify
Inngest Product & Engineering Blog
Learn how to use Next.js api functions and run them as you would a message queue or a cron job.
2年前
記事のアイキャッチ画像
Building educational TypeScript tooling
Inngest Product & Engineering Blog
Create inituitive TypeScript libraries; don't make your user open the docs.
2年前
記事のアイキャッチ画像
Modern serverless job schedulers
Inngest Product & Engineering Blog
Almost all developers use job schedulers stuck in the past. This post explores our modern system that improves dev UX with better tooling
2年前
記事のアイキャッチ画像
No workers necessary - Simple background jobs with Node and Express
Inngest Product & Engineering Blog
Skip the queue and workers.
2年前
記事のアイキャッチ画像
Building a Discord PR collaboration tool in an hour
Inngest Product & Engineering Blog
How we built a reliable webhook based PR collaboration tool in less time your average company's sprint planning meeting
2年前
記事のアイキャッチ画像
Locally testable step functions made simple
Inngest Product & Engineering Blog
We're excited to release support for step functions which can run any language, all locally testable.
2年前
記事のアイキャッチ画像
Inngest: OS v0.5.2 released
Inngest Product & Engineering Blog
Our next release improving rollbacks and developer UX
+
2年前
記事のアイキャッチ画像
Introducing CLI Replays
Inngest Product & Engineering Blog
Battle-test your local code with real production events.
3年前
記事のアイキャッチ画像
+Load testing an event-driven message queue
Inngest Product & Engineering Blog
How to quickly run load tests on event-driven queues via K6
3年前
記事のアイキャッチ画像
Building Webhooks That Scale
Inngest Product & Engineering Blog
Lessons learned scaling webhooks to millions of requests a day
3年前
記事のアイキャッチ画像
Inngest: OS v0.5 released
Inngest Product & Engineering Blog
This release contains exciting new functionality, including replay and our self-hosting services
3年前
記事のアイキャッチ画像
Message queue vs message bus: the practical differences
Inngest Product & Engineering Blog
We explore the difference between queueing systems and message busses
3年前
記事のアイキャッチ画像
Building an event-driven queue based on common standards
Inngest Product & Engineering Blog
+The design decisions and architecture for a next-gen queuing platform
3年前
記事のアイキャッチ画像
Introducing Inngest DevServer
Inngest Product & Engineering Blog
The first tool purposely designed for event-driven asynchronous system local development
3年前
記事のアイキャッチ画像
Open sourcing Inngest
Inngest Product & Engineering Blog
The open source, serverless event-driven platform for developers.
3年前
記事のアイキャッチ画像
Rapidly building interactive CLIs in Go with Bubbletea
Inngest Product & Engineering Blog
Our product is just different enough to make our CLI require really good interactivity. We bundle an interactive event browser in our CLI. Here's how it's built.
3年前
記事のアイキャッチ画像
Building a real-time websocket app using SvelteKit
Inngest Product & Engineering Blog
+Our experience building https://typedwebhook.tools in 2 days using SvelteKit.
3年前
記事のアイキャッチ画像
Product updates: Feb 8, 2022
Inngest Product & Engineering Blog
What's fresh out of the oven recently, and what's cooking? Here's our bi-weekly product deep dive.
3年前
記事のアイキャッチ画像
Product updates: Jan 18, 2022
Inngest Product & Engineering Blog
What's fresh out of the oven recently, and what's cooking? Here's our bi-weekly product deep dive.
3年前
記事のアイキャッチ画像
+Programmable event platforms
Inngest Product & Engineering Blog
Programmable event platforms allow you to build serverless event-driven systems in minutes. Here's an introduction to them.
3年前
記事のアイキャッチ画像
Introducing Inngest: an event workflow platform
Inngest Product & Engineering Blog
We’re launching Inngest, a platform designed to make building event-driven systems fast and easy.
3年前
\ No newline at end of file diff --git a/blogs/b5e6ec681b24b0c52c5b8284b76252bc/index.html b/blogs/b5e6ec681b24b0c52c5b8284b76252bc/index.html new file mode 100644 index 000000000000..91133a4c46ca --- /dev/null +++ b/blogs/b5e6ec681b24b0c52c5b8284b76252bc/index.html @@ -0,0 +1,28 @@ +Mitsue-Links [ミツエーリンクス]のフィード|JSer.info Watch List RSS

Mitsue-Links [ミツエーリンクス]

http://www.mitsue.co.jp

Webサイトの構築・運用を中心とした様々なサービスで、コミュニケーションを創造・改善します。

フィード

記事のアイキャッチ画像
実績紹介:gihyo.jpに寄稿
Mitsue-Links [ミツエーリンクス]
1ヶ月前
記事のアイキャッチ画像
+コラム:2024年を終えて / 東崎
Mitsue-Links [ミツエーリンクス]
1ヶ月前
記事のアイキャッチ画像
お知らせ:年末年始休業日のお知らせ
Mitsue-Links [ミツエーリンクス]
2ヶ月前
ナレッジ:Mitsue-Links News Vol.272 発行
Mitsue-Links [ミツエーリンクス]
2ヶ月前
記事のアイキャッチ画像
お知らせ:第12回Webグランプリにおける受賞について
Mitsue-Links [ミツエーリンクス]
2ヶ月前
+
記事のアイキャッチ画像
コラム:UX alliance Meeting in Dubai に参加して / 竹内
Mitsue-Links [ミツエーリンクス]
2ヶ月前
記事のアイキャッチ画像
コラム:UX Masterclass 2024 Dubai 参加報告 / 隅田
Mitsue-Links [ミツエーリンクス]
3ヶ月前
記事のアイキャッチ画像
ナレッジ:Mitsue-Links News Vol.271 発行
Mitsue-Links [ミツエーリンクス]
3ヶ月前
記事のアイキャッチ画像
コラム:W3CにSustainable Web Interest Groupが発足 / 木達
Mitsue-Links [ミツエーリンクス]
3ヶ月前
記事のアイキャッチ画像
ナレッジ:Mitsue-Links News Vol.270 発行
Mitsue-Links [ミツエーリンクス]
3ヶ月前
記事のアイキャッチ画像
サービス:「スクリーンリーダー検証」をリリース
Mitsue-Links [ミツエーリンクス]
4ヶ月前
記事のアイキャッチ画像
実績紹介:2024年4~6月の制作実績
Mitsue-Links [ミツエーリンクス]
4ヶ月前
\ No newline at end of file diff --git a/blogs/b64ad2e5de3c9739e72484d66fcda1a3/index.html b/blogs/b64ad2e5de3c9739e72484d66fcda1a3/index.html new file mode 100644 index 000000000000..0cb5c4e2725c --- /dev/null +++ b/blogs/b64ad2e5de3c9739e72484d66fcda1a3/index.html @@ -0,0 +1,25 @@ +Marcelo Lazaroniのフィード|JSer.info Watch List RSS

Marcelo Lazaroni

https://lazamar.github.io

Developing for the Interwebs

フィード

記事のアイキャッチ画像
Building a data compression utility in Haskell using Huffman codes
Marcelo Lazaroni
+In this post we will implement a data compression program in about 150 lines of Haskell.It will use Huffman coding and handle arbitrary binary files using constant memory for encoding and decoding.The plan is:We briefly cover what Huffman codes are and how they can be used for data compression.We write a coder capable of compressing text.In the last step we use this coder to compress any file at all.We will leverage laziness to keep our memory footprint constant while the code remains modular. A good example of Why Functional Programming Matters.The full code is available here.Crash course on Huffman codesThe idea is straightforward:Map each character to a unique sequence of bits.Choose the bit sequences such that common characters map to shorter bit sequences and rare characters map to longer ones.Compression is achieved by the most common characters using fewer bits than their uncompressed representation.I say characters here, but we could really map anything to bits; like whole word +
8ヶ月前
記事のアイキャッチ画像
A virtual DOM in 200 lines of JavaScript
Marcelo Lazaroni
+In this post I’ll walk through the full implementation of a Virtual DOM in a bit over 200 lines of JavaScript.The result is a full-featured and sufficiently performant virtual DOM library (demos).It’s available on NPM as the smvc package.The main goal is to illustrate the fundamental technique behind tools like React.React, Vue and the Elm language all simplify the creation of interactive webpages by allowing you to describe how you’d like the page to look like, and notworry about adding/removing elements to get there.They do that through a Virtual DOM.The goal of a virtual DOMIt’s not about performance.A Virtual DOM is an abstraction to simplify the act of modifying a UI.You describe how you would like your page to look like and the library takes care of taking the DOMfrom its current state, to the state you want it to be in.The key ideaThe library will take over a single DOM element and operate inside of it.This element should be initially empty, and we operate under the assumption t +
9ヶ月前
記事のアイキャッチ画像
Browse Hackage from the terminal ⚡
Marcelo Lazaroni
+The Haskell ecosystem has great facilities for searching and navigating package documentation using the browser. haskell-docs-cli allows you to do that much faster without leaving the terminal.Jump to demoThe problemSwitching focus from the editor to the browser when searching for something on Hoogle or reading a piece of documentation on Hackage is not an ideal workflow. Even having Hoogle as a custom search engine on Chrome and using Vimium to avoid the mouse, the path to the module documentation page requires too many key presses.Here is an example. Imagine I’m using the Prettyprinter module (from the prettyprinter package) and want to find out what function will concatenate documents vertically. The best way to do that is to open up the module documentation page and search for the word ‘vertical’.Here is the how to do that in the browser. I’m assuming that a browser window is already open:Cmd+Tab - Switch to browser windowCmd+T - New tabh Prettyprint - Search Hoogle using a custom +
3年前
記事のアイキャッチ画像
Searching and installing old versions of Nix packages
Marcelo Lazaroni
+TL;DR: There is no Nix-native way of doing that. In this post I describe the process that led to the creation of Nix Package Versions, the tool that provides this functionality.The problemThe Nix package manager allows one to easily install and remove different versions of the same package. With nix-shell one can even start a shell environment with a different version of a package that is already installed.This is extremely useful and one of Nix’s killer features.Some time ago I noticed that my version of Neovim had a bug. This seemed like an easy fix, I just needed to install a previous version of the same package.Searching locally with nix-env -qa neovim revealed that my revision had only one version of the package, which was the same as the one available at https://search.nixos.org/packages. After some more research I discovered that there is currently no Nix-native way to search through previous revisions for older versions of a package. In fact there is a very long discussion span +
4年前
記事のアイキャッチ画像
Deploying statically-linked Haskell to Lambda
Marcelo Lazaroni
+In his post about a Telegram botJoachim Breitner mentions compiling his program into a static binary to have it run in Amazon’s version ofLinux without needing to build it inside a container. I was interested in experimenting withAmazon Lambda and having statically linked Haskell programs sounded like a great idea too, so thisis a write-up of what it took to get those things working.In the end we will have a Haskell program compiling to a statically linked binary, being builtquickly by making use of Nix and Cachix and automatically deployed to Amazon Lambda using GitHubActions.The code for this post can be found at lazamar/lambda-haskell.In Lambda we need a special wrapping layer to run Haskell code. I’m usingaws-lambda-haskell-runtimefor that. I wanted to see what data from the request Amazon was making available, so theprogram will simply get a request as a JSON, prettify it and return that. This is Main.hs,the only Haskell file.{-# LANGUAGE DeriveGeneric #-}{-# LANGUAGE DeriveAnyCla +
5年前
記事のアイキャッチ画像
Download images from a page
Marcelo Lazaroni
+Often I need to download many images from a web page and end up trying and adjusting far too many snippets from Stack Overflow.Here is a snippet that works. Give it two strings to download an image.async function download(url, name) { const res = await fetch(url); const blob = await res.blob(); const blobUrl = URL.createObjectURL(blob); const a = document.createElement("a"); a.href = blobUrl a.download = name; document.body.appendChild(a); a.click(); document.body.removeChild(a);}The browser doesn’t handle downloading many images at once very well. I find that adding a timeout is enough to make things work.function downloadWithTimeout(url, index) { const f = () => download(url, `image-${index}.jpg`); setTimeout(f, index * 500);}// Use like thismyUrls.forEach(downloadWithTimeout)
5年前
記事のアイキャッチ画像
Fast parsing of String Sets in Elm
Marcelo Lazaroni
+Imagine you want to write a parser to match any of a set of strings that you know beforehand.In Elm’s standard parsing library you would use Parser.oneOf. Like this:import Parser exposing (Parser, oneOf, backtrackable, token, getChompedString)friendName : Parser StringfriendName =oneOf[ backtrackable <| token "joe", backtrackable <| token "joey", backtrackable <| token "john"]|> getChompedStringNow we can parse the name of our friends. However this parser has a few problems:It is inefficientIf the string we are matching against is "lisa", for example, this parser will perform the following steps:Look at the first three characters in our parsed string and check whether they are equal to "joe". They aren’t.Look at the first four characters in our parsed string and check whether they are equal to "joey". They aren’tLook at the first four characters in our parsed string and check whether they are equal to "john". They aren’tFailOohf, that’s not very good. From the first time we looked at t +
5年前
記事のアイキャッチ画像
Recursion Patterns - Getting rid of stack overflows
Marcelo Lazaroni
+In functional programming languages you may find yourself overflowing the stack. This post describes techniques to achieve unbounded recursion without fear of the stack.TL;DRThe name of the game is staying tail recursiveEnable tail recursion by passing down computed valuesStick to one recursive call at a time by passing down a list of recursions to be doneIf we reach a stack overflow it is because we are not taking advantage of tail recursion. The fix is: use tail recursion. How to do that, however, is not always very clear.Tail recursionQuick recapitulation: If the very last thing our function does is to return the recursive call, it qualifies for tail call optimisation. This optimisation makes the recursive call take the place of the invoking function in the stack, allowing us to recurse without growing the stack size. This eliminates the risk of a stack overflow.This function is tail recursive (examples are in Elm):-- Pauses execution for n loops of the runtimesleep n =if n > 0 then +
6年前
記事のアイキャッチ画像
Zero downtime - Making Blue-Green deployments dead simple
Marcelo Lazaroni
+At the current state of web technologies, having our application be unavailable during every upgrade is not acceptable anymore. And if you are updating your application often, which you should, being available during updates is even more important. In this post I will walk you through hot-swapping docker containers without letting any request drop with just one command.Blue-Green deployment is the technique we will use. It involves running your new and old server versions in parallel and having a proxy redirect new requests to the new version. Once the old version is finished answering all its remaining requests it can be shut down safely. There you go, version swap with no downtime.It’s easier said than done, though. Even though everyone seems to be able to explain it very well it was hard to find someone actually showing how to do it.The setup is not complicated, but can be tricky to get right. We will use a small tool to do the heavy-lifting. I will do the explanation first and the +
7年前
記事のアイキャッチ画像
Faster and safer Haskell - benchmarks for the accumulating parameter
Marcelo Lazaroni
+Haskell’s laziness can cause problems with recursive functions if they are not handled properly. In some cases this can be dealt with by using an accumulating parameter. Haskell’s wiki page on the subject does a great job in explaining how that works. Here I register some benchmarks on the wiki’s examples so we can see how much that matters.I won’t go into details as to why one implementation performs better than the other as the wiki’s article is already very clear and concise. I will stick to showing the code and the benchmarks.The task in our hands is to calculate the length of a list. To make sure this is working we will print the length of a really long one.main = print $ len [1..1000000000] -- 1 BillionVery lazy implementationThis is our first and very naive implementation.len :: [a] -> Intlen [] = 0len (x:xs) = len xs + 1In this implementation memory usage grew very quickly and we also hit a stack overflow in less than 10 seconds.Tail recursive implementationIn this implementati +
7年前
\ No newline at end of file diff --git a/blogs/b677815306b966edb9c75b2fe0ccfc7d/index.html b/blogs/b677815306b966edb9c75b2fe0ccfc7d/index.html new file mode 100644 index 000000000000..3af90646af90 --- /dev/null +++ b/blogs/b677815306b966edb9c75b2fe0ccfc7d/index.html @@ -0,0 +1,16 @@ +Blog by Martijn Holsのフィード|JSer.info Watch List RSS

Blog by Martijn Hols

https://martijnhols.nl

Ik ben dé Freelance React Developer die je zoekt. Al 8 jaar gespecialiseerd in React, met veel full stack ervaring. Ik kan veel voor je projecten betekenen.

フィード

記事のアイキャッチ画像
The European Accessibility Act for websites and apps
Blog by Martijn Hols
+Learn how the European Accessibility Act (EAA) impacts websites and apps, key accessibility requirements, deadlines, and tips to prepare for compliance.
9日前
記事のアイキャッチ画像
Accessibility essentials every front-end developer should know
Blog by Martijn Hols
Essential accessibility practices for front-end developers, including semantic HTML, alt texts, ARIA, and keyboard navigation tips to build inclusive components. +
1ヶ月前
記事のアイキャッチ画像
How to add copy-paste only text in HTML (plus a React component)
Blog by Martijn Hols
In this gist I share a code snippet to (statically) insert text that appears when pasting content copied from your site.
2ヶ月前
記事のアイキャッチ画像
You don't need Lodash
Blog by Martijn Hols
And I reckon you shouldn't use it, or any libraries that you can solve natively just as well. Here's why.
2ヶ月前
記事のアイキャッチ画像
How to write a good git commit message
Blog by Martijn Hols
Without any structure, your Git history can become a mess. In this article I go into how to write good commit messages.
5ヶ月前
記事のアイキャッチ画像
Everything about Google Translate crashing React (and other web apps)
Blog by Martijn Hols
A deep dive into Google Translate (and other browser extensions) interference breaking React and other web apps.
8ヶ月前
記事のアイキャッチ画像
How to handle array values in react-hook-form
Blog by Martijn Hols
A simple way to handle fields with basic array values in react-hook-form.
9ヶ月前
記事のアイキャッチ画像
Keeping dependencies up-to-date
Blog by Martijn Hols
A strategy for keeping dependencies up-to-date. When to update, how to update, and what to update first.
9ヶ月前
記事のアイキャッチ画像
How to detect Google Translate and other machine translation
Blog by Martijn Hols
In this gist I share a simple but reliable way to detect Google Translate and other machine translation tools.
10ヶ月前
記事のアイキャッチ画像
The security risks of front-end dependencies
Blog by Martijn Hols
A dive into the security risks of using third-party dependencies in front-end projects.
2ヶ月前
+
記事のアイキャッチ画像
How to get the document height in iOS Safari when the on-screen keyboard is open
Blog by Martijn Hols
In this gist I share a React hook to get an accurate document height that correctly accounts for the on-screen keyboard on iOS Safari.
10ヶ月前
記事のアイキャッチ画像
How to detect the on-screen keyboard in iOS Safari
Blog by Martijn Hols
A gist about detecting the on-screen keyboard in iOS Safari with an example React hook.
10ヶ月前
記事のアイキャッチ画像
License
Blog by Martijn Hols
The license to content in my blog, on the rest of my website and the source code of it all.
10ヶ月前
\ No newline at end of file diff --git a/blogs/b730832646f3d89d16cb1f1d637b0261/index.html b/blogs/b730832646f3d89d16cb1f1d637b0261/index.html new file mode 100644 index 000000000000..4391a1719647 --- /dev/null +++ b/blogs/b730832646f3d89d16cb1f1d637b0261/index.html @@ -0,0 +1,12 @@ +WebKitのフィード|JSer.info Watch List RSS

WebKit

https://webkit.org

Open Source Web Browser Engine

フィード

記事のアイキャッチ画像
WebKit Features in Safari 18.3
WebKit
Today marks the arrival of Safari 18.3.
12日前
記事のアイキャッチ画像
Release Notes for Safari Technology Preview 212
WebKit
Safari Technology Preview Release 212 is now available for download for macOS Sequoia and macOS Sonoma.
15日前
記事のアイキャッチ画像
The success of Interop 2024!
WebKit
With close of 2024 came the end of another year of the Interop project — the annual collaboration between browser engine teams to improve the interoperability of web technology by collectively focusing on fixing bugs and improving features in specific areas.
25日前
記事のアイキャッチ画像
Release Notes for Safari Technology Preview 211
WebKit
Safari Technology Preview Release 211 is now available for download for macOS Sequoia and macOS Sonoma.
25日前
記事のアイキャッチ画像
Release Notes for Safari Technology Preview 210
WebKit
Safari Technology Preview Release 210 is now available for download for macOS Sequoia and macOS Sonoma.
2ヶ月前
記事のアイキャッチ画像
WebKit Features in Safari 18.2
WebKit
Today marks the arrival of Safari 18.2.
2ヶ月前
記事のアイキャッチ画像
Release Notes for Safari Technology Preview 209
WebKit
Safari Technology Preview Release 209 is now available for download for macOS Sequoia and macOS Sonoma.
2ヶ月前
Release Notes for Safari Technology Preview 208
WebKit
Safari Technology Preview Release 208 is now available for download for macOS Sequoia and macOS Sonoma.
3ヶ月前
記事のアイキャッチ画像
Make creative borders with background-clip border-area
WebKit +
How’d you like to use CSS to easily create a border from an image or gradient?
3ヶ月前
記事のアイキャッチ画像
Release Notes for Safari Technology Preview 207
WebKit
Safari Technology Preview Release 207 is now available for download for macOS Sequoia and macOS Sonoma.
3ヶ月前
\ No newline at end of file diff --git a/blogs/b7ccd4b455c364f0f55fc55649723785/index.html b/blogs/b7ccd4b455c364f0f55fc55649723785/index.html new file mode 100644 index 000000000000..8022ee497a1b --- /dev/null +++ b/blogs/b7ccd4b455c364f0f55fc55649723785/index.html @@ -0,0 +1,21 @@ +CSS-Tricksのフィード|JSer.info Watch List RSS

CSS-Tricks

フィード

記事のアイキャッチ画像
Container query units: cqi and cqb
CSS-Tricks
A little gem from Kevin Powell's "HTML & CSS Tip of the Week" website, reminding us that using container queries opens up container query units for sizing things based on the size of the queried container.Container query units: cqi and cqb originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.
2日前
記事のアイキャッチ画像
Baseline Status in a WordPress Block
CSS-Tricks
The steps for how I took the Baseline Status web component and made it into a WordPress block that can be used on any page of post.Baseline Status in a WordPress Block originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.
3日前
記事のアイキャッチ画像
Compiling CSS With Vite and Lightning CSS
CSS-Tricks
Are partials the only thing keeping you writing CSS in Sass? With a little configuration, it's possible to compile partial CSS files without a Sass dependency. Ryan Trimble has the details.Compiling CSS With Vite and Lightning CSS originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.
5日前
記事のアイキャッチ画像
Chrome 133 Goodies
はてなブックマークアイコン 2
CSS-Tricks
Did you see the release notes for Chrome 133? It's currently in beta, but the Chrome team has been publishing a slew of new articles with pretty incredible demos that are tough to ignore. I figured I'd round those up in one place.Chrome 133 Goodies originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.
8日前
記事のアイキャッチ画像
Keeping the page interactive while a View Transition is running
はてなブックマークアイコン 1
CSS-Tricks
When using View Transitions you’ll notice the page becomes unresponsive to clicks while a View Transition is running. […] This happens because of the ::view-transition pseudo element – the one that contains all animated snapshots – gets overlayed on top …Keeping the page interactive while a View Transition is running originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.
8日前
記事のアイキャッチ画像
The Mistakes of CSS
CSS-Tricks
All of the things that the CSS Working Group would change if they had a time-traveling Delorean to go back and do things over.The Mistakes of CSS originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.
9日前
記事のアイキャッチ画像
What on Earth is the `types` Descriptor in View Transitions?
CSS-Tricks
The @view-transition at-rule has two descriptions. One is the commonly used navigation descriptor. The second is types, the lesser-known of the two, and one that probably envies how much attention navigation gets. But read on to learn why we need types and how it opens up new possibilities for custom view transitions when navigating between pages.What on Earth is the `types` Descriptor in View Transitions? originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.
10日前
記事のアイキャッチ画像
Revisiting CSS Multi-Column Layout
はてなブックマークアイコン 3
CSS-Tricks
After 20 years since Andy Clarke first published his book about Multi-Column Layout in CSS, he's back to encourage a fresh look at CSS columns for enhanced readability and design flexibility.Revisiting CSS Multi-Column Layout originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.
+
12日前
記事のアイキャッチ画像
Positioning Text Around Elements With CSS Offset
CSS-Tricks
+When it comes to positioning elements on a page, including text, there are many ways to go about it in CSS — the literal position property with corresponding inset-* properties, translate, margin, anchor() (limited browser support at the moment), and so forth. The offset property is another one that belongs in that list.Positioning Text Around Elements With CSS Offset originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.
15日前
記事のアイキャッチ画像
+Some Things You Might Not Know About Custom Counter Styles
CSS-Tricks
I was reading through Juan’s recent Almanac entry for the @counter-style at-rule and I’ll be darned if he didn’t uncover and unpack some extremely interesting things that we can do to style lists, notably the list marker. You’re probably already …Some Things You Might Not Know About Custom Counter Styles originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.
16日前
記事のアイキャッチ画像
+Creating a “Starred” Feed
CSS-Tricks
Chris wrote about “Likes” pages a long while back. The idea is rather simple: “Like” an item in your RSS reader and display it in a feed of other liked items. The little example Chris made is still really good.…Creating a “Starred” Feed originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.
18日前
記事のアイキャッチ画像
Fancy Menu Navigation Using Anchor Positioning
CSS-Tricks
Anchor positioning can be great for little interactive effects — as Temani Afif shows off with this clever idea for a menu hover.Fancy Menu Navigation Using Anchor Positioning originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.
22日前
記事のアイキャッチ画像
Web-Slinger.css: Across the Swiper-Verse
CSS-Tricks
+Lee Meyer with a super clever idea using scroll-driven animations as an interaction to "like" or "dislike" something.Web-Slinger.css: Across the Swiper-Verse originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.
24日前
記事のアイキャッチ画像
A Few Ways That Cloudways Makes Running This Site a Little Easier
CSS-Tricks
+(This is a sponsored post.)It’s probably no surprise to you that CSS-Tricks is (proudly) hosted on Cloudways, DigitalOcean’s managed hosting arm. Given both CSS-Tricks and Cloudways are part of DigitalOcean, it was just a matter of time …A Few Ways That Cloudways Makes Running This Site a Little Easier originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.
25日前
記事のアイキャッチ画像
How to Wait for the sibling-count() and sibling-index() Functions
CSS-Tricks
Today, I want to look into one of those cases of impatient and how the community has waited for that feature, to be specific, two upcoming functions: sibling-count() and sibling-index().How to Wait for the sibling-count() and sibling-index() Functions originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.
1ヶ月前
\ No newline at end of file diff --git a/blogs/b9e963552193f51c0094592cd3d72cb4/index.html b/blogs/b9e963552193f51c0094592cd3d72cb4/index.html new file mode 100644 index 000000000000..8356d42cc10a --- /dev/null +++ b/blogs/b9e963552193f51c0094592cd3d72cb4/index.html @@ -0,0 +1,786 @@ +ESLint Blogのフィード|JSer.info Watch List RSS

ESLint Blog

フィード

記事のアイキャッチ画像
ESLint v9.20.0 released
ESLint Blog
+HighlightsInactive flags do not throw an errorWhen we released ESLint v9.18.0 earlier this year, some users reported that running ESLint with the unstable_ts_config feature flag was throwing an error since that flag had become inactive.While the error was expected, we realized that raising a warning would be more appropriate than throwing an error in certain situations when inactive flags are used, and we decided to change the behavior accordingly.You can read more about the new feature flags policy in the documentation.Empty configurations raise a warningIn ESLint v9.20.0, using an empty configuration or a configuration that exports an empty array as in export default [] results in a warning message.To explicitly use a configuration that does nothing in tests or other scenarios, you can export an array with an empty object:export default [{}];Updated ESLint typesLast year, ESLint introduced the capability to lint languages other than JavaScript through the use of language plugins.ESLi +
1日前
記事のアイキャッチ画像
Differences between ESLint and TypeScript
はてなブックマークアイコン 2
ESLint Blog
+If you’re a JavaScript developer today, there’s a good chance you’re using a combination of ESLint and TypeScript to assist development.These tools perform similar but different functions. ESLint is a linter, whereas TypeScript is a type checker.Linters and type checkers are two kinds of static analysis tooling that analyze code and report on detected issues. While they may seem similar at first, linters and type checkers detect different categories of issues and are useful in different ways.To understand these differences, it’s first helpful to understand what static analysis is and why it’s useful.What is static analysis?Static analysis is the inspection of source code without executing it.This differs from dynamic analysis, in which source code is inspected while it is executed.As such, dynamic analysis brings with it the inherent danger of executing malicious code or creating side effects while static analysis is safe to execute regardless of the source code.Static analysis can be +
11日前
記事のアイキャッチ画像
ESLint v9.19.0 released
ESLint Blog
+HighlightsReporting unused /* eslint */ config commentsThis release introduces a new config option linterOptions.reportUnusedInlineConfigs and corresponding CLI option --report-unused-inline-configs.When this option is set to "warn" or "error", ESLint will report inline rule configuration comments whose severity and options match what’s already been configured for the same rule.// eslint.config.jsexport default [ { linterOptions: { reportUnusedInlineConfigs: "error" }, rules: { "no-unused-vars": ["error", { ignoreRestSiblings: true }] } }];// my-file.js/* eslint no-unused-vars: ["error", { "ignoreRestSiblings": true }] -- this inline config will be reported as unused */Features1637b8e feat: add --report-unused-inline-configs (#19201) (Josh Goldberg ✨)Bug Fixesaae6717 fix: sync rule type header comments automatically (#19276) (Francesco Trotta)Documentationcfea9ab docs: Clarify overrideConfig option (#19370) (Nicholas C. Zakas)2b84f66 docs: Update README (#19362) (Nicholas C. Zakas)044f +
15日前
記事のアイキャッチ画像
ESLint's 2024 year in review
ESLint Blog
+The plan for 2024 was to release the final version of ESLint v9.0.0 and then start working on language plugins that allow ESLint to officially lint non-JavaScript languages. We spent the year working on these and delivered them all, along with some helpful tools, by the end of 2024.Release of ESLint v9.0.0 and the new configuration systemESLint v9.0.0 was released in April with the new configuration system enabled by default. This being our first major release since 2021, we experienced a difficult first few months as we fielded bugs and complaints related not just to the new configuration system, but the other changes in v9.0.0. We spent the first half of the year updating documentation, creating a configuration migration tool to ease the transition, and the Config Inspector to help people debug their new configuration files.Towards the last quarter of 2024, things had started to settle and we went back to work on improving the configuration system to address some of the common issues +
17日前
記事のアイキャッチ画像
ESLint v9.18.0 released
ESLint Blog
+HighlightsStable TypeScript configuration file supportIn August of the previous year, ESLint launched support for TypeScript configuration files as an experimental feature.In order to use a TypeScript configuration file like eslint.config.ts, users had to specify the unstable_ts_config flag in the command line, e.g.npx eslint --flag unstable_ts_configFollowing an experimental period of several months, during which there were no specific complaints and only minor adjustments, we have made the decision to officially implement support for TypeScript configuration files as a stable feature.Starting with ESLint v9.18.0, TypeScript configuration files with extensions .ts, .mts and .cts can be used like regular JavaScript configuration files.If you are upgrading from a previous version of ESLint, be sure to remove the unstable_ts_config flag from the command.Note that in order to use a TypeScript configuration file in Node.js, you still need to have jiti installed in version 2.0 or higher.For +
1ヶ月前
記事のアイキャッチ画像
ESLint v9.17.0 released
ESLint Blog
+Highlightsno-unused-vars SuggestionsThe no-unused-vars rule provides suggestions now! When the rule sees code with an unused variable like this:const a = "Hello";const b = "World!";console.log(a);It will now suggest removing the unused variable declaration:const a = "Hello";console.log(a);Suggestions also work for more complex cases like unused function arguments, destructuring syntax, etc.function avg(a, b, c) { return (a + b) / 2;}console.log(avg(12, 13, 25));after the suggestion is applied becomes:function avg(a, b) { return (a + b) / 2;}console.log(avg(12, 13, 25));andconst [{ status, value, reason }] = await Promise.allSettled([promise1, promise2]);if (status === "rejected") { throw reason;}after the suggestion becomes:const [{ status, reason }] = await Promise.allSettled([promise1, promise2]);if (status === "rejected") { throw reason;}no-unused-vars suggestions mark the completion of months of work. We will likely further improve and fine-tune this feature in future updates.Nulli +
2ヶ月前
記事のアイキャッチ画像
ESLint v9.16.0 released
ESLint Blog
+HighlightsignoreComputedKeys option for sort-keysThis release adds a new boolean option ignoreComputedKeys to the sort-keys rule.ignoreComputedKeys allows a more consistent sorting of properties with non-computed names by treating computed keys as group separators rather than part of a group.The following example shows the expected sorting of properties in an object literal without the ignoreComputedKeys option.with ignoreComputedKeys: false (default)const obj = { a: 10, b: 20, [c]: 7.5, d: 15 };When ignoreComputedKeys is set to true, the computed key c can appear anywhere in the literal, as long as the other groups of properties are sorted.with ignoreComputedKeys: trueconst obj = { a: 10, b: 20, [c]: 7.5, d: 15 };orconst obj = { d: 15, [c]: 7.5, a: 10, b: 20 };orconst obj = { a: 10, b: 20, d: 15, [c]: 7.5 };etc.Language-agnostic no-restricted-syntaxAnother enhancement in this release is the ability to use the no-restricted-syntax rule with any language.This was already possible in pre +
2ヶ月前
記事のアイキャッチ画像
ESLint v9.15.0 released
ESLint Blog
+This release updates the @eslint/plugin-kit dependency to the latest version 0.2.3 which includes the fix for security advisory GHSA-7q7g-4xm8-89cq.Highlightsmeta.defaultOptionsRules can now specify default options. ESLint will recursively merge any user-provided options elements on top of the default elements.This feature makes it easier to work with options in rules.// my-rule.jsexport default { meta: { defaultOptions: [{ alias: "basic", ignoreClassFields: false }], schema: [{ type: "object", properties: { alias: { type: "string" }, ignoreClassFields: { type: "boolean" } }, additionalProperties: false }] }, create(context) { // `context.options` is guaranteed to be an array with a single object // that has a string property `alias` and a boolean property `ignoreClassFields`. // If the rule is enabled with no options specified in the configuration file, // `alias` will be `"basic"`, and `ignoreClassFields` will be `false`. const [{ alias, ignoreClassFields }] = context.options; return +
3ヶ月前
記事のアイキャッチ画像
ESLint v9.14.0 released
ESLint Blog
+HighlightsSupport for Import AttributesWe have updated ESLint to fully support the ECMAScript 2025 Import Attributes syntax. This syntax allows module import statements and dynamic imports to pass on more information alongside the module specifier. Host environments can use this information to modify import behavior and support additional types of modules. For example, when type: "json" is specified, modules are treated as JSON Modules.import json from "./foo.json" with { type: "json" };import("foo.json", { with: { type: "json" } });The updates in ESLint include parsing and ensuring that naming convention rules do not apply to import attribute keys as they are defined by the ECMAScript Specification or by the host environment and thus users have no control over their naming.Please note that deprecated formatting rules will not be updated to support this syntax. If you are still using core formatting rules, we recommend switching to a source code formatter. Alternatively, you can replac +
3ヶ月前
記事のアイキャッチ画像
ESLint v9.13.0 released
ESLint Blog
+HighlightsThe predefined array of config objects used by ESLint can be now accessed programmatically as ESLint.defaultConfig.To speed up loading, the ESLint CLI will automatically enable V8’s code cache in newer versions of Node.js.Custom languages can now provide their default options with the defaultLanguageOptions property. See the documentation about the Language object.Features381c32b feat: Allow languages to provide defaultLanguageOptions (#19003) (Milos Djermanovic)bf723bd feat: Improve eslintrc warning message (#19023) (Milos Djermanovic)1def4cd feat: drop support for jiti v1.21 (#18996) (Francesco Trotta)f879be2 feat: export ESLint.defaultConfig (#18983) (Nitin Kumar)Bug Fixes78836d4 fix: update the complexity rule type (#19027) (Nitin Kumar)064c8b6 fix: update rule types (#18925) (Nitin Kumar)Documentationabdbfa8 docs: mark LintMessage#nodeType as deprecated (#19019) (Nitin Kumar)19e68d3 docs: update deprecated rules type definitions (#19018) (Nitin Kumar)7dd402d docs: Update +
4ヶ月前
記事のアイキャッチ画像
no-unused-binary-expressions: From code review nit to ecosystem improvements
ESLint Blog
+Four years ago, while doing a code review at work, I was surprised that Flow had not warned about an unnecessary null check. Last month, TypeScript 5.6 released with validation rules that disallows useless nullish and truthy checks which uncovered nearly 100 existing bugs in the top 800 TypeScript repos on GitHub.The two events are connected because that moment in code review four years ago led me to write the no-constant-binary-expressions rule which catches a wide variety of bugs. Examples include:// Expecting empty objects to be falsyconst foo = { ...config } || {};// Confusing precedence of !const foo1 = !x == null;// Confusing ?? or || precedenceconst foo2 = x === y ?? true;The no-constant-binary-expression rule, in turn, helped inspire the newly added TypeScript validations.Given the protracted timeline and the many intermediate steps, I thought it would be interesting to reflect on how we got here. How did this observation in one code review snowball into a significant positive +
4ヶ月前
記事のアイキャッチ画像
ESLint v9.12.0 released
ESLint Blog
+HighlightsExperimental configuration file resolutionOne of the big changes in ESLint v9.0.0 was the new config system which switched from looking for config files relative to the file being linted to starting the search from the current working directory. While this dramatically decreased the complexity of config file lookup, it also had an unintended side effect: monorepos could no longer include a separate eslint.config.js file in each project directory and then run ESLint with one command from the root. To address this, we’re working on a new configuration file resolution algorithm that more closely mirrors how the eslintrc config system worked.This new algorithm also starts the search from the file being linted, restoring the monorepo use case and also making it possible to run ESLint from anywhere on any file and get the same results each time. Because this feature is experimental, you’ll need to use the unstable_config_lookup_from_file feature flag, like this:npx eslint --flag un +
4ヶ月前
記事のアイキャッチ画像
ESLint now officially supports linting of JSON and Markdown
ESLint Blog
+Back in July we announced ourplan for ESLint going forward. Part of that announcement discussed transitioningESLint to be a more general-purpose linter that is capable of linting anylanguage. A lot of the core functionality of ESLint (finding files, parsingthen, reporting problems) is generic, and so we’ve spent the past few monthsextracting the JavaScript-specific parts of the core. We’re now happy to sharethat this work has paid by allowing ESLint to now lint both JSON and Markdown!JSON linting with @eslint/jsonJSON linting is accomplished using the@eslint/json plugin, which is anofficially supported language plugin. The plugin provides parsing for JSON,JSONC (JSON with comments), and JSON5. To use the plugin, install it from npm:npm install @eslint/json -DThen update your configuration file:import json from "@eslint/json";export default [ { plugins: { json, }, }, // lint JSON files { files: ["**/*.json"], language: "json/json", rules: { "json/no-duplicate-keys": "error", }, },];Ther +
4ヶ月前
記事のアイキャッチ画像
ESLint v9.11.1 released
ESLint Blog
+HighlightsSeveral type packages have been added as dependencies to fix compilation errors when ESLint is used in TypeScript code.Bug Fixes20fd916 fix: add @eslint/core, @types/estree, & @types/json-schema deps (#18938) (Nitin Kumar)2738322 fix: add missing types for require-atomic-updates rule (#18937) (Kristóf Poduszló)d71ff30 fix: add missing types for object-shorthand rule (#18935) (Kristóf Poduszló)561cadc fix: add missing types for no-unsafe-negation rule (#18932) (Kristóf Poduszló)8843656 fix: add missing types for no-underscore-dangle rule (#18931) (Kristóf Poduszló)92cde5c fix: add missing types for no-shadow rule (#18930) (Kristóf Poduszló)b3cbe11 fix: add missing types for no-sequences rule (#18929) (Kristóf Poduszló)976f77f fix: add missing types for no-unused-expressions rule (#18933) (Kristóf Poduszló)Documentation3eff709 docs: replace deprecated Linter.FlatConfig type with Linter.Config (#18941) (Carlos Meira)Choresdf4a859 chore: upgrade @eslint/js@9.11.1 (#18943) (Milos +
5ヶ月前
記事のアイキャッチ画像
ESLint v9.11.0 released
ESLint Blog
+HighlightsThe no-useless-constructor rule now provides suggestions for some of the problems reported by this rule.Featuresec30c73 feat: add “eslint/universal” to export Linter (#18883) (唯然)c591da6 feat: Add language to types (#18917) (Nicholas C. Zakas)492eb8f feat: limit the name given to ImportSpecifier in id-length (#18861) (Tanuj Kanti)19c6856 feat: Add no-useless-constructor suggestion (#18799) (Jordan Thomson)a48f8c2 feat: add type FormatterFunction, update LoadedFormatter (#18872) (Francesco Trotta)Bug Fixes5e5f39b fix: add missing types for no-restricted-exports rule (#18914) (Kristóf Poduszló)8f630eb fix: add missing types for no-param-reassign options (#18906) (Kristóf Poduszló)d715781 fix: add missing types for no-extra-boolean-cast options (#18902) (Kristóf Poduszló)2de5742 fix: add missing types for no-misleading-character-class options (#18905) (Kristóf Poduszló)c153084 fix: add missing types for no-implicit-coercion options (#18903) (Kristóf Poduszló)fa11b2e fix: add mis +
5ヶ月前
記事のアイキャッチ画像
ESLint v8.57.1 released
ESLint Blog
+HighlightsNotable bug fixes related to the new config system (eslint.config.js):Config name property can now also be used with global ignores.--no-ignore no longer applies to non-global ignores.The FlatESLint#lintText() method will now respect the fixTypes option when it is specified.This version also improves configuration error messages by including the name property (if specified on the config object that caused the error), or index in case of non-object elements in the config array.Bug Fixesa19072f fix: add logic to handle fixTypes in the lintText() method (#18900) (Francesco Trotta)04c7188 fix: Don’t lint same file multiple times (#18899) (Francesco Trotta)87ec3c4 fix: do not throw when defining a global named __defineSetter__ (#18898) (Francesco Trotta)60a1267 fix: Provide helpful error message for nullish configs (#18889) (Milos Djermanovic)a0dea8e fix: allow name in global ignores, fix --no-ignore for non-global (#18875) (Milos Djermanovic)3836bb4 fix: do not crash on error in +
5ヶ月前
記事のアイキャッチ画像
Version support policy and ESLint v8.x end of life
ESLint Blog
+For ESLint’s entire 11 year existence, we’ve only maintained one major release line at a time. This was both for practical reasons (limited team bandwidth) and technical reasons (our infrastructure was built to assume just one branch). Unfortunately, we haven’t been good at communicating our version support policy, which has led to confusion and frustration when we do a major release.Adopting a formal version support policyThe Technical Steering Committee has adopted a formal version support policy that explains our approach to supporting major release lines. In general, a major release line may be in one of the following statuses:Current - Receives active maintenance and development from the ESLint team. A release line is considered current when prerelease work begins.Maintenance - Receives critical bug fixes, including security issues, and compatibility fixes to ensure interoperability between major release lines. There is no backporting of other fixes or features from the current re +
5ヶ月前
記事のアイキャッチ画像
ESLint v9.10.0 released
ESLint Blog
+HighlightsTypes now includedWe’ve been receiving complaints about the @types/eslint package not being updated after the v9 release. While we did do an initial update to the package for v9, it quickly became apparent that regular updates to that package could not be accomplished in a timely manner. Ultimately, we decided that the only way for us to provide the type of experience we want for ESLint is to take complete ownership of the type definitions.As a result, beginning with this release, the eslint package now publishes its own types. To start, we’ve copied the type definitions from @types/eslint in order to provide a smooth transition. (There was one bug in the types that we fixed, but otherwise it’s the same type definitions.) Going forward, we’ll continue to iterate and improve the type definitions as part of our regular release cycle.We’re grateful to everyone who contributed types to the @types/eslint package at a time when we weren’t ready to take that work on.Other notable ch +
5ヶ月前
記事のアイキャッチ画像
Trunk becomes ESLint gold sponsor
ESLint Blog
+We are happy to share that Trunk has become an ESLint gold sponsor, donating $1,000 each month for the ongoing maintenance and development of ESLint! Trunk is a suite of tools aimed at making developers more effective, including Code Quality that integrates ESLint directly, and Merge Queue, with more tools in development.Here’s what the folks at Trunk had to say about ESLint:"ESLint is a core part of the Trunk Code Quality plugin ecosystem. It’s the most popular linter plugin and is enabled by default on all JS and TS projects running Code Quality. ESLint also runs on all of Trunk’s Typescript source code.Code Quality, as a metalinter, is built on top of great open-source linters like ESLint. Sponsoring ESLint and helping ESLint leverage Trunk Code Quality on their open-source repo is an excellent way for us to give back."– David Apirian, Trunk FounderThe ESLint team and the Trunk team worked together over the past few months to integrate Code Quality into the ESLint repository, where +
5ヶ月前
記事のアイキャッチ画像
ESLint v9.9.1 released
ESLint Blog
+HighlightsThe lintText() method will now respect the fixTypes option when it is specified.Bug Fixes9bde90c fix: add logic to handle fixTypes in lintText() (#18736) (Amaresh S M)Documentation4840930 docs: Update README with version support and clean up content (#18804) (Nicholas C. Zakas)f61f40d docs: Update globals examples (#18805) (Nicholas C. Zakas)241fcea docs: Use and define languages (#18795) (Nicholas C. Zakas)5dbdd63 docs: eslint-plugin-markdown -> @eslint/markdown (#18797) (Nicholas C. Zakas)c6c8ddd docs: update links to eslint-visitor-keys repo (#18796) (Francesco Trotta)f981d05 docs: Update README (GitHub Actions Bot)b516974 docs: update links to eslint/js repo (#18781) (Francesco Trotta)fb7a3f5 docs: update note for package managers (#18779) (Jay)Choresb0c34d0 chore: upgrade to @eslint/js@9.9.1 (#18809) (Francesco Trotta)cd5a0da chore: package.json update for @eslint/js release (Jenkins)e112642 refactor: Extract parsing logic from Linter (#18790) (Nicholas C. Zakas)0f68a85 +
6ヶ月前
記事のアイキャッチ画像
ESLint v9.9.0 released
ESLint Blog
+HighlightsHere are some of the key changes in this release.Experimental TypeScript configuration filesArya Emami landed experimental support for TypeScript configuration files. Specifically, you can now use eslint.config.ts, eslint.config.mts, and eslint.config.cts files as your configuration files. Because this feature is experimental, you’ll need to use the unstable_ts_config feature flag:npx eslint --flag unstable_ts_configFor Node.js, you’ll need to manually install jiti, which provides the TypeScript-to-JavaScript functionality; for Deno and Bun, no additional dependency is necessary. (When TypeScript type stripping lands as stable in Node.js, you also won’t need an additional dependency in Node.js)For more information on this feature, see TypeScript Configuration Files. For more information on using feature flags, see Feature Flags.Other notable changesThe require-await rule now suggests to remove possibly unnecessary usages of the async keyword.Features41d0206 feat: Add support +
6ヶ月前
記事のアイキャッチ画像
ESLint v9.8.0 released
ESLint Blog
+HighlightsIgnoring the directory where ESLint runs is no longer possible. Previously, a global ignores pattern like "/" would ignore the entire base directory.The feature flags specification has been updated to forbid the usage of inactive flags.Features13d0bd3 feat: Add and use SourceCode#getLoc/getRange (#18703) (Nicholas C. Zakas)Bug Fixesab0ff27 fix: Throw error when invalid flags passed (#18705) (Nicholas C. Zakas)70dc803 fix: basePath directory can never be ignored (#18711) (Milos Djermanovic)Documentation282df1a docs: Add system theme option (#18617) (Amaresh S M)53b1ff0 docs: Debug config docs (#18698) (Nicholas C. Zakas)a7016a5 docs: fix search input stylings (#18682) (Amaresh S M)Build Related4514424 build: Enable JSON linting (#18681) (Nicholas C. Zakas)Choresdeee448 chore: upgrade to @eslint/js@9.8.0 (#18720) (Francesco Trotta)4aaf2b3 chore: package.json update for @eslint/js release (Jenkins)8e1a627 chore: update dependency @eslint/core to ^0.2.0 (#18700) (renovate[bot]) +
6ヶ月前
記事のアイキャッチ画像
ESLint v9.7.0 released
ESLint Blog
+HighlightsESLint v9.7.0 supports ECMAScript 2025 duplicate capturing groups in regular expressions in its core rules.The no-restricted-imports rule has a new option regex to specify modules using a regular expression pattern.Features7bd9839 feat: add support for es2025 duplicate named capturing groups (#18630) (Yosuke Ota)1381394 feat: add regex option in no-restricted-imports (#18622) (Nitin Kumar)Bug Fixes14e9f81 fix: destructuring in catch clause in no-unused-vars (#18636) (Francesco Trotta)Documentation9f416db docs: Add Powered by Algolia label to the search. (#18633) (Amaresh S M)c8d26cb docs: Open JS Foundation -> OpenJS Foundation (#18649) (Milos Djermanovic)6e79ac7 docs: loadESLint does not support option cwd (#18641) (Francesco Trotta)Chores793b718 chore: upgrade @eslint/js@9.7.0 (#18680) (Francesco Trotta)7ed6f9a chore: package.json update for @eslint/js release (Jenkins)7bcda76 refactor: Add type references (#18652) (Nicholas C. Zakas)51bf57c chore: add tech sponsors through +
7ヶ月前
記事のアイキャッチ画像
What's coming next for ESLint
ESLint Blog
+When we released ESLint v9.0.0 in April, it was the first major release in 30 months and formally introduced the new configuration system. ESLint v9.0.0 also made some rule API changes to prepare the core for what’s coming next. After the release, we spent a lot of time creating compatibility utilities, a configuration migration tool, and a rule API transform utility to help the ecosystem move to ESLint v9.0.0. All of that work was necessary for us to move on to the next significant changes coming to ESLint.Language pluginsTwo years ago, the TSC decided that it was time to open up ESLint to make it possible to lint languages other than JavaScript. Practically speaking, there are a lot of things that the ESLint core does that are not specific to JavaScript: the finding and reading of files, the loading of file-specific configuration, collecting rule violations, outputting results to the console, and so on. Further, we kept finding plugins that were linting other languages (like GraphQL +
7ヶ月前
記事のアイキャッチ画像
ESLint v9.6.0 released
ESLint Blog
+HighlightsESLint’s default parser espree now supports RegExp duplicate named capturing groups ES2025 syntax when languageOptions.ecmaVersion is set to 2025 or "latest" (default). Please note that the core rules have not yet been updated to support this syntax.Backslash (\) can now be used as an escape character in files and ignores patterns, regardless of the operating system. Note that only forward slash (/) is interpreted as a path separator in files and ignores patterns, regardless of the operating system.The messages reported by the no-unused-vars rule have been improved to include configured ignore patterns for different kinds of variables.Featurese2b16e2 feat: Implement feature flags (#18516) (Nicholas C. Zakas)8824aa1 feat: add ecmaVersion: 2025, parsing duplicate named capturing groups (#18596) (Milos Djermanovic)Bug Fixes1613e2e fix: Allow escaping characters in config patterns on Windows (#18628) (Milos Djermanovic)21d3766 fix: no-unused-vars include caught errors pattern in +
7ヶ月前
記事のアイキャッチ画像
ESLint v9.5.0 released
ESLint Blog
+HighlightsThe @eslint/compat package now provides utility for including .gitignore files or any other files with gitignore-style patterns in your eslint.config.js file.Messages about ignored files have been improved to distinguish between files that are ignored because of a matching ignore pattern, files that are ignored because no matching configuration is supplied, and files that are ignored because they are located outside of the base path.The no-sparse-arrays rule now reports precise locations of holes in array literals.Featuresb2d256c feat: no-sparse-arrays report on “comma” instead of the whole array (#18579) (fisker Cheung)Bug Fixes6880286 fix: treat * as a universal pattern (#18586) (Milos Djermanovic)7fbe211 fix: message template for all files ignored (#18564) (Milos Djermanovic)469cb36 fix: Don’t lint the same file multiple times (#18552) (Milos Djermanovic)5cff638 fix: improve message for ignored files without a matching config (#18404) (Francesco Trotta)Documentation455f7fd +
8ヶ月前
記事のアイキャッチ画像
ESLint v9.4.0 released
ESLint Blog
+HighlightsThe no-loop-func rule no longer reports on IIFE’s.The --inspect-config CLI flag will now launch the latest version of the ESLint Config Inspector.The no-constructor-return rule now allows return statements without a value anywhere in a constructor.Features89a4a0a feat: ignore IIFE’s in the no-loop-func rule (#17528) (Nitin Kumar)Bug Fixesf6534d1 fix: skip processor code blocks that match only universal patterns (#18507) (Milos Djermanovic)7226ebd fix: allow implicit undefined return in no-constructor-return (#18515) (Ali Rezvani)389744b fix: use @eslint/config-inspector@latest (#18483) (唯然)70118a5 fix: func-style false positive with arrow functions and super (#18473) (Milos Djermanovic)Documentationd7ab6f5 docs: update theme when when prefers-color-scheme changes (#18510) (Nitin Kumar)525fdff docs: fix components files (#18519) (Tanuj Kanti)80747d2 docs: refactor prefer-destructuring rule (#18472) (Tanuj Kanti)f06e0b5 docs: clarify func-style (#18477) (Cameron Steffen)Chores0 +
8ヶ月前
記事のアイキャッチ画像
Introducing the ESLint Configuration Migrator
ESLint Blog
+We’ve heard you: One of the biggest reasons ESLint users haven’t upgraded to ESLint v9.x is migrating a configuration file seems difficult and complicated. Some plugins support flat config and the ESLint v9.x rule APIs and some don’t. Sometimes you need to use FlatCompat and sometimes you need to use the compatibility utilities. While we cover as much as we can in the migration guide, it can take time to walk through your configuration and make the necessary changes.That’s why we’re excited to announce the release of the ESLint Configuration Migrator. This utility is designed to translate .eslintrc.* files into eslint.config.js files, including:1-for-1 migration of .eslintrc, .eslintrc.json, .eslintrc.yml, and .eslintrc.yaml files.Reasonable migration of simple .eslintrc.js, .eslintrc.cjs, and .eslintrc.mjs files. (These will often need edits if you are using variables to build your config).Automatic inclusion of .eslintignore patterns into your new config file.Automatic use of FlatCom +
8ヶ月前
記事のアイキャッチ画像
ESLint v9.3.0 released
ESLint Blog
+HighlightsESLint v9.3.0 adds new options to some rules:func-style has the new option overrides.namedExportsno-extra-boolean-cast has the new option enforceForInnerExpressions superseding the deprecated but still recognized enforceForLogicalOperands optionno-misleading-character-class has the new new option allowEscapeno-restricted-exports has the new option restrictedNamedExportsPatternThe built-in rules line-comment-position and multiline-comment-style have been deprecated in favor of third-party replacements.Featuresb32153c feat: add overrides.namedExports to func-style rule (#18444) (Percy Ma)b67eba4 feat: add restrictedNamedExportsPattern to no-restricted-exports (#18431) (Akul Srivastava)069aa68 feat: add option allowEscape to no-misleading-character-class rule (#18208) (Francesco Trotta)05ef92d feat: deprecate multiline-comment-style & line-comment-position (#18435) (唯然)db0b174 feat: add enforceForInnerExpressions option to no-extra-boolean-cast (#18222) (Kirk Waiblinger)Bug Fixe +
9ヶ月前
記事のアイキャッチ画像
Introducing ESLint Compatibility Utilities
ESLint Blog
+The release of ESLint v9.0.0 brought with it the rollout of the new configuration system, but also a series of changes to the rules API. These changes are necessary in order to prepare ESLint for implementing language plugins, which will give ESLint the ability to natively lint languages other than JavaScript. As a result, plugin authors needed to update their rules to work with v9.0.0, and unfortunately, that means some of the plugins you rely on may not have been updated yet. That’s why we’re releasing the compatibility utilities.How to know if the compatibility utilities will helpThese utilities may help if you encounter any of the following errors while running ESLint:TypeError: context.getScope is not a functionTypeError: context.getAncestors is not a functionTypeError: context.markVariableAsUsed is not a functionTypeError: context.getDeclaredVariables is not a functionThese errors mean that the plugin rules have not been updated to the latest ESLint rule API.Using the compatibili +
9ヶ月前
記事のアイキャッチ画像
ESLint v9.2.0 released
ESLint Blog
+HighlightsThe no-case-declarations rule now provides suggestions for some of the problems reported by this rule.Features8485d76 feat: no-case-declarations add suggestions (#18388) (Josh Goldberg ✨)a498f35 feat: update Unicode letter detection in capitalized-comments rule (#18375) (Francesco Trotta)Bug Fixeseeec413 fix: do not throw when defining a global named __defineSetter__ (#18364) (唯然)Documentation0f5df50 docs: Update README (GitHub Actions Bot)1579ce0 docs: update wording regarding indirect eval (#18394) (Kirk Waiblinger)f12a02c docs: update to eslint v9 in custom-rule-tutorial (#18383) (唯然)Choresb346605 chore: upgrade @eslint/js@9.2.0 (#18413) (Milos Djermanovic)c4c18e0 chore: package.json update for @eslint/js release (Jenkins)284722c chore: package.json update for eslint-config-eslint release (Jenkins)347d44f chore: remove eslintrc export from eslint-config-eslint (#18400) (Milos Djermanovic)f316e20 ci: run tests in Node.js 22 (#18393) (Francesco Trotta)
9ヶ月前
記事のアイキャッチ画像
ESLint v9.1.1 released
ESLint Blog
HighlightsFixed an issue that would sometimes cause an outdated version of @eslint/create-config to be used when running npx eslint --init.Bug Fixesa26b402 fix: use @eslint/create-config latest (#18373) (唯然)
10ヶ月前
記事のアイキャッチ画像
ESLint v9.1.0 released
ESLint Blog
+HighlightsThis is the first minor release of ESLint following the major release of ESLint v9.0.0 earlier this month.Intl is now recognized as a built-in global unless languageOptions.ecmaVersion is set to 3 or 5.The no-constant-condition rule no longer reports while (true) loops as problems by default.A configuration that contains a non-global ignores pattern list will no longer cause incorrect results when the --no-ignore CLI flag is used, or when the ESLint constructor option ignore is set to false.Features03068f1 feat: Provide helpful error message for nullish configs (#18357) (Nicholas C. Zakas)751b518 feat: replace dependency graphemer with Intl.Segmenter (#18110) (Francesco Trotta)4d11e56 feat: add name to eslint configs (#18289) (唯然)1cbe1f6 feat: allow while(true) in no-constant-condition (#18286) (Tanuj Kanti)0db676f feat: add Intl in es6 globals (#18318) (唯然)Bug Fixes8d18958 fix: Remove name from eslint/js packages (#18368) (Nicholas C. Zakas)594eb0e fix: do not crash on error +
10ヶ月前
記事のアイキャッチ画像
ESLint v9.0.0 released
ESLint Blog
+HighlightsThis is a summary of the significant changes, both breaking and non-breaking, you need to know about when upgrading from ESLint v8.x to ESLint v9.0.0.InstallingBecause this is a major release, you may not automatically be upgraded by npm. To ensure you are using this version, run:npm i eslint@9.0.0 --save-devMigration GuideAs there are a lot of changes, we’ve created a migration guide describing the breaking changes in great detail along with the steps you should take to address them. We expect that most users should be able to upgrade without any build changes, but the migration guide should be a useful resource if you encounter problems.Node.js < v18.18.0, v19 no longer supportedAs of this post, Node.js v20.x is the LTS release, and as such we are dropping support for all versions of Node.js prior to v18.18.0 as well as v19.x.Flat config is now the default and has some changesFlat config is now the default configuration format for ESLint and eslintrc is officially deprecate +
10ヶ月前
記事のアイキャッチ画像
Introducing ESLint Config Inspector
ESLint Blog
+As of ESLint v9,0.0, the new configuration system has reached general availability, bringing with it many benefits. Configuration files are now easier to manage and more transparent to compose. However, it can still be non-trivial to understand which rules are enabled and disabled for specific files, especially when your configuration is complex or composed from multiple sources. That’s why we are excited to introduce the ESLint Config Inspector, a visual and interactive tool to help you better understand and inspect your config file.Give it a Try!ESLint Config Inspector is a CLI command that fires up a local web server to visualize your ESLint configuration file from your local filesystem. Give it a try:eslint --inspect-configOr you can run the config inspector without ESLint installed by running the following command in the root directory that contains eslint.config.js file:npx @eslint/config-inspectorVisit http://localhost:7777 in your browser, and you will see a visual representati +
10ヶ月前
記事のアイキャッチ画像
ESLint v9.0.0-rc.0 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.InstallingSince this is a pre-release version, you will not automatically be upgraded by npm. You must specify the next tag when installing:npm i eslint@next --save-devYou can also specify the version directly:npm i eslint@9.0.0-rc.0 --save-devMigration GuideAs there are a lot of changes, we’ve created a migration guide describing the breaking changes in great detail along with the steps you should take to address them. We expect that most users should be able to upgrade without any build changes, but the migration guide should be a useful resource if you encounter problems.Precalculated Code PathsESLint v9.0.0 now precalculates code path information before the traversal used by rules. As a result, the code path information is now complete regardless of where it is accessed inside of a rule.Disallow Unused // fallthrough CommentsIn ESLint v9.0.0-rc.0, the rule no-fallthrough has a new opt +
1年前
記事のアイキャッチ画像
ESLint v9.0.0-beta.2 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.InstallingSince this is a pre-release version, you will not automatically be upgraded by npm. You must specify the next tag when installing:npm i eslint@next --save-devYou can also specify the version directly:npm i eslint@9.0.0-beta.2 --save-devMigration GuideAs there are a lot of changes, we’ve created a migration guide describing the breaking changes in great detail along with the steps you should take to address them. We expect that most users should be able to upgrade without any build changes, but the migration guide should be a useful resource if you encounter problems.Multiple /* eslint */ comments for the same rule are now disallowedIn ESLint v8.x, if the file being linted contained multiple /* eslint */ configuration comments for the same rule, the last one would be applied, while the others would be silently ignored.In ESLint v9.0.0, the first one is applied, while the others a +
1年前
記事のアイキャッチ画像
ESLint v9.0.0-beta.1 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.InstallingSince this is a pre-release version, you will not automatically be upgraded by npm. You must specify the next tag when installing:npm i eslint@next --save-devYou can also specify the version directly:npm i eslint@9.0.0-beta.1 --save-devMigration GuideAs there are a lot of changes, we’ve created a migration guide describing the breaking changes in great detail along with the steps you should take to address them. We expect that most users should be able to upgrade without any build changes, but the migration guide should be a useful resource if you encounter problems.Features74124c2 feat: add suggestions to use-isnan in indexOf & lastIndexOf calls (#18063) (StyleShit)Bug Fixes0cb4914 fix: validate options when comment with just severity enables rule (#18133) (Milos Djermanovic)Documentation5fe095c docs: show v8.57.0 as latest version in dropdown (#18142) (Milos Djermanovic)7db5bb +
1年前
記事のアイキャッチ画像
ESLint v8.57.0 released
ESLint Blog
+HighlightsThis release backports from v9.x to v8.x two new features and several bug fixes related to the flat config system to help plugins, integrations and users migrate to flat config ahead of the final v9.0.0 release.Support for eslint.config.mjs and eslint.config.cjsThis release introduces support for eslint.config.mjs and eslint.config.cjs configuration files to v8.x in addition to eslint.config.js, making it easier to use the module format you’d prefer regardless of the module format of the containing package.New API loadESLint()ESLint now exports a new function loadESLint() from its main entry point. Integrations can use this function to get either the FlatESLint class (ESLint class in v9.x) or the ESLint class (LegacyESLint class in v9.x) and thus easily swap between flat config and eslintrc APIs.Features1120b9b feat: Add loadESLint() API method for v8 (#18098) (Nicholas C. Zakas)dca7d0f feat: Enable eslint.config.mjs and eslint.config.cjs (#18066) (Nitin Kumar)Bug Fixes2196d9 +
1年前
記事のアイキャッチ画像
ESLint's 2023 year in review
ESLint Blog
+The plan for 2023 centered around our first major release since 2021, ESLint v9.0.0. Most of the year was spent preparing for the release, building out the new configuration system (flat config) and communicating the impact to the ecosystem throughout the year.Release of ESLint v9.0.0 and the new configuration systemWhile there are a lot of changes in v9.0.0, the biggest change is making flat config the default configuration system. The old (eslintrc) configuration is still available via an environment variable, and we published the rollout plan outlining how the transition will occur from v8.x through to v10.x.Just before the end of the year, we released ESLint v9.0.0-alpha.0. We anticipate a final v9.0.0 release in the spring of 2024.Other changesDeprecation of formatting rules - in a significant shift from ESLint’s roots, we decided to officially deprecate formatting rulesChanges to rule API - for those who write their own rules, we announced important changes to the rule API that w +
1年前
記事のアイキャッチ画像
ESLint v9.0.0-beta.0 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.InstallingSince this is a pre-release version, you will not automatically be upgraded by npm. You must specify the next tag when installing:npm i eslint@next --save-devYou can also specify the version directly:npm i eslint@9.0.0-beta.0 --save-devMigration GuideAs there are a lot of changes, we’ve created a migration guide describing the breaking changes in great detail along with the steps you should take to address them. We expect that most users should be able to upgrade without any build changes, but the migration guide should be a useful resource if you encounter problems.New default values ​​for rule optionsIn v9.0.0, the following rules have new defaults:no-unused-vars: The default value of the caughtErrors option is changed from "none" to "all".no-useless-computed-key: The default value of the enforceForClassMembers option is changed from false to true.Stricter RuleTester validatio +
1年前
記事のアイキャッチ画像
ESLint v9.0.0-alpha.2 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.InstallingSince this is a pre-release version, you will not automatically be upgraded by npm. You must specify the next tag when installing:npm i eslint@next --save-devYou can also specify the version directly:npm i eslint@9.0.0-alpha.2 --save-devMigration GuideAs there are a lot of changes, we’ve created a migration guide describing the breaking changes in great detail along with the steps you should take to address them. We expect that most users should be able to upgrade without any build changes, but the migration guide should be a useful resource if you encounter problems.no-restricted-imports configuration improvementsIn v8.x, if multiple entries in the paths array of your configuration for the no-restricted-imports rule had the same name property, only the last one would apply. In v9.0.0, all entries apply, allowing for specifying different error messages for different imported nam +
1年前
記事のアイキャッチ画像
ESLint v9.0.0-alpha.1 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.InstallingSince this is a pre-release version, you will not automatically be upgraded by npm. You must specify the next tag when installing:npm i eslint@next --save-devYou can also specify the version directly:npm i eslint@9.0.0-alpha.1 --save-devMigration GuideAs there are a lot of changes, we’ve created a migration guide describing the changes in great detail along with the steps you should take to address them. We expect that most users should be able to upgrade without any build changes, but the migration guide should be a useful resource if you encounter problems.no-inner-declarations new default behaviorIn v8.x, no-inner-declarations would flag any functions defined inside of blocks as errors because this behavior was undefined in early versions of JavaScript. As of ES 2015, block-scoped function declarations are well-defined and so we changed the default behavior to not warn on blo +
1年前
記事のアイキャッチ画像
ESLint v9.0.0-alpha.0 released
ESLint Blog
+HighlightsThis version of ESLint is not ready for production use and is provided to gather feedback from the community before releasing the final version. Please let us know if you having any problems or feedback by creating issues on our GitHub repo.Most of the highlights of this release are breaking changes, and are discussed further in the migration guide. There are summaries of the significant changes below. (Less significant changes are included in the migration guide.)This prerelease version of ESLint has a separate documentation section.Node.js < v18.18.0, v19 no longer supportedAs of this post, Node.js v20.x is the LTS release, and as such we are dropping support for all versions of Node.js prior to v18.18.0 as well as v19.x.Flat config is now the default and has some changesFlat config is now the default configuration format for ESLint and eslintrc is officially deprecated. To continue using a eslintrc configuration file, you’ll need to set the ESLINT_USE_FLAT_CONFIG environme +
1年前
記事のアイキャッチ画像
ESLint v8.56.0 released
ESLint Blog
+HighlightsNew features for reporting unused disable directivesThe ESLint CLI has a new option --report-unused-disable-directives-severity. This option is available in both eslintrc and flat config modes.The linterOptions.reportUnusedDisableDirectives configuration option can now be set to a severity value: "error" (or 2), "warn" (or 1), "off" (or 0). This feature is available only in flat config files (eslint.config.js).Features0dd9704 feat: Support custom severity when reporting unused disable directives (#17212) (Bryan Mishkin)31a7e3f feat: fix no-restricted-properties false negatives with unknown objects (#17818) (Arka Pratim Chaudhuri)Bug Fixes7d5e5f6 fix: TypeError: fs.exists is not a function on read-only file system (#17846) (Francesco Trotta)74739c8 fix: suggestion with invalid syntax in no-promise-executor-return rule (#17812) (Bryan Mishkin)Documentation9007719 docs: update link in ways-to-extend (#17839) (Amel SELMANE)3a22236 docs: Update README (GitHub Actions Bot)54c3ca6 d +
1年前
記事のアイキャッチ画像
ESLint v8.55.0 released
ESLint Blog
+HighlightsThe no-restricted-imports rule has a new option importNamePattern.Features8c9e6c1 feat: importNamePattern option in no-restricted-imports (#17721) (Tanuj Kanti)Documentation83ece2a docs: fix typo --rules -> --rule (#17806) (OKURA Masafumi)fffca5c docs: remove “Open in Playground” buttons for removed rules (#17791) (Francesco Trotta)a6d9442 docs: fix correct/incorrect examples of rules (#17789) (Tanuj Kanti)383e999 docs: update and fix examples for no-unused-vars (#17788) (Tanuj Kanti)5a8efd5 docs: add specific stylistic rule for each deprecated rule (#17778) (Etienne)Choreseb8950c chore: upgrade @eslint/js@8.55.0 (#17811) (Milos Djermanovic)93df384 chore: package.json update for @eslint/js release (Jenkins)fe4b954 chore: upgrade @eslint/eslintrc@2.1.4 (#17799) (Milos Djermanovic)bd8911d ci: pin Node.js 21.2.0 (#17809) (Milos Djermanovic)b29a16b chore: fix several cli tests to run in the intended flat config mode (#17797) (Milos Djermanovic)de165c1 chore: remove unused config- +
1年前
記事のアイキャッチ画像
ESLint v8.54.0 released
ESLint Blog
+HighlightsThe no-console rule now provides suggestions for some of the problems reported by this rule.Featuresa7a883b feat: for-direction rule add check for condition in reverse order (#17755) (Angelo Annunziata)1452dc9 feat: Add suggestions to no-console (#17680) (Joel Mathew Koshy)21ebf8a feat: update no-array-constructor rule (#17711) (Francesco Trotta)Bug Fixes98926e6 fix: Ensure that extra data is not accidentally stored in the cache file (#17760) (Milos Djermanovic)e8cf9f6 fix: Make dark scroll bar in dark theme (#17753) (Pavel)3cbeaad fix: Use cwd constructor option as config basePath in Linter (#17705) (Milos Djermanovic)Documentationbecfdd3 docs: Make clear when rules are removed (#17728) (Nicholas C. Zakas)05d6e99 docs: update “Submit a Pull Request” page (#17712) (Francesco Trotta)eb2279e docs: display info about deprecated rules (#17749) (Percy Ma)d245326 docs: Correct working in migrating plugin docs (#17722) (Filip Tammergård)Choresd644de9 chore: upgrade @eslint/js@8.54.0 +
1年前
記事のアイキャッチ画像
What's coming in ESLint v9.0.0
ESLint Blog
+Last month, the Technical Steering Committee (TSC) met to finalize the features for ESLint v9.0.0. This post outlines our plans for v9.0.0. You can keep up to date everything that is planned for v9.0.0 on our project board.Development planDue to the large number of breaking changes planned for v9.0.0, we have decided to develop this release in two phases:Alpha. The alpha release will be comprised primarily of the changes we believe will cause the most disruption for existing users. Getting these changes into a release early will allow us to gather feedback to ensure things are going as planned.Beta. The beta release will be comprised of the remaining tasks and smaller breaking changes that will have fewer impacted users.The specific details about each phase are listed below in this post. Note that if tasks scheduled for the beta are completed in the alpha timeframe, then they will be published in the alpha release.After the beta has been validated, we will publish one or more release c +
1年前
記事のアイキャッチ画像
ESLint v8.53.0 released
ESLint Blog
+HighlightsCore formatting rules have been deprecated. Please see Deprecation of formatting rules blog post for more details.Features528e1c0 feat: Deprecate formatting rules (#17696) (Nicholas C. Zakas)c0b11dd feat: Add suggestions for no-prototype-builtins (#17677) (Yonathan Randolph)Bug Fixes1ad6257 fix: ensure that exit code for fatal errors is not overwritten (#17683) (Milos Djermanovic)b329ea7 fix: add ; after JSX nodes in no-object-constructor autofix (#17672) (Francesco Trotta)Documentationab8c60d docs: change position of return to top button (#17688) (Tanuj Kanti)4fc44c0 docs: update twitter icon to new X icon (#17687) (Tanuj Kanti)4164b2c docs: Update README (GitHub Actions Bot)8651895 docs: Fix tabs in rule examples (#17653) (Francesco Trotta)3aec1c5 docs: explained rule fixers and suggestions (#17657) (Josh Goldberg ✨)Choresba4d4d5 chore: remove metascraper (#17707) (Milos Djermanovic)0d07338 chore: Update dependencies (#17706) (Milos Djermanovic)93256a3 chore: package.json u +
1年前
記事のアイキャッチ画像
Deprecation of formatting rules
ESLint Blog
+In ESLint v8.53.0, scheduled to be released on Friday, November 3, 2023, we will formally deprecate our formatting rules. Formatting rules are those rules that simply enforce code conventions around spacing, semicolons, string formats, etc. For a variety of reasons, which are discussed in this post, this is the right decision for ESLint going forward. However, to understand how we got here, it’s helpful to look backward for a moment.BackgroundWhen ESLint was initially released in 2013, the JavaScript ecosystem was embroiled in a debate about whether or not source code formatting should be part of a linter. JSLint, the original JavaScript linter, heavily encoded its author’s formatting preferences into the tool. Those preferences were carried over and loosened a bit in JSLint’s successor, JSHint, but by 2013, JSHint had announced that it was deprecating its formatting options and would be removing them in the next major release. While the options were never removed, they still show this +
1年前
記事のアイキャッチ画像
ESLint v8.52.0 released
ESLint Blog
+HighlightsUnused eslint-enable directivesThe CLI option --report-unused-disable-directives and the config option reportUnusedDisableDirectives:true now also report and autofix unused eslint-enable directives. An eslint-enable directive is considered unused if it doesn’t match with any eslint-disable directives, meaning that it doesn’t re-enable any rules./* eslint-disable no-console */console.log("hello");/* eslint-enable no-continue -- this directive is unused */Features70648ee feat: report-unused-disable-directive to report unused eslint-enable (#17611) (Yosuke Ota)Bug Fixes5de9637 fix: Ensure shared references in rule configs are separated (#17666) (Nicholas C. Zakas)dcfe573 fix: add preceding semicolon in suggestions of no-object-constructor (#17649) (Francesco Trotta)Documentation476d58a docs: Add note about invalid CLI flags when using flat config. (#17664) (Nicholas C. Zakas)660ed3a docs: Plugin flat config migration guide (#17640) (Nicholas C. Zakas)a58aa20 docs: fix examples f +
1年前
記事のアイキャッチ画像
Flat config rollout plans
ESLint Blog
+It may seem hard to believe, but the RFC for ESLint’s new configuration system, nicknamed flat config, was first written in 2019. It took until 2022 (v8.21.0) for us to release an experimental, opt-in version of flat config. Since then, we’ve been making changes and improvements based on feedback from the community. The plan was always to allow the current configuration system, nicknamed eslintrc, to exist alongside flat config for a period of time to allow a smooth transition for ESLint users. With flat config now feature complete, we are happy to share the rollout plan.Flat config by default in ESLint v9.0.0When ESLint v9.0.0 is released, either the end of this year or beginning of next year, flat config will be the default configuration system and we will deprecate, but not remove, eslintrc. New features will be added only for flat config, so we encourage everyone to move off of eslintrc as quickly as possible to take advantage of everything v9.0.0 will offer.What this change means +
1年前
記事のアイキャッチ画像
ESLint v8.51.0 released
ESLint Blog
+HighlightsNew CLI option --no-warn-ignoredThis release includes a new CLI option --no-warn-ignored that, when on, suppresses warnings about ignored files that were explicitly passed in the file list. The new option is available only in the flat config mode.This option is particularly useful when ESLint is run with --max-warnings 0 from tools that pass a list of individual files, such as lint-staged, as it prevents exit code 1 when an ignored file is passed.{ "lint-staged": { "*.js": "eslint --max-warnings 0 --no-warn-ignored" }}APIAs part of this change, FlatESLint constructor has a new option warnIgnored: boolean, default true.The warnIgnored option of FlatESLint#lintText() is still available, but it now defaults to the value of the constructor option. Effectively, its default value is changed from false to true. In order to retain previous behavior, pass warnIgnored: false to FlatESLint#lintText():const eslint = new FlatESLint();await eslint.lintFiles(patterns);await eslint.lintText( +
1年前
記事のアイキャッチ画像
Preparing your custom rules for ESLint v9.0.0
ESLint Blog
+When ESLint v9.0.0 is released, it will ship with several breaking changes for rule authors. These changes are necessary as part of the work to implement language plugins, which gives ESLint first-class support for linting languages other than JavaScript. We’ve had to make these changes because ESLint has, from the start, assumed that it would only ever be used to lint JavaScript. As such, there wasn’t a lot of thought put into where methods that rules used to interact with source code should live. When revisiting the API for the language plugins work we found that the inconsistencies we were able to live with in a JavaScript-only world will not work in a language-agnostic ESLint core.Automatically update your rulesBefore explaining all of the changes introduced in ESLint v9.0.0, it’s helpful to know that most of the changes described in this post can be automatically made using the eslint-transforms utility. To use the utility, first install it and then run the v9-rule-migration trans +
1年前
記事のアイキャッチ画像
ESLint v8.50.0 released
ESLint Blog
+HighlightsThe no-new-object rule has been deprecated in favor of the new no-object-constructor rule.The array-callback-return rule has a new option allowVoid.Features27d5a9e feat: add suggestions to array-callback-return (#17590) (Tanuj Kanti)f9082ff feat: flat-rule-tester make sure default config always matches (#17585) (fnx)83914ad feat: Implement SourceCode#applyInlineConfig() (#17351) (Nicholas C. Zakas)22a5582 feat: add rule no-object-constructor, deprecate no-new-object (#17576) (Francesco Trotta)85a3d9e feat: allowVoid option in array-callback-return (#17564) (Tanuj Kanti)Bug Fixescc4d26b fix: Ensure deprecated context.parserServices warns (#17593) (Nicholas C. Zakas)1ea4cfb fix: Ensure all RuleTester tests all deprecated context methods (#17587) (Nicholas C. Zakas)aa1b657 fix: wrong suggestion and message in no-misleading-character-class (#17571) (Yosuke Ota)Documentation1800537 docs: Fix and standardize JSX code examples (#17591) (Francesco Trotta)48a44a7 docs: Add correct/inc +
1年前
記事のアイキャッチ画像
ESLint v8.49.0 released
ESLint Blog
+HighlightsCode path analysis now provides two new events that can be used in rules: onUnreachableCodePathSegmentStart and onUnreachableCodePathSegmentEnd.CodePath#currentSegments property has been deprecated and will be removed in ESLint v9. If you use this property in your custom rules, please refer to code path analysis usage examples for how to update your code.The lines-between-class-members rule has a new option enforce that allows for more granular configurations.Featuresda09f4e feat: Implement onUnreachableCodePathStart/End (#17511) (Nicholas C. Zakas)32b2327 feat: Emit deprecation warnings in RuleTester (#17527) (Nicholas C. Zakas)acb7df3 feat: add new enforce option to lines-between-class-members (#17462) (Nitin Kumar)Documentationecfb54f docs: Update README (GitHub Actions Bot)de86b3b docs: update no-promise-executor-return examples (#17529) (Nitin Kumar)032c4b1 docs: add typescript template (#17500) (James)cd7da5c docs: Update README (GitHub Actions Bot)Choresb7621c3 chore: +
1年前
記事のアイキャッチ画像
ESLint v8.48.0 released
ESLint Blog
+HighlightsThe no-promise-executor-return rule has a new option allowVoid.Features1fbb3b0 feat: correct update direction in for-direction (#17483) (Francesco Trotta)d73fbf2 feat: rule tester do not create empty valid or invalid test suites (#17475) (fnx)ee2f718 feat: Allow void in rule no-promise-executor-return (#17282) (nopeless)Bug Fixes7234f6a fix: update RuleTester JSDoc and deprecations (#17496) (Jonas Berlin)Documentation7a51d77 docs: no-param-reassign mention strict mode (#17494) (Stephen Hardy)9cd7ac2 docs: add fetch script to package.json conventions (#17459) (Nitin Kumar)cab21e6 docs: advice for inline disabling of rules (#17458) (Ashish Yadav)056499d docs: fix example of flat config from plugin (#17482) (Francesco Trotta)9e9edf9 docs: update documentation URL in error message (#17465) (Nitin Kumar)Chores8dd3cec chore: upgrade @eslint/js@8.48.0 (#17501) (Milos Djermanovic)6d0496e chore: package.json update for @eslint/js release (ESLint Jenkins)9d4216d chore: Refactor and doc +
1年前
記事のアイキャッチ画像
ESLint v8.47.0 released
ESLint Blog
+Features53d7508 feat: update regex for methods with thisArg (#17439) (Francesco Trotta)Bug Fixes631648e fix: do not report on shadowed constructors in no-new-wrappers (#17447) (Francesco Trotta)Documentationa766a48 docs: document lack of config file names (#17442) (James)a1635d6 docs: Update README (GitHub Actions Bot)47a0859 docs: update [require-unicode-regexp](/docs/rules/require-unicode-regexp).md as following up #17402 (#17441) (SUZUKI Sosuke)fcdc85d docs: Update README (GitHub Actions Bot)2a92b6c docs: update with “Specifying Parser Options” (#17435) (Cheol-Won)d743ed3 docs: add metadata for parser/processor (#17438) (Huáng Jùnliàng)224376c docs: Update README (GitHub Actions Bot)a41a8e4 docs: update script names in README (#17432) (Nitin Kumar)Choresbf69aa6 chore: Update dependencies (#17456) (Nicholas C. Zakas)0e45760 chore: package.json update for @eslint/js release (ESLint Jenkins)757bfe1 chore: Remove add-to-triage (#17450) (Nicholas C. Zakas)b066640 chore: standardize npm s +
1年前
記事のアイキャッチ画像
ESLint v8.46.0 released
ESLint Blog
+HighlightsSupport for regular expressions v flagWe have updated ESLint to fully support the ECMAScript 2024 regular expression v flag. This flag allows more complex operations such as difference/subtraction, intersection, and nested character classes. These updates include parsing and ensuring that rules related to regular expressions are behaving as expected.Better error messages for flat configAs we continue to work on flat config, we received some feedback that the error messages were a bit difficult to understand when an eslintrc config was accidentally used. We added more explicit checking for eslintrc-style configs to output more useful error messages that include links to the relevant documentation.Features8a93438 feat: require-unicode-regexp support v flag (#17402) (SUZUKI Sosuke)1a2f966 feat: no-useless-escape support v flag (#17420) (Yosuke Ota)ee68d1d feat: no-empty-character-class support v flag (#17419) (Milos Djermanovic)853d32b feat: deprecate no-return-await (#17417) (C +
2年前
記事のアイキャッチ画像
ESLint v8.45.0 released
ESLint Blog
+HighlightsHere are some of the important changes in this release.Exporting of new LegacyESLint classAs we continue our transition to the flat config system, we’ve been working with integrators to understand how best to help them transition as well. While we provided the FlatESLint class to allow integrations to start using the flat config system before it’s set to default, we discovered that our original plan (replace ESLint with FlatESLint in v9.0.0) would have left integrations unable to support eslintrc during the transition.To fix this, we added the LegacyESLint class as an export from /use-at-your-own-risk. Both FlatESLint and LegacyESLint will be available through the v9.0.0 lifecycle, allowing integrators to continue to support both config formats. You can use these classes like this:const { FlatESLint, LegacyESLint } = require("eslint/use-at-your-own-risk"); If you are using the ESLint class in your integration, it’s a good idea to switch that to LegacyESLint to make the upgrad +
2年前
記事のアイキャッチ画像
ESLint v8.44.0 released
ESLint Blog
+HighlightsThe no-extra-parens rule has a new option ternaryOperandBinaryExpressions.eslint.config.js configuration files can now also export a promise that resolves to the configuration array. This can be useful for using ESM dependencies in CommonJS configuration files.The context.parserServices property is now deprecated in favor of SourceCode#parserServices. This change is part of the implementation of language plugins.ESLint’s default parser espree now supports RegExp v flag with set notation + properties of strings ES2024 syntax. Please note that the core rules have not yet been updated to support this syntax.Features1766771 feat: add es2023 and es2024 environments (#17328) (Milos Djermanovic)4c50400 feat: add ecmaVersion: 2024, regexp v flag parsing (#17324) (Milos Djermanovic)4d411e4 feat: add ternaryOperandBinaryExpressions option to no-extra-parens rule (#17270) (Percy Ma)c8b1f4d feat: Move parserServices to SourceCode (#17311) (Milos Djermanovic)ef6e24e feat: treat unknown no +
2年前
記事のアイキャッチ画像
ESLint v8.43.0 released
ESLint Blog
+HighlightsThe no-irregular-whitespace rule has a new option skipJSXText.The ESLint documentation site now provides a Custom Rule Tutorial with step-by-step instructions on how to create and use a custom rule.Features14581ff feat: directive prologue detection and autofix condition in quotes (#17284) (Francesco Trotta)e50fac3 feat: add declaration loc to message in block-scoped-var (#17252) (Milos Djermanovic)1b7faf0 feat: add skipJSXText option to no-irregular-whitespace rule (#17182) (Azat S)030a827 Revert “feat: docs license (#17010)” (#17231) (唯然)Bug Fixes5338b56 fix: normalize cwd passed to ESLint/FlatESLint constructor (#17277) (Milos Djermanovic)54383e6 fix: Remove no-extra-parens autofix for potential directives (#17022) (Francesco Trotta)Documentation8b855ea docs: resubmit pr17061 doc changes (#17292) (唯然)372722e docs: resubmit pr17012 doc changes (#17293) (唯然)67e7af3 docs: resubmit custom-rules doc changes (#17294) (唯然)9e3d77c docs: Resubmit Fix formatting in Custom Rules docs +
2年前
記事のアイキャッチ画像
ESLint v8.42.0 released
ESLint Blog
+Featuresb8448ff feat: correct no-useless-return behaviour in try statements (#16996) (Nitin Kumar)Bug Fixesa589636 fix: Config with ignores and without files should not always apply (#17181) (Milos Djermanovic)c4fad17 fix: Correct ignore message for “node_modules” subfolders (#17217) (Francesco Trotta)Documentation01d7142 docs: Update README (GitHub Actions Bot)e5182b7 docs: Update README (GitHub Actions Bot)Chores6ca5b7c chore: upgrade @eslint/js@8.42.0 (#17236) (Milos Djermanovic)67fc5e7 chore: package.json update for @eslint/js release (ESLint Jenkins)0892412 refactor: remove Identifier listener in no-irregular-whitespace (#17235) (Milos Djermanovic)f67d298 test: Add FlatESLint tests with missing config files (#17164) (Milos Djermanovic)5b68d51 chore: Fix fixedsize attribute in code path analysis DOT debug output (#17202) (Milos Djermanovic)37432f2 chore: update descriptions in key-spacing tests (#17195) (Milos Djermanovic)
2年前
記事のアイキャッチ画像
ESLint v8.41.0 released
ESLint Blog
+HighlightsIntegrations can now use the new function shouldUseFlatConfig() to determine whether to use the FlatESLint class instead of the ESLint class.The performance of the indent rule has been significantly improved.Features880a431 feat: change default ignore pattern to **/node_modules/ in flat config (#17184) (Milos Djermanovic)8bf5505 feat: expose shouldUseFlatConfig (#17169) (Connor Prussin)Bug Fixes4f5440d fix: incorrect warning message for ignored dotfiles (#17196) (Milos Djermanovic)94da96c fix: unify LintMessage type (#17076) (Brandon Mills)0c415cd fix: validate ignorePatterns constructor option in FlatESLint class (#17139) (Milos Djermanovic)9682d66 fix: switch grapheme-splitter to graphemer (#17160) (fisker Cheung)Documentation7709b14 docs: Update README (GitHub Actions Bot)7f183e0 docs: Update triage process description (#17157) (Nicholas C. Zakas)b68346b docs: fix license to reflect relicensing of jshint (#17165) (Stefan Bischof)Choresf43216a chore: upgrade @eslint/js@8.41 +
2年前
記事のアイキャッチ画像
ESLint v8.40.0 released
ESLint Blog
+HighlightsRules can now use properties context.sourceCode, context.cwd, context.filename, and context.physicalFilename instead of methods context.getSourceCode(), context.getCwd(), context.getFilename(), and context.getPhysicalFilename() respectively. The methods are now considered deprecated.The FlatESLint class has a new method findConfigFile(). It returns the path to the config file being used by the instance or undefined if no config file is being used.The semi rule has a new option omitLastInOneLineClassBody.Features5db7808 feat: improve flat config errors for invalid rule options and severities (#17140) (Josh Goldberg ✨)f5574dc feat: Add findConfigFile() method to FlatESLint (#17142) (Nicholas C. Zakas)e52b98b feat: add sourceCode property to the rule context (#17107) (Nitin Kumar)1468f5b feat: add physicalFilename property to the rule context (#17111) (Nitin Kumar)0df4d4f feat: add cwd to rule context (#17106) (Nitin Kumar)52018f2 feat: add filename property to the rule context +
2年前
記事のアイキャッチ画像
ESLint v8.39.0 released
ESLint Blog
+HighlightsPerformance of SourceCode methods that search for comments has been improved following recommendations from a blog post by Marvin Hagemeister. For example, our tests showed that this change reduces linting time for eslint-plugin-jsdoc rules by 6~11%.The context.markVariableAsUsed(name) method is now deprecated in favor of SourceCode#markVariableAsUsed(name, node). This change is part of the implementation of language plugins.Features3f7af9f feat: Implement SourceCode#markVariableAsUsed() (#17086) (Nicholas C. Zakas)Documentation6987dc5 docs: Fix formatting in Custom Rules docs (#17097) (Milos Djermanovic)4ee92e5 docs: Update README (GitHub Actions Bot)d8e9887 docs: Custom Rules cleanup/expansion (#16906) (Ben Perlmutter)1fea279 docs: Clarify how to add to tsc agenda (#17084) (Nicholas C. Zakas)970ef1c docs: Update triage board location (Nicholas C. Zakas)6d8bffd docs: Update README (GitHub Actions Bot)Chores60a6f26 chore: upgrade @eslint/js@8.39.0 (#17102) (Milos Djermanovic) +
2年前
記事のアイキャッチ画像
ESLint v8.38.0 released
ESLint Blog
+HighlightsRules can now use SourceCode#getDeclaredVariables(node) and SourceCode#getAncestors(node) methods. These methods work the same as context.getDeclaredVariables(node) and context.getAncestors() respectively, except that SourceCode#getAncestors isn’t limited to the currently traversed node and the node argument is mandatory. context.getDeclaredVariables and context.getAncestors are now considered deprecated in favor of the SourceCode methods. This change is part of the implementation of language plugins.Featuresa1d561d feat: Move getDeclaredVariables and getAncestors to SourceCode (#17059) (Nicholas C. Zakas)Bug Fixes1c1ece2 fix: do not report on RegExp(...args) in require-unicode-regexp (#17037) (Francesco Trotta)Documentation7162d34 docs: Mention new config system is complete (#17068) (Nicholas C. Zakas)0fd6bb2 docs: Update README (GitHub Actions Bot)c83531c docs: Update/remove external links, eg. point to eslint-community (#17061) (Pelle Wessman)a3aa6f5 docs: Clarify no-div-r +
2年前
記事のアイキャッチ画像
ESLint v8.37.0 released
ESLint Blog
+HighlightsRules can now use SourceCode#getScope(node) to get the scope of the given node. The node argument is mandatory. This method works the same as context.getScope() but isn’t limited to the currently traversed node. The context.getScope() method is now considered deprecated in favor of SourceCode#getScope(node). This change is part of the implementation of language plugins.Parsers and plugins can now export a meta object with name and version properties to allow for easier debugging and more effective caching. In the new config system, ESLint uses these values when serializing configuration objects (for example, the –print-config CLI option) and when determining whether cached lint results (the --cache CLI option) are still valid. If a parser/plugin provides meta, ESLint can now invalidate caches when a new version of the parser/plugin is installed.In the new config system, languageOptions.parser must now be a parser object. Referencing parsers by "pluginName/parserName" is no lo +
2年前
記事のアイキャッチ画像
Announcing the ESLint Community GitHub organization
ESLint Blog
+In our2022 year in review,we briefly mentioned a couple of project kickoffs, and we’re excited to nowannounce the officialeslint-community GitHub organization.The strength of ESLint is in its ecosystem, and we continue to investigatedifferent ways of further supporting that community. We began bydonating to community projects,to ensure that high-value projects were receiving the funds they needed tocontinue with ongoing maintenance and development. Our next step is to createthe eslint-community GitHub organization as a home for high-value projects inthe ESLint ecosystem.About the organizationAs you can read in the“eslint-community GitHub organization” RFC,the goal of this new organization is to have a place where community members canhelp ensure widely depended upon ESLint-related packages live and never fall outof maintenance.@aladdin-add,@ota-meshi,@voxpelli and myself@MichaelDeBoey) and all packagemaintainers will make sure these packages stay up-to-date with newer ESLintreleases, a +
2年前
記事のアイキャッチ画像
ESLint v8.36.0 released
ESLint Blog
+HighlightsThe multiline-comment-style rule has a new option checkJSDoc. This option can only be used when the string option is set to "separate-lines".Featuresc89a485 feat: Add checkJSDoc option to multiline-comment-style (#16807) (Laurent Cozic)f5f5e11 feat: Serialize parsers/processors in flat config (#16944) (Nicholas C. Zakas)4799297 feat: use @eslint-community dependencies (#16784) (Michaël De Boey)Bug Fixes92c1943 fix: correctly iterate files matched by glob patterns (#16831) (Nitin Kumar)Documentationb98fdd4 docs: Update README (GitHub Actions Bot)caf08ce docs: fix estree link in custom formatters docs (#16967) (Milos Djermanovic)3398431 docs: Custom Parsers cleanup/expansion (#16887) (Ben Perlmutter)19d3531 docs: Update README (GitHub Actions Bot)b09a512 docs: detect and fix broken links (#16837) (Nitin Kumar)Chores602b111 chore: upgrade @eslint/js@8.36.0 (#16978) (Milos Djermanovic)43c2345 chore: package.json update for @eslint/js release (ESLint Jenkins)00afb84 chore: upgrade +
2年前
記事のアイキャッチ画像
ESLint v8.35.0 released
ESLint Blog
+HighlightsESLint’s predefined recommended and all configs are now exported from a new @eslint/js package. Those using "eslint:recommended" or "eslint:all" as strings in the new flat config format should instead install and import @eslint/js and reference predefined configs as js.configs.recommended or js.configs.all.The no-constant-binary-expression rule now catches more cases involving the nullish coalescing operator, ??.A new version of the esquery selector engine includes performance improvements covered in a blog post by Marvin Hagemeister.Features8e34a04 feat: add afterHashbangComment option to lines-around-comment rule (#16920) (SUZUKI Sosuke)c8c0c71 feat: Move all and recommended configs into package. (#16844) (Nicholas C. Zakas)71f6f0d feat: report more cases with ?? in no-constant-binary-expression (#16826) (Daiki Nishikawa)Bug Fixes9698bc5 fix: pin esquery v1.4.0 (fixes #16896) (#16897) (唯然)Documentationf9f195e docs: Plugin docs cleanup & expansion (#16862) (Ben Perlmutter)df +
2年前
記事のアイキャッチ画像
ESLint v8.34.0 released
ESLint Blog
+HighlightsThe array-callback-return rule now supports Array.prototype.toSorted.Features9b2fcf7 feat: array-callback-return supports Array.prototype.toSorted (#16845) (SUZUKI Sosuke)Bug Fixes923f61d fix: false positive with assignment in no-extra-parens (#16872) (Francesco Trotta)Documentationf0a9883 docs: split rules documentation (#16797) (Ben Perlmutter)67aa37b docs: fix typo in command-line-interface (#16871) (Kevin Rouchut)337f7ed docs: fix width of language input (#16849) (Tanuj Kanti)71349a1 docs: Configure a Parser page (#16803) (Ben Perlmutter)de7e925 docs: remove extra line numbers in example (#16848) (jonz94)ad38d77 docs: Update README (GitHub Actions Bot)Chores9dbe06d chore: add type property to array-element-newline schema (#16877) (MHO)a061527 chore: Remove unused functions (#16868) (Nicholas C. Zakas)
2年前
記事のアイキャッチ画像
ESLint v8.33.0 released
ESLint Blog
+HighlightsThe no-restricted-exports rule gained a new restrictDefaultExports option to control where the default export can be used.This release continues our ongoing documentation update project. All moved pages should redirect to their new locations, but please let us know if you find any broken links.Features2cc7954 feat: add restrictDefaultExports option to no-restricted-exports rule (#16785) (Nitin Kumar)Documentation17f4be2 docs: Fix examples in no-multiple-empty-lines rule (#16835) (jonz94)9c7cfe3 docs: ‘Source Code’ content in ‘Set up Development Environment’ page (#16780) (Ben Perlmutter)ede5c64 docs: Custom processors page (#16802) (Ben Perlmutter)2620614 docs: Code of Conduct page (#16781) (Ben Perlmutter)50a8efd docs: report a sec vulnerability page (#16808) (Ben Perlmutter)ed60afd docs: Update page titles, section landing pages, and side TOC (#16760) (Ben Perlmutter)333c712 docs: add background to code-path-diagrams for dark-mode (#16822) (Tanuj Kanti)f5f7b9b docs: Update +
2年前
記事のアイキャッチ画像
ESLint v8.32.0 released
ESLint Blog
+HighlightsThe prefer-regex-literals rule now provides suggestions for some of the problems it reports.This release reorganizes documentation as part of our ongoing documentation update project. All moved pages should redirect to their new locations, but please let us know if you find any broken links.Featuresfc20f24 feat: add suggestions for redundant wrapping in prefer-regex-literals (#16658) (YeonJuan)Bug Fixesb4f8329 fix: ignore directives for no-fallthrough (#16757) (gfyoung)Documentation17b65ad docs: IA Update page URL move (#16665) (Ben Perlmutter)5981296 docs: fix theme switcher button (#16752) (Sam Chen)6669413 docs: deploy prerelease docs under the /docs/next/ path (#16541) (Nitin Kumar)78ecfe0 docs: use inline code for rule options name (#16768) (Percy Ma)fc2ea59 docs: Update README (GitHub Actions Bot)762a872 docs: Update README (GitHub Actions Bot)Chores2952d6e chore: sync templates/*.md files with issue templates (#16758) (gfyoung)3e34418 chore: Add new issues to triage pr +
2年前
記事のアイキャッチ画像
ESLint's 2022 year in review
ESLint Blog
+In February 2022, we shared our plan for 2022, including how the ESLint project as a whole would be spending its sponsorship money for the betterment of the project. In this post, I’ll share what we achieved during the year.Website redesignThe most recognizable change to the project was undoubtedly the website redesign. The new website was officially launched on June 23 and was immediately met with widespread positive reviews. The designer, Hayden Bleasel, shared his approach for the redesign in a guest post on the newly redesigned website.We also launched several international language sites, including Chinese, Spanish, German, Japanese, Brazilian Portuguese, French, and Hindi.The website launch excited a lot of people to the point where we started getting contributions just for the website. As a result, we created a new website team to focus on keeping the new website up-to-date and continuing to make improvements.This effort cost nearly $60,000 and would not have been possible witho +
2年前
記事のアイキャッチ画像
ESLint v8.31.0 released
ESLint Blog
+HighlightsThe no-underscore-dangle rule gained two new options: allowInArrayDestructuring and allowInObjectDestructuring. Both of these default to true to allow dangling underscores in array and object destructuring for backwards compatibility. Set them to false to check for dangling underscores in destructuring assignments.Features52c7c73 feat: check assignment patterns in no-underscore-dangle (#16693) (Milos Djermanovic)b401cde feat: add options to check destructuring in no-underscore-dangle (#16006) (Morten Kaltoft)30d0daf feat: group properties with values in parentheses in key-spacing (#16677) (Francesco Trotta)Bug Fixes35439f1 fix: correct syntax error in prefer-arrow-callback autofix (#16722) (Francesco Trotta)87b2470 fix: new instance of FlatESLint should load latest config file version (#16608) (Milos Djermanovic)Documentation4339dc4 docs: Update README (GitHub Actions Bot)4e4049c docs: optimize code block structure (#16669) (Sam Chen)54a7ade docs: do not escape code blocks of +
2年前
記事のアイキャッチ画像
ESLint v8.30.0 released
ESLint Blog
+HighlightsThe no-return-await rule now provides suggestions for some of the problems reported by this rule.Features075ef2c feat: add suggestion for no-return-await (#16637) (Daniel Bartholomae)7190d98 feat: update globals (#16654) (Sébastien Règne)Bug Fixes1a327aa fix: Ensure flat config unignores work consistently like eslintrc (#16579) (Nicholas C. Zakas)9b8bb72 fix: autofix recursive functions in no-var (#16611) (Milos Djermanovic)Documentation6a8cd94 docs: Clarify Discord info in issue template config (#16663) (Nicholas C. Zakas)ad44344 docs: CLI documentation standardization (#16563) (Ben Perlmutter)293573e docs: fix broken line numbers (#16606) (Sam Chen)fa2c64b docs: use relative links for internal links (#16631) (Percy Ma)75276c9 docs: reorder options in no-unused-vars (#16625) (Milos Djermanovic)7276fe5 docs: Fix anchor in URL (#16628) (Karl Horky)6bef135 docs: don’t apply layouts to html formatter example (#16591) (Tanuj Kanti)dfc7ec1 docs: Formatters page updates (#16566) (B +
2年前
記事のアイキャッチ画像
ESLint v8.29.0 released
ESLint Blog
+HighlightsThe no-extra-parens rule has a new option allowParensAfterCommentPattern.The prefer-named-capture-group rule now provides suggestions for some of the problems reported by this rule.Features49a07c5 feat: add allowParensAfterCommentPattern option to no-extra-parens (#16561) (Nitin Kumar)e6a865d feat: prefer-named-capture-group add suggestions (#16544) (Josh Goldberg)a91332b feat: In no-invalid-regexp validate flags also for non-literal patterns (#16583) (trosos)Documentation0311d81 docs: Configuring Plugins page intro, page tweaks, and rename (#16534) (Ben Perlmutter)57089b1 docs: add a property assignment example for camelcase rule (#16605) (Milos Djermanovic)b6ab030 docs: add docs codeowners (#16601) (Strek)6380c87 docs: fix sitemap and feed (#16592) (Milos Djermanovic)ade621d docs: perf debounce the search query (#16586) (Shanmughapriyan S)fbcf3ab docs: fix searchbar clear button (#16585) (Shanmughapriyan S)f894035 docs: HTTPS link to yeoman.io (#16582) (Christian Oliff)de12 +
2年前
記事のアイキャッチ画像
ESLint v8.28.0 released
ESLint Blog
+HighlightsThe no-magic-numbers rule has a new option ignoreClassFieldInitialValues.Features63bce44 feat: add ignoreClassFieldInitialValues option to no-magic-numbers (#16539) (Milos Djermanovic)8385ecd feat: multiline properties in rule key-spacing with option align (#16532) (Francesco Trotta)a4e89db feat: no-obj-calls support Intl (#16543) (Sosuke Suzuki)Bug Fixesc50ae4f fix: Ensure that dot files are found with globs. (#16550) (Nicholas C. Zakas)9432b67 fix: throw error for first unmatched pattern (#16533) (Milos Djermanovic)e76c382 fix: allow * 1 when followed by / in no-implicit-coercion (#16522) (Milos Djermanovic)Documentation34c05a7 docs: Language Options page intro and tweaks (#16511) (Ben Perlmutter)3e66387 docs: add intro and edit ignoring files page (#16510) (Ben Perlmutter)436f712 docs: fix Header UI inconsistency (#16464) (Tanuj Kanti)f743816 docs: switch to wrench emoji for auto-fixable rules (#16545) (Bryan Mishkin)bc0547e docs: improve styles for versions and languages +
2年前
記事のアイキャッチ画像
ESLint v8.27.0 released
ESLint Blog
+HighlightsThe new no-new-native-nonconstructor rule protects against newing BigInts and Symbols, which would throw an error. The existing no-new-symbol rule only checks for new Symbol. no-new-native-nonconstructor will take the place of no-new-symbol in eslint:recommended in the next major release.The new no-empty-static-block rule disallows empty ES2022 class static initialization blocks.Featuresf14587c feat: new no-new-native-nonconstructor rule (#16368) (Sosuke Suzuki)978799b feat: add new rule no-empty-static-block (#16325) (Sosuke Suzuki)69216ee feat: no-empty suggest to add comment in empty BlockStatement (#16470) (Nitin Kumar)319f0a5 feat: use context.languageOptions.ecmaVersion in core rules (#16458) (Milos Djermanovic)Bug Fixesc3ce521 fix: Ensure unmatched glob patterns throw an error (#16462) (Nicholas C. Zakas)886a038 fix: handle files with unspecified path in getRulesMetaForResults (#16437) (Francesco Trotta)Documentationce93b42 docs: Stylelint property-no-unknown (#16497) +
2年前
記事のアイキャッチ画像
ESLint v8.26.0 released
ESLint Blog
+HighlightsThe no-implicit-globals rule now supports /* exported */ directive comments.ESLINT_USE_FLAT_CONFIG environment variable can now be used for more control over switching between the current and the new config system.The @eslint/create-config utility to create ESLint config files has a new option --config:# npm 6.xnpm init @eslint/config --config semistandard# npm 7+npm init @eslint/config -- --config semistandardFeatures4715787 feat: check Object.create() in getter-return (#16420) (Yuki Hirasawa)28d1902 feat: no-implicit-globals supports exported block comment (#16343) (Sosuke Suzuki)e940be7 feat: Use ESLINT_USE_FLAT_CONFIG environment variable for flat config (#16356) (Tomer Aberbach)dd0c58f feat: Swap out Globby for custom globbing solution. (#16369) (Nicholas C. Zakas)Bug Fixesdf77409 fix: use baseConfig constructor option in FlatESLint (#16432) (Milos Djermanovic)33668ee fix: Ensure that glob patterns are matched correctly. (#16449) (Nicholas C. Zakas)740b208 fix: ignore me +
2年前
記事のアイキャッチ画像
ESLint use at Cesium through years of a changing ecosystem
ESLint Blog
+BackgroundCesiumJS is an open source JavaScript library for 3D geospatial visualization. Cesium’s roots are in aerospace with our first use case being accurate visualization of satellites and spacecraft. Now with more than 4,000,000 downloads and 9000 stars on GitHub, CesiumJS has a large community of users and contributors. Users from all over the world have used CesiumJS for a variety of different applications, from mapping and data analysis to building interactive simulations for satellites, event planning, open source intelligence and even for building flight simulators.Switching to ESLintAs an open source project with frequent external contributions, it is important that we have clear and consistent coding conventions along with automated ways of enforcing them. Development started in 2011, and the first version of Cesium was released in 2014. As new browser APIs and standards have emerged, ensuring that CesiumJS stays compatible with modern use cases has been very important to us +
2年前
記事のアイキャッチ画像
ESLint v8.25.0 released
ESLint Blog
+HighlightsFormatters now have access to the --max-warnings threshold when it is exceeded. See Working with Custom Formatters - The context Argument for details.The new config system no longer supports .eslintignore files, --ignore-path CLI option and ignorePath API option, due to observed incompatibilities with ignores in eslint.config.js configuration files. For ignoring files in the new config system, please see Globally ignoring files with ignores. We are still working on several other issues related to this feature.Features173e820 feat: Pass --max-warnings value to formatters (#16348) (Brandon Mills)6964cb1 feat: remove support for ignore files in FlatESLint (#16355) (Milos Djermanovic)1cc4b3a feat: id-length counts graphemes instead of code units (#16321) (Sosuke Suzuki)Documentation90c6028 docs: Conflicting fixes (#16366) (Ben Perlmutter)5a3fe70 docs: Add VS to integrations page (#16381) (Maria José Solano)49bd1e5 docs: remove unused link definitions (#16376) (Nick Schonning)3bd3 +
2年前
記事のアイキャッチ画像
ESLint v8.24.0 released
ESLint Blog
+HighlightsOne new rule has been added: logical-assignment-operatorsFeatures1729f9e feat: account for sourceType: "commonjs" in the strict rule (#16308) (Milos Djermanovic)b0d72c9 feat: add rule logical-assignment-operators (#16102) (fnx)f02bcd9 feat: array-callback-return support findLast and findLastIndex (#16314) (Sosuke Suzuki)Documentation2c152ff docs: note false positive Object.getOwnPropertyNames in prefer-reflect (#16317) (AnnAngela)bf7bd88 docs: fix warn severity description for new config files (#16324) (Nitin Kumar)8cc0bbe docs: use more clean link syntax (#16309) (Percy Ma)6ba269e docs: fix typo (#16288) (jjangga0214)Chores131e646 chore: Upgrade @humanwhocodes/config-array for perf (#16339) (Nicholas C. Zakas)504fe59 perf: switch from object spread to Object.assign when merging globals (#16311) (Milos Djermanovic)
2年前
記事のアイキャッチ画像
ESLint v8.23.1 released
ESLint Blog
+HighlightsThis release includes a significant performance improvement in the indent rule as well as some bug fixes for the new eslint.config.js config system.Bug Fixesb719893 fix: Upgrade eslintrc to stop redefining plugins (#16297) (Brandon Mills)734b54e fix: improve autofix for the prefer-const rule (#16292) (Nitin Kumar)6a923ff fix: Ensure that glob patterns are normalized (#16287) (Nicholas C. Zakas)c6900f8 fix: Ensure globbing doesn’t include subdirectories (#16272) (Nicholas C. Zakas)Documentation16cba3f docs: fix mobile double tap issue (#16293) (Sam Chen)e098b5f docs: keyboard control to search results (#16222) (Shanmughapriyan S)1b5b2a7 docs: add Consolas font and prioritize resource loading (#16225) (Amaresh S M)1ae8236 docs: copy & use main package version in docs on release (#16252) (Jugal Thakkar)279f0af docs: Improve id-denylist documentation (#16223) (Mert Ciflikli)Chores38e8171 perf: migrate rbTree to js-sdsl (#16267) (Zilong Yao)1c388fb chore: switch nyc to c8 (#16263) +
2年前
記事のアイキャッチ画像
ESLint v8.23.0 released
ESLint Blog
+HighlightsThe new config system is now incorporated into the CLI, along with the existing config system. To opt-in to the new config system, place a eslint.config.js file in the root of your project. Please note that this is still an experimental feature and we welcome your feedback!The no-fallthrough rule has a new option allowEmptyCase.The no-warning-comments rule has a new option decoration.Features3e5839e feat: Enable eslint.config.js lookup from CLI (#16235) (Nicholas C. Zakas)30b1a2d feat: add allowEmptyCase option to no-fallthrough rule (#15887) (Amaresh S M)43f03aa feat: no-warning-comments support comments with decoration (#16120) (Lachlan Hunt)Documentationb1918da docs: package.json conventions (#16206) (Patrick McElhaney)0e03c33 docs: remove word immediately (#16217) (Strek)c6790db docs: add anchor link for “migrating from jscs” (#16207) (Percy Ma)7137344 docs: auto-generation edit link (#16213) (Percy Ma)Chores2e004ab chore: upgrade @eslint/eslintrc@1.3.1 (#16249) (Milos Dj +
2年前
記事のアイキャッチ画像
ESLint v8.22.0 released
ESLint Blog
+HighlightsThe new config system preview now supports caching. To learn more, check out the three-part series on our blog! (1, 2, 3)Features2b97607 feat: Implement caching for FlatESLint (#16190) (Nicholas C. Zakas)fd5d3d3 feat: add methodsIgnorePattern option to object-shorthand rule (#16185) (Milos Djermanovic)Documentation9f5a752 docs: optimize image assets (#16170) (Sam Chen)61b2948 docs: add svgo command to pre commit hook (#16178) (Amaresh S M)784096d docs: improve search result UI (#16187) (Sam Chen)d0f4cb4 docs: use shorthand property name in example (#16180) (Kevin Elliott)Chores10a6e0e chore: remove deploy workflow for playground (#16186) (Milos Djermanovic)
2年前
記事のアイキャッチ画像
Redesigning ESLint
ESLint Blog
+Hi! My name’s Hayden. I’m a designer and developer and, until recently, I ran a little agency called Jellypepper.We were fortunate enough to work with the ESLint team on their new brand and website. I’m a huge fan of ESLint and use it every day, even going to the effort of writing my own 600-line ESLint config to use across all my React, Next.js and Expo projects.Nicholas originally reached out to us on Twitter to kick off the largest project the ESLint team has taken on in its nine years of existence. He wanted to create a stronger brand identity for the ESLint team and its community, and make the website more functional, easier to navigate, and more useful to everyone from new users to established users.Hi Hayden, I wanted to say thanks for the donation to ESLint. As it so happens, the project is looking for a bit of a rebrand (keep the logo, change everything else) and website redesign, so I was wondering if you’d be interested. It just seemed like a potentially good match.This was +
2年前
記事のアイキャッチ画像
ESLint's new config system, Part 3: Developer preview
ESLint Blog
+In my previous post, I explained the fundamental concepts of using the new “flat” config system. The new config system isn’t yet tied into the CLI while we do more internal testing, but we did want to give the ESLint community a chance to experiment with flat config while we work on incorporating it into the CLI. So ESLint v8.21.0 incorporates several ways to try out flat config as we work on it. Please keep in mind that everything mentioned in this post is experimental and we would love your feedback as you try it out.Using flat config with the Linter classIf you are currently using Linter from the eslint package, you can enable flat config by setting configType: "flat" as an option on the constructor. Here’s an example:const linter = new Linter({ configType: "flat" });const messages = linter.verify("new Map()", { languageOptions: { ecmaVersion: 5, sourceType: "script" }, rules: { "no-undef": "error" }}, "filename.js");When you pass configType: "flat" as an option, Linter expects that +
3年前
記事のアイキャッチ画像
ESLint's new config system, Part 2: Introduction to flat config
ESLint Blog
+In my previous post, I talked about how the eslintrc config system had grown to be more complex than necessary through a series of small, incremental changes. The flat config system, on the other hand, was designed from the start to be simpler in a number of ways. We took all of the learnings from the previous six years of ESLint development to come up with a holistic approach to configuration that took the best of eslintrc and combined it with the way other JavaScript-related tools handled configuration. The result is something that hopefully feels familiar to existing ESLint users and is far more powerful than what was possible before.Docs: Read more about flat config system in the official documentation.The goals of flat configTo set the stage for the changes in flat config, we had several goals:Logical defaults - the way people write JavaScript has changed a lot in the past nine years, and we wanted the new config system to reflect our current reality rather than the one we lived i +
3年前
記事のアイキャッチ画像
ESLint's new config system, Part 1: Background
ESLint Blog
+When ESLint was first released in 2013, the config system was fairly simple. You could define the rules you wanted to enable or disable in a .eslintrc file. When a file was linted, ESLint would first look in the same directory as that file for a .eslintrc file and then continue up the directory hierarchy until reaching the root, merging configurations from all the .eslintrc files found along the way. This system, which we called the configuration cascade, allowed you to easily override rules for particular directories, something that JSHint wasn’t capable of doing. You could also add more configuration in the eslintConfig key inside of package.json.Over the years, however, the config system grew into an unwieldy mess. That’s why in 2019 I proposed creating a new config system to make it easier to configure ESLint in a world where JavaScript projects are growing increasingly complex. A significant portion of the new config system has been merged into the main branch, and so it’s time to +
3年前
記事のアイキャッチ画像
ESLint v8.21.0 released
ESLint Blog
+HighlightsESLint will now print deprecation warnings for two changes that are coming in ESLint v9: First, rules with options must specify schemas. Second, rules must be defined using the object-style format that has been available since ESLint v2 rather than the legacy function-style format. See RFC85 for full details.We took a big step toward ESLint’s new config system! The new FlatESLint class is now merged. Its API is not yet stable, and not all features are implemented yet, but it is accessible via the Node.js API for early testing. See RFC9 for the original design.Features7b43ea1 feat: Implement FlatESLint (#16149) (Nicholas C. Zakas)92bf49a feat: improve the key width calculation in key-spacing rule (#16154) (Nitin Kumar)c461542 feat: add new allowLineSeparatedGroups option to the sort-keys rule (#16138) (Nitin Kumar)1cdcbca feat: add deprecation warnings for legacy API in RuleTester (#16063) (Nitin Kumar)Bug Fixes0396775 fix: lines-around-comment apply allowBlockStart for switch +
3年前
記事のアイキャッチ画像
ESLint v8.20.0 released
ESLint Blog
+HighlightsESLint now catches exceptions thrown by preprocessors and reports them as lint errors. This matches how ESLint already handled parser errors. Previously, exceptions thrown by preprocessors would crash ESLint.Featuresca83178 feat: catch preprocess errors (#16105) (JounQin)Bug Fixes30be0ed fix: no-warning-comments rule escapes special RegEx characters in terms (#16090) (Lachlan Hunt)bfe5e88 fix: ignore spacing before ] and } in comma-spacing (#16113) (Milos Djermanovic)Documentation845c4f4 docs: Add website team details (#16115) (Nicholas C. Zakas)5a0dfdb docs: Link to blog post in no-constant-binary-expression (#16112) (Jordan Eldredge)bc692a9 docs: remove install command (#16084) (Strek)49ca3f0 docs: don’t show toc when content not found (#16095) (Amaresh S M)ba19e3f docs: enhance 404 page UI (#16097) (Amaresh S M)a75d3b4 docs: remove unused meta.docs.category field in working-with-rules page (#16109) (Brandon Scott)cdc0206 docs: add formatters page edit link (#16094) (Amares +
3年前
記事のアイキャッチ画像
Interesting bugs caught by no-constant-binary-expression
ESLint Blog
+In ESLint v8.14.0 I contributed a new core rule called no-constant-binary-expression which has surprised me with the wide variety of subtle and interesting bugs it has been able to detect.In this post I’ll explain what the rule does and share some examples of real bugs it has detected in popular open source projects such as Material UI, Webpack, VS Code, and Firefox as well as a few interesting bugs that it found internally at Meta. I hope these examples will convince you to try enabling the rule in the projects you work on!What does no-constant-binary-expression do?The rule checks for comparisons (==, !==, etc) where the outcome cannot vary at runtime, and logical expressions (&&, ??, ||) which will either always or never short-circuit.For example:+x == null will always be false, because + will coerce x into a number, and a number is never nullish.{ ...foo } || DEFAULT will never return DEFAULT because objects are always truthy.Both of these are examples of expressions that look like +
3年前
記事のアイキャッチ画像
ESLint v8.19.0 released
ESLint Blog
+HighlightsThe no-restricted-imports rule now supports the importNames option for more granular control of imports when matching modules with patterns.Features7023628 feat: add importNames support for patterns in no-restricted-imports (#16059) (Brandon Scott)472c368 feat: fix handling of blockless with statements in indent rule (#16068) (Milos Djermanovic)Bug Fixesfc81848 fix: throw helpful exception when rule has wrong return type (#16075) (Bryan Mishkin)Documentation3ae0574 docs: Remove duplicate rule descriptions (#16052) (Amaresh S M)f50cf43 docs: Add base href to each page to fix relative URLs (#16046) (Nicholas C. Zakas)ae4b449 docs: make logo link clickable on small width screens (#16058) (Milos Djermanovic)280f898 docs: use only fenced code blocks (#16044) (Milos Djermanovic)f5d63b9 docs: add listener only if element exists (#16045) (Amaresh S M)8b639cc docs: add missing migrating-to-8.0.0 in the user guide (#16048) (唯然)b8e68c1 docs: Update release process (#16036) (Nicholas C. +
3年前
記事のアイキャッチ画像
ESLint v8.18.0 released
ESLint Blog
+HighlightsPer-rule performance report now includes time spent in create() of rules. This time is added to the time spent in the listeners.Featuresa6273b8 feat: account for rule creation time in performance reports (#15982) (Nitin Kumar)Bug Fixesf364d47 fix: Make no-unused-vars treat for…of loops same as for…in loops (#15868) (Alex Bass)Documentation4871047 docs: Update analytics, canonical URL, ads (#15996) (Nicholas C. Zakas)cddad14 docs: Add correct/incorrect containers (#15998) (Nicholas C. Zakas)b04bc6f docs: Add rules meta info to rule pages (#15902) (Nicholas C. Zakas)1324f10 docs: unify the wording referring to optional exception (#15893) (Abdelrahman Elkady)ad54d02 docs: add missing trailing slash to some internal links (#15991) (Milos Djermanovic)df7768e docs: Switch to version-relative URLs (#15978) (Nicholas C. Zakas)21d6479 docs: change some absolute links to relative (#15970) (Milos Djermanovic)f31216a docs: Update README team and sponsors (ESLint Jenkins)Build Relateded49 +
3年前
記事のアイキャッチ画像
ESLint v8.17.0 released
ESLint Blog
+HighlightsThe no-use-before-define rule has a new option allowNamedExports.Features55319e1 feat: fix indent bug with semicolon-first style (#15951) (Milos Djermanovic)f6d7920 feat: add allowNamedExports option to no-use-before-define (#15953) (Milos Djermanovic)Bug Fixes54c0953 fix: cleanup typos (#15939) (Nick Schonning)845a7af fix: typo ocatal -> octal (#15940) (Nick Schonning)Documentationb915018 docs: Update website UI to latest (#15944) (Nicholas C. Zakas)f0bb609 docs: Update Exponentiation operator MDN link (#15960) (Pranjal Jain)baa0153 docs: Use correct past tense “left” instead of “leaved” (#15950) (Frederik Braun)1351a9b docs: Add Resources section to rule pages (#15901) (Nicholas C. Zakas)68cf0fb docs: cleanup typos (#15936) (Nick Schonning)13b62ae docs: use-dart-sass instead of node-sass (#15912) (Deepshika S)c81c5d6 docs: add social media links (#15920) (Deepshika S)0d6a50b docs: fix openjs link (#15917) (Amaresh S M)54910f5 docs: display version in mobile view (#15909) (A +
3年前
記事のアイキャッチ画像
ESLint v8.16.0 released
ESLint Blog
+HighlightsThe no-misleading-character-class rule now provides suggestions for some of the problems reported by this rule.Featurescab0c22 feat: add Unicode flag suggestion in no-misleading-character-class (#15867) (Milos Djermanovic)38ae956 feat: check Unicode code point escapes in no-control-regex (#15862) (Milos Djermanovic)ee69cd3 feat: Update global variables (#15871) (Sébastien Règne)Bug Fixes3f09aab fix: function-paren-newline crash on “new new Foo();” (#15850) (coderaiser)Documentation050d5f4 docs: Static further reading links (#15890) (Nicholas C. Zakas)36287c0 docs: fix absolute paths in related rules shortcode to work from /docs (#15892) (Milos Djermanovic)90b6990 docs: fix absolute links in rule macro to work from /docs (#15891) (Milos Djermanovic)f437249 docs: Adjust docs site path prefix (#15889) (Nicholas C. Zakas)6e16025 docs: update ‘Related Rules’ and ‘Further Reading’ in remaining rules (#15884) (Milos Djermanovic)1d39f69 docs: remove confusing examples for no-mixed-op +
3年前
記事のアイキャッチ画像
ESLint v8.15.0 released
ESLint Blog
+HighlightsThe no-underscore-dangle rule has a new option enforceInClassFields.Featuresab37d3b feat: add enforceInClassFields option to no-underscore-dangle (#15818) (Roberto Cestari)Bug Fixes8bf9440 fix: “use strict” should not trigger strict mode in ES3 (#15846) (Milos Djermanovic)Documentation28116cc docs: update AST node names link in no-restricted-syntax (#15843) (Milos Djermanovic)272965f docs: fix h1 heading on formatters page (#15834) (Milos Djermanovic)a798166 docs: update example for running individual rule tests (#15833) (Milos Djermanovic)57e732b docs: mark SourceCode#getJSDocComment deprecated in working-with-rules (#15829) (Milos Djermanovic)9a90abf docs: update docs directory in working-with-rules (#15830) (Milos Djermanovic)810adda docs: add more examples for prefer-object-spread (#15831) (coderaiser)06b1edb docs: clarify no-control-regex rule (#15808) (Milos Djermanovic)9ecd42f docs: Fixed typo in code comment (#15812) (Addison G)de992b7 docs: remove links to 2fa docume +
3年前
記事のアイキャッチ画像
ESLint v8.14.0 released
ESLint Blog
+HighlightsOne new rule has been added: no-constant-binary-expressionFeaturesab6363d feat: Add rule no-constant-binary-expression (#15296) (Jordan Eldredge)Bug Fixes35fa1dd fix: allow project paths to have URL-encoded characters (#15795) (Milos Djermanovic)413f1d5 fix: update astUtils.isDirectiveComment with globals and exported (#15775) (Milos Djermanovic)Build Relatedc2407e8 build: add node v18 (#15791) (唯然)Chores735458c chore: add static frontmatter to no-constant-binary-expression docs (#15798) (Milos Djermanovic)db28f2c chore: Add static frontmatter to docs (#15782) (Nicholas C. Zakas)3bca59e chore: markdownlint autofix on commit (#15783) (Nicholas C. Zakas)
3年前
記事のアイキャッチ画像
ESLint v8.13.0 released
ESLint Blog
Features274acbd feat: fix no-eval logic for this in arrow functions (#15755) (Milos Djermanovic)Bug Fixes97b57ae fix: invalid operator in operator-assignment messages (#15759) (Milos Djermanovic)Documentationc32482e docs: Typo in space-infix-ops docs (#15754) (kmin-jeong)f2c2d35 docs: disambiguate types FormatterFunction and LoadedFormatter (#15727) (Francesco Trotta)Choresbb4c0d5 chore: Refactor docs to work with docs.eslint.org (#15744) (Nicholas C. Zakas)d36f12f chore: remove lib/init from eslint config (#15748) (Milos Djermanovic)a59a4e6 chore: replace trimLeft/trimRight with trimStart/trimEnd (#15750) (Milos Djermanovic)
3年前
記事のアイキャッチ画像
ESLint v8.12.0 released
ESLint Blog
Features685a67a feat: fix logic for top-level this in no-invalid-this and no-eval (#15712) (Milos Djermanovic)Chores18f5e05 chore: padding-line-between-statements remove useless additionalItems (#15706) (Martin Sadovy)
3年前
記事のアイキャッチ画像
ESLint v8.11.0 released
ESLint Blog
+HighlightsThe no-unused-vars rule has a new destructuredArrayIgnorePattern option.Features800bd25 feat: add destructuredArrayIgnorePattern option in no-unused-vars (#15649) (Nitin Kumar)8933fe7 feat: Catch undefined and Boolean() in no-constant-condition (#15613) (Jordan Eldredge)f90fd9d feat: Add ESLint favicon to the HTML report document (#15671) (Mahdi Hosseinzadeh)57b8a57 feat: valid-typeof always ban undefined (#15635) (Zzzen)Bug Fixes6814922 fix: escaping for square brackets in ignore patterns (#15666) (Milos Djermanovic)c178ce7 fix: extend the autofix range in comma-dangle to ensure the last element (#15669) (Milos Djermanovic)Documentationc481cec docs: add fast-eslint-8 to atom integrations (userguide) (#15695) (db developer)d2255db docs: Add clarification about eslint-enable (#15680) (dosisod)8b9433c docs: add object pattern to first section of computed-property-spacing (#15679) (Milos Djermanovic)de800c3 docs: link to minimatch docs added. (#15688) (Gaurav Tewari)8f675b1 docs +
3年前
記事のアイキャッチ画像
ESLint v8.10.0 released
ESLint Blog
+HighlightsThe no-shadow rule has a new ignoreOnInitialization option.The no-confusing-arrow rule has a new onlyOneSimpleParam option.Features6e2c325 feat: Add ignoreOnInitialization option to no-shadow rule (#14963) (Soufiane Boutahlil)115cae5 feat: --debug prints time it takes to parse a file (#15609) (Bartek Iwańczuk)345e70d feat: Add onlyOneSimpleParam option to no-confusing-arrow rule (#15566) (Gautam Arora)Bug Fixescdc5802 fix: Avoid __dirname for built-in configs (#15616) (DoZerg)ee7c5d1 fix: false positive in camelcase with combined properties (#15581) (Nitin Kumar)Documentation1005bd5 docs: update CLA information (#15630) (Nitin Kumar)5d65c3b docs: Fix typo in no-irregular-whitespace (#15634) (Ryota Sekiya)b93af98 docs: add links between rules about whitespace around block curly braces (#15625) (Milos Djermanovic)ebc0460 docs: update babel links (#15624) (Milos Djermanovic)Chores7cec74e chore: upgrade @eslint/eslintrc@1.2.0 (#15648) (Milos Djermanovic)11c8580 chore: read ESLINT +
3年前
記事のアイキャッチ画像
Paying contributors, sponsoring projects, and more: ESLint's 2022 spending plan
ESLint Blog
+In our last update on paying contributors, we noted some of the successes and challenges we had as a team. At that time, we were still trying to figure out ESLint’s model for sustainability. Having money to spend is one thing but knowing how to best use that money is another. Because we didn’t have enough money to pay anyone full time, we tried one maintainer at part time, and that didn’t work. After that experiment, we decided to regroup and reevaluate, ultimately deciding to use a per-hour payment system for team members.Once we settled into the per-hour system, that also gave us information on how many hours each month people were spending on the project. That, in turn, showed us how much money we actually needed each month to continue maintaining ESLint. As a result of that information, we have arrived at a system that we are very pleased with.The guiding principleBefore explaining how ESLint is using the money it collects now, it helps to take a step back to understand the guiding +
3年前
記事のアイキャッチ画像
ESLint v8.9.0 released
ESLint Blog
+HighlightsNew es2022 environment has been added. When enabled, it adds all ECMAScript 2022 globals (which are currently the same as ECMAScript 2021 globals) and automatically sets the ecmaVersion parser option to 13. Previously, we used to add new ES environments only if they contain new globals compared to previous years. New es2016, es2018, and es2019 environments have also been added to fill in the gaps between years.eslint-scope has been updated to ignore "use strict" directives in ES3 code.eslint-visitor-keys package now contains built-in TypeScript declarations.Features68f64a9 feat: update eslint-scope to ignore "use strict" directives in ES3 (#15595) (Milos Djermanovic)db57639 feat: add es2016, es2018, es2019, and es2022 environments (#15587) (Milos Djermanovic)2dc38aa feat: fix bug with arrow function return types in function-paren-newline (#15541) (Milos Djermanovic)6f940c3 feat: Implement FlatRuleTester (#15519) (Nicholas C. Zakas)Documentation570a036 docs: add one-var exampl +
3年前
記事のアイキャッチ画像
ESLint v8.8.0 released
ESLint Blog
+HighlightsSuppressed MessagesSuppressed messages are lint messages (errors and warnings) that were suppressed by eslint-disable, eslint-disable-line and eslint-disable-next-line comments.ESLint API now provides information about suppressed lint messages. This information is available to custom formatters and API users as a new property suppressedMessages (array of SuppressedLintMessage objects) on LintResult objects.Features5d60812 feat: implement rfc 2021-suppression-support (#15459) (Yiwei Ding)Documentation5769cc2 docs: fix relative link (#15544) (Nick Schonning)ccbc35f docs: trimmed rules h1s to just be rule names (#15514) (Josh Goldberg)851f1f1 docs: fixed typo in comment (#15531) (Jiapei Liang)7d7af55 docs: address upcoming violation of markdownlint rule MD050/strong-style (#15529) (David Anson)
3年前
記事のアイキャッチ画像
ESLint v8.7.0 released
ESLint Blog
+HighlightsThe functionality behind eslint --init has been pulled into a standalone @eslint/create-config package. Now, you can initialize ESLint in a new project with npm init @eslint/config, npx @eslint/create-config, or yarn create @eslint/config.Several rules gained support for arbitrary module namespace names.Features19ad061 feat: no-restricted-imports support casing (#15439) (gfyoung)564ecdb feat: Support arbitrary module namespace names in no-restricted-imports (#15491) (Milos Djermanovic)968a02a feat: Support arbitrary module namespace names in no-useless-rename (#15493) (Milos Djermanovic)0d2b9a6 feat: move eslint --init to @eslint/create-config (#15150) (唯然)127f524 feat: false negative with property option in id-match (#15474) (Nitin Kumar)359b2c1 feat: Support arbitrary module namespace names in the camelcase rule (#15490) (Milos Djermanovic)3549571 feat: Support arbitrary module namespace names in the quotes rule (#15479) (Milos Djermanovic)5563c45 feat: Support arbitrary mo +
3年前
記事のアイキャッチ画像
ESLint v8.6.0 released
ESLint Blog
+HighlightsESLint v8.6.0 allows rule lists or descriptions in eslint-disable-next-line comments to wrap lines:/* eslint-disable-next-line no-console -- * Here's a very long description about why this configuration is necessary * along with some additional information. */console.log('hello');Features6802a54 feat: handle logical assignment in no-self-assign (#14152) (Zzzen)3b38018 feat: allow to define eslint-disable-next-line in multiple lines (#15436) (Nitin Kumar)9d6fe5a feat: false negative with onlyDeclarations + properties in id-match (#15431) (Nitin Kumar)Documentation6c4dee2 docs: Document homedir is a configuration root (#15469) (Bas Bosman)51c37b1 docs: consistency changes (#15404) (Bas Bosman)775d181 docs: Mention character classes in no-useless-escape (#15421) (Sebastian Simon)Chores3a384fc chore: Upgrade espree to 9.3.0 (#15473) (Brandon Mills)1443cc2 chore: Update blogpost.md.ejs (#15468) (Nicholas C. Zakas)28e907a refactor: remove unused parameter in linter.js (#15451) (Mil +
3年前
記事のアイキャッチ画像
ESLint v8.5.0 released
ESLint Blog
+HighlightsOne new rule has been added: prefer-object-has-own.The prefer-regex-literals rule now provides suggestions.Features94e77a6 feat: Suggestions support for prefer-regex-literals (#15077) (Yash Singh)eafaf52 feat: add prefer-object-has-own rule (#15346) (Nitin Kumar)Bug Fixes7d832d4 fix: improve prefer-template fixer (#15230) (Nitin Kumar)981fb48 fix: do not report global references in id-match rule (#15420) (Nitin Kumar)f13d4a6 fix: improve autofix of prefer-object-has-own (#15419) (Nitin Kumar)f4559a0 fix: add helpful message when test case has non-string code/name (#15425) (Bryan Mishkin)Documentation314c84c docs: add an incorrect code example in for-direction (#15434) (Holger Jeromin)3928175 docs: add destructuring examples for computed-property-spacing (#15423) (Nitin Kumar)a53e59e docs: add more examples for array-element-newline rule (#15427) (Nitin Kumar)74cf0a0 docs: update CLA info (#15370) (Nitin Kumar)e84195e docs: fix heading level for an option in class-methods-use- +
3年前
記事のアイキャッチ画像
ESLint v8.4.1 released
ESLint Blog
Bug Fixes234e3d9 fix: revert changes to reported locations in max-lines-per-function (#15397) (Milos Djermanovic)Documentationfa4d483 docs: fix typo in example for sort-keys rule (#15393) (Nitin Kumar)
3年前
記事のアイキャッチ画像
ESLint v8.4.0 released
ESLint Blog
+HighlightsNew Parser OptionThe default parser has a new option allowReserved (boolean, default false). When set to true, reserved words can be used as identifiers.This option can only be used with "ecmaVersion": 3.{ "parserOptions": { "ecmaVersion": 3, "allowReserved": true }}New Features for Custom FormattersThis release adds two new features for custom formatters.Async FormattersFormatters are now allowed to return Promise<string>. That is, a formatter can be an async function.//------ my-formatter.js ------module.exports = async function(results, context) { const something = await getSomethingAsync(); // ... return formattedResults;};context.cwdThe context argument has a new property cwd (string, absolute path). It represents the working directory used for linting. This value comes from the cwd constructor option of the ESLint class, and formatters can use it to output relative paths more reliably than by using process.cwd().//------ my-formatter.js ------module.exports = function(r +
3年前
記事のアイキャッチ画像
Contra becomes ESLint gold sponsor
ESLint Blog
+We are happy to share that Contra has become an ESLint gold sponsor, donating $1,000 each month for the ongoing maintenance and development of ESLint! Contra is a professional network built around independent work, allowing designers, developers, and more, to live and work the way they want.Here’s what the folks at Contra had to say about ESLint:“ESLint plays a major role in helping us create a safe and consistent experience across a growing number of codebases and engineers. We are grateful for all the open-source projects that are helping us build Contra, and ESLint is the first of many open-source projects that we are committed to back.”-– Gajus Kuizinas, Co-Founder / CTO at ContraESLint is grateful for the support of the Contra team, and we are putting these funds to work by paying more contributors to help maintain and develop ESLint. Donations such as these have allowed us to take on more ambitious projects, such as redesigning the ESLint website, with more to come in 2022.
+
3年前
記事のアイキャッチ画像
ESLint v8.3.0 released
ESLint Blog
+HighlightsThis release supports ES2022 class static blocks in rules, the default parser, and scope analysis.class C { static x = ...; static y; static z; static { try { const obj = doSomethingWith(this.x); this.y = obj.y; this.z = obj.z; } catch { this.y = ...; this.z = ...; } }}It also supports #x in obj, officially known as ergonomic brand checks for private fields.Features60b0a29 feat: add allowProperties option to require-atomic-updates (#15238) (Milos Djermanovic)79278a1 feat: update no-use-before-define for class static blocks (#15312) (Milos Djermanovic)ddd01dc feat: update no-redeclare for class static blocks (#15313) (Milos Djermanovic)de69cec feat: update no-inner-declarations for class static blocks (#15290) (Milos Djermanovic)e2fe7ef feat: support for private-in syntax (fixes #14811) (#15060) (Yosuke Ota)34bc8d7 feat: Update espree and eslint-scope (#15338) (Brandon Mills)b171cd7 feat: update max-depth for class static blocks (#15316) (Milos Djermanovic)6487df3 feat: update +
3年前
記事のアイキャッチ画像
The inception of ESLint
ESLint Blog
+If you’re like me, you probably use a lot of open source tools every day without thinking about how they got started. Few projects share the “why” of their creation: the actual problem they were trying to solve and when they first came across that problem. You can, of course, benefit from open source projects without understanding their origin story, but I always find it interesting to hear about how it all started.I recently realized that I’d never shared the origin story of ESLint. I’ve shared some of the decisions I made along the way in previous posts but never the initial domino that fell and led to ESLint’s creation. As you will see, ESLint wasn’t created through some divine intervention or stroke of insight, but rather through a series of events that eventually built up to ESLint’s creation.The bugI was still fairly new at Box when a teammate was working on a strange bug. A client had reported problems using the web application in Internet Explorer 7 (we were probably one of the +
3年前
記事のアイキャッチ画像
ESLint v8.2.0 released
ESLint Blog
+Featuresc9fefd2 feat: report class evaluation TDZ errors in no-use-before-define (#15134) (Milos Djermanovic)Documentationc415c04 docs: Use string rule severity in CLI examples (#15253) (Kevin Partington)12b627d docs: fix typo in working-with-rules.md (#15233) (Nitin Kumar)a86ffc0 docs: fix broken anchor in configuration files (#15223) (Pierre Berger)ee8af5f docs: Link to unit tests from rule documentation (#15207) (Brandon Mills)1c0ca3c docs: add ci and perf tags for commit (#15215) (Nitin Kumar)Build Related796587a build: upgrade eslint-release to v3.2.0 to support conventional commits (#15246) (Milos Djermanovic)Chorescf5b6be chore: update @eslint/eslintrc to avoid different versions of js-yaml (#15265) (Milos Djermanovic)4fd7a6c perf: don’t prepare a fix for valid code in key-spacing (#15239) (Milos Djermanovic)fda533c chore: update strip-ansi dependency (#15221) (Nitin Kumar)67949bd ci: Remove Node 16 CI prerelease workaround (#14935) (Brandon Mills)
3年前
記事のアイキャッチ画像
ESLint v8.1.0 released
ESLint Blog
+HighlightsOne new rule has been added: no-unused-private-class-members. This rule reports unused class private fields, methods and accessors.RuleTester now allows name property in test case objects. If you specify name, it will be output instead of the code.Features3d370fb New: Add no-unused-private-class-members rule (fixes #14859) (#14895) (Tim van der Lippe)e926b17 New: Add name to RuleTester (#15179) (Gareth Jones)Bug Fixesd9d84a0 Fix: keyword-spacing conflict with space-infix-ops on > (fixes #14712) (#15172) (Milos Djermanovic)a1f7ad7 Fix: allow baseConfig to extend preloaded plugin config (fixes #15079) (#15187) (Milos Djermanovic)Documentation446b4b3 Docs: Update commit message format docs (#15200) (Nicholas C. Zakas)0fb3bb2 Docs: remove instanceof from keyword-spacing docs (#15180) (Milos Djermanovic)35f3254 Docs: Describe range in rule docs (fixes #14162) (#15174) (Nicholas C. Zakas)2b32f50 Docs: Fix typo in README.md (#15168) (Dmitriy Fishman)2cfbd4b Docs: Update README team +
3年前
記事のアイキャッチ画像
ESLint v8.0.1 released
ESLint Blog
This release contains a workaround that will allow Jest to work with ESLint v8.Documentationff5fcd4 Docs: add 13 as allowed ecma version (fixes #15159) (#15162) (唯然)Dependency Upgradesf9217e5 Upgrade: @eslint/eslintrc@1.0.3 for Jest workaround (#15164) (Brandon Mills)Choresc584a63 Chore: add ecmaVersion 13 to types.js (#15163) (Milos Djermanovic)
3年前
+
記事のアイキャッチ画像
ESLint v8.0.0 released
ESLint Blog
+HighlightsThere are several breaking changes in v8.0.0. We’ve created a migration guide to explain the breaking changes and describe how to upgrade. In addition, there are several new features:ESLint’s default parser and all core rules now fully support the following ES2022 syntax:Class public instance fields and private instance fieldsClass public static fields and private static fieldsClass private instance methods and accessorsClass private static methods and accessorsRegExp match indicesTop-level awaitAutofix can now remove unused disable directives when --fix and --report-unused-disable-directives are used together.The use of reserved words as identifiers in ES3 is now disallowed. This change only affects users with default parser configured with { "ecmaVersion": 3 } in parser options.The class-methods-use-this rule has a new enforceForClassFields option.The max-classes-per-file rule has a new ignoreExpressions option.The meta.docs.category property has been removed from all core +
3年前
記事のアイキャッチ画像
ESLint v8.0.0-rc.0 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.This version of ESLint is provided to gather feedback from the community before releasing the final version. Please try it and report any unexpected issues.InstallingSince this is a pre-release version, you will not automatically be upgraded by npm. You must specify the next tag when installing:npm i eslint@next --save-devYou can also specify the version directly:npm i eslint@8.0.0-rc.0 --save-devMigration GuideAs there are a lot of changes, we’ve created a migration guide describing the changes in great detail along with the steps you should take to address them. We expect that most users should be able to upgrade without any build changes, but the migration guide should be a useful resource if you encounter problems.Enhancements67c0074 Update: Suggest missing rule in flat config (fixes #14027) (#15074) (Nicholas C. Zakas)cf34e5c Update: space-before-blocks ignore after switch colons (fi +
3年前
記事のアイキャッチ画像
ESLint v8.0.0-beta.2 released
ESLint Blog
+HighlightsThe use of reserved words as identifiers in ES3 is now disallowed. This change only affects users with default parser configured with { "ecmaVersion": 3 } in parser options.All core rules have been updated to support ES2022 class fields and private class members. ESLint now fully supports the following ES2022 syntax:Class public instance fields and private instance fieldsClass public static fields and private static fieldsClass private instance methods and accessorsClass private static methods and accessorsRegExp match indicesTop-level awaitThe class-methods-use-this rule has a new enforceForClassFields option.The max-classes-per-file rule has a new ignoreExpressions option.Since this is a beta release, it is not expected to be ready for production, but please try it and report any unexpected issues.NotesVS Code ESLint extension has added support for ESLint v8.0.0, you’ll just need to install the latest v2.1.25 of the extension.We have received reports from plugin authors abo +
3年前
記事のアイキャッチ画像
ESLint v8.0.0-beta.1 released
ESLint Blog
+HighlightsBeta testing revealed that the impact of the breaking change to allow line comment directives for all directives that previously required block comments outweighs the benefits of this feature due to a high number of accidental directives, so we decided to revert this change and exclude this feature from v8.0.0.Code Path Analysis now supports ES2022 class fields. In particular, each class field initializer now starts a separate code path. A new origin property has been added to CodePath objects.The meta.docs.category property has been removed from all core rules.Since this is a beta release, it is not expected to be ready for production, but please try it and report any unexpected issues.InstallingSince this is a pre-release version, you will not automatically be upgraded by npm. You must specify the next tag when installing:npm i eslint@next --save-devYou can also specify the version directly:npm i eslint@8.0.0-beta.1 --save-devMigration GuideAs there are a lot of changes, we +
3年前
記事のアイキャッチ画像
ESLint v8.0.0-beta.0 released
ESLint Blog
+HighlightsMost of the highlights of this release are breaking changes, and are discussed further in the migration guide. In addition, there are some new features:The default parser now supports ES2022 syntax, including class fields and top-level await. Some rules still need to be updated, and you can follow progress on the tracking issue.Autofix gained support for removing unused disable directives when using --fix with --report-unused-disable-directives.Since this is a beta release, it is not expected to be ready for production, but please try it and report any unexpected issues.InstallingSince this is a pre-release version, you will not automatically be upgraded by npm. You must specify the next tag when installing:npm i eslint@next --save-devYou can also specify the version directly:npm i eslint@8.0.0-beta.0 --save-devMigration GuideAs there are a lot of changes, we’ve created a migration guide describing the changes in great detail along with the steps you should take to address th +
3年前
記事のアイキャッチ画像
ESLint v7.32.0 released
ESLint Blog
+HighlightsThe new --exit-on-fatal-error option will treat parsing errors as fatal and return exit code 2. By default, parsing errors return exit code 1 like rule violations.Features1bfbefd New: Exit on fatal error (fixes #13711) (#14730) (Antonios Katopodis)Enhancementsfaecf56 Update: change reporting location for curly rule (refs #12334) (#14766) (Nitin Kumar)Bug Fixesd7dc07a Fix: ignore lines with empty elements (fixes #12756) (#14837) (Soufiane Boutahlil)Documentationd53d906 Docs: Prepare data for website to indicate rules with suggestions (#14830) (Bryan Mishkin)d28f2ff Docs: Reference eslint-config-eslint to avoid potential for staleness (#14805) (Brett Zamir)f9c164f Docs: New syntax issue template (#14826) (Nicholas C. Zakas)ed945bd Docs: fix multiple broken links (#14833) (Sam Chen)6641d88 Docs: Update README team and sponsors (ESLint Jenkins)Chores3c78a7b Chore: Adopt eslint-plugin/prefer-message-ids rule internally (#14841) (Bryan Mishkin)ed007c8 Chore: Simplify internal no-in +
4年前
記事のアイキャッチ画像
ESLint v7.31.0 released
ESLint Blog
+Enhancementsa96b05f Update: add end location to report in consistent-return (refs #12334) (#14798) (Nitin Kumar)ddffa8a Update: Indicating the operator in question (#14764) (Paul Smith)bba714c Update: Clarifying what changes need to be made in no-mixed-operators (#14765) (Paul Smith)Documentatione0e8e30 Docs: update BUG_REPORT template (#14787) (Nitin Kumar)39115c8 Docs: provide more context to no-eq-null (#14801) (gfyoung)9a3c73c Docs: fix a broken link (#14790) (Sam Chen)b0d22e3 Docs: Mention benefit of providing meta.docs.url (#14774) (Bryan Mishkin)Dependency Upgradesefdbb12 Upgrade: @eslint/eslintrc to v0.4.3 (#14808) (Brandon Mills)Choresa6a7438 Chore: pin fs-teardown@0.1.1 (#14771) (Milos Djermanovic)
4年前
ESLint v7.30.0 released
ESLint Blog
+HighlightsYou can now set "ecmaVersion" to "latest" under parserOptions in your configuration file:{ "parserOptions": { "ecmaVersion": "latest" }}"ecmaVersion": "latest" always enables the latest supported ECMAScript version in ESLint’s default parser.Please note that this feature applies only if you are using the default parser. If you’re using a custom parser, refer to the parser’s documentation for the list of available options.Enhancementsed1da5d Update: ecmaVersion allows “latest” (#14720) (薛定谔的猫)104c0b5 Update: improve use-isnan rule to detect Number.NaN (fixes #14715) (#14718) (Nitin Kumar)b08170b Update: Implement FlatConfigArray (refs #13481) (#14321) (Nicholas C. Zakas)Documentation19a871a Docs: Suggest linting plugins for ESLint plugin developers (#14754) (Bryan Mishkin)aa87329 Docs: fix broken links (#14756) (Sam Chen)278813a Docs: fix and add more examples for new-cap rule (fixes #12874) (#14725) (Nitin Kumar)1b8997a Docs: Fix getRulesMetaForResults link syntax (#14723) (B +
4年前
記事のアイキャッチ画像
ESLint v7.29.0 released
ESLint Blog
+HighlightsThe ESLint class has a new getRulesMetaForResults() method that returns meta information for rules in lint results. ESLint integrations should migrate to ESLint#getRulesMetaForResults() from the getRules() method on the deprecated CLIEngine class.RuleTester test cases now support an optional only boolean property that allows running a single test case in isolation for easier debugging.Featuresbfbfe5c New: Add only to RuleTester (refs eslint/rfcs#73) (#14677) (Brandon Mills)c2cd7b4 New: Add ESLint#getRulesMetaForResults() (refs #13654) (#14716) (Nicholas C. Zakas)Bug Fixes6a1c7a0 Fix: allow fallthrough comment inside block (fixes #14701) (#14702) (Kevin Gibbons)Documentationa47e5e3 Docs: Add Mega-Linter to the list of integrations (#14707) (Nicolas Vuillamy)c93a222 Docs: fix a broken link (#14697) (Sam Chen)Choreseea7e0d Chore: remove duplicate code (#14719) (Nitin Kumar)353ddf9 Chore: enable reportUnusedDisableDirectives in eslint-config-eslint (#14699) (薛定谔的猫)757c495 Chore: +
4年前
記事のアイキャッチ画像
What's coming in ESLint v8.0.0
ESLint Blog
+Last week, the Technical Steering Committee (TSC) met to finalize the features for ESLint v8.0.0. This feature set had not yet been locked down even as v8.0.0 work began and so this represented an important milestone that allows us to focus on getting this next major release shipped. You can see everything that is planned for v8.0.0 on our project board.Significant changes in v8.0.0The following changes are important to understand as we move towards v8.0.0.Dropping support for Node.js v10.x, 13.x, and 15.xNode.js v10.x end-of-life was April 30, 2021, Node.js v13.x end-of-life was June 1, 2020, and Node.js v15.x end-of-life is this month (June 2021). As a result, ESLint v8.0.0 removes support for all three of these Node.js versions.Removing the codeframe and table formattersIn an ongoing effort to reduce the install size of ESLint, we have decided to remove the codeframe and table formatters from the core of ESLint. Both of these formatters include dependencies that aren’t used anywhere +
4年前
記事のアイキャッチ画像
ESLint v7.28.0 released
ESLint Blog
+Highlightscontext.getPhysicalFilename()Rules can now use the new method getPhysicalFilename() on the context object to get the full path of the file on disk without any code block information.The difference between getPhysicalFilename and getFilename is observable when ESLint is used with processors:context.getPhysicalFilename() // "/project/example.md" - original filecontext.getFilename() // "/project/example.md/0_0.js" - virtual filename assigned to a code blockFeaturesbb66a3d New: add getPhysicalFilename() method to rule context (fixes #11989) (#14616) (Nitin Kumar)Enhancementsc545163 Update: support multiline /*eslint-env*/ directives (fixes #14652) (#14660) (薛定谔的猫)Bug Fixes1f048cb Fix: no-implicit-coercion false positive with String() (fixes #14623) (#14641) (Milos Djermanovic)e44ce0a Fix: no-duplicate-imports allow unmergeable (fixes #12758, fixes #12760) (#14238) (Soufiane Boutahlil)e4f111b Fix: arrow-body-style crash with object pattern (fixes #14633) (#14635) (Milos Djermanovi +
4年前
記事のアイキャッチ画像
ESLint v7.27.0 released
ESLint Blog
+HighlightsThe no-restricted-imports rule now allows specifying custom error messages for patterns.Enhancements9e9b5e0 Update: no-unused-vars false negative with comma operator (fixes #14325) (#14354) (Nitin Kumar)52655dd Update: no-restricted-imports custom message for patterns (fixes #11843) (#14580) (Alex Holden)Documentation6a2ced8 Docs: Update README team and sponsors (ESLint Jenkins)Chores2c0868c Chore: merge all html formatter files into html.js (#14612) (Milos Djermanovic)afe9569 Chore: use includes instead of indexOf (#14607) (Mikhail Bodrov)c0f418e Chore: Remove lodash (#14287) (Stephen Wade)967b1c4 Chore: Fix typo in large.js (#14589) (Ikko Ashimine)086c1d6 Chore: add more test cases for no-sequences (#14579) (Nitin Kumar)
4年前
記事のアイキャッチ画像
ESLint v7.26.0 released
ESLint Blog
+Features0b6a3f3 New: Include XO style guide in eslint --init (#14193) (Federico Brigante)Enhancementsf071d1e Update: Add automated suggestion to radix rule for parsing decimals (#14291) (Bryan Mishkin)Bug Fixesae6dbd1 Fix: track variables, not names in require-atomic-updates (fixes #14208) (#14282) (Patrick Ahmetovic)ee3a3ea Fix: create .eslintrc.cjs for module type (#14304) (Nitin Kumar)Documentation6791dec Docs: fix example for require-atomic-updates (#14562) (Milos Djermanovic)Dependency Upgradesaaf65e6 Upgrade: eslintrc for ModuleResolver fix (#14577) (Brandon Mills)Chores6a86e50 Chore: remove loose-parser tests (fixes #14315) (#14569) (Milos Djermanovic)
4年前
記事のアイキャッチ画像
ESLint v7.25.0 released
ESLint Blog
+Enhancements5df5e4a Update: highlight last write reference for no-unused-vars (fixes #14324) (#14335) (Nitin Kumar)41b3570 Update: lint code block with same extension but different content (#14227) (JounQin)Documentation0023872 Docs: Add deprecated note to working-with-rules-deprecated page (#14344) (Michael Novotny)f2babb1 Docs: update pull request template (#14336) (Nitin Kumar)02dde29 Docs: Fix anchor in ‘docs/developer-guide/working-with-rules.md’ (#14332) (Nate-Wilkins)eb29996 Docs: add more examples with arrow functions for no-sequences rule (#14313) (Nitin Kumar)Chores36fca70 Chore: Upgrade eslump to 3.0.0 (#14350) (Stephen Wade)59b689a Chore: add node v16 (#14355) (薛定谔的猫)fb0a92b Chore: rename misspelled identifier in test (#14346) (Tobias Nießen)07d14c3 Chore: remove extraneous command from lint-staged config (#14314) (James George)
4年前
記事のアイキャッチ画像
ESLint v7.24.0 released
ESLint Blog
+HighlightsThe no-implicit-coercion rule has a new disallowTemplateShorthand option.The no-multi-assign rule has a new ignoreNonDeclaration option.Enhancementsf06ecdf Update: Add disallowTemplateShorthand option in no-implicit-coercion (#13579) (Remco Haszing)b51d077 Update: add ignoreNonDeclaration to no-multi-assign rule (fixes #12545) (#14185) (t-mangoe)Bug Fixesc4d8b0d Fix: no-unused-vars ignoreRestSiblings check assignments (fixes #14163) (#14264) (YeonJuan)Documentation71a80e3 Docs: fix broken links in Node.js API docs toc (#14296) (u-sho (Shouhei Uechi))bd46dc4 Docs: Fix incorrect reference to “braces” in arrow-parens (#14300) (emclain)0d6235e Docs: update header in max-lines (#14273) (Shinigami)70c9216 Docs: Update issue triage to include blocked column (#14275) (Nicholas C. Zakas)abca186 Docs: Fix typo in suggestions section (#14293) (Kevin Partington)147fc04 Docs: Fix repro:needed label in bug report template (#14285) (Milos Djermanovic)e1cfde9 Docs: Update bug report template +
4年前
記事のアイキャッチ画像
ESLint v7.23.0 released
ESLint Blog
+HighlightsThe no-sequences rule has a new option allowInParentheses.Enhancements687ccae Update: add option “allowInParentheses” to no-sequences (fixes #14197) (#14199) (Daniel Rentz)43f1685 Update: --quiet should not supress --max-warnings (fixes #14202) (#14242) (Milos Djermanovic)8984c91 Update: eslint --env-info output os info (#14059) (薛定谔的猫)Bug Fixes28583eb Fix: no-mixed-operators false positives with ? : (fixes #14223) (#14226) (Milos Djermanovic)a99eb2d Fix: Clarify line breaks in object-curly-newline (fixes #14024) (#14063) (armin yahya)Documentation909c727 Docs: Add valid example that shows vars in a block scope (#14230) (Ed S)ebd7026 Docs: Fix typo (#14225) (Greg Finley)Chores49d1697 Chore: Upgrade eslint-plugin-jsdoc to v25 and remove --legacy-peer-deps (#14244) (Brandon Mills)
4年前
記事のアイキャッチ画像
ESLint v7.22.0 released
ESLint Blog
+Enhancementsf62ec8d Update: throw error when fix range is invalid (#14142) (Jacob Bandes-Storch)5ad91aa Update: report es2021 globals in no-extend-native (refs #13602) (#14177) (Milos Djermanovic)Documentation3a432d8 Docs: Improve documentation for indent rule (#14168) (Serkan Özel)3ba029f Docs: Remove Extraneous Dash (#14164) (Danny Hurlburt)ddf361c Docs: Fix Formatting (#14154) (Danny Hurlburt)a8df03e Docs: Clarify triage process (#14117) (Nicholas C. Zakas)Dependency Upgrades0eecad2 Upgrade: Update lodash in package.json to V 4.17.21 (#14159) (Basem Al-Nabulsi)Choresc295581 Chore: remove leftover JSDoc from lint-result-cache (#14176) (Milos Djermanovic)0d541f9 Chore: Reduce lodash usage (#14178) (Stephen Wade)459d821 Chore: upgrade dependencies of browser test (#14127) (Pig Fang)
4年前
記事のアイキャッチ画像
ESLint v7.21.0 released
ESLint Blog
+HighlightsThe new --cache-strategy CLI option can improve how ESlint detects changed files by looking at either file metadata or contents.Features08ae31e New: Implement cacheStrategy (refs eslint/rfcs#63) (#14119) (Manu Chambon)Enhancements5e51fd2 Update: do not ignore symbolic links (fixes #13551, fixes #13615) (#14126) (Pig Fang)Bug Fixesb8aea99 Fix: pluralize ‘line’ to ‘lines’ in max-lines-per-function description (#14115) (Trevin Hofmann)Dependency Upgrades3cd5440 Upgrade: @eslint/eslintrc to 0.4.0 (#14147) (Brandon Mills)c0b8c71 Upgrade: Puppeteer to 7.1.0 (#14122) (Tim van der Lippe)Chores87c43a5 Chore: improve a few comments and fix typos (#14125) (Tobias Nießen)
4年前
記事のアイキャッチ画像 +
Nx becomes ESLint gold sponsor
ESLint Blog
+We are happy to share that Nx has become an ESLint gold sponsor, donating $1,000 each month for the ongoing maintenance and development of ESLint! Nx is a front-end focused set of tools for working with web applications, with a special focus on monorepo setups.Here’s what the folks at Nx had to say about ESLint:“Nx uses ESLint to enforce code quality, library boundaries, and project visibility constraints. ESLint makes Nx more powerful, so on behalf of the Nx.dev community, we’re proud to do our part and sponsor ESLint’s continued success!”– Jeff Cross, Co-founder and Principal Architect at Nrwl“We help many companies build large systems using Nx. To keep them maintainable, it’s important to follow community and org-specific best practices, and ESLint makes it easy.”– Victor Savkin, Co-founder at NrwlESLint is grateful for the support of the Nx team and we are putting these funds to work by paying more contributors to help maintain and develop ESLint. Due to the support of companies li +
4年前
記事のアイキャッチ画像
ESLint v7.20.0 released
ESLint Blog
+HighlightsThe no-unused-expressions rule has a new option enforceForJSX to flag unused JSX elements.The following selectors have been updated to support JSX and custom parsers: :first-child, :last-child, :nth-child(n), :nth-last-child(n), sibling ~, and adjacent sibling +. All selectors now support JSX and custom parsers.Enhancementsad90761 Update: add enforceForJSX option to no-unused-expressions rule (#14012) (Duncan Beevers)Bug Fixes9d6063a Fix: Crash with esquery when using JSX (fixes #13639) (#14072) (Yosuke Ota)d6c84af Fix: --init autoconfig shouldn’t add deprecated rules (fixes #14017) (#14060) (Milos Djermanovic)9b277a1 Fix: Support ENOTDIR error code in the folder existence checking utility (#13973) (Constantine Genchevsky)Documentationf4ac3b0 Docs: fix sibling selector descriptions (#14099) (Milos Djermanovic)a0871f1 Docs: Triage process (#14014) (Nicholas C. Zakas)b4e2af5 Docs: Add more fields to bug report template (#14039) (Nicholas C. Zakas)Dependency Upgrades7aeb127 Upgr +
4年前
記事のアイキャッチ画像
ESLint v7.19.0 released
ESLint Blog
+HighlightsWith this release, we’re excited to publish our revamped configuration guide.Technical writer Khawar Latif Khan spent the last several months since our Google Season of Docs project announcement digging into and improving what used to be a single dense page.The new documentation is logically organized with readability improvements throughout.Thank you Khawar!Enhancementsce7f061 Update: add shadowed variable loc to message in no-shadow (fixes #13646) (#13841) (t-mangoe)c60e23f Update: fix let logic in for-in and for-of loops in no-extra-parens (#14011) (Milos Djermanovic)1a078b9 Update: check ternary : even if ? was reported in space-infix-ops (#13963) (Milos Djermanovic)1c309eb Update: fix no-invalid-regexp false negatives with no flags specified (#14018) (Milos Djermanovic)Bug Fixesd76e8f6 Fix: no-useless-rename invalid autofix with parenthesized identifiers (#14032) (Milos Djermanovic)e1da90f Fix: nested indenting for offsetTernaryExpressions: true (fixes #13971) (#13972) ( +
4年前
記事のアイキャッチ画像
ESLint v7.18.0 released
ESLint Blog
+Enhancementsf17c3c3 Update: check logical assignment operators in the complexity rule (#13979) (Milos Djermanovic)Bug Fixes179a910 Fix: --init crash on question to upgrade/downgrade ESLint (fixes #13978) (#13995) (Milos Djermanovic)292b1c0 Fix: no-extra-parens false positive with let identifier in for-loop (#13981) (Milos Djermanovic)Documentation672deb0 Docs: fix no-invalid-regexp docs regarding ecmaVersion (#13991) (Milos Djermanovic)f2687e7 Docs: update space-in-parens related rules (#13985) (Chris Brody)4a38bbe Docs: space-in-parens examples with no arguments etc. (#13987) (Chris Brody)f6948f6 Docs: Update semantic versioning policy (#13970) (Nicholas C. Zakas)Dependency Upgradese3264b2 Upgrade: @eslint/eslintrc to improve error message for invalid extends (#14009) (Milos Djermanovic)9250d16 Upgrade: Bump lodash to fix security issue (#13993) (Frederik Prijck)Chores78cb483 Chore: test foo( ) with space-in-parens option “always” (#13986) (Chris Brody)aeba5e5 Chore: fix typo (#13975) +
4年前
記事のアイキャッチ画像
Google Chrome becomes ESLint gold sponsor
ESLint Blog
+We are happy to share that Google Chrome has become an ESLint gold sponsor sponsor, donating $1,000 each month for the ongoing maintenance and development of ESLint! The Chrome team is well known for supporting web developers around the world through not just developing the browser, but also through resources like web.dev, where they document and explain the latest web technologies.Here’s what Addy Osmani from the Chrome team told us:“ESLint has been critical in helping developers write high-quality JavaScript for years. We love that it catches common issues early and often. With a high level of extensibility, ESLint’s ability to let teams enforce custom rules that work for them has been excellent for open-source projects and more.Chrome is happy to sponsor ESLint to help web developers write consistently high-quality code. It’s an essential piece of the modern web development toolkit”– Addy Osmani, Senior Staff Eng. Manager, ChromeESLint is grateful for the support of the Chrome team +
4年前
記事のアイキャッチ画像
ESLint v7.17.0 released
ESLint Blog
+HighlightsThe multiline-ternary rule is now auto-fixable.Enhancementse128e77 Update: check logical assignment in no-constant-condition (#13946) (Milos Djermanovic)535fe47 Update: use regexpp’s default ecmaVersion in no-control-regex (#13969) (Milos Djermanovic)0649871 Update: add autofix to rule multiline-ternary (#13958) (薛定谔的猫)Bug Fixes83e98cd Fix: use regexpp’s default ecmaVersion in no-invalid-regexp (#13968) (Milos Djermanovic)f6e7e32 Fix: no-useless-escape wrong loc and fix with CRLF in template elements (#13953) (Milos Djermanovic)19c69c0 Fix: one-var shouldn’t split declaration if it isn’t in a statement list (#13959) (Milos Djermanovic)Documentation7297363 Docs: fix examples for no-multi-str (#13966) (Milos Djermanovic)e451b96 Docs: update build tool for webpack (#13962) (Sam Chen)Chorescc48713 Chore: refactor calculating range and loc in no-useless-escape (#13964) (Milos Djermanovic)c3e9acc Chore: fix typos (#13960) (YeonJuan)
4年前
記事のアイキャッチ画像
ESLint v7.16.0 released
ESLint Blog
+Enhancementsa62ad6f Update: fix false negative of no-extra-parens with NewExpression (#13930) (Milos Djermanovic)Bug Fixesf85b4c7 Fix: require-atomic-updates false positive across await (fixes #11954) (#13915) (buhi)301d0c0 Fix: no-constant-condition false positives with unary expressions (#13927) (Milos Djermanovic)555c128 Fix: false positive with await and ** in no-extra-parens (fixes #12739) (#13923) (Milos Djermanovic)ab240d4 Fix: prefer-exponentiation-operator invalid autofix with await (#13924) (Milos Djermanovic)Documentationd93c935 Docs: update JSON Schema links (#13936) (Milos Djermanovic)9247683 Docs: Remove for deleted npm run profile script (#13931) (Brandon Mills)2124e1b Docs: Fix wrong rule name (#13913) (noisyboy25)26fc12f Docs: Update README team and sponsors (ESLint Jenkins)Dependency Upgrades8d0c93a Upgrade: table@6.0.4 (#13920) (Rouven Weßling)Choresdc76911 Chore: Add .pre-commit-hooks.yaml file (#13628) (Álvaro Mondéjar)
4年前
記事のアイキャッチ画像
Automattic becomes ESLint's first platinum sponsor
ESLint Blog
+We are happy to share that Automattic has become ESLint’s first platinum sponsor, donating $2,000 each month for the ongoing maintenance and development of ESLint! Automattic is the company behind WordPress.com, WooCommerce, Jetpack, Simplenote, Longreads, VaultPress, Akismet, Gravatar, Crowdsignal, Cloudup, Tumblr, and more. Further, Automattic believes in open source and makes a lot of their work public on GitHub and available via the GPL.Here’s what Automattic engineers told us about ESLint:“ESLint helps us keep our code consistent and clean across hundreds of developers.”– Marcus Kazmierczak, Engineering Team Lead, Automattic“ESLint lets me apply my brain to more important things.”– Darren Ethier, Engineering Team Lead, Automattic“Unlike my variables, ESLint is always used.”– Nadir Seghir, JavaScript Engineer, AutomatticESLint is honored and excited to be the first project that Automattic has sponsored through Open Collective. Support from companies like Automattic is why ESLint ha +
4年前
記事のアイキャッチ画像
ESLint v7.15.0 released
ESLint Blog
+HighlightsThe new no-unsafe-optional-chaining rule catches cases where short-circuiting ?. in an expression can cause a TypeError.Features683ad00 New: no-unsafe-optional-chaining rule (fixes #13431) (#13859) (YeonJuan)Bug Fixescbc57fb Fix: one-var autofixing for export (fixes #13834) (#13891) (Anix)Documentation110cf96 Docs: Fix a broken link in working-with-rules.md (#13875) (Anton Niklasson)Dependency Upgrades5c11aab Upgrade: @eslint/esintrc and espree for bug fixes (refs #13878) (#13908) (Brandon Mills)0eb7957 Upgrade: file-entry-cache@6.0.0 (#13877) (Rouven Weßling)
4年前
記事のアイキャッチ画像
ESLint v7.14.0 released
ESLint Blog
+HighlightsThe no-nonoctal-decimal-escape rule has been added. This rule disallows the use of legacy escape sequences \8 and \9 in string literals.Features98c00c4 New: Add no-nonoctal-decimal-escape rule (fixes #13765) (#13845) (Milos Djermanovic)Enhancements5f09073 Update: fix ‘skip’ options in no-irregular-whitespace (fixes #13852) (#13853) (Milos Djermanovic)Bug Fixes2004b7e Fix: enable debug logs for @eslint/eslintrc (fixes #13850) (#13861) (Milos Djermanovic)d2239a1 Fix: no-useless-constructor crash on bodyless constructor (fixes #13830) (#13842) (Ari Perkkiö)Documentation1861b40 Docs: correct the function-call-argument-newline ‘default’ descriptions (#13866) (Trevin Hofmann)eda0aa1 Docs: no-restricted-imports is only for static imports (#13863) (Robat Williams)042ae44 Docs: Fix JS syntax and doc URL in working-with-custom-formatters.md (#13828) (Raphael LANG)Chores95d2fe6 Chore: remove eslint comment from no-octal-escape tests (#13846) (Milos Djermanovic)038dc73 Chore: Test on Nod +
4年前
記事のアイキャッチ画像
ESLint v7.13.0 released
ESLint Blog
+HighlightsPer-rule performance metrics can now show more than ten rules. Set the TIMING environment variable to the desired list size or all to display all rules.$ TIMING=50 eslint lib$ TIMING=100 eslint lib$ TIMING=all eslint libFeatures254e00f New: Configurable List Size For Per-Rule Performance Metrics (#13812) (Bryan Mishkin)Documentation6c3c710 Docs: fix broken url in docs (#13815) (SaintMalik)fb6fcbf Docs: Fix reference to Code of Conduct (#13797) (Tobias Nießen)
4年前
記事のアイキャッチ画像
ESLint v7.12.1 released
+ESLint Blog
Bug Fixesaeef485 Fix: Pass internal config paths in FileEnumerator default (fixes #13789) (#13792) (Brandon Mills)Dependency Upgrades08f33e8 Upgrade: @eslint/eslintrc to fix rule schema validation (fixes #13793) (#13794) (Brandon Mills)
4年前
記事のアイキャッチ画像
ESLint v7.12.0 released
ESLint Blog
+Enhancementscbf3585 Update: skip keyword check for fns in space-before-blocks (fixes #13553) (#13712) (Milos Djermanovic)bfddced Update: remove suggestion if it didn’t provide a fix (fixes #13723) (#13772) (Milos Djermanovic)5183b14 Update: check template literal in no-script-url (#13775) (YeonJuan)603de04 Update: treat all literals like boolean literal in no-constant-condition (#13245) (Zen)0510621 Update: Fix && vs || short-circuiting false negatives (fixes #13634) (#13769) (Brandon Mills)67c0605 Update: check computed keys in no-prototype-builtins (fixes #13088) (#13755) (Milos Djermanovic)Bug Fixes256f656 Fix: autofix shouldn’t produce template literals with \8 or \9 (#13737) (Milos Djermanovic)b165aa5 Fix: yoda rule autofix produces syntax errors with adjacent tokens (#13760) (Milos Djermanovic)3175316 Fix: prefer-destructuring invalid autofix with comma operator (#13761) (Milos Djermanovic)Documentation637f818 Docs: add more examples for no-func-assign (fixes #13705) (#13777) (Ni +
4年前
記事のアイキャッチ画像
ESLint v7.11.0 released
ESLint Blog
+Enhancementsda78fa1 Update: support async arrow fn in function-paren-newline (fixes #13728) (#13729) (Michal Dziekonski)Bug Fixesfa9429a Fix: don’t count line after EOF in max-lines (#13735) (Milos Djermanovic)27f0de6 Fix: account for linebreaks before postfix ++/-- in no-extra-parens (#13731) (Milos Djermanovic)Documentationd973675 Docs: Update anchor links to use existing linkrefs (refs #13715) (#13741) (Brandon Mills)2c6d774 Docs: Fix typos (#13730) (Frieder Bluemle)ab0ac6c Docs: Fix anchor links (#13715) (Gary Moore)fe301b8 Docs: Add configuration comments in examples (#13738) (YeonJuan)Dependency Upgradescc468c0 Upgrade: eslint-visitor-keys@2.0.0 (#13732) (Milos Djermanovic)Chores23e966f Chore: Refactor CLIEngine tests (refs #13481) (#13709) (Nicholas C. Zakas)
4年前
記事のアイキャッチ画像
A year of paying contributors: Review
ESLint Blog
+It was in February of 2019 that we announced the launch of the ESLint Collective to fund ESLint’s ongoing development. One of the primary reasons for seeking funding was due to the increasing amount of time required to maintain a project that, as of today, is downloaded over 13 million times each week. We waited until the last quarter of 2019 before we started paying contributors because we wanted to see what our monthly sponsorships would stabilize at and so we’d have some money saved to guarantee a certain amount would be available to pay contributors. Since then, we’ve tried a few different approaches with varying degrees of success and failure, and we’d like to share that experience.The Technical Steering CommitteeThe Technical Steering Committee (TSC) is a group of five people who manage the overall direction of the ESLint project. Most of the work that goes into each ESLint release is done by TSC members, including the actual release process itself. Additionally, TSC members revi +
4年前
記事のアイキャッチ画像
ESLint v7.10.0 released
ESLint Blog
+HighlightsNew option ignorePattern in the no-inline-comments rule.Enhancements07d9bea Update: Add ignorePattern to no-inline-comments (#13029) (Edie Lemoine)Bug Fixescb44e93 Fix: prefer-destructuring invalid autofix with computed property access (#13704) (Milos Djermanovic)Documentation6919fbb Docs: Clarify that ignorePattern should be a string (refs #13029) (#13718) (Brandon Mills)d79bbe9 Docs: fix typo (#13717) (Alexander Liu)9b8490e Docs: grammatical error (#13687) (rajdeep)51674a4 Docs: Add missing quotes (#13714) (Lucio Paiva)30b76c9 Docs: Clarify package.json requirement in Getting Started (refs #13549) (#13696) (Nicholas C. Zakas)Dependency Upgrades46c73b1 Upgrade: eslint-scope@5.1.1 (#13716) (Milos Djermanovic)Choresb7b12ba Chore: Move comment to make tests more organized (#13707) (Yusuke Tanaka)7c34a98 Chore: remove mistakenly added file (#13710) (Milos Djermanovic)
4年前
+記事のアイキャッチ画像
Supporting ESLint's dependencies
ESLint Blog
+When ESLint first started accepting donations, it was with the explicit goal of creating a sustainable future for the project. In the short term, that meant ensuring we could compensate those who spent a significant amount of time on the project, but we always intended that to be a starting point and not an end. There is so much more that goes into open source sustainability and we wanted to be mindful of that as we continued to grow. That’s why we’re excited to announce that we’re now supporting several of the projects that ESLint itself is built upon.Sponsors choose to support ESLint because they have come to depend on ESLint, and as such, want to ensure that the project continues. Similarly, ESLint is built on top of smaller open source projects, and we feel like it is our responsibility to also help those projects thrive. We’re grateful to our sponsors for helping us get to 50% of our $20,000/month goal, and we feel that it’s time to spread some of that success to our dependencies. +
4年前
記事のアイキャッチ画像
ESLint v7.9.0 released
ESLint Blog
+Enhancements6f87db7 Update: fix id-length false negatives on Object.prototype property names (#13670) (Milos Djermanovic)Bug Fixes3ca2700 Fix: Corrected notice for invalid (:) plugin names (#13473) (Josh Goldberg)29d1cdc Fix: prefer-destructuring removes comments (refs #13678) (#13682) (Milos Djermanovic)361ac4d Fix: NonOctalDecimalIntegerLiteral is decimal integer (fixes #13588) (#13664) (Milos Djermanovic)Documentationfc5783d Docs: Fix leaky anchors in v4 migration page (#13635) (Timo Tijhof)f1d07f1 Docs: Provide install commands for Yarn (#13661) (Nikita Baksalyar)b4da0a7 Docs: fix typo in working with plugins docs (#13683) (啸生)f260716 Docs: update outdated link (#13677) (klkhan)5138c91 Docs: add missing eslint directive comments in no-await-in-loop (#13673) (Milos Djermanovic)17b58b5 Docs: clarify correct example in no-return-await (fixes #13656) (#13657) (Milos Djermanovic)Chores9171f0a Chore: fix typo (#13660) (Nitin Kumar)
4年前
記事のアイキャッチ画像
ESLint v7.8.1 released
ESLint Blog
Bug Fixesf542b5d Fix: Update broken @eslint/eslintrc version (fixes #13641) (#13647) (Nicholas C. Zakas)
4年前
記事のアイキャッチ画像
ESLint v7.8.0 released
ESLint Blog
+HighlightsSupport for logical assignment operators and numeric separators has landed in ESLint! To enable linting this syntax, please set ecmaVersion to 2021:{ "parserOptions": { "ecmaVersion": 2021 }}Enhancements58abd93 Update: support logical assignments in code path analysis (refs #13569) (#13612) (Milos Djermanovic)db7488e Update: support logical assignments in core rules (refs #13569) (#13618) (Milos Djermanovic)88a9ade Update: add es2021 environment (refs #13602) (#13603) (Milos Djermanovic)0003dc0 Update: support numeric separators (refs #13568) (#13581) (Milos Djermanovic)96b11a0 Update: Add exceptionPatterns to id-length rule (fixes #13094) (#13576) (sodam)3439fea Update: support numeric-separator in no-loss-of-precision (refs #13568) (#13574) (Anix)ed64767 Update: add comment to message in no-warning-comments (fixes #12327) (#13522) (Anix)66442a9 Update: Add no-magic-numbers ‘ignoreDefaultValues’ option (#12611) (Dieter Luypaert)Documentation3729219 Docs: Update Step 1 of Dev +
4年前
記事のアイキャッチ画像
Announcing ESLint's public roadmap
ESLint Blog
+When ESLint first started accepting donations, we listed several ways that the project intended to spend the money donated:Paying team members for maintenance and development. We hired our first part-time maintainer, Kai Cataldo, and started paying TSC members on a per-hour basis up to $1,000 each month (the maximum we can afford at the moment).Rewarding contributions from the community. We have given spot bonuses to people who have made significant contributions to ESLint.Improve documentation. We are participating in the 2020 Google Season of Docs to improve our documentation.Better communication and support. Paying team members has allowed us to participate in the monthly TC39 tooling meeting and allowed us to pay contributors to help answer questions both in GitHub and in Discord.Developing a Roadmap. Today, we are announcing our first public roadmap!That last bullet point, developing a roadmap, is something we’ve been working hard to figure out for several months. Paying contribut +
4年前
記事のアイキャッチ画像
Introducing the ESLint Google Season of Docs project and technical writer
ESLint Blog
+This year, ESLint was accepted into the Google Season of Docs (GSoD) program for the first time (thanks, in large part, to our sponsors). The ESLint team has always placed a high value on quality documentation for the project and we came up with a list of projects that we thought could improve our documentation. We received more than 20 applications through GSoD, and after a lot of time grading and reviewing applications, we finally ended up with our technical writer!It’s our pleasure to introduce Khawar Latif Khan, the 2020 ESLint GSoD technical writer. Here’s a little about Khawar, straight from him:I am an engineer turned communications specialist from Pakistan, with a passion to create helpful and understandable content. I have a graduate degree in Technical and Professional Communication from North Carolina State University, under the Fulbright Scholarship. During and after my undergraduate degree in Electrical Engineering, I got interested in communicating complex technical knowl +
4年前
記事のアイキャッチ画像
ESLint v7.7.0 released
ESLint Blog
+HighlightsIn ESLint v7.3.0, we released a change to the comma-dangle rule that disallowed having multiple options in the rule’s configuration. Our semantic versioning policy allows for changes that may introduce new errors in semver-minor releases if the change is considered a bug fix and, at the time, we decided that this change fell under that category. After discussing internally whether this was the correct application of our policy or not, we have decided to update our semantic versioning policy to include rule schemas as part of the public API and to revert this change in this release.Enhancementsb46f3ee Update: allowFunctionParams option in no-underscore-dangle (fixes 12579) (#13545) (Sunghyun Cho)Bug Fixes4e0b672 Fix: revert “Update: disallow multiple options in comma-dangle schema” (#13564) (Kai Cataldo)254990e Fix: indent for async arrow functions (fixes #13497) (#13544) (Anix)Documentation26aa245 Docs: clarify “case” specifier in padding-line-between-statements (#13562) (Mil +
4年前
記事のアイキャッチ画像
Microsoft donates $10,000 to ESLint as first FOSS Fund recipient
ESLint Blog
+We are happy to share that Microsoft has donated $10,000 to the ESLint project as part of their FOSS Fund. Similar to the Indeed FOSS Contributor Fund and Salesforce FOSS Contributor Fund, the Microsoft FOSS Fund donates $10,000 to qualifying open source projects each quarter. Microsoft employees who have contributed to an open source project that is both used by Microsoft and not an official Microsoft project may nominate and vote on potential project recipients. ESLint is honored to be the first recipient from the Microsoft FOSS Fund!Here’s what Microsoft’s Jan Pilzer and Steve Faulkner, who nominated ESLint, had to say:“When I started working in JavaScript professionally many years ago, I realized there was potential of hidden errors and hard to detect problems. Looking into ways to improve the situation for me and my teams, I used various linting tools and was immediately captured by the potential and power of ESLint when it was created. Then and now, ESLint is an incredibly import +
4年前
記事のアイキャッチ画像
Making ESLint more inclusive
ESLint Blog
+From its beginning, the ESLint project has sought to be a place that is welcoming and inclusive of everyone. We adopted a code of conduct before doing so was common (even before we joined the jQuery Foundation, now the OpenJS Foundation) and the project has been maintained by a group of developers from all around the world, representing a variety of ethnicities, cultures, and countries. Even so, we understand that inclusivity is a process that must be adapted as we learn and grow. There is always some way to be more welcoming, and today we’re happy to share with you some of our recent efforts.Eliminating problematic terminologyOne of the areas where we’ve made changes in the project is through the use of more inclusive terminology. We recently did an audit of our codebase to look for words with negative connotations. In doing so, we discovered that we had a few instances of the word “blacklist” in the project, not just inside of code but also in the name of the id-blacklist rule.In v7. +
4年前
記事のアイキャッチ画像
Salesforce donates $10,000 to ESLint
ESLint Blog
+We are happy to share that Salesforce has donated $10,000 to the ESLint project as part of their FOSS Contributor Fund. The FOSS Contributor Fund donates $10,000 to qualifying open source projects each quarter. Salesforce employees who have contributed to an open source project nominate and vote on potential project recipients. For this quarter, ESLint was selected as the recipient. (Read about it on the Salesforce Blog, too.)Here’s what Médédé Raymond KPATCHAA, who nominated ESLint, had to say:“ESLint is an extremely useful tool for any JavaScript project. This tool allows us to set up consistent code formatting rules adopted by the whole team from the beginning of the project, greatly facilitates code reviews, and makes it easy to integrate new developers into the team. I know I am not alone in appreciating its flexibility and ease-of-use.” – Médédé Raymond KPATCHAA, Technical Architect, SalesforceWe are grateful to Médédé for nominating ESLint this quarter and to the Salesforce empl +
5年前
記事のアイキャッチ画像
ESLint v7.6.0 released
ESLint Blog
+HighlightsRuleTester requires meta.fixable for fixable rulesFixable rules are required to have a meta.fixable property. A bug in the RuleTester class (which is intended to help plugin authors write and test custom rules) was recently surfaced in which fixable rules that do not export metadata (the meta property) are not validated for the existence of a meta.fixable property, while rules that do export meta are.This has been fixed in this release! Unfortunately, this can lead to new errors being reported by the RuleTester for rules that apply fixes and are missing a meta property. Please feel free to stop by our help channel if you need assistance resolving this issue.Enhancementsecb2b73 Update: require meta for fixable rules in RuleTester (refs #13349) (#13489) (Milos Djermanovic)e71e298 Update: Change no-duplicate-case to comparing tokens (fixes #13485) (#13494) (Yosuke Ota)Bug Fixes318fe10 Fix: Do not output undefined as line and column when it’s unavailable (#13519) (haya14busa)16b1 +
5年前
記事のアイキャッチ画像
ESLint v7.5.0 released
ESLint Blog
+HighlightsOptional Chaining SupportSupport for optional chaining has landed in ESLint!const maybeProp = obj.first?.second;The default parser and built-in rules will support this syntax when you enable parserOptions.ecmaVersion: 2020 in your configuration:{ "parserOptions": { "ecmaVersion": 2020 }}Deprecating id-blacklistid-blacklist has been deprecated and replaced with id-denylist. We renamed id-blacklist to id-denylist in the previous release (v7.4.0), which unfortunately led to some unintended breakages in the ESLint ecosystem. In this release, we have added back the id-blacklist rule and have marked it as deprecated. If you are currently using id-blacklist, we recommend switching to id-denylist to ensure you receive bug fixes and updates to the rule in future releases.Enhancements6ea3178 Update: optional chaining support (fixes #12642) (#13416) (Toru Nagashima)f4d7b9e Update: deprecate id-blacklist rule (#13465) (Dimitri Mitropoulos)c8f9c82 Update: Improve report location no-irregu +
5年前
記事のアイキャッチ画像
ESLint v7.4.0 released
ESLint Blog
+HighlightsShortly after the v7.3.0 release, we received an issue that eslint-config-airbnb was breaking because it used Infinity in a rule config. Infinity should have been forbidden by the rule’s option schema, but a bug in Ajv, the JSON schema validator that ESLint uses, incorrectly allowed Infinity when an integer was specified. This was finally caught because the v7.3.0 release included a change that fixed an unrelated issue by serializing rule configs. ESLint expects rule configs to be JSON-serializable for consistency between all supported JSON, YAML, and JS .eslintrc formats, and it relies on this property in the --cache and --print-config command line options.Updating eslint-config-airbnb to use Number.MAX_SAFE_INTEGER instead of Infinity is the ideal solution but would have taken too long. Since this was the only reported issue and isolated to eslint-config-airbnb rather than end-user configs, we implemented an exception that replaced Infinity with Number.MAX_SAFE_INTEGER and +
5年前
記事のアイキャッチ画像
ESLint v7.3.1 released
ESLint Blog
+The v7.3.0 release included a fix for an unrelated issue that caused a configuration issue in eslint-config-airbnb that had previously gone unnoticed to start failing. ESLint expects configurations to be JSON-serializable, so configurations that use Infinity or other non-JSON-serializable values may cause undefined behavior in some parts of ESLint including caching and the --print-config command line argument. In this case, the use of Infinity was not caught until now due to a gap in the JSON schema validator that ESLint uses for which a fix has been implemented and is awaiting release.In order to give users time to upgrade to an updated version of eslint-config-airbnb when it becomes available, this v7.3.1 release includes a temporary workaround for Infinity that will allow linting to continue despite the undefined behavior elsewhere.Bug Fixesde77c11 Fix: Replace Infinity with Number.MAX_SAFE_INTEGER (fixes #13427) (#13435) (Nicholas C. Zakas)
5年前
記事のアイキャッチ画像
ESLint v7.3.0 released
ESLint Blog
+HighlightsThe new no-promise-executor-return rule prevents returning unreadable values from inside new Promise(...) executors.The new no-unreachable-loop rule catches loops that are guaranteed to execute only once.Several rules have been updated to report more accurate source code locations.Several rule option schemas have been improved to catch configuration typos.Features9e1414e New: Add no-promise-executor-return rule (fixes #12640) (#12648) (Milos Djermanovic)b550330 New: Add no-unreachable-loop rule (fixes #12381) (#12660) (Milos Djermanovic)Enhancements638a6d6 Update: add missing additionalProperties: false to some rules’ schema (#13198) (Milos Djermanovic)949a5cd Update: fix operator-linebreak overrides schema (#13199) (Milos Djermanovic)09cc0a2 Update: max-lines reporting loc improvement (refs #12334) (#13318) (Anix)ee2fc2e Update: object-property-newline end location (refs #12334) (#13399) (Anix)d98152a Update: added empty error array check for false negative (#13200) (Anix)76 +
5年前
記事のアイキャッチ画像
ESLint v7.2.0 released
ESLint Blog
+HighlightsECMAScript 2020 syntax support has landed in ESLint! This release adds support for the following language features in the default parser and core rules:Nullish coalescing operatorexport * as ns from "source"import.metaNote: We are aware that optional chaining support is still missing. If you’re interested in following the process of implementing support for this syntax, please subscribe to this ESTree issue.Enhancementsb735a48 Update: add enforceForFunctionPrototypeMethods option to no-extra-parens (#12895) (Milos Djermanovic)27ef73f Update: reporter locr of func-call-spacing (refs #12334) (#13311) (Anix)353bfe9 Update: handle parentheses in multiline-ternary (fixes #13195) (#13367) (Milos Djermanovic)a7fd343 Update: keyword-spacing unexpected space loc improve (refs #12334) (#13377) (Anix)dd949ae Update: support ?? operator, import.meta, and export * as ns (#13196) (Toru Nagashima)d5fce9f Update: enable es2020 environment in --init (#13357) (Milos Djermanovic)b76aef7 Update: +
5年前
記事のアイキャッチ画像
ESLint v7.1.0 released
ESLint Blog
+Featuresc636d57 New: no-loss-of-precision (fixes #11279) (#12747) (jmoore914)Enhancementsdf01af1 Update: padded-blocks loc position changes (refs #12334) (#13328) (Anix)25462b2 Update: block-spacing changed loc for extra (refs #12334) (#13314) (Anix)a195141 Update: reporting location for semi-spacing (refs #12334) (#13285) (Anix)b0a6b81 Update: Improve report location for rest-spread-spacing (refs #12334) (#13313) (Milos Djermanovic)89e1081 Update: Improve report location for linebreak-style (refs #12334) (#13317) (Milos Djermanovic)742941d Update: added typescript-eslint/recommended configs for init (#13235) (Anix)Bug Fixesa93083a Fix: astUtils.getNextLocation returns invalid location after CRLF (#13275) (Milos Djermanovic)bd3f092 Fix: max-lines-per-function flagging arrow IIFEs (fixes #13332) (#13336) (cherryblossom000)de0aab9 Fix: report end loc in one-var-declaration-per-line (refs #12334) (#13326) (YeonJuan)1710296 Fix: no-new-symbol false positive with Symbol as an argument (#133 +
5年前
記事のアイキャッチ画像
Changes to our rules policies
ESLint Blog
+When ESLint was first created, the idea was to have a small set of 20-30 core rules that could get everyone started, and then to let the community build out its own rules to fill in any remaining gaps. We did, however, continue implementing core rules as it seemed helpful to the point where today there are 280 core rules. At any given time, more than half of open issues and pull requests are related to rules that take up a significant portion of the team’s time.ESLint now benefits from a thriving ecosystem of rule-focused plugins like eslint-plugin-node, eslint-plugin-import, eslint-plugin-react, and many others. Tools like astexplorer.net and numerous tutorials have made it easier than ever for developers to write their own rules. The core team no longer needs to build up a critical mass of basic rules, so we can prioritize our time on long-awaited core features like parallel linting that will benefit the whole community. We’re making some changes to how we prioritize changes to built +
5年前
記事のアイキャッチ画像
ESLint v7.0.0 released
ESLint Blog
+HighlightsThere are several breaking changes in 7.0.0. We’ve created a migration guide to explain the breaking changes and describe how to upgrade.Dropping support for Node.js v8Node.js 8 reached EOL in December 2019, and we are officially dropping support for it in this release.Core rule changesThe ten Node.js/CommonJS rules in core have been deprecated and moved to the eslint-plugin-node plugin.Several rules have been updated to recognize bigint literals and warn on more cases by default.eslint:recommended has been updated with a few new rules: no-dupe-else-if, no-import-assign, and no-setter-return.Improved developer experienceThe default ignore patterns have been updated. ESLint will no longer ignore .eslintrc.js and bower_components/* by default. Additionally, it will now ignore nested node_modules directories by default.ESLint will now lint files with extensions other than .js if they are explicitly defined in overrides[].files - no need to use the --ext flag!ESLint now supports +
5年前
記事のアイキャッチ画像
ESLint v7.0.0-rc.0 released
ESLint Blog
+HighlightsThis release includes a new asynchronous ESLint API for use in Node.js environments. This will allow for the support of ES Module configuration files and plugins and is a prerequisite for implementing parallel linting.Node.js and CommonJS core rules have been deprecated in favor of eslint-plugin-node.The reported error location has been fine-tuned in a number of core rules.InstallingSince this is a pre-release version, you will not automatically be upgraded by npm. You must specify the next tag when installing:npm i eslint@next --save-devYou can also specify the version directly:npm i eslint@7.0.0-rc.0 --save-devMigration GuideAs there are a lot of changes, we’ve created a migration guide describing the changes in great detail along with the steps you should take to address them. We expect that most users should be able to upgrade without any build changes, but the migration guide should be a useful resource if you encounter problems.Enhancements0b1d65a Update: Improve report +
5年前
記事のアイキャッチ画像
ESLint v7.0.0-alpha.3 released
ESLint Blog
+HighlightsThis release contains the following breaking changes:Making RuleTester checks stricter.Plugins are now loaded relative to the configs that reference them.Use the current working directory as base path when using --config.It also adds support for the following new language features:Core rules now support globalThis.InstallingSince this is a pre-release version, you will not automatically be upgraded by npm. You must specify the next tag when installing:npm i eslint@next --save-devYou can also specify the version directly:npm i eslint@7.0.0-alpha.3 --save-devMigration GuideAs there are a lot of changes, we’ve created a migration guide describing the changes in great detail along with the steps you should take to address them. We expect that most users should be able to upgrade without any build changes, but the migration guide should be a useful resource if you encounter problems.Breaking Changes78c8cda Breaking: RuleTester Improvements (refs eslint/rfcs#25) (#12955) (Milos Dje +
5年前
記事のアイキャッチ画像
ESLint v7.0.0-alpha.2 released
ESLint Blog
+HighlightsThis release contains the following breaking changes:Updating default configuration options in core rules.Updating the rules recommended in eslint:recommended.Making RuleTester checks stricter.InstallingSince this is a pre-release version, you will not automatically be upgraded by npm. You must specify the next tag when installing:npm i eslint@next --save-devYou can also specify the version directly:npm i eslint@7.0.0-alpha.2 --save-devMigration GuideAs there are a lot of changes, we’ve created a migration guide describing the changes in great detail along with the steps you should take to address them. We expect that most users should be able to upgrade without any build changes, but the migration guide should be a useful resource if you encounter problems.Breaking Changes4af06fc Breaking: Test with an unknown error property should fail in RuleTester (#12096) (Milos Djermanovic)afa9aac Breaking: class default true computed-property-spacing (fixes #12812) (#12915) (Milos Djer +
5年前
記事のアイキャッチ画像
What's coming in ESLint v7.0.0
ESLint Blog
+Last week, the Technical Steering Committee (TSC) met to finalize the features for ESLint v7.0.0. This feature set had not yet been locked down even as v7.0.0 work began and so this represented an important milestone that allows us to focus on getting this next major release shipped. You can see everything that is planned for v7.0.0 on our project board.Significant changes in v7.0.0The following changes are important to understand as we move towards v7.0.0.Dropping support for Node.js v8.xNode.js v8.x was officially end-of-lifed in December 2019 and so v7.0.0 removes support for this version of Node.js.ESLint class replacing CLIEngine classFrom ESLint’s early days, we have provided a CLIEngine class to allow developers to create ESLint integrations. This class is at the center of things like editor plugins, build tool integrations, and zero-configuration linters. The CLIEngine class powers ESLint itself and has been an important part of the project for many years.Unfortunately, the CLI +
5年前
記事のアイキャッチ画像
ESLint v7.0.0-alpha.1 released
ESLint Blog
+HighlightsMost of the highlights of this release are breaking changes, and are discussed further in the migration guide.InstallingSince this is a pre-release version, you will not automatically be upgraded by npm. You must specify the next tag when installing:npm i eslint@next --save-devYou can also specify the version directly:npm i eslint@7.0.0-alpha.1 --save-devMigration GuideAs there are a lot of changes, we’ve created a migration guide describing the changes in great detail along with the steps you should take to address them. We expect that most users should be able to upgrade without any build changes, but the migration guide should be a useful resource if you encounter problems.Breaking Changes4293229 Breaking: use-isnan enforceForSwitchCase default true (fixes #12810) (#12913) (Milos Djermanovic)cf38d0d Breaking: change default ignore pattern (refs eslint/rfcs#51) (#12888) (Toru Nagashima)bfe1dc4 Breaking: no-dupe-class-members checks some computed keys (fixes #12808) (#12837) +
5年前
記事のアイキャッチ画像
ESLint v7.0.0-alpha.0 released
ESLint Blog
+HighlightsMost of the highlights of this release are breaking changes, and are discussed further in the migration guide.In addition to the breaking changes, we have three new rules:default-case-lastno-useless-backreferenceno-restricted-exportsInstallingSince this is a pre-release version, you will not automatically be upgraded by npm. You must specify the next tag when installing:npm i eslint@next --save-devYou can also specify the version directly:npm i eslint@7.0.0-alpha.0 --save-devMigration GuideAs there are a lot of changes, we’re working on a migration guide describing the changes in great detail along with the steps you should take to address them. We expect that most users should be able to upgrade without any build changes, but the migration guide should be a useful resource if you encounter problems.Breaking Changes1aa021d Breaking: lint overrides files (fixes #10828, refs eslint/rfcs#20) (#12677) (Toru Nagashima)b50179d Breaking: Check assignment targets in no-extra-parens ( +
5年前
記事のアイキャッチ画像
ESLint v6.8.0 released
ESLint Blog
+HighlightsThe new --no-error-on-unmatched-pattern CLI flag prevents errors when a quoted glob pattern or --ext is not matched.ESLint now looks for .eslintrc.cjs config files to allow CommonJS-based configs in ES Module-based packages.Features1713d07 New: Add no-error-on-unmatched-pattern flag (fixes #10587) (#12377) (ncraley)Enhancements5c25a26 Update: autofix bug in lines-between-class-members (fixes #12391) (#12632) (YeonJuan)05faebb Update: improve suggestion testing experience (#12602) (Brad Zacher)05f7dd5 Update: Add suggestions for no-unsafe-negation (fixes #12591) (#12609) (Milos Djermanovic)1600648 Update: Allow $schema in config (#12612) (Yordis Prieto)acc0e47 Update: support .eslintrc.cjs (refs eslint/rfcs#43) (#12321) (Evan Plaice)a230f84 Update: include node version in cache (#12582) (Eric Wang)6e36d12 Update: do not recommend require-atomic-updates (refs #11899) (#12599) (Kai Cataldo)Bug Fixesc5c7086 Fix: ignore aligning single line in key-spacing (fixes #11414) (#12652) ( +
5年前
記事のアイキャッチ画像
ESLint v6.7.2 released
ESLint Blog
Bug Fixesbc435a9 Fix: isSpaceBetweenTokens() recognizes spaces in JSXText (fixes #12614) (#12616) (Toru Nagashima)4928d51 Fix: don’t ignore the entry directory (fixes #12604) (#12607) (Toru Nagashima)ea16de4 Fix: Support tagged template literal generics in no-unexpected-multiline (#11698) (Brad Zacher)Documentationb41677a Docs: Clarify suggestion’s data in Working with Rules (refs #12606) (#12617) (Milos Djermanovic)
5年前
記事のアイキャッチ画像
ESLint v6.7.1 released
ESLint Blog
Bug Fixesdd1e9f4 Fix: revert changes to key-spacing due to regression (#12598) (Kai Cataldo)Documentationc644b54 Docs: Update README team and sponsors (ESLint Jenkins)
5年前
ESLint v6.7.0 released
ESLint Blog
+HighlightsSuggestions APIThis release contains a new Suggestions API for rule authors and integrations. You can read more about this exciting new feature here.ignorePatterns in config filesThis release adds a new ignorePatterns property in config files (including shareable configs) in order to control the files ESLint ignores. See also documentation.New Rulesgrouped-accessor-pairsno-constructor-returnno-dupe-else-ifno-setter-returnprefer-exponentiation-operatorDeprecationsPlease note that these deprecated features may be removed in a future major release of ESLint.Personal configuration filessourceCode#isSpaceBetweenTokens() has been deprecated in favor of sourceCode#isSpaceBetween().Features312a88f New: Add grouped-accessor-pairs rule (fixes #12277) (#12331) (Milos Djermanovic)6eaad96 New: Add suggestions API (#12384) (Will Douglas)1a2eb99 New: new rule no-constructor-return (fixes #12481) (#12529) (Pig Fang)ca3b2a6 New: ignorePatterns in config files (refs eslint/rfcs#22) (#12274) (T +
5年前
記事のアイキャッチ画像
Funding ESLint's Future: November Update
ESLint Blog
+Back in February, we announced the creation of the ESLint Collective to raise funds for the ongoing maintenance and development of ESLint. Our goal was to raise $20,000 each month to support the project, and since then, we’ve been grateful for contributions from nearly 150 companies, projects, and individuals towards that goal.We are happy to share that we are currently sponsored at just under $10,000 per month, almost 50% of our goal! At this level, we’ve been able to start paying team members for their time (more about this below), ensuring ESLint gets the ongoing support it needs.How we’ve used the moneyAs mentioned above, the most exciting thing we’ve been able to do with the money you’ve donated is pay a team member to work on ESLint part-time. Kai Cataldo has been involved with ESLint for several years and for the past two months has been working part-time on ESLint. Having Kai consistently working on the project has meant faster response times to issues and pull requests, and be +
5年前
記事のアイキャッチ画像
ESLint v6.6.0 released
ESLint Blog
+HighlightsRules can now access context.getCwd() to get the current working directoryThe use-isnan rule has a new enforceForIndexOf optionThe no-param-reassign rule has a new ignorePropertyModificationsForRegex optionThe no-unsafe-negation rule has a new enforceForOrderingRelations optionThe no-extra-parens has a new enforceForNewInMemberExpressions optionIn addition, we have improved the error report locations for a number of rules with this release.Features874fe16 New: pass cwd from cli engine (#12389) (Eric Wang)Enhancements39dfe08 Update: false positives in function-call-argument-newline (fixes #12123) (#12280) (Scott O’Hara)4d84210 Update: improve report location for no-trailing-spaces (fixes #12315) (#12477) (Milos Djermanovic)c6a7745 Update: no-trailing-spaces false negatives after comments (fixes #12479) (#12480) (Milos Djermanovic)c6a9a3b Update: Add enforceForIndexOf option to use-isnan (fixes #12207) (#12379) (Milos Djermanovic)364877b Update: measure plugin loading time and +
5年前
記事のアイキャッチ画像
ESLint v6.5.1 released
ESLint Blog
Bug Fixes447ac87 Fix: no-useless-rename handles ExperimentalRestProperty (fixes #12335) (#12339) (Kai Cataldo)Documentation0d3d7d9 Docs: fix typo in no-magic-numbers (#12345) (Josiah Rooney)
5年前
記事のアイキャッチ画像
ESLint v6.5.0 released
ESLint Blog
+HighlightsWe have added a new --env-info CLI option, which provides a lot of information that is useful for GitHub issues.The use-isnan rule supports a new option, enforceForSwitchCase.The indent rule now supports JSXFragment nodes.In addition, many rules that removed comments during autofix have been modified to avoid removing comments. Please open an issue if you find any more cases that need to be fixed.Featuresa7894eb New: add --env-info flag to CLI (#12270) (Kai Cataldo)Enhancements73596cb Update: Add enforceForSwitchCase option to use-isnan (#12106) (Milos Djermanovic)334ca7c Update: no-useless-rename also reports default values (fixes #12301) (#12322) (Kai Cataldo)41bfe91 Update: Fix handling of chained new expressions in new-parens (#12303) (Milos Djermanovic)11ae6fc Update: Fix call, new and member expressions in no-extra-parens (#12302) (Milos Djermanovic)d4f9a16 Update: add support for JSXFragments in indent rule (fixes #12208) (#12210) (Kai Cataldo)Bug Fixesd592a24 Fix: exc +
5年前
記事のアイキャッチ画像
ESLint v6.4.0 released
ESLint Blog
+HighlightsThree new rules: no-import-assign, prefer-regex-literals, default-param-lastaccessor-pairs and computed-property-spacing rules has been updated with a new option enforceForClassMembersFeatures1c921c6 New: add no-import-assign (fixes #12237) (#12252) (Toru Nagashima)3be04fd New: Add prefer-regex-literals rule (fixes #12238) (#12254) (Milos Djermanovic)0313441 New: add rule default-param-last (fixes #11361) (#12188) (Chiawen Chen)Enhancements540296f Update: enforceForClassMembers option to accessor-pairs (fixes #12063) (#12192) (Milos Djermanovic)d3c2334 Update: flag nested block with declaration as error (#12193) (David Waller)b2498d2 Update: Fix handling of property names in no-self-assign (#12105) (Milos Djermanovic)1ee61b0 Update: enforceForClassMembers computed-property-spacing (fixes #12049) (#12214) (Milos Djermanovic)db2a29b Update: indentation of comment followed by semicolon (fixes #12232) (#12243) (Kai Cataldo)37c0fde Update: Report global Atomics calls in no-obj-cal +
5年前
記事のアイキャッチ画像
Indeed donates $10,000 to ESLint
ESLint Blog
+We are happy to share that Indeed has donated $10,000 to the ESLint project as part of their FOSS Contributor Fund. The FOSS Contributor Fund is a unique idea, where all Indeed employees may nominate an open source project to receive a one-time donation, and any employee who has contributed to an open source project during that month gets to vote on the nominees. We are honored to be one of the projects that Indeed employees chose to support.“Most JavaScript projects directly or transitively depend on ESLint. An Indeed employee nominated ESLint to receive a donation from the FOSS Contributor Fund, and their colleagues clearly agreed. We’re happy to support the open source technologies that allow us to develop, protect, and maintain the digital infrastructure that supports our products and helps people get jobs.” – Duane O’Brien, Head of Open Source, IndeedWe are grateful to Duane for reaching out to discuss the details of their contribution, and to the employees at Indeed who voted to +
5年前
記事のアイキャッチ画像
ESLint v6.3.0 released
ESLint Blog
+Highlightseslint --init can automatically configure TypeScript support for ESLint in a new project.The new reportUnusedDisableDirectives config option mirrors the existing --report-unused-disable-directives CLI flag.Features52e2cf5 New: reportUnusedDisableDirectives in config (refs eslint/rfcs#22) (#12151) (Toru Nagashima)4c0b70b New: support TypeScript at config initializer (fixes #11789) (#12172) (Pig Fang)Enhancements020f952 Update: enforceForSequenceExpressions to no-extra-parens (fixes #11916) (#12142) (Milos Djermanovic)Bug Fixesaab1b84 Fix: reset to the default color (#12174) (Ricardo Gobbo de Souza)4009d39 Fix: yoda rule produces invalid autofix with preceding yield (#12166) (Milos Djermanovic)febb660 Fix: no-extra-boolean-cast invalid autofix with yield before negation (#12164) (Milos Djermanovic)197f443 Fix: func-name-matching crash on descriptor-like arguments (#12100) (Milos Djermanovic)644ce33 Fix: no-self-assign false positive with rest and spread in array (#12099) (Milos +
5年前
記事のアイキャッチ画像
ESLint v6.2.2 released
ESLint Blog
Documentationb809e72 Docs: Update README team and sponsors (ESLint Jenkins)Dependency Upgrades0e0b784 Upgrade: espree@^6.1.1 (#12158) (Kevin Partington)
5年前
ESLint v6.2.1 released
ESLint Blog
+This release includes a security fix in the eslint-utils package, which is a dependency of ESLint. The security issue affects users that run ESLint on untrusted source code (e.g. servers that lint the user’s project as a service). By taking advantage of a bug in a certain piece of analysis, a user could supply malicious source text that causes arbitrary code to be executed in the linting process.This issue affects versions of eslint-utils between v1.2.0 and v1.4.0.ESLint versions between v5.3.0 and v6.2.0 are potentially vulnerable (their allowed dependencies include vulnerable eslint-utils versions). However, these versions of ESLint can still be used safely if the eslint-utils dependency is updated to the latest version (e.g. by updating eslint-utils in a lockfile, or purging node_modules and reinstalling).ESLint v6.2.1 is not vulnerable to the issue.Documentation4aeeeed Docs: update docs for ecmaVersion 2020 (#12120) (silverwind)6886148 Docs: Add duplicate keys limitation to accesso +
5年前
記事のアイキャッチ画像
ESLint v6.2.0 released
ESLint Blog
+HighlightsThis release adds support for ES2020 syntax, which includes support for Dynamic Imports and BigInt. This can be enabled using ecmaVersion: 2020 in your configuration file.A new rule, function-call-argument-newline, has been added.Many bug fixes thanks to @mdjermanovic!Featuresafd8012 New: noInlineConfig setting (refs eslint/rfcs#22) (#12091) (Toru Nagashima)8cd00b3 New: function-call-argument-newline (#12024) (finico)Enhancementsfee6acb Update: support bigint and dynamic import (refs #11803) (#11983) (Toru Nagashima)3d12378 Update: Fix accessor-pairs to enforce pairs per property in literals (#12062) (Milos Djermanovic)2dc23b8 Update: fix no-dupe-keys false negatives on empty string names (#12069) (Milos Djermanovic)d642150 Update: Check empty string property names in sort-keys (#12073) (Milos Djermanovic)1aff8fc Update: warn about mixing ternary and logical operators (fixes #11704) (#12001) (Karthik Priyadarshan)fbec99e Update: fix class-methods-use-this false negatives with +
5年前
記事のアイキャッチ画像
ESLint v6.1.0 released
ESLint Blog
+Enhancementsb974fcb Update: Check computed property keys in no-extra-parens (#11952) (Milos Djermanovic)222d27c Update: Add for-in and for-of checks for props in no-param-reassign (#11941) (Milos Djermanovic)Bug Fixesd08683e Fix: glob processing (fixes #11940) (#11986) (Toru Nagashima)bfcf8b2 Fix: dot-location errors with parenthesized objects (fixes #11868) (#11933) (Milos Djermanovic)79e8d09 Fix: add parens for sequence expr in arrow-body-style (fixes #11917) (#11918) (Pig Fang)e4c450f Fix: no-extra-parens autofix with in in a for-loop init (fixes #11706) (#11848) (Milos Djermanovic)2dafe2d Fix: prefer-const produces invalid autofix (fixes #11699) (#11827) (Milos Djermanovic)cb475fd Fix: Cache file error handling on read-only file system. (fixes #11945) (#11946) (Cuki)6669f78 Fix: --init with Vue.js failed (fixes #11970) (#11985) (Toru Nagashima)1fb3620 Fix: creating of enabledGlobals object without prototype (fixes #11929) (#11935) (finico)19335b8 Fix: actual messageId and expected +
6年前
記事のアイキャッチ画像
ESLint v6.0.1 released
ESLint Blog
+Bug Fixesb5bde06 Fix: --rulesdir option didn’t work (fixes #11888) (#11890) (Toru Nagashima)13f0418 Fix: improve error message on --print-config (fixes #11874) (#11885) (Toru Nagashima)056c2aa Fix: improve diagnostics for shareable-config-missing errors (#11880) (Teddy Katz)d07f3fa Fix: CLIEngine#getRules() contains plugin rules (fixes #11871) (#11872) (Toru Nagashima)Documentation566b7aa Docs: Update no-confusing-arrow with the new default option (#11886) (Yuping Zuo)21f4a80 Docs: Fix inconsistent linking in migration guide (#11881) (Teddy Katz)f3a0774 Docs: Fix typo in 6.0.0 migration guide (#11870) (Kevin Partington)
6年前
記事のアイキャッチ画像
ESLint v6.0.0 released
ESLint Blog
+HighlightsThere are several breaking changes in 6.0.0. We’ve created a migration guide to explain the breaking changes and describe how to upgrade.Configuration using glob patterns now supports extends and nested overridesUsing multiple processors is now supported.The function-paren-newline rule has a new multiline-arguments option.The sort-keys rule now supports a minKeys option.Changes since v6.0.0-rc.0:Bug Fixes5f022bc Fix: no-else-return autofix produces name collisions (fixes #11069) (#11867) (Milos Djermanovic)ded9548 Fix: multiline-comment-style incorrect message (#11864) (golopot)c844c6f Fix: max-len properly ignore trailing comments (fixes #11838) (#11841) (ZYSzys)1b5661a Fix: no-var should not fix variables named ‘let’ (fixes #11830) (#11832) (Milos Djermanovic)81c3823 Fix: require-atomic-updates reports parameters (fixes #11723) (#11774) (Toru Nagashima)Documentationcad074d Docs: Add JSHint W047 compat to no-floating-decimal (#11861) (Timo Tijhof)65faa04 Docs: Clarify prefer +
6年前
記事のアイキャッチ画像
ESLint v6.0.0-rc.0 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.BigInt and dynamic import are at stage 4 (aside from some TC39 formalities), so we have begun to accept PRs to incorporate them into core ESLint rules. The valid-typeof rule now supports BigInt. Please see #11803 to track our progress in fully supporting these newly standardized language features.The sort-keys rule now supports a minKeys option.InstallingSince this is a pre-release version, you will not automatically be upgraded by npm. You must specify the next tag when installing:npm i eslint@next --save-devYou can also specify the version directly:npm i eslint@6.0.0-rc.0 --save-devMigration GuideAs there are a lot of changes, we’ve created a migration guide describing the changes in great detail along with the steps you should take to address them. We expect that most users should be able to upgrade without any build changes, but the migration guide should be a useful resource if you e +
6年前
記事のアイキャッチ画像
ESLint v6.0.0-alpha.2 released
ESLint Blog
+HighlightsConfiguration using glob patterns now supports extends and nested overridesUsing multiple processors is now supportedInstallingSince this is a pre-release version, you will not automatically be upgraded by npm. You must specify the next tag when installing:npm i eslint@next --save-devYou can also specify the version directly:npm i eslint@6.0.0-alpha.2 --save-devMigration GuideIf you’re upgrading from ESLint v5.x, we recommend looking at the migration guide, which describes the changes in great detail along with the steps you should take to address them. We expect that most users should be able to upgrade without any build changes, but the migration guide should be a useful resource if you encounter problems.Breaking Changes2d32a9e Breaking: stricter rule config validating (fixes #9505) (#11742) (薛定谔的猫)Featuresb5fa149 New: multiple processors support (fixes #11035, fixes #11725) (#11552) (Toru Nagashima)54e6eda New: extends in glob-based config (fixes #8813) (#11554) (Toru Nag +
6年前
記事のアイキャッチ画像
ESLint v6.0.0-alpha.1 released
ESLint Blog
+HighlightsMost of the highlights of this release are breaking changes, and are discussed further in the migration guide.New breaking changes in this prerelease include:Some config-loading bugs have been fixed. This change involved some refactoring to how config files are processed internally. Please let us know if you encounter any problems relating to configuration in this release.eslint:recommended has been updatedno-redeclare has been made stricterInstallingSince this is a pre-release version, you will not automatically be upgraded by npm. You must specify the next tag when installing:npm i eslint@next --save-devYou can also specify the version directly:npm i eslint@6.0.0-alpha.1 --save-devMigration GuideIf you’re upgrading from ESLint v5.x, we recommend looking at the migration guide, which describes the changes in great detail along with the steps you should take to address them. We expect that most users should be able to upgrade without any build changes, but the migration guide +
6年前
記事のアイキャッチ画像
Funding ESLint's Future: An Update
ESLint Blog
+Back in February, we announced the creation of the ESLint Collective to raise funds for the ongoing maintenance and development of ESLint. At the time, we were grateful to have both Facebook Open Source and Airbnb as our first two gold sponsors, each donating $1,000 per month.In the past three months, we are happy to share that our monthly donations have reached over $7,000, 35% of the way towards our $20,000 goal. That’s an amazing achievement in such a short amount of time, and we are humbled that so many have reached out to support ESLint.Introducing our latest sponsorsWe are happy to share that the following sponsors have joined the ESLint Collective at the gold sponsor level, donating $1,000 or more per month:GitKraken - $1,100Badoo - $1,000Salesforce - $1,000The following sponsors have joined the ESLint Collective at the silver sponsor level, donating between $500 and $999 per month:Amp Project - $500And the following sponsors have joined the ESLint Collective at the bronze spons +
6年前
記事のアイキャッチ画像
ESLint v6.0.0-alpha.0 released
ESLint Blog
+HighlightsMost of the highlights of this release are breaking changes, and are discussed further in the migration guide.Non-breaking highlights:The function-paren-newline rule has a new multiline-arguments option.InstallingSince this is a pre-release version, you will not automatically be upgraded by npm. You must specify the next tag when installing:npm i eslint@next --save-devYou can also specify the version directly:npm i eslint@6.0.0-alpha.0 --save-devMigration GuideAs there are a lot of changes, we’ve created a migration guide describing the changes in great detail along with the steps you should take to address them. We expect that most users should be able to upgrade without any build changes, but the migration guide should be a useful resource if you encounter problems.Breaking Changes9e49b56 Breaking: upgrade espree to 6.0.0-alpha.0 (fixes #9687) (#11610) (Teddy Katz)ef7801e Breaking: disallow invalid rule defaults in RuleTester (fixes #11473) (#11599) (Teddy Katz)4e7cdca Brea +
6年前
記事のアイキャッチ画像
ESLint v5.16.0 released
ESLint Blog
+HighlightsFormatters can now use rule metadata in their output! This enhancement was originally described and designed using our RFC process. More information can be found here.A new built-in formatter, json-with-metadata, was created using this new feature. The json-with-metadata formatter is very similar to the json formatter, except that it also includes the rule metadata.Enhancementsbc3e427 Update: pass rule meta to formatters RFC 10 (#11551) (Chris Meyer)Bug Fixesc06d38c Fix: Allow HTML formatter to handle no meta data (#11566) (Ilya Volodin)Documentation87a5c03 Docs: func-style: clarify when allowArrowFunctions is used (#11548) (Oliver Joseph Ash)78358a8 Docs: fix duplicate punctuation in CLI docs (#11528) (Teddy Katz)Dependency Upgradesafe3d25 Upgrade: Bump js-yaml dependency to fix Denial of Service vulnerability (#11550) (Vernon de Goede)Build Relateddfef227 Build: gensite passes rulesMeta to formatter rendering (#11567) (Kevin Partington)Choresb452f27 Chore: Update README to +
6年前
記事のアイキャッチ画像
ESLint v5.15.3 released
ESLint Blog
Bug Fixes71adc66 Fix: avoid moving comments in implicit-arrow-linebreak (fixes #11521) (#11522) (Teddy Katz)Chores1f715a2 Chore: make test-case-property-ordering reasonable (#11511) (Toru Nagashima)
6年前
記事のアイキャッチ画像
ESLint v5.15.2 released
ESLint Blog
+Bug Fixes29dbca7 Fix: implicit-arrow-linebreak adds extra characters (fixes #11268) (#11407) (Mark de Dios)a5dae7c Fix: Empty glob pattern incorrectly expands to “/**” (#11476) (Ben Chauvette)Documentationd6c1122 Docs: Add working groups to maintainer guide (#11400) (Nicholas C. Zakas)956e883 Docs: Fix example in no-restricted-modules docs (#11454) (Paul O’Shannessy)2c7431d Docs: fix json schema example dead link (#11498) (kazuya kawaguchi)e7266c2 Docs: Fix invalid JSON in “Specifying Parser Options” (#11492) (Mihira Jayasekera)0756128 Docs: Add visualstudio to formatter list (#11480) (Patrick Eriksson)44de9d7 Docs: Fix typo in func-name-matching rule docs (#11484) (Iulian Onofrei)Dependency Upgrades5d2083f Upgrade: eslint-scope@4.0.3 (#11513) (Teddy Katz)Build Related5fdb4d3 Build: compile deps to ES5 when generating browser file (fixes #11504) (#11505) (Teddy Katz)06fa165 Build: update CI testing configuration (#11500) (Reece Dunham)34a5382 Build: copy bundled espree to website direc +
6年前
記事のアイキャッチ画像
ESLint v5.15.1 released
ESLint Blog
Bug Fixes458053b Fix: avoid creating invalid regex in no-warning-comments (fixes #11471) (#11472) (Teddy Katz)Build Relatedfe1a892 Build: bundle espree (fixes eslint/eslint.github.io#546) (#11467) (薛定谔的猫)
6年前
記事のアイキャッチ画像
ESLint v5.15.0 released
ESLint Blog
+HighlightsThe prefer-named-capture-group rule has been added. This rule encourages the use of named capture groups over numbered capture groups.Featuresec59ec0 New: add rule “prefer-named-capture-group” (fixes #11381) (#11392) (Pig Fang)Enhancementsde5cbc5 Update: remove invalid defaults from core rules (fixes #11415) (#11427) (Teddy Katz)Bug Fixes6489518 Fix: no-extra-parens crash when code is “((let))” (#11444) (Teddy Katz)Documentation8f3d717 Docs: Add non-attending TSC member info (#11411) (Nicholas C. Zakas)ce0777d Docs: use more common spelling (#11417) (薛定谔的猫)Dependency Upgradesa44f750 Upgrade: eslint-scope@4.0.2 (#11461) (Teddy Katz)Build Related4088c6c Build: Remove path.resolve in webpack build (#11462) (Kevin Partington)eb0650b Build: fix linting errors on master (#11428) (Teddy Katz)db0c5e2 Build: switch from browserify to webpack (fixes #11366) (#11398) (Pig Fang)Choresee88475 Chore: add utils for rule tests (#11453) (薛定谔的猫)5018378 Chore: enable require-unicode-regexp on E +
6年前
記事のアイキャッチ画像
ESLint v5.14.1 released
ESLint Blog
Bug Fixes1d6e639 Fix: sort-keys throws Error at SpreadElement (fixes #11402) (#11403) (Krist Wongsuphasawat)
6年前
記事のアイキャッチ画像 +
ESLint v5.14.0 released
ESLint Blog
+HighlightsFor clarity configuration of global variables has been enhanced with two additional values readonly and writable. All previous values are still valid.The prefer-destructuring rule is now auto-fixable.Auto-fix was removed from prefer-spread to avoid creating invalid code.--init CLI command has been updated to streamline available options.Featuresa23d197 New: add allowSingleLineBlocks opt. to padded-blocks rule (fixes #7145) (#11243) (richie3366)Enhancements51c4972 Update: Behavior of --init (fixes #11105) (#11332) (Nicholas C. Zakas)550de1e Update: use default keyword in JSON schema (fixes #9929) (#11288) (Pig Fang)983c520 Update: Use ‘readonly’ and ‘writable’ for globals (fixes #11359) (#11384) (Nicholas C. Zakas)3c90dd7 Update: remove prefer-spread autofix (fixes #11330) (#11365) (薛定谔的猫)5eb3121 Update: add fixer for prefer-destructuring (fixes #11151) (#11301) (golopot)533d240 Update: no-shadow-restricted-names lets unassigned vars shadow undefined (#11341) (Teddy Katz)d0e82 +
6年前
記事のアイキャッチ画像
Funding ESLint's Future
ESLint Blog
+June 2019 will mark six years since ESLint was first released. What began as a side project for a very narrow use case has grown into the most popular JavaScript linter in the world, with over 6.5 million npm downloads every week. ESLint is now used by both large companies and individual developers to help find and fix problems with JavaScript code every day. In addition, ESLint has been flexible enough to work with languages derived from JavaScript, such as Flow and TypeScript, and even helps mobile developers by linting React Native.All of this means that ESLint has become an important part of the JavaScript ecosystem. It’s a tool that the JavaScript community depends on and expects to be available, performant, and secure. These expectations are currently being met by an all-volunteer team who spends their free time during lunch breaks, nights, and weekends maintaining ESLint. And while that has worked well for normal maintenance, it’s grown difficult to deal with more involved issue +
6年前
記事のアイキャッチ画像
ESLint v5.13.0 released
ESLint Blog
+HighlightsConfiguration of globals has been improved with three new options: “off”, “readable”, and “writeable”.“off”: Completely disables a global variable that was previously defined.“readable”: Equivalent to the old false value, “readable” global variables are in scope but cannot be written to.“writeable”: Equivalent to the old true value, “writeable” global variables can be read from and written to.Configurations using the old true/false values will continue to work, but we encourage you to use the newer, more explicit options.Check out the documentation on specifying globals for more details!Features0a3c3ff New: Allow globals to be disabled/configured with strings (fixes #9940) (#11338) (Teddy Katz)Enhancementsb5143bf Update: for-direction detection false positives/negatives (#11254) (Ruben Bridgewater)Bug Fixes5b14ad1 Fix: false positive in no-constant-condition (fixes #11306) (#11308) (Pig Fang)6567c4f Fix: only remove arrow before body in object-shorthand (fixes #11305) (#11307 +
6年前
記事のアイキャッチ画像
The future of TypeScript on ESLint
ESLint Blog
+A couple of weeks ago, the TypeScript team shared their roadmap in which they described formally adopting ESLint in their repo and working to improve TypeScript compatibility for ESLint:LintingSemantic rules in ESLintParity with TSLintSpeed & scalabilityEditor integration for ESLintIn a survey we ran in VS Code a few months back, the most frequent theme we heard from users was that the linting experience left much to be desired. Since part of our team is dedicated to editing experiences in JavaScript, our editor team set out to add support for both TSLint and ESLint. However, we noticed that there were a few architectural issues with the way TSLint rules operate that impacted performance. Fixing TSLint to operate more efficiently would require a different API which would break existing rules (unless an interop API was built like what wotan provides).Meanwhile, ESLint already has the more-performant architecture we’re looking for from a linter. Additionally, different communities of use +
6年前
記事のアイキャッチ画像
ESLint v5.12.1 released
ESLint Blog
+Bug Fixesaa56247 Fix: avoid loading core rules dynamically from FS in Linter (#11278) (Peter Metz)c403445 Fix: warn constant on RHS of || in no-constant-condition (fixes #11181) (#11253) (Merlin Mason)9194f45 Fix: Manage severity of 1 with TAP reporter (fixes #11110) (#11221) (Gabriel Cousin)Documentation04450bb Docs: clarify process for adding committers (#11272) (Kai Cataldo)3ffcf26 Docs: add @g-plane as committer (#11277) (Kai Cataldo)000f495 Docs: fix example for sort-imports ignoreDeclarationSort (#11242) (Remco Haszing)7c0bf2c Docs: Add npx usage to Getting Started guide (#11249) (eyal0803)da9174e Docs: fixes typo peerDepencies (#11252) (Christian Kühl)9c31625 Docs: Improve custom formatter docs (#11258) (Nicholas C. Zakas)Choreseb5c401 Chore: use meta.messages in some rules (2/4) (refs #9870) (#10773) (薛定谔的猫)
6年前
記事のアイキャッチ画像
ESLint v5.12.0 released
ESLint Blog
HighlightsThe sort-imports rule has a new ignoreDeclarationSort option.Enhancements0d91e7d Update: Add sort-imports ignoreDeclarationSort (fixes #11019) (#11040) (Remco Haszing)Bug Fixesbfff77a Fix: no-param-reassign parameter in ternary operator (fixes #11236) (#11239) (周昊宇)Dependency Upgrades166853d Upgrade: eslint-plugin-eslint-plugin@2.0.1 (#11220) (薛定谔的猫)258b654 Upgrade: require-uncached renamed to import-fresh (#11066) (薛定谔的猫)Build Relatedf92d6f0 Build: Add karma-chrome-launcher support (#11027) (薛定谔的猫)
6年前
記事のアイキャッチ画像
ESLint v5.11.1 released
ESLint Blog
Bug Fixesde79f10 Fix: handle optional catch bindings in no-useless-catch (#11205) (Colin Ihrig)
6年前
記事のアイキャッチ画像
ESLint v5.11.0 released
ESLint Blog
+HighlightsOne new rule has been added: no-useless-catchThe indent rule now supports a VariableDeclarator: "first" option.Featuresb4395f6 New: add option first for VariableDeclarator in indent (fixes #8976) (#11193) (Pig Fang)2b5a602 New: no-useless-catch rule (fixes #11174) (#11198) (Alexander Grasley)Enhancements4242314 Update: handle computed properties in camelcase (fixes #11084) (#11113) (Bence Dányi)Bug Fixes06b3b5b Fix: Account for comments in implicit-arrow-linebreak (#10545) (Mark de Dios)Documentation1009304 Docs: add a note for no-unused-expressions (fixes #11169) (#11192) (Pig Fang)88f99d3 Docs: clarify how to use configs in plugins (#11199) (Kai Cataldo)bcf558b Docs: Clarify the no-unused-vars docs (#11195) (Jed Fox)a470eb7 Docs: Fix no-irregular-whitespace description (#11196) (Jed Fox)8abc8af Docs: Remove a misleading example (#11204) (Bogdan Gradinariu)733d936 Docs: link to JSDoc EOL blogpost in valid-jsdoc and require-jsdoc (#11191) (Nathan Diddle)d5eb108 Docs: Ensure t +
6年前
記事のアイキャッチ画像
ESLint v5.10.0 released
ESLint Blog
+HighlightsThe padding-line-between-statements rule has new statement types: multiline-const, multiline-let, multiline-var, singleline-const, singleline-let, and singleline-var.The require-jsdoc and valid-jsdoc rules have been deprecated, following our previously announced decision to end support for JSDoc in ESLint.Enhancements4b0f517 Update: single- and multiline const, let, var statements (fixes #10721) (#10919) (Tom Panier)9666aba Update: space-infix-ops reports violating operator (#10934) (Bence Dányi)4490d7a Update: deprecate valid-jsdoc and require-jsdoc (#11145) (Teddy Katz)62fd2b9 Update: Amend keyword-spacing to validate default keywords (#11097) (Bin Ury)3025cdd Update: don’t indent leading semi in line after import (fixes #11082) (#11085) (Pig Fang)Bug Fixesc14f717 Fix: Update all-files-ignored.txt message to be less confusing (#11075) (z.ky)3bf0332 Fix: fix the fixer of lone comma with comments (fixes #10632) (#11154) (Pig Fang)c0a80d0 Fix: Do not strip underscores in camel +
6年前
記事のアイキャッチ画像
End-of-Life for Built-in JSDoc Support in ESLint
ESLint Blog
+Over the past few years, the ESLint project has grown in size and scope. What originally consisted of a single executable package has grown into a project with multiple packages including several parsers and other utilities. Although the project has grown, the size of the team has not, and as such we’ve had to make some tough decisions about how to continue maintaining the ESLint project as a whole using an all-volunteer team.Current JSDoc Support in ESLintJSDoc support in ESLint currently consists of:Maintaining the Doctrine JSDoc comment parserThe require-jsdoc ruleThe valid-jsdoc ruleThe SourceCode#getJSDocComment() methodTo support JSDoc in ESLint, we had been spending an outsized amount of time maintaining Doctrine and the valid-jsdoc rule as compared to the effort required to maintain the rest of the project. Those two parts, in addition to the require-jsdoc rule and SourceCode#getJSDocComment() are being end-of-lifed beginning today.What End-of-Life MeansEnd-of-life for core JSD +
6年前
記事のアイキャッチ画像
ESLint v5.9.0 released
ESLint Blog
+HighlightsThe following are the most important changes in this release.The --fix-type optionThis version introduces a new --fix-type option for the command line interface. This option allows you to filter the type of fixes applied when using --fix. You can specify the type of fixes to apply based on the new rule types we’ve assigned to each rule. The three rule types are:problem - the rule flags a potential problem with your code.suggestion - the rule flags something that could be done in a better or preferred way.layout - the rule flags changes limited to whitespace, semicolons, commas, or parentheses.You might find this option useful if you’re using a source code formatter with ESLint, in which case you might want to use --fix-type problem,suggestion to only apply fixes for rules that won’t clash with your formatter.There is also a new fixTypes option that can be passed to the CLIEngine class that implements the same feature for those using the API.Note: Fixes in custom rules will no +
6年前
記事のアイキャッチ画像
ESLint v5.8.0 released
ESLint Blog
+HighlightsThe Linter API now has a static version property, for consistency with the CLIEngine.version property. (Previously, the version property was only present on instances of Linter rather than Linter itself.)Enhancements3943635 Update: Create Linter.version API (fixes #9271) (#11010) (Nicholas C. Zakas)Bug Fixes9152417 Fix: deprecation warning in RuleTester using Node v11 (#11009) (Teddy Katz)57ef0fd Fix: prefer-const when using destructuring assign (fixes #8308) (#10924) (Nicholas C. Zakas)Documentatione349a03 Docs: Update issue templates to ask for PRs (#11012) (Nicholas C. Zakas)a940cf4 Docs: Mention version for config glob patterns (fixes #8793) (Nicholas C. Zakas)58ff359 Docs: add instructions for npm 2FA (refs #10631) (#10992) (Teddy Katz)Dependency Upgrades2f87bb3 Upgrade: eslint-release@1.0.0 (refs #10631) (#10991) (Teddy Katz)Build Related5a31a92 Build: compile espree’s deps to ES5 when generating site (fixes #11014) (#11015) (Teddy Katz)6e1c530 Build: run tests on Node +
6年前
記事のアイキャッチ画像
ESLint v5.7.0 released
ESLint Blog
+HighlightsThree rules gained new options in this release:padding-line-between-statements has a new iife node type to specifically target immediately-invoked function expression invocations as distinct statements.no-tabs has a new allowIndentationTabs option to permit tabs only for indentation and nowhere else.camelcase has a new allow option that can be configured to individually allow certain non-camelcase identifiers like React’s UNSAFE_componentWillMount.Enhancements6cb63fd Update: Add iife to padding-line-between-statements (fixes #10853) (#10916) (Kevin Partington)5fd1bda Update: no-tabs allowIndentationTabs option (fixes #10256) (#10925) (Kevin Partington)066f7e0 Update: camelcase rule ignoreList added (#10783) (Julien Martin)Bug Fixesd12be69 Fix: no-extra-bind No autofix if arg may have side effect (fixes #10846) (#10918) (Kevin Partington)847372f Fix: no-unused-vars false pos. with markVariableAsUsed (fixes #10952) (#10954) (Roy Sutton)543edfa Fix: Fix error with one-var (fixes +
6年前
記事のアイキャッチ画像
ESLint v5.6.1 released
ESLint Blog
+Bug Fixes9b26bdb Fix: avoid exponential require-atomic-updates traversal (fixes #10893) (#10894) (Teddy Katz)9432b10 Fix: make separateRequires work in consecutive mode (fixes #10784) (#10886) (Pig Fang)9d52541 Fix: Remove duplicate error message on crash (fixes #8964) (#10865) (Nicholas C. Zakas)Documentationd3f3994 Docs: add information about reporting security issues (#10889) (Teddy Katz)a6ebfd3 Docs: clarify defaultAssignment option, fix no-unneeded-ternary examples (#10874) (CoffeeTableEspresso)4eb9a49 Docs: Update quotes.md (#10862) (The Jared Wilcurt)9159e9b Docs: Update complexity.md (#10867) (Szymon Przybylski)14f4e46 Docs: Use Linter instead of linter in Nodejs API page (#10864) (Nicholas C. Zakas)Dependency Upgradese51868d Upgrade: debug@4 (fixes #10854) (#10887) (薛定谔的猫)Build Relatedcc458f4 Build: fix failing tests on master (#10890) (Teddy Katz)Choresb3e3cb1 Chore: Update debug log name to match filename (#10863) (Nicholas C. Zakas)
6年前
記事のアイキャッチ画像
ESLint v5.6.0 released
ESLint Blog
Enhancementsc5b688e Update: Added generators option to func-names (fixes #9511) (#10697) (Oscar Barrett)Bug Fixes7da36d5 Fix: respect generator function expressions in no-constant-condition (#10827) (Julian Rosse)Chores0a65844 Chore: quote enable avoidEscape option in eslint-config-eslint (#10626) (薛定谔的猫)32f41bd Chore: Add configuration wrapper markdown for the bug report template (#10669) (Iulian Onofrei)
6年前
記事のアイキャッチ画像
ESLint v5.5.0 released
ESLint Blog
+Enhancementsb61d2cd Update: max-params to only highlight function header (#10815) (Ian Obermiller)Bug Fixes6e110e6 Fix: camelcase duplicate warning bug (fixes #10801) (#10802) (Julian Rosse)Documentation5103ee7 Docs: Add Brackets integration (#10813) (Jan Pilzer)2824d43 Docs: fix comment placement in a code example (#10799) (Vse Mozhet Byt)80c8598 Docs: gitignore syntax updates (fixes #8139) (#10776) (Gustavo Santana)Dependency Upgrades2b2f11d Upgrade: babel-code-frame to version 7 (#10808) (Rouven Weßling)10690b7 Upgrade: devdeps and deps to latest (#10622) (薛定谔的猫)Chorescb946af Chore: use meta.messages in some rules (1/4) (#10764) (薛定谔的猫)
6年前
記事のアイキャッチ画像
ESLint v5.4.0 released
ESLint Blog
Enhancementsf3d8454 Update: Improve no-extra-parens error message (#10748) (Timo Tijhof)Bug Fixes034690f Fix: no-invalid-meta crashes for non Object values (fixes #10750) (#10753) (Sandeep Kumar Ranka)562a03f Fix: consistent-docs-url crashes if meta.docs is empty (fixes #10722) (#10749) (Sandeep Kumar Ranka)Documentationa70909f Docs: Add jscs-dev.github.io links (#10771) (Gustavo Santana)11a462d Docs: Broken jscs.info URLs (fixes #10732) (#10770) (Gustavo Santana)Chores985567d Chore: rm unused dep string.prototype.matchall (#10756) (薛定谔的猫)6492233 Chore: enable no-prototype-builtins in codebase (fixes #10660) (#10664) (薛定谔的猫)137140f Chore: use eslintrc overrides (#10677) (薛定谔的猫)
6年前 +
記事のアイキャッチ画像
ESLint v5.3.0 released
ESLint Blog
+HighlightsFour new rules have been added:no-misleading-character-class reports multi-code-point characters in regular expression character classes. Using these characters in character classes often results in surprising behavior.require-atomic-updates reports potential race conditions that result from updating values in async or generator functions.no-async-promise-executor reports uses of the Promise constructor that have an async function as the argument. Using an async function in this scenario is not necessary and a potential source of bugs.require-unicode-regexp requires all regular expressions to have the u flag. Regular expressions with the u flag have stricter parsing rules and handle unicode text more sensibly, which is useful to avoid unexpected behavior when writing regular expressions.Features6eb972c New: require-unicode-regexp rule (fixes #9961) (#10698) (Toru Nagashima)2cc3240 New: add no-misleading-character-class (fixes #10049) (#10511) (Toru Nagashima)9e93d46 New: add +
7年前
記事のアイキャッチ画像
ESLint v5.2.0 released
ESLint Blog
+HighlightsWhen using the --cache flag, the results for files with linting errors are now saved to the cache. This should result in improved performance when using --cache on a codebase with existing linting errors.Enhancements81283d0 Update: Cache files that failed linting (fixes #9948) (#10571) (Kevin Partington)Documentation9f93d5f Docs: Updated Working with Custom Formatters (fixes #9950) (#10592) (Marla Foreman)Dependency Upgrades13cc63e Upgrade: ignore@4.0.2 (#10619) (Rouven Weßling)761f802 Upgrade: eslint-plugin-node to 7.0.1 (#10612) (Toru Nagashima)Build Relatedc517b2a Build: fix npm run perf failing(fixes #10577) (#10607) (薛定谔的猫)80b296e Build: package.json update for eslint-config-eslint release (ESLint Jenkins)64dfa21 Build: Fix prerelease logic in blog post generation (fixes #10578) (#10581) (Kevin Partington)Choresac77a80 Chore: Fixing a call to Object.assign.apply in Linter (#10629) (Kevin Partington)e596939 Chore: fix redundant equality check (#10617) (Toru Nagashima)9aaf +
7年前
記事のアイキャッチ画像
Postmortem for Malicious Packages Published on July 12th, 2018
ESLint Blog
+SummaryOn July 12th, 2018, an attacker compromised the npm account of an ESLint maintainer and published malicious versions of the eslint-scope and eslint-config-eslint packages to the npm registry. On installation, the malicious packages downloaded and executed code from pastebin.com which sent the contents of the user’s .npmrc file to the attacker. An .npmrc file typically contains access tokens for publishing to npm.The malicious package versions are eslint-scope@3.7.2 and eslint-config-eslint@5.0.2, both of which have been unpublished from npm. The pastebin.com paste linked in these packages has also been taken down.npm has revoked all access tokens issued before 2018-07-12 12:30 UTC. As a result, all access tokens compromised by this attack should no longer be usable.The maintainer whose account was compromised had reused their npm password on several other sites and did not have two-factor authentication enabled on their npm account.We, the ESLint team, are sorry for allowing thi +
7年前
記事のアイキャッチ画像
ESLint v5.1.0 released
ESLint Blog
+HighlightsThe no-catch-shadow rule has been deprecated in favor of no-shadow.Enhancements143890a46 Update: Adjust grammar of error/warnings fixable (#10546) (Matt Mischuk)b7addf6fe Update: deprecate no-catch-shadow (fixes #10466) (#10526) (Toru Nagashima)Bug Fixesb2df73876 Fix: prefer-object-spread duplicated comma (fixes #10512, fixes #10532) (#10524) (Toru Nagashima)d8c3a25f5 Fix: wrap-regex doesn’t work in some expression(fixes #10573) (#10576) (薛定谔的猫)63f36f783 Fix: sort-keys in an object that contains spread (fixes #10261) (#10495) (katerberg)601a5c4ae Fix: Prefer-const rule crashing on array destructuring (fixes #10520) (#10527) (Michael Mason)02efeac65 Fix: do not fail on nested unknown operators (#10561) (Rubén Norte)e862dc3a8 Fix: Remove autofixer for no-debugger (fixes #10242) (#10509) (Teddy Katz)Documentation114f42ee5 Docs: Clarify option defaults in max-lines-per-function docs (#10569) (Chris Harwood)100f1beb2 Docs: add note about release issues to readme (#10572) (Teddy Ka +
7年前
記事のアイキャッチ画像
ESLint v5.0.1 released
ESLint Blog
Bug Fixes196c102 Fix: valid-jsdoc should allow optional returns for async (fixes #10386) (#10480) (Mark Banner)Documentation4c823bd Docs: Fix max-lines-per-function correct code’s max value (#10513) (Rhys Bower)
7年前
記事のアイキャッチ画像
ESLint v5.0.0 released
ESLint Blog
+HighlightsThere are several breaking changes in 5.0.0. We’ve created a migration guide to explain the breaking changes and describe how to upgrade.Three new rules have been added:prefer-object-spreadmax-classes-per-filemax-lines-per-functionThe CLIEngine.executeOnFiles API now has a globInputPaths option.The one-var rule is now autofixable.The array-element-newline rule now has a consistent option.The camelcase rule now has an ignoreDestructuring option.The valid-jsdoc rule now has a requireParamType option.The func-name-matching rule now has a considerPropertyDescriptor option.Changes since v5.0.0-rc.0:Features0feedfd New: Added max-lines-per-function rule (fixes #9842) (#10188) (peteward44)Enhancements7a7580b Update: Add considerPropertyDescriptor option to func-name-matching (#9078) (Dieter Luypaert)Bug Fixesf93d6ff Fix: do not fail on unknown operators from custom parsers (fixes #10475) (#10476) (Rubén Norte)05343fd Fix: add parens for yield statement (fixes #10432) (#10468) (Pig F +
7年前
記事のアイキャッチ画像
ESLint v5.0.0-rc.0 released
ESLint Blog
+Note: This version of ESLint is not ready for production use and is provided to gather feedback from the community before releasing the final version. Please let us know if you having any problems or feedback by creating issues on our GitHub repo or joining our Gitter channel.HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.InstallingSince this is a pre-release version, you will not automatically be upgraded by npm. You must specify the next tag when installing:npm i eslint@next --save-devYou can also specify the version directly:npm i eslint@5.0.0-rc.0 --save-devMigration GuideAs there are a lot of changes, we’ve created a migration guide describing the changes in great detail along with the steps you should take to address them. We expect that most users should be able to upgrade without any build changes, but the migration guide should be a useful resource if you encounter problems.Enhancementsabf400d Update: Add ignoreDestructing op +
7年前
記事のアイキャッチ画像
ESLint v5.0.0-alpha.4 released
ESLint Blog
+Note: This version of ESLint is not ready for production use and is provided to gather feedback from the community before releasing the final version. Please let us know if you having any problems or feedback by creating issues on our GitHub repo or joining our Gitter channel.HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.InstallingSince this is a pre-release version, you will not automatically be upgraded by npm. You must specify the next tag when installing:npm i eslint@next --save-devYou can also specify the version directly:npm i eslint@5.0.0-alpha.4 --save-devMigration GuideAs there are a lot of changes, we’ve created a migration guide describing the changes in great detail along with the steps you should take to address them. We expect that most users should be able to upgrade without any build changes, but the migration guide should be a useful resource if you encounter problems.Features465e615 New: prompt users before installi +
7年前
記事のアイキャッチ画像
ESLint v5.0.0-alpha.3 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.Two new rules have been added: prefer-object-spread and max-classes-per-fileThe CLIEngine API now supports a globInputPaths option to disable glob resolution when linting files.InstallingSince this is a pre-release version, you will not automatically be upgraded by npm. You must specify the next tag when installing:npm i eslint@next --save-devYou can also specify the version directly:npm i eslint@5.0.0-alpha.3 --save-devMigration GuideAs there are a lot of changes, we’ve created a migration guide describing the changes in great detail along with the steps you should take to address them. We expect that most users should be able to upgrade without any build changes, but the migration guide should be a useful resource if you encounter problems.Breaking Changes41f0f6e Breaking: report multiline eslint-disable-line directives (fixes #10334) (#10335) (Teddy Katz)09dde26 Breaking: new object-cu +
7年前
記事のアイキャッチ画像
ESLint v5.0.0-alpha.2 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.InstallingSince this is a pre-release version, you will not automatically be upgraded by npm. You must specify the next tag when installing:npm i eslint@next --save-devYou can also specify the version directly:npm i eslint@5.0.0-alpha.2 --save-devMigration GuideAs there are a lot of changes, we’ve created a migration guide describing the changes in great detail along with the steps you should take to address them. We expect that most users should be able to upgrade without any build changes, but the migration guide should be a useful resource if you encounter problems.Breaking Changes02e44a5 Breaking: remove TDZ scopes (fixes #10245) (#10270) (Toru Nagashima)c74933b Breaking: remove extra check in getScope (fixes #10246, fixes #10247) (#10252) (Toru Nagashima)8b7c6ea Breaking: report fatal error for linting nonexistent files (fixes #7390) (#10143) (Teddy Katz)9100819 Breaking: fix plugin +
7年前
記事のアイキャッチ画像
ESLint v5.0.0-alpha.1 released
ESLint Blog
+Note: This version of ESLint is not ready for production use and is provided to gather feedback from the community before releasing the final version. Please let us know if you having any problems or feedback by creating issues on our GitHub repo or joining our Gitter channel.HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.InstallingSince this is a pre-release version, you will not automatically be upgraded by npm. You must specify the next tag when installing:npm i eslint@next --save-devYou can also specify the version directly:npm i eslint@5.0.0-alpha.1 --save-devMigration GuideAs there are a lot of changes, we’ve created a migration guide describing the changes in great detail along with the steps you should take to address them. We expect that most users should be able to upgrade without any build changes, but the migration guide should be a useful resource if you encounter problems.Breaking Changesb2a48a9 Breaking: stop using fake +
7年前
記事のアイキャッチ画像
ESLint v5.0.0-alpha.0 released
ESLint Blog
+Note: This version of ESLint is not ready for production use and is provided to gather feedback from the community before releasing the final version. Please let us know if you having any problems or feedback by creating issues on our GitHub repo or joining our Gitter channel.HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.InstallingSince this is a pre-release version, you will not automatically be upgraded by npm. You must specify the next tag when installing:npm i eslint@next --save-devYou can also specify the version directly:npm i eslint@5.0.0-alpha.0 --save-devMigration GuideAs there are a lot of changes, we’ve created a migration guide describing the changes in great detail along with the steps you should take to address them. We expect that most users should be able to upgrade without any build changes, but the migration guide should be a useful resource if you encounter problems.Breaking Changesf4b3af586 Breaking: Upgrade to Es +
7年前
記事のアイキャッチ画像
ESLint v4.19.1 released
ESLint Blog
+Bug Fixes3ff5d11 Fix: no-invalid-regexp not understand variable for flags (fixes #10112) (#10113) (薛定谔的猫)abc765c Fix: object-curly-newline minProperties w/default export (fixes #10101) (#10103) (Kevin Partington)Documentation6f9e155 Docs: Update ambiguous for…in example for guard-for-in (#10114) (CJ R)Chores0360cc2 Chore: Adding debug logs on successful plugin loads (#10100) (Kevin Partington)a717c5d Chore: Adding log at beginning of unit tests in Makefile.js (#10102) (Kevin Partington)
7年前
記事のアイキャッチ画像
ESLint v4.19.0 released
ESLint Blog
+The one-var rule now has a consecutive option.Core rules have been updated to support the new RegExp features introduced in ES2018 (when using the appropriate parser options).Enhancements55a1593 Update: consecutive option for one-var (fixes #4680) (#9994) (薛定谔的猫)2e68be6 Update: give a node at least the indentation of its parent (fixes #9995) (#10054) (Teddy Katz)72ca5b3 Update: Correctly indent JSXText with trailing linebreaks (fixes #9878) (#10055) (Teddy Katz)Bug Fixes8d3814e Fix: false positive about ES2018 RegExp enhancements (fixes #9893) (#10062) (Toru Nagashima)Documentation935f4e4 Docs: Clarify default ignoring of node_modules (#10092) (Matijs Brinkhuis)72ed3db Docs: Wrap Buffer() in backticks in no-buffer-constructor rule description (#10084) (Stephen Edgar)3aded2f Docs: Fix lodash typos, make spacing consistent (#10073) (Josh Smith)66a1e9a Docs: fix possible typo (#10060) (Vse Mozhet Byt)2a4c838 Docs: Update ECMAScript versions in FAQ (#10047) (alberto)Chorese33bb64 Chore: en +
7年前
記事のアイキャッチ画像
ESLint v4.18.2 released
ESLint Blog
+Bug Fixes6b71fd0 Fix: table@4.0.2, because 4.0.3 needs “ajv”: “^6.0.1” (#10022) (Mathieu Seiler)f6901d0 Fix: remove catastrophic backtracking vulnerability (fixes #10002) (#10019) (Jamie Davis)aea07dc Fix: Make max-len ignoreStrings ignore JSXText (fixes #9954) (#9985) (Rachael Sim)Chores3c697de Chore: fix incorrect comment about linter.verify return value (#10030) (Teddy Katz)9df8653 Chore: refactor parser-loading out of linter.verify (#10028) (Teddy Katz)e4f52ce Chore: Simplify dataflow in linter.verify (#10020) (Teddy Katz)33177cd Chore: make library files non-executable (#10021) (Teddy Katz)558ccba Chore: refactor directive comment processing (#10007) (Teddy Katz)18e15d9 Chore: avoid useless catch clauses that just rethrow errors (#10010) (Teddy Katz)a1c3759 Chore: refactor populating configs with defaults in linter (#10006) (Teddy Katz)
7年前
記事のアイキャッチ画像
ESLint v4.18.1 released
ESLint Blog
Bug Fixesf417506 Fix: ensure no-await-in-loop reports the correct node (fixes #9992) (#9993) (Teddy Katz)Documentation3e99363 Docs: Fixed typo in key-spacing rule doc (#9987) (Jaid)7c2cd70 Docs: deprecate experimentalObjectRestSpread (#9986) (Toru Nagashima)
7年前
記事のアイキャッチ画像 +
ESLint v4.18.0 released
ESLint Blog
+Enhancements0e4ae22 Update: fix indent bug with binary operators/ignoredNodes (fixes #9882) (#9951) (Teddy Katz)47ac478 Update: add named imports and exports for object-curly-newline (#9876) (Nicholas Chua)4a6f22e Update: support eslint-disable-* block comments (fixes #8781) (#9745) (Erin)Bug Fixese8efdd0 Fix: support Rest/Spread Properties (fixes #9885) (#9943) (Toru Nagashima)f012b8c Fix: support Async iteration (fixes #9891) (#9957) (Toru Nagashima)Documentation74fa253 Docs: Clarify no-mixed-operators options (fixes #9962) (#9964) (Ivan Hayes)426868f Docs: clean up key-spacing docs (fixes #9900) (#9963) (Abid Uzair)777283b Docs: Propose fix typo for function (#9965) (John Eismeier)bf3d494 Docs: Fix typo in max-len ignorePattern example. (#9956) (Tim Martin)d64fbb4 Docs: fix typo in prefer-destructuring.md example (#9930) (Vse Mozhet Byt)Chores70f22f3 Chore: Apply memoization to config creation within glob utils (#9944) (Kenton Jacobsen)f8d343f Chore: Fix default issue template (#994 +
7年前
記事のアイキャッチ画像
ESLint v4.17.0 released
ESLint Blog
+HighlightsA new multiline option has been added to the padding-line-between-statements rule.Enhancements1da1ada Update: Add “multiline” type to padding-line-between-statements (#8668) (Matthew Bennett)dc80487 Update: space-unary-ops uses astUtils.canTokensBeAdjacent (fixes #9907) (#9906) (Kevin Partington)Bug Fixesd20f6b4 Fix: Typo in error message when running npm (#9866) (Maciej Kasprzyk)Documentation1aa1970 Docs: remove outdated rule naming convention (#9925) (Teddy Katz)3afaff6 Docs: Add prefer-destructuring variable reassignment example (#9873) (LePirlouit)51ec6a7 Docs: Use GitHub Multiple PR/Issue templates (#9911) (Kai Cataldo)084351b Docs: Fix the messageId example (fixes #9889) (#9892) (Jed Fox)9cbb487 Docs: Mention the globals key in the no-undef docs (#9867) (Dan Dascalescu)Choresbb213dc Chore: Use messageIds in some of the core rules (#9648) (Jed Fox)
7年前
記事のアイキャッチ画像
ESLint v4.16.0 released
ESLint Blog
+HighlightsThe comma-style rule now supports a NewExpression option.The valid-jsdoc rule can now be autofixed in some cases, and its error locations are more precise.The allowMultiplePropertiesPerLine option in the object-property-newline rule has been renamed to allowAllPropertiesOnSameLine to more clearly convey what the option does. allowMultiplePropertiesPerLine still works, but has been deprecated.Enhancementse26a25f Update: allow continue instead of if wrap in guard-for-in (fixes #7567) (#9796) (Michael Ficarra)af043eb Update: Add NewExpression support to comma-style (#9591) (Frazer McLean)1d61930 Update: use doctrine range information in valid-jsdoc (#9831) (Teddy Katz)133336e Update: fix indent behavior on template literal arguments (fixes #9061) (#9820) (Teddy Katz)add1e70 Update: fix indent bug on comments in ternary expressions (fixes #9729) (#9818) (Teddy Katz)2cf4522 Update: Rename and deprecate object-property-newline option (#9570) (Jonathan Pool)Bug Fixes13bcf3c Fix: Rem +
7年前
記事のアイキャッチ画像
ESLint v4.15.0 released
ESLint Blog
+HighlightsNew APIsCLIEngine now has a getRules() method. This is useful for integrations that need to look at rules’ metadata programmatically without knowing what rules might have been defined by plugins.Rules now support messages metadata and messageId report parameters, including full support in RuleTester. This lets rule developers use messageIds in their rule tests and avoid needing to track report message changes in both the rule implementation and the corresponding test file. In addition, this is the first step towards core support for rule message localization.New rule optionsThe indent rule now has an ignoreComments option. This allows users to opt out of indentation checks for comments if project style rules require that comments be indented in a different manner.Features6ab04b5 New: Add context.report({ messageId }) (fixes #6740) (#9165) (Jed Fox)65f0176 New: CLIEngine#getRules() (refs #6582) (#9782) (Patrick McElhaney)Enhancementsc64195f Update: More detailed assert message +
7年前
記事のアイキャッチ画像
ESLint v4.14.0 released
ESLint Blog
+HighlightsParsers can now provide custom scope analysis hooks to ESLint, which should allow for easier integration when parsing non-standard syntax. For more information see our documentation.Featuresae51eb2 New: Add allowImplicit option to array-callback-return (fixes #8539) (#9344) (James C. Davis)Enhancementsbe2f57e Update: support separate requires in one-var. (fixes #6175) (#9441) (薛定谔的猫)75c7419 Update: Logical-and is counted in complexity rule (fixes #8535) (#9754) (Kevin Partington)1c2aafd Update: Improve parser integrations (fixes #8392) (#8755) (Toru Nagashima)Bug Fixes43d4ba8 Fix: false positive on rulelines-between-class-members (fixes #9665) (#9680) (sakabar)Documentation370d614 Docs: Fix typos (#9751) (Jed Fox)eb4b1e0 Docs: reintroduce misspelling in valid-typeof example (#9753) (Teddy Katz)e9d5dfd Docs: improve no-extra-parens formatting (#9747) (Rich Trott)f252c19 Docs: Make the lint message source property a little more subtle (#9735) (Jed Fox)5a5c23c Docs: fix the link +
7年前
記事のアイキャッチ画像
ESLint v4.13.1 released
ESLint Blog
Bug Fixesb72dc83 Fix: eol-last allow empty-string to always pass (refs #9534) (#9696) (Kevin Partington)d80aa7c Fix: camelcase destructure leading/trailing underscore (fixes #9700) (#9701) (Kevin Partington)Documentationd49d9d0 Docs: Add missing period to the README (#9702) (Kevin Partington)Chores4564fe0 Chore: no-invalid-meta crash if no export assignment (refs #9534) (#9698) (Kevin Partington)
7年前
記事のアイキャッチ画像
ESLint v4.13.0 released
ESLint Blog
+HighlightsThis release updates camelcase rule to handle destructuring by default, which might result in more user-visible errors.Enhancements256481b Update: update handling of destructuring in camelcase (fixes #8511) (#9468) (Erin)Documentationd067ae1 Docs: Don’t use undocumented array-style configuration for max-len (#9690) (Jed Fox)cdb1488 Docs: Adds an example with try/catch. (#9672) (Jaap Taal)Chores1ad3091 Chore: fix test-suite to work with node master (#9688) (Myles Borins)
7年前
記事のアイキャッチ画像
ESLint v4.12.1 released
ESLint Blog
Bug Fixes1e362a0 Revert “Fix: Use XML 1.1 on XML formatters (fixes #9607) (#9608)” (#9667) (Kevin Partington)
7年前
記事のアイキャッチ画像
ESLint v4.12.0 released
ESLint Blog
+HighlightsNew RulesWe’ve added 1 new rule with this release:implicit-arrow-linebreakAutofixable RulesWe’ve added autofix capabilities to one rule: sort-vars. At present, it will only sort variables with no initial value or a literal initial value, in order to avoid potentially changing the order of function calls.New Node.js APIsWe’ve added a new Node.js API:Linter.defineParserThis API is useful when you are working with an instance of Linter and need to define a custom parser at runtime.Features28c9c8e New: add a Linter#defineParser function (#9321) (Ives van Hoorne)4118f14 New: Adds implicit-arrow-linebreak rule (refs #9510) (#9629) (Sharmila Jesupaul)Enhancements5619910 Update: Add autofix for sort-vars (#9496) (Trevin Hofmann)71eedbf Update: add beforeStatementContinuationChars to semi (fixes #9521) (#9594) (Toru Nagashima)0cf081e Update: add importNames option to no-restricted-imports (#9506) (Benjamin R Gibson)Bug Fixes208fb0f Fix: Use XML 1.1 on XML formatters (fixes #9607) (#96 +
7年前
記事のアイキャッチ画像
ESLint v4.11.0 released
ESLint Blog
+Highlightsnpm installed formatters can now be specified with or without the package name’s eslint-formatter- prefix. Example:npm install eslint-formatter-prettyeslint -f pretty file.js// equivalent:eslint -f eslint-formatter-pretty file.jsEnhancements4d7d7ab Update: Resolve npm installed formatters (#5900) (#9464) (Tom Erik Støwer)Bug Fixes7e3bf6a Fix: edge-cases of semi-style (#9560) (Toru Nagashima)e5a37ce Fix: object-curly-newline for flow code (#9458) (Tiddo Langerak)b7c5b19 Fix: Correct [object Object] output of error.data. (#9561) (Jonathan Pool)accc490 Fix: Files with no failures get “passing” testcase (#9547) (Samuel Levy)a9606a3 Fix: invalid tests with super (fixes #9539) (#9545) (Teddy Katz)Documentationd4557a6 Docs: disallow use of the comma operator using no-restricted-syntax (#9585) (薛定谔的猫)6672fae Docs: Fixed a typo on lines-between-class-members doc (#9603) (Moinul Hossain)2542f04 Docs: Add missing options for lines-around-comment (#9589) (Clément Fiorio)51c8cf0 Docs: Dis +
7年前
記事のアイキャッチ画像
ESLint v4.10.0 released
ESLint Blog
+Enhancementsebb530d Update: Don’t ignore comments (no-trailing-spaces) (#9416) (Chris van Marle)Bug Fixesbb6e60a Fix: Improve the doc for no-restricted-modules rule (fixes #9437) (#9495) (vibss2397)d80b9d0 Fix: no-var don’t fix globals (fixes #9520) (#9525) (Toru Nagashima)b8aa071 Fix: allow linting the empty string from stdin (fixes #9515) (#9517) (Teddy Katz)2fa64b7 Fix: should not convert non-consecutive line comments to a single blo… (#9475) (薛定谔的猫)9725146 Fix: multiline-comment-style fix produces invalid code (fixes #9461). (#9463) (薛定谔的猫)b12cff8 Fix: Expected order of jsdoc tags (fixes #9412) (#9451) (Orlando Wenzinger)8768b2d Fix: multiline-comment-style autofixer added trailing space (#9454) (Teddy Katz)e830aa1 Fix: multiline-comment-style reports block comments followed by code (#9450) (Teddy Katz)eb8cfb1 Fix: change err report in constant condition (fixes #9398) (#9436) (Victor Hom)Documentationc529de9 Docs: Amend rule document to correct and complete it (refs #6251). (#9498) +
7年前
記事のアイキャッチ画像
ESLint v4.9.0 released
ESLint Blog
+HighlightsWe’ve added 2 new rules with this release:multiline-comment-stylelines-between-class-membersWe also added new CLI option --fix-dry-run. This option will allow you to apply fixes without writing them to the disk.Features8eb4aae New: multiline-comment-style rule (fixes #8320) (#9389) (薛定谔的猫)ee99876 New: lines-between-class-members rule (fixes #5949) (#9141) (薛定谔的猫)4567ab1 New: Add the fix-dry-run flag (fixes #9076) (#9073) (Rafał Ruciński)Enhancements2247efa Update: Add FunctionExpression to require-jsdoc (fixes #5867) (#9395) (Kai Cataldo)b02fbb6 Update: custom messages for no-restricted-* (refs #8400) (Maja Wichrowska)6767857 Update: fix ignored nodes in indent rule when using tabs (fixes #9392) (#9393) (Robin Houston)786cc73 Update: Add “consistent” option to array-bracket-newline (fixes #9136) (#9206) (Ethan Rutherford)1167638 Update: add allowElseIf option to no-else-return (fixes #9228) (#9229) (Thomas Grainger)62a323c Fix: Add class options for lines-around-comment (fixe +
7年前
記事のアイキャッチ画像
ESLint v4.8.0 released
ESLint Blog
+Highlights–report-unused-disable-directivesThis release includes a new CLI option that, when on, reports unused eslint-disable directives! Running this periodically will ensure that all eslint-disable comments are still relevant and up to date.Please see the documentation for more information.Features3f2b908 New: add option to report unused eslint-disable directives (fixes #9249) (#9250) (Teddy Katz)Bug Fixesff2be59 Fix: dot notation rule failing to catch string template (fixes #9350) (#9357) (Phil Quinn)06efe87 Fix: Add meta element with charset attribute. (#9365) (H1Gdev)1c6bc67 Fix: special EventEmitter keys leak information about other rules (#9328) (Teddy Katz)38d0cb2 Fix: fix wrong code-path about try-for-in (fixes #8848) (#9348) (Toru Nagashima)434d9e2 Fix: Invalid font-size property value issue. (#9341) (H1Gdev)Documentationcef6f8c Docs: remove line about removing rules from semver policy (#9367) (Teddy Katz)458ca67 Docs: update architecture page (fixes #9337) (#9345) (Victor H +
7年前
記事のアイキャッチ画像
ESLint v4.7.2 released
ESLint Blog
Bug Fixes4f87732 Fix: Revert setting node.parent early (fixes #9331) (#9336) (Teddy Katz)
7年前
記事のアイキャッチ画像
ESLint v4.7.1 released
ESLint Blog
Bug Fixes08656db Fix: Handle nested disable directive correctly (fixes #9318) (#9322) (Gyandeep Singh)
7年前
記事のアイキャッチ画像
ESLint v4.7.0 released
ESLint Blog
+Highlightsnewline-per-chained-call supports autofix.Processor plugins can now autofix code.To support autofix in processor plugins, developers can signal support by setting supportsAutofix: true and update the postprocess method to transform fix ranges in reported problems.This is explained fully in the Processors documentation.Enhancements1488b51 Update: run rules after node.parent is already set (fixes #9122) (#9283) (Teddy Katz)ce1f084 Update: fix MemberExpression handling in no-extra-parens (fixes #9156) (jackyho112)0c720a3 Update: allow autofixing when using processors (fixes #7510) (#9090) (Teddy Katz)f12def6 Update: indent flatTernary option to handle return (fixes #9285) (#9296) (Teddy Katz)2731f94 Update: make newline-per-chained-call fixable (#9149) (João Granado)a32ec36 Update: refactor eslint-disable comment processing (#9216) (Teddy Katz)Bug Fixese220687 Fix: remove autofix for var undef inits (fixes #9231) (#9288) (Victor Hom)7685fed Fix: IIFE and arrow functions in no-in +
7年前
記事のアイキャッチ画像
ESLint v4.6.1 released
ESLint Blog
Bug Fixescb74b87 Fix: avoid adding globals when an env is used with false (fixes #9202) (#9203) (Teddy Katz)Documentationf9b7544 Docs: Correct a typo in generator-star-spacing documentation (#9205) (Ethan Rutherford)Build Relatedbdec46d Build: avoid process leak when generating website (#9217) (Teddy Katz)e5c5e83 Build: Fixing issue with docs generation (Fixes #9199) (#9200) (Ilya Volodin)
7年前
記事のアイキャッチ画像
ESLint v4.6.0 released
ESLint Blog
+HighlightsOne new rule has been added: function-paren-newlineThe generator-star-spacing rule is now configurable by function type.Features0e09973 New: function-paren-newline rule (fixes #6074) (#8102) (Teddy Katz)Enhancements6becf91 Update: add eslint version to error output. (fixes #9037) (#9071) (薛定谔的猫)2db356b Update: no-unused-vars Improve message to include the allowed patterns (#9176) (Eli White)8fbaf0a Update: Add configurability to generator-star-spacing (#8985) (Ethan Rutherford)Bug Fixes1bbac51 Fix: avoid breaking eslint-plugin-eslint-comments (fixes #9193) (#9196) (Teddy Katz)3e8b70a Fix: off-by-one error in eslint-disable comment checking (#9195) (Teddy Katz)af4ad60 Fix: Handle error when running init without npm (#9169) (Gabriel Aumala)5ab0434 Fix: indent crash on sparse arrays with “off” option (fixes #9157) (#9166) (Teddy Katz)d6e436f Fix: no-extra-parens reported some parenthesized IIFEs (fixes #9140) (#9158) (Teddy Katz)Documentation56dd769 Docs: fix link format in pref +
7年前
記事のアイキャッチ画像
ESLint v4.5.0 released
ESLint Blog
+HighlightsThe indent rule can now be configured to ignore the indentation of specific types of syntax, using the ignoredNodes option. This can be useful if you disagree with some of the indentation choices made by the indent rule; instead of disabling the rule entirely when this happens, you can now configure it to avoid checking indentation for the specific cases that you want it to ignore.Enhancementsdecdd2c Update: allow arbitrary nodes to be ignored in indent (fixes #8594) (#9105) (Teddy Katz)79062f3 Update: fix indentation of multiline new.target expressions (#9116) (Teddy Katz)bd09cd5 Update: avoid requiring NaN spaces of indentation (fixes #9083) (#9085) (Teddy Katz)Bug Fixesa4f53ba Fix: Include files with no messages in junit results (#9093) (#9094) (Sean DuBois)f8add8f Fix: don’t autofix with linter.verifyAndFix when fix: false is used (#9098) (Teddy Katz)Documentation6ef734a Docs: add missing word in processor documentation (#9106) (Teddy Katz)77bcee4 Docs: update instruction +
7年前
記事のアイキャッチ画像
ESLint v4.4.1 released
ESLint Blog
Bug Fixesec93614 Fix: no-multi-spaces to avoid reporting consecutive tabs (fixes #9079) (#9087) (Teddy Katz)
8年前
記事のアイキャッチ画像
ESLint v4.4.0 released
ESLint Blog
+HighlightsInitial support for ECMAScript 2018Because ECMAScript 2018 is still under development, we are implementing features as they are finalized. This release includes the following:Invalid escape sequences in tagged template literalsEnhancements62911e4 Update: Add ImportDeclaration option to indent rule (#8955) (David Irvine)7247b6c Update: handle indentation of custom destructuring syntax (fixes #8990) (#9027) (Teddy Katz)3d020b9 Update: emit a warning for ecmaFeatures rather than throwing an error (#8974) (Teddy Katz)Bug Fixesb3e4598 Fix: clarify AST and don’t use node.start/node.end (fixes #8956) (#8984) (Toru Nagashima)78a85e0 Fix: no-extra-parens incorrectly reports async function expressions (#9035) (薛定谔的猫)c794f86 Fix: getter-return reporting method named ‘get’ (fixes #8919) (#9004) (薛定谔的猫)5ab282f Fix: Print error message in bin/eslint.js (fixes #9011) (#9041) (Victor Hom)cdb82f2 Fix: padding-line-between-statements crash on semicolons after blocks (#8748) (Alexander Madyanki +
8年前
記事のアイキャッチ画像
ESLint v4.3.0 released
ESLint Blog
+Enhancements91dccdf Update: support more options in prefer-destructuring (#8796) (Victor Hom)3bebcfd Update: Support generator yields in no constant condition (#8762) (Victor Hom)e639358 Update: add question to confirm downgrade (fixes #8870) (#8911) (Toru Nagashima)3c231fa Update: add enforceInMethodNames to no-underscore-dangle (fixes #7065) (#7234) (Gabriele Petronella)128591f Update: prefer-numeric-literals warns Number.parseInt (fixes #8913) (#8929) (Kevin Partington)fb8005d Update: no-restricted-globals custom error messages (fixes #8315) (#8932) (Kevin Partington)1ea3723 Update: fix indentation of parenthesized MemberExpressions (fixes #8924) (#8928) (Teddy Katz)9abc6f7 Update: fix BinaryExpression indentation edge case (fixes #8914) (#8930) (Teddy Katz)Bug Fixes96df8c9 Fix: Handle fixing objects containing comments (fixes #8484) (#8944) (Brian Schemp)a5fd101 Fix: duplicated error message if a crash occurs (fixes #8964) (#8965) (Teddy Katz)55bc35d Fix: Avoid shell mangling durin +
8年前
記事のアイキャッチ画像
ESLint v4.2.0 released
ESLint Blog
+Highlightslinter.verifyAndFix can now accept a filter function for fixesWhen using the Node.js API to autofix code, it’s sometimes undesirable to autofix every problem at once. For example, a user might want to avoid fixing problems reported by particular rule, or a tool might want to only fix one problem at a time. You can now pass an object like { fix: message => /* ... */ } to the third argument of linter.verifyAndFix, or to the CLIEngine constructor. If the fix function returns true, a fix is applied – otherwise, a fix is not applied. eslint-nibble uses this feature to autofix individual rules, or only autofix errors rather than warnings.Also see: documentationThe getter-return rule has been added.The no-sync rule now has a boolean allowAtRootLevel option to allow sync function calls at the top level of a file.The multiline-ternary rule now has an always-multiline option.Featuresc693be5 New: Allow passing a function as fix option (fixes #8039) (#8730) (Ian VanSchooten)8698a92 New: +
8年前
記事のアイキャッチ画像
ESLint v4.1.1 released
ESLint Blog
+Bug Fixesf307aa0 Fix: ensure configs from a plugin are cached separately (fixes #8792) (#8798) (Teddy Katz)0d041e7 Fix: avoid crashing when using baseConfig with extends (fixes #8791) (#8797) (Teddy Katz)Documentation8b48ae8 Docs: Add doc on parser services (fixes #8390) (#8795) (Victor Hom)Chores03213bb Chore: improve comment explanation of indent internal functions (#8800) (Teddy Katz)d2e88ed Chore: Fix misleading comment in ConfigCache.js (#8799) (Teddy Katz)
8年前
記事のアイキャッチ画像
ESLint v4.1.0 released
ESLint Blog
+
+HighlightsGlob-based configurationPreviously, it was not possible to use different ESLint configurations for two different files in the same directory. For example, projects that place test files in the same directory as the corresponding source files were unable to use different ESLint configurations for the test files. Adding support for this has been one of our most requested features.This release adds support for glob-based configuration via an overrides key in a config file, which can be used to apply a configuration to specific globs. For example, you can now enable the mocha environment on only test files, with the following config:module.exports = { rules: { // ... the rest of your config (applied to all files) }, overrides: [ { files: ["foo/**/*.spec.js", "bar/**/*.spec.js"], // Override config (only applied to files that match the given globs) env: { mocha: true } } ]};For full details, see the documentation.Ignoring files from package.jsonIt’s common for users to use an .esl +
8年前
記事のアイキャッチ画像
ESLint v4.0.0 released
ESLint Blog
+HighlightsThere are several breaking changes in 4.0.0. We’ve created a migration guide to explain the breaking changes and describe how to upgrade.Seven new rules have been added:array-element-newlinesemi-stylepadding-line-between-statementsfor-directionswitch-colon-spacingarray-bracket-newlineno-buffer-constructorTwo rules are now autofixable with the --fix flag:no-debuggerno-confusing-arrowThree rules have been deprecated in favor of the new padding-line-between-statements rule:lines-around-directivenewline-after-varnewline-before-returnThree new utility methods have been added to the SourceCode API, and SourceCode#getComments has been deprecated.A new option has been added to the object-curly-newline rule.Changes since v4.0.0-rc.0:Enhancements34c4020 Update: Add support for parens on left side for-loops (fixes: #8393) (#8679) (Victor Hom)Bug Fixes3da7b5e Fix: Semi-Style only check for comments when tokens exist (fixes #8696) (#8697) (Reyad Attiyat)3cfe9ee Fix: Add space between asyn +
8年前
記事のアイキャッチ画像
ESLint v4.0.0-rc.0 released
ESLint Blog
+Note: This version of ESLint is not ready for production use and is provided to gather feedback from the community before releasing the final version. Please let us know if you having any problems or feedback by creating issues on our GitHub repo or joining our Gitter channel.HighlightsIf you’re upgrading from 3.x, see the migration guide.One new rule was added in this release:array-element-newlineOne rule gained support for --fix:no-debuggerFeatures7ebd9d6f New: array-element-newline rule (fixes #6075) (#8375) (Jan Peer Stöcklmair)Enhancements0058b0f8 Update: add --fix to no-debugger (#8660) (薛定谔的猫)c4ac969c Update: fix parenthesized ternary expression indentation (fixes #8637) (#8649) (Teddy Katz)Bug Fixes95248336 Fix: Don’t check object destructing in integer property (fixes #8654) (#8657) (flowmemo)d0e9fd2d Fix: Config merge to correctly account for extends (fixes #8193) (#8636) (Gyandeep Singh)Documentationb4daa225 Docs: Note to --fix option for strict rule (#8680) (Vitaliy Potapov +
8年前
記事のアイキャッチ画像
ESLint v4.0.0-beta.0 released
ESLint Blog
+Note: This version of ESLint is not ready for production use and is provided to gather feedback from the community before releasing the final version. Please let us know if you having any problems or feedback by creating issues on our GitHub repo or joining our Gitter channel.HighlightsIf you’re upgrading from 3.x, see the migration guide.Four new rules have been added in this release:semi-stylepadding-line-between-statementsfor-directionswitch-colon-spacingPreviously, ESLint’s Node.js API exposed a mutable eslint.linter object which could be used to lint text. This could cause problems if two unrelated modules were using eslint.linter at the same time, because they might both mutate it and interfere with each other. To resolve this, ESLint now exposes an eslint.Linter constructor, which can be used to create mutable linter instances. We recommend that integrations switch to using eslint.Linter rather than eslint.linter.Three rules have been deprecated in favor of the new padding-line- +
8年前
記事のアイキャッチ画像
ESLint v4.0.0-alpha.2 released
ESLint Blog
+Note: This version of ESLint is not ready for production use and is provided to gather feedback from the community before releasing the final version. Please let us know if you having any problems or feedback by creating issues on our GitHub repo or joining our Gitter channel.HighlightsESLint will now validate .eslintrc.* files for unknown propertiesBreaking Changes734846b Breaking: validate eslintrc properties (fixes #8213) (#8295) (alberto)Enhancements74ab344 Update: check allman-style blocks correctly in indent rule (fixes #8493) (#8499) (Teddy Katz)f6256d4 Update: no-extend-native checks global scope refs only (fixes #8461) (#8528) (Kevin Partington)99c56d5 Update: handle multiline parents consistently in indent (fixes #8455) (#8498) (Teddy Katz)cf940c6 Update: indent from tokens in import statements (fixes #8438) (#8466) (Teddy Katz)d49acc3 Update: fix no-self-compare false negative on non-literals (fixes #7677) (#8492) (Teddy Katz)Bug Fixes0a9a90f Fix: max-len doesn’t allow comme +
8年前
記事のアイキャッチ画像
ESLint v4.0.0-alpha.1 released
ESLint Blog
+Note: This version of ESLint is not ready for production use and is provided to gather feedback from the community before releasing the final version. Please let us know if you having any problems or feedback by creating issues on our GitHub repo or joining our Gitter channel.HighlightsThe array-callback-return rule was added to eslint:recommended in the last prerelease, but it has been removed from eslint:recommended in this prerelease due to false positives that would occur when using methods in a few popular libraries. As a result, this rule will not be in eslint:recommended for 4.0.0.Three new utility methods have been added to the SourceCode API, and SourceCode#getComments has been deprecated.One new rule has been added: array-bracket-newline.The no-confusing-arrow rule can now be autofixed.The object-curly-newline rule has a new option.Breaking Changesfac53890 Breaking: Remove array-callback-return from recommended (fixes #8428) (#8433) (Kai Cataldo)Features7bc6fe0a New: array-br +
8年前
記事のアイキャッチ画像
ESLint v4.0.0-alpha.0 released
ESLint Blog
+Note: This version of ESLint is not ready for production use and is provided to gather feedback from the community before releasing the final version. Please let us know if you having any problems or feedback by creating issues on our GitHub repo or joining our Gitter channel.HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.InstallingSince this is a pre-release version, you will not automatically be upgraded by npm. You must specify the next tag when installing:npm i eslint@next --save-devYou can also specify the version directly:npm i eslint@4.0.0-alpha.0 --save-devMigration GuideAs there are a lot of changes, we’ve created a migration guide describing the changes in great detail along with the steps you should take to address them. Not all ESLint users will be affected by the changes, however, the changes are big enough that we recommend everyone read the migration thoroughly.New RulesThere is one new rule in this release:no-buffer-co +
8年前
記事のアイキャッチ画像
ESLint v3.19.0 released
ESLint Blog
+HighlightsBuilding on the release of AST selectors in v3.18.0, no-restricted-syntax now supports custom error messages:{ "rules": { "no-restricted-syntax": [ "error", { "selector": "CallExpression[callee.name='setTimeout'][arguments.length!=2]", "message": "setTimeout must always be invoked with two arguments." } ] }}Autofix is now more reliable thanks to nine individual fixes in this release.Enhancements91baed4 Update: allow custom messages in no-restricted-syntax (fixes #8298) (#8357) (Vitor Balocco)Bug Fixese09132f Fix: no-extra-parens false positive with exports and object literals (#8359) (Teddy Katz)35c93e6 Fix: prevent space-before-function-paren from checking type annotations (#8349) (Teddy Katz)3342e9f Fix: don’t modify operator precedence in operator-assignment autofixer (#8358) (Teddy Katz)155424c Fix: ignore empty path in patterns (fixes #8362) (#8364) (alberto)27616a8 Fix: prefer-const false positive with object spread (fixes #8187) (#8297) (Vitor Balocco)1b1046b Fix: don’ +
8年前
記事のアイキャッチ画像
ESLint v3.18.0 released
ESLint Blog
+HighlightsThis release adds support for AST selectors. AST selectors can describe syntax patterns very precisely, using a similar syntax to CSS selectors. Selectors can be used to:simplify the implementation of custom rules.disallow particular syntax patterns in a codebase using the no-restricted-syntax rule.For example, suppose you want to disallow calls to Mocha’s xdescribe function in your codebase. Previously, it was not possible to do this without writing a custom rule. However, now you can configure the no-restricted-syntax rule with a selector:{ "rules": { "no-restricted-syntax": [ "error", "CallExpression[callee.name='xdescribe']" ] }}Selectors can give you a lot of control over specific patterns in your code, without needing to write a custom rule for each pattern.For more details, see the selector documentation.Features1b678a6 New: allow rules to listen for AST selectors (fixes #5407) (#7833) (Teddy Katz)Enhancements23eca51 Update: Add allowTaggedTemplates to no-unused-expres +
8年前
記事のアイキャッチ画像
ESLint v3.17.1 released
ESLint Blog
+Bug Fixesf713f11 Fix: nonblock-statement-body-position multiline error (fixes #8202) (#8203) (Teddy Katz)41e3d9c Fix: operator-assignment with parenthesized expression (fixes #8190) (#8197) (alberto)Build Relatedf8c8e6e Build: change mock-fs path without SSH (fixes #8207) (#8208) (Toru Nagashima)Chores5e3bca7 Chore: add eslint-plugin-eslint-plugin (#8198) (Teddy Katz)580da36 Chore: add missing output property to tests (#8195) (alberto)
8年前
記事のアイキャッチ画像
ESLint v3.17.0 released
ESLint Blog
+HighlightsTwo new rules were added:no-compare-neg-zerononblock-statement-body-positionTwo new methods were added to the SourceCode API for rules:getLocFromIndex and getIndexFromLocTwo enhancements were made to the RuleTester utility:Error message assertions can now be regular expressions.output for a test case can be set to null to assert that the case is not autofixed.Featuresdad20ad New: add SourceCode#getLocFromIndex and #getIndexFromLoc (fixes #8073) (#8158) (Teddy Katz)20daea5 New: no-compare-neg-zero rule (#8091) (薛定谔的猫)287e882 New: nonblock-statement-body-position rule (fixes #6067) (#8108) (Teddy Katz)7ff42e8 New: Allow regexes in RuleTester (fixes #7837) (#8115) (Daniel Lo Nigro)Enhancements4fdf6d7 Update: deprecate applyDefaultPatterns in line-comment-position (#8183) (alberto)bf4d8cf Update: ignore eslint comments in lines-arount-comment (fixes #4345) (#8155) (alberto)18a519f Update: let RuleTester cases assert that no autofix occurs (fixes #8157) (#8163) (Teddy Katz)ca1694b +
8年前
記事のアイキャッチ画像
ESLint v3.16.1 released
ESLint Blog
+Bug Fixesff8a80c Fix: duplicated autofix output for inverted fix ranges (fixes #8116) (#8117) (Teddy Katz)Documentationa421897 Docs: fix typo in arrow-parens.md (#8132) (Will Chen)9fa2559 Docs: Add missing quotes in key-spacing rule (#8121) (Glenn Reyes)Build Relatedf3a6ced Build: package.json update for eslint-config-eslint release (ESLint Jenkins)Chores22d7fbf Chore: fix invalid redeclared variables in tests (#8130) (Teddy Katz)8d95598 Chore: fix output assertion typos in rule tests (#8129) (Teddy Katz)
8年前
記事のアイキャッチ画像
ESLint v3.16.0 released
ESLint Blog
+HighlightsThis is a summary of some of the notable changes in this version of ESLint.Updated Token Iterator MethodsThis release includes an exciting update for rule authors! Many of the token iterator methods provided by sourceCode have been updated with a new options parameter. Some highlights:includeCommentsMany of these methods can now include comments in the returned results using the { includeComments: true } option. The following methods are now deprecated:sourceCode.getTokenOrCommentBefore(node)sourceCode.getTokenOrCommentAfter(node)Instead, please use the following, respectively:sourceCode.getTokenBefore(node, { includeComments: true })sourceCode.getTokenAfter(node, { includeComments: true })filterThe filter option is a function that will filter the returned tokens. This allows for finding a specific token by type or value without having to create a loop.For instance, the following:let token = sourceCode.getTokenAfter(node);while (token.type !== "Keyword") { token = sourceCode. +
8年前
記事のアイキャッチ画像
ESLint v3.15.0 released
ESLint Blog
+HighlightsThis is a summary of some of the notable changes in this version of ESLint.New RulesOne new rule was added:template-tag-spacingFeatures09546a4 New: template-tag-spacing rule (fixes #7631) (#7913) (Jonathan Wilsson)Enhancementsc59a0ba Update: add ignoreRestSiblings option to no-unused-vars (#7968) (Zack Argyle)fbd7c13 Update: ensure operator-assignment handles exponentiation operators (#7970) (Teddy Katz)c5066ce Update: add “variables” option to no-use-before-define (fixes #7111) (#7948) (Teddy Katz)Bug Fixesf2a3580 Fix: no-extra-parens incorrect precedence (fixes #7978) (#7999) (alberto)d6b6ba1 Fix: no-var should fix ForStatement.init (#7993) (Toru Nagashima)Documentation42390fd Docs: update README.md for team (#8016) (Toru Nagashima)f2be7e3 Docs: Fix typo in object-curly-newline.md (#8002) (Danny Andrews)df2351a Docs: Fix misleading section in brace-style documentation (#7996) (Teddy Katz)Dependency Upgrades99d386d Upgrade: Espree v3.4.0 (#8019) (Kai Cataldo)Choresd7ffd88 Ch +
8年前
記事のアイキャッチ画像
ESLint v3.14.1 released
ESLint Blog
+Bug Fixes791f32b Fix: brace-style false positive for keyword method names (fixes #7974) (#7980) (Teddy Katz)72d41f0 Fix: no-var autofix syntax error in single-line statements (fixes #7961) (#7962) (Teddy Katz)b9e5b68 Fix: indent rule crash on sparse array with object (fixes #7959) (#7960) (Gyandeep Singh)Documentationd7a0add Docs: Add ESLint tutorial embed to getting started (#7971) (Jamis Charles)8bcbf5d Docs: typo in prefer-promise-reject-errors (#7958) (Patrick McElhaney)Choresa7bd66a Chore: Adding assign/redeclare tests to no-undefined (refs #7964) (#7965) (Kevin Partington)
8年前
記事のアイキャッチ画像
ESLint v3.14.0 released
ESLint Blog
+HighlightsThis is a summary of some of the notable changes in this version of ESLint.New RulesTwo new rules were added:no-multi-assignprefer-promise-reject-errorsAutofixingAutofix support was added to one rule:no-else-returnFeatures05e7432 New: no-multi-assign rule (fixes #6424) (#7904) (Stewart Rand)f091d95 New: prefer-promise-reject-errors rule (fixes #7685) (#7689) (Teddy Katz)Enhancements243e47d Update: Add fixer for no-else-return (fixes #7863) (#7864) (Xander Dumaine)a664e8a Update: add ignoreJSX option to no-extra-parens (Fixes #7444) (#7926) (Robert Rossmann)bd5e219 Update: ensure brace-style validates class bodies (fixes #7608) (#7871) (Teddy Katz)55f0cb6 Update: refactor brace-style and fix inconsistencies (fixes #7869) (#7870) (Teddy Katz)Bug Fixes506324a Fix: no-var does not fix if causes ReferenceError (fixes #7950) (#7953) (Toru Nagashima)ca01e00 Fix: recognize all line terminators in func-call-spacing (fixes #7923) (#7924) (Francesco Trotta)8ac3518 Fix: no-useless-comput +
8年前
記事のアイキャッチ画像
ESLint v3.13.1 released
ESLint Blog
Bug Fixes3fc4e3f Fix: prefer-destructuring reporting compound assignments (fixes #7881) (#7882) (Teddy Katz)f90462e Fix: no-extra-label autofix should not remove labels used elsewhere (#7885) (Teddy Katz)
8年前
記事のアイキャッチ画像
ESLint v3.13.0 released
ESLint Blog
+HighlightsThis is a summary of some of the notable changes in this version of ESLint.New RulesOne new rule was added:prefer-destructuringAutofixingAutofix support was added to the following rules:no-extra-labelno-unneeded-ternaryobject-property-newlineoperator-linebreakFeatures27424cb New: prefer-destructuring rule (fixes #6053) (#7741) (Alex LaFroscia)Enhancementscd4c025 Update: add fixer for no-extra-label (#7840) (Teddy Katz)c9ba40a Update: add fixer for no-unneeded-ternary (#7540) (Teddy Katz)dd56d87 Update: add object-shorthand option for arrow functions (fixes #7564) (#7746) (Teddy Katz)d80d994 Update: add fixer for object-property-newline (fixes #7740) (#7808) (Teddy Katz)1beecec Update: add fixer for operator-linebreak (#7702) (Teddy Katz)ebcae1f Update: no-return-await with with complex return argument (fixes #7594) (#7595) (Dalton Santos)7d1dc7e Update: Make default-case comment case-insensitive (fixes #7673) (#7742) (Robert Rossmann)Bug Fixesaa75c92 Fix: Ensure prefer-const +
8年前
記事のアイキャッチ画像
ESLint v3.12.2 released
ESLint Blog
Bug Fixesdec3ec6 Fix: indent bug with AssignmentExpressions (fixes #7747) (#7750) (Teddy Katz)Documentation639b798 Docs: Use Object.prototype in examples (#7755) (Alex Reardon)Build Related5344751 Build: Don’t create blogpost links from rule names within other words (#7754) (Teddy Katz)
8年前
記事のアイキャッチ画像
ESLint v3.12.1 released
ESLint Blog
Bug Fixes0ad4d33 Fix: indent regression with function calls (fixes #7732, fixes #7733) (#7734) (Teddy Katz)Documentationab246dd Docs: Rules restricting globals/properties/syntax are linked together (#7743) (Kevin Partington)df2f115 Docs: Add eslint-config-mdcs to JSCS Migration Guide (#7737) (Joshua Koo)Build Related4b77333 Build: avoid creating broken rule links in the changelog (#7731) (Teddy Katz)
8年前
記事のアイキャッチ画像
ESLint v3.12.0 released
ESLint Blog
+HighlightsThis is a summary of some of the notable changes in this version of ESLint.Additional APIsThis version includes the addition of three new API methods:getRules to linterversion to linterversion to CLIEngineApologies for the lack of clear documentation on the above - our API documentation needs an overhaul, and we plan on updating this in the near future.New option for eslint --initThis version adds the ability to pick the airbnb-base config without eslint-plugin-react, for those who want to follow the Airbnb styleguide but do not use React.New RulesOne new rule was added:no-await-in-loopAutofixingAutofix support was added to the following rule:capitalized-commentsFeatures1d0d61d New: Add no-await-in-loop rule (#7563) (Nat Mote)2cdfb4e New: Additional APIs (fixes #6256) (#7669) (Ilya Volodin)Enhancementse569225 Update: fix false positive/negative of yoda rule (fixes #7676) (#7695) (Toru Nagashima)4278c42 Update: make no-obj-calls report errors for Reflect (fixes #7700) (#7710) +
8年前
記事のアイキャッチ画像
ESLint v3.11.1 released
ESLint Blog
Bug Fixesbe739d0 Fix: capitalized-comments fatal error fixed (fixes #7663) (#7664) (Rich Trott)Documentationcc4cedc Docs: Fix a typo in array-bracket-spacing documentation (#7667) (Alex Guerrero)f8adadc Docs: fix a typo in capitalized-comments documentation (#7666) (Teddy Katz)
8年前
記事のアイキャッチ画像
ESLint v3.11.0 released
ESLint Blog
+HighlightsThis is a summary of some of the notable changes in this version of ESLint.New RulesTwo new rules were added:capitalized-commentsrequire-awaitMore AutofixingAutofix support was added to two rules:operator-assignmentsort-importsFeaturesad56694 New: capitalized-comments rule (fixes #6055) (#7415) (Kevin Partington)89bd8de New: require-await rule (fixes #6820) (#7435) (Toru Nagashima)Enhancements7185567 Update: add fixer for operator-assignment (#7517) (Teddy Katz)faf5f56 Update: fix false negative of quotes with \n in template (fixes #7646) (#7647) (Teddy Katz)474e444 Update: add fixer for sort-imports (#7535) (Teddy Katz)Bug Fixesd50f6c1 Fix: incorrect location for no-useless-escape errors (fixes #7643) (#7645) (Teddy Katz)5c9a4ad Fix: Prevent quotes from fixing templates to directives (fixes #7610) (#7617) (Teddy Katz)Documentationf9b70b3 Docs: Enable example highlighting in rules examples (ref #6444) (#7644) (Alex Guerrero)54a993c Docs: Fix a typo in the require-yield.md (#7 +
8年前
記事のアイキャッチ画像
ESLint v3.10.2 released
ESLint Blog
+Bug Fixes0643bfe Fix: correctly handle commented code in indent autofixer (fixes #7604) (#7606) (Teddy Katz)bd0514c Fix: syntax error after key-spacing autofix with comment (fixes #7603) (#7607) (Teddy Katz)f56c1ef Fix: indent crash on parenthesized global return values (fixes #7573) (#7596) (Teddy Katz)Documentation100c6e1 Docs: Fix example for curly “multi-or-nest” option (#7597) (Will Chen)6abb534 Docs: Update code of conduct link (#7599) (Nicholas C. Zakas)8302cdb Docs: Update no-tabs to match existing standards & improve readbility (#7590) (Matt Stow)
8年前
記事のアイキャッチ画像
ESLint v3.10.1 released
ESLint Blog
Bug Fixes8a0e92a Fix: handle try/catch correctly in no-return-await (fixes #7581) (#7582) (Teddy Katz)c4dd015 Fix: no-useless-return stack overflow on unreachable loops (fixes #7583) (#7584) (Teddy Katz)
8年前
記事のアイキャッチ画像
ESLint v3.10.0 released
ESLint Blog
+HighlightsThis is a summary of some of the notable changes in this version of ESLint.One new rule, no-return-await, was added.no-extra-boolean-cast gained auto-fix functionality.Certain cases caught by eqeqeq can now be auto-fixed.New options were added to comma-style to check function parameters, function arguments, imports, and destructuring.func-names gained a new option to recognize ES6 inferred names.Features66fe9ff New: no-return-await rule. (fixes #7537) (#7547) (Jordan Harband)Enhancements7ee039b Update: Add comma-style options for calls, fns, imports (fixes #7470) (Max Englander)c3f4809 Update: Allow func-names to recognize inferred ES6 names (fixes #7235) (#7244) (Logan Smyth)2bd1dd7 Update: avoid creating extra whitespace in arrow-body-style fixer (#7504) (Teddy Katz)5003b1c Update: fix in/instanceof handling with space-infix-ops (fixes #7525) (#7552) (Teddy Katz)1766524 Update: “Error type should be” assertion in rule-tester (fixes 6106) (#7550) (Frans Jaspers)3c379ff Updat +
8年前
記事のアイキャッチ画像
ESLint v3.9.1 released
ESLint Blog
+Bug Fixes2012258 Fix: incorrect indent check for array property access (fixes #7484) (#7485) (Teddy Katz)8a71d4a Fix: no-useless-return false positive on conditionals (fixes #7477) (#7482) (Teddy Katz)56a662b Fix: allow escaped backreferences in no-useless-escape (fixes #7472) (#7474) (Teddy Katz)Documentation8ba68a3 Docs: Update broken link (#7490) (Devinsuit)65231d8 Docs: add the “fixable” icon for no-useless-return (#7480) (Teddy Katz)Build Relatedfffdf13 Build: Fix prefer-reflect rule to not crash site gen build (#7471) (Ilya Volodin)
8年前
記事のアイキャッチ画像
+ESLint v3.9.0 released
ESLint Blog
+HighlightsThis release includes some exciting new features, including a new results formatter and the ability for ESLint to support enhanced parsers!New formatterAs part of our continuing effort to support our users coming from JSCS, we’re excited to release the new codeframe formatter!error: Missing semicolon (semi) at file.js:1:13:> 1 | var a = true | ^ 2 | 3 |warning: There should be no space after '{' (object-curly-spacing) at file2.js:1:9:> 1 | var b = { c: true}; | ^ 2 | 3 |1 error and 1 warning found.Enhanced parsersESLint now supports enhanced parsers, which allows parsers to provide ESLint-specific services and functionality. This allows ESLint to support added functionality such as parsing type checkers.New Rulesno-useless-returnNew Rule Optionsfunc-name-matching: nameMatchesindent: CallExpressionmax-len: ignoreRegExpLiteralsNew autofixingarrow-body-stylebrace-stylenewline-after-varDeprecated rulesWith this release we deprecated prefer-reflect rule. The original intent of thi +
8年前
記事のアイキャッチ画像
ESLint v3.8.1 released
ESLint Blog
+Bug Fixes681c78a Fix: comma-dangle was confused by type annotations (fixes #7370) (#7372) (Toru Nagashima)7525042 Fix: Allow useless escapes in tagged template literals (fixes #7383) (#7384) (Teddy Katz)Documentation9106964 Docs: Fix broken link for stylish formatter (#7386) (Vitor Balocco)49d3c1b Docs: Document the deprecated meta property (#7367) (Randy Coulman)19d2996 Docs: Relax permission for merging PRs (refs eslint/tsc-meetings#20) (#7360) (Brandon Mills)
8年前
記事のアイキャッチ画像
ESLint v3.8.0 released
ESLint Blog
+
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.Additional Property on Linting ResultsIf you’re using the ESLint Node.js API or writing a custom formatter, you’ll find that result object for each file now has a source property. This property contains the original source code from the file, allowing formatters to output contextual information along with linting error messages. This new source property on the file results object is intended to replace the source property on the lint message object, which will be removed in a later release. If you have a custom formatter making use of the source property on the lint message object, we recommend updating your formatter to check for the existence of the source property on the file results object and to use it if found. See the documentation for more information.New Rulesfunc-name-matchingNew Optionscomma-dangle … arrays, objects, imports, exports, and functions.space-before-function-paren … +
8年前
記事のアイキャッチ画像
ESLint v3.7.1 released
ESLint Blog
Bug Fixes3dcae13 Fix: Use the correct location for comma-dangle errors (fixes #7291) (#7292) (Teddy Katz)cb7ba6d Fix: no-implicit-coercion should not fix ~. (fixes #7272) (#7289) (Eli White)Documentation8ec82ee Docs: change links of templates to raw data (#7288) (Toru Nagashima)Choresce590e2 Chore: Add additional tests for bin/eslint.js (#7290) (Teddy Katz)
8年前
+
記事のアイキャッチ画像
ESLint v3.7.0 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint. Though it’s a smaller release, it does include the ability to autofix a number of rules!AutofixingIn addition to linting code, many of the rules can automatically fix errors using the --fix flag. This can be a huge time saver for developers using ESLint on a pre-existing codebase! The following rules can now be autofixed:prefer-numeric-literalsno-undef-initno-useless-computed-keylines-around-directivewrap-iifedot-locationyodano-extra-parensEnhancementsc05a19c Update: add fixer for prefer-numeric-literals (#7205) (Teddy Katz)2f171f3 Update: add fixer for no-undef-init (#7210) (Teddy Katz)332d213 Update: Ensure indent handles nested functions correctly (fixes #7249) (#7265) (Teddy Katz)c36d842 Update: add fixer for no-useless-computed-key (#7207) (Teddy Katz)18376cf Update: add fixer for lines-around-directive (#7217) (Teddy Katz)f8e8fab Update: add fixer for wrap-iife (#7196) (Teddy Katz) +
8年前
記事のアイキャッチ画像
ESLint v3.6.1 released
ESLint Blog
+Documentation87625fa Docs: Improve eol-last examples in docs (#7227) (Chainarong Tangsurakit)de8eaa4 Docs: class-methods-use-this: fix option name (#7224) (Jordan Harband)2355f8d Docs: Add Brunch plugin to integrations (#7225) (Aleksey Shvayka)a5817ae Docs: Default option from operator-linebreak is afterand not always (#7228) (Konstantin Pschera)Dependency Upgradesb467436 Upgrade: Upgrade Espree to 3.3.1 (#7253) (Ilya Volodin)Build Related299a563 Build: Do not strip .md extension from absolute URLs (#7222) (Kai Cataldo)Chores27042d2 Chore: removed unused code related to scopeMap (#7218) (Yang Su)d154204 Chore: Lint bin/eslint.js (#7243) (Kevin Partington)
8年前
記事のアイキャッチ画像
ESLint v3.6.0 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.Support for ES2017With this release, we support ES2017 syntax natively. To activate ES2017 parser option, you need to update parser option (in your .eslintrc.* file).{ "parserOptions": { "ecmaVersion": 2017, "sourceType": "module" }}Rules enhanced to support ES2017space-unary-opsno-extra-parenskeyword-spacingarrow-parensprefer-arrow-callbackno-unused-expressionsAuto-FixFour rules gained support for the --fix command line option:strictprefer-templatequote-propsno-regex-spacesEnhancements1b05d9c Update: add fixer for strict (fixes #6668) (#7198) (Teddy Katz)aaa3779 Update: Allow space-unary-ops to handle await expressions (#7174) (Teddy Katz)91bf477 Update: add fixer for prefer-template (fixes #6978) (#7165) (Teddy Katz)745343f Update: no-extra-parens supports async/await (refs #7101) (#7178) (Toru Nagashima)462a3f7 Update: keyword-spacing supports async/await (refs #7101) (#7179) (Toru Nag +
8年前
記事のアイキャッチ画像
Changes to Issue and Pull Request Policies
ESLint Blog
+From the beginning of the project, ESLint has always required issues for every pull request containing code. There were a number of reasons for that, mostly related to how we were triaging and handling incoming requests as well as the limitations the GitHub issue tracker imposed on us. Since that time, there have been a lot of improvements to the GitHub issue and pull request trackers, and as such, we’ve been able to make some changes.Most Pull Requests No Longer Require IssuesWe’ve lifted the restriction that all pull requests require issues. For almost all types of changes, you can now submit pull requests directly without an issue. We’ve added a pull request template, and as long as you fill out the required information in that template, you can feel free to submit pull requests without opening issues first.There are, however, two types of changes that still require issues:Any breaking change.Any changes to the core.Breaking and core changes have a high potential to affect end-users +
8年前
記事のアイキャッチ画像
ESLint v3.5.0 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.New RulesThe following new rules were added in this release:prefer-numeric-literalsno-restricted-propertiesline-comment-positionlines-around-directiveAuto-FixEight rules gained support for the --fix command line option:no-floating-decimalno-implicit-coercionprefer-arrow-callbackcomma-styledot-notationnewline-before-returnwrap-regexnew-parensFeatures6d97c18 New: max-len: ignoreStrings+ignoreTemplateLiterals (fixes #5805) (#7049) (Jordan Harband)3960617 New: prefer-numeric-literals rule (fixes #6068) (#7029) (Annie Zhang)46cb690 New: no-restricted-properties rule (fixes #3218) (#7017) (Eli White)8277357 New: line-comment-position rule (fixes #6077) (#6953) (alberto)c1f0d76 New: lines-around-directive rule (fixes #6069) (#6998) (Kai Cataldo)Enhancements08fa538 Update: fix false negative of arrow-spacing (fixes #7079) (#7080) (Toru Nagashima)cec65e3 Update: add fixer for no-floating-decimal ( +
8年前
記事のアイキャッチ画像
ESLint v3.4.0 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.Fix For Configuring Scoped Plugin RulesWe discovered a significant bug (#6362) when using scoped plugins. Scoped plugins use npm scopes such as @foo/eslint-plugin-bar. Due to a bug in ESLint, if you had a rule baz in the plugin @foo/eslint-plugin-bar, you would have to configure it without the scope, such as:rules: bar/baz: errorThis is problematic because it’s possible that an unscoped plugin eslint-plugin-bar might exist and need to be configured in the same way.Important: Starting in this release, you should now configure scoped plugin rules using the scope as a prefix. The previous example should now be written as:rules: @foo/bar/baz: errorThe other format will continue work until we release ESLint v4.0.0, at which point only the format using the package scope will work. We encourage you to update your configuration files as quickly as possible so as not to be caught up in the change +
8年前
記事のアイキャッチ画像
ESLint v3.3.1 released
ESLint Blog
+Bug Fixesb9b3446 Fix: sort-keys ignores destructuring patterns (fixes #6896) (#6899) (Kai Cataldo)Documentation02a00d6 Docs: clarify rule details for no-template-curly-in-string (#6900) (not-an-aardvark)3fe3a4f Docs: Update options in object-shorthand (#6898) (Grant Snodgrass)Build Relateda2f06be Build: optimize rule page title for small browser tabs (fixes #6888) (#6904) (Vitor Balocco)Chorescd09c96 Chore: Use object-shorthand batch 2 (refs #6407) (#6897) (Kai Cataldo)2841008 Chore: Use object-shorthand batch 1 (refs #6407) (#6893) (Kai Cataldo)
8年前
記事のアイキャッチ画像
ESLint v3.3.0 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.Deprecated RulesIn continuing our work towards JSCS compatibility and reviewing the current rules list, we decided to deprecate several rules and replace them with new rules. In some cases there was just confusion about the existing rule and in others there were changes necessary for JSCS compatibility. Per our rule deprecation policy, the deprecated rules will remain as part of ESLint until at least May 2017, at which point we will evaluate removing those rules.We recommend you upgrade your configurations to use the new rules.Deprecated RuleReplaced Byno-native-reassign`no-global-assign’no-negated-in-lhs`no-unsafe-negation’no-spaced-func`func-call-spacing’New Rulessort-keysno-template-curly-in-stringFeaturese456fd3 New: sort-keys rule (fixes #6076) (#6800) (Toru Nagashima)f8ab8f1 New: func-call-spacing rule (fixes #6080) (#6749) (Brandon Mills)be68f0b New: no-template-curly-in-string rul +
8年前
記事のアイキャッチ画像
ESLint v3.2.2 released
ESLint Blog
Bug Fixes46b14cd Fix: ignore MemberExpression in VariableDeclarators (fixes #6795) (#6815) (Nicholas C. Zakas)Dependency Upgrades510ce4b Upgrade: file-entry-cache@^1.3.1 (fixes #6816, refs #6780) (#6819) (alberto)
9年前
記事のアイキャッチ画像
ESLint v3.2.1 released
ESLint Blog
+Bug Fixes4ca809e Fix: Normalizes messages so all end with a period (fixes #6762) (#6807) (Patrick McElhaney)c7488ac Fix: Make MemberExpression option opt-in (fixes #6797) (#6798) (Rich Trott)Documentation38d0d23 Docs: clarify minor releases and suggest using `~ to version (#6804) (Henry Zhu)715e8fa Docs: Update issue closing policy (fixes #6765) (#6808) (Nicholas C. Zakas)261a9f3 Docs: Update JSCS status in README (#6802) (alberto)5ae0887 Docs: Update no-void.md (#6799) (Daniel Hritzkiv)Build Related584577a Build: Pin file-entry-cache to avoid licence issue (refs #6816) (#6818) (alberto)288f7bf Build: Fix site generation (fixes #6791) (#6793) (Nicholas C. Zakas)
9年前
記事のアイキャッチ画像
ESLint v3.2.0 released
ESLint Blog
+Featuresb22eb5c New: no-tabs rule (fixes #6079) (#6772) (Gyandeep Singh)Enhancements26c85dd Update: merge warnings of consecutive unreachable nodes (fixes #6583) (#6729) (Toru Nagashima)5320a6c Update: no-use-before-define false negative on for-in/of (fixes #6699) (#6719) (Toru Nagashima)95ea25a Update: Check indentation of multi-line chained properties (refs #1801) (#5940) (Rich Trott)053aa0c Update: Added ‘allowSuper’ option to no-underscore-dangle (fixes #6355) (#6662) (peteward44)Bug Fixese825458 Fix: Rule no-unused-vars had missing period (fixes #6738) (#6739) (Brian Mock)106e40b Fix: Correct grammar in object-curly-newline reports (fixes #6725) (#6728) (Vitor Balocco)a2090cb Fix: space-infix-ops doesn’t fail for type annotations(fixes #5211) (#6723) (Nicholas C. Zakas)Documentation1025772 Docs: Add plugin example to disabling with comments guide (fixes #6742) (#6747) (Brandon Mills)628aae4 Docs: fix inconsistent spacing inside block comment (#6768) (Brian Jacobel)2983c32 Docs: Ad +
9年前
記事のアイキャッチ画像
ESLint v3.1.1 released
ESLint Blog
+Bug Fixes565e584 Fix: eslint:all causes regression in 3.1.0 (fixes #6687) (#6696) (alberto)cb90359 Fix: Allow named recursive functions (fixes #6616) (#6667) (alberto)3f206dd Fix: balanced false positive in spaced-comment (fixes #6689) (#6692) (Grant Snodgrass)9f96086 Fix: Escape control characters in XML. (fixes #6673) (#6672) (George Chung)Documentation57f1676 Docs: Add missing brackets from code examples (#6700) (Plusb Preco)Chores124f066 Chore: Remove fixable key from multiline-ternary metadata (fixes #6683) (#6688) (Kai Cataldo)
9年前
記事のアイキャッチ画像
JSCS End of Life +
ESLint Blog
+When we announced that JSCS was joining ESLint, it was with a stated support period for JSCS of three months. Those three months have now passed and JSCS is now considered fully deprecated.What End of Life MeansThe end of life for JSCS means:We will no longer be evaluating issues on JSCSPull requests to JSCS will no longer be reviewed or mergedThere will be no further JSCS releasesThe JSCS GitHub repo will remain available as an archive of the JSCS source codeThe JSCS website will remain available as an archive of JSCS documentationExisting versions of JSCS will continue to be available and functionalThe JSCS developers will now be focusing their time and energy on ESLint, including JSCS compatibility issues.JSCS Compatibility in ESLintWe have setup a milestone for tracking all of our JSCS compatibility issues. At the time of this post, we are at 20% complete and are continuing to make progress. If you’re a JSCS user, we can use your help to make sure you have the best possible experie +
9年前
記事のアイキャッチ画像
ESLint v3.1.0 released
ESLint Blog
+Features720686b New: endLine and endColumn of the lint result. (refs #3307) (#6640) (Toru Nagashima)8a263ae New: multiline-ternary rule (fixes #6066) (#6590) (Kai Cataldo)Enhancements38639bf Update: make no-var fixable (fixes #6639) (#6644) (Toru Nagashima)2ba75d5 Update: relax outerIIFEBody definition (fixes #6613) (#6653) (Stephen E. Baker)4adb15f Update: Add balanced option to spaced-comment (fixes #4133) (#6575) (Annie Zhang)e951303 Update: Adding new key-spacing option (fixes #5613) (#5907) (Kyle Mendes)Bug Fixese8f8c6c Fix: incorrect exitCode when eslint is called with --stdin (fixes #6677) (#6682) (Steven Humphrey)dfc20e9 Fix: no-unused-vars false positive in loop (fixes #6646) (#6649) (Toru Nagashima)a8b4e40 Fix: Install required eslint plugin for “standard” guide (fixes #6656) (#6657) (Feross Aboukhadijeh)baeb313 Fix: Warning behavior for executeOnText (fixes #6611) (#6632) (Nicholas C. Zakas)ca323cf Fix: Use default assertion messages (fixes #6532) (#6615) (Dmitrii Abramov)2b +
9年前
記事のアイキャッチ画像
ESLint v3.0.1 released
ESLint Blog
+Bug Fixes27700cf Fix: no-unused-vars false positive around callback (fixes #6576) (#6579) (Toru Nagashima)a2cfa1b Fix: Make outerIIFEBody work correctly (fixes #6585) (#6596) (Nicholas C. Zakas)de3ed84 Fix: make no-unused-vars ignore for-in (fixes #2342) (#6126) (Oleg Gaidarenko)6ef2cbe Fix: strip Unicode BOM of config files (fixes #6556) (#6580) (Toru Nagashima)25fc7b7 Fix: false negative of max-len (fixes #6564) (#6565) (not-an-aardvark)Documentation124d8a3 Docs: Pull request template (#6568) (Nicholas C. Zakas)e9a2ed9 Docs: Fix rules\id-length exceptions typos (fixes #6397) (#6593) (GramParallelo)9c451a2 Docs: Use string severity in example (#6601) (Kenneth Williams)7a63717 Docs: Add missing pull request step (fixes #6595) (#6597) (Nicholas C. Zakas)ee7fcfa Docs: Correct type of outerIIFEBody in indent (fixes #6581) (#6584) (alberto)f6b8452 Docs: Distinguish examples in rules under Stylistic Issues part 6 (#6567) (Kenneth Williams)Chores8308c0b Chore: remove path-is-absolute in favo +
9年前
記事のアイキャッチ画像
ESLint v3.0.0 released
ESLint Blog
+As breaking changes can cause problems for some users, we’ve created a migration guide describing the changes in great detail along with the steps you should take to address them. Not all ESLint users will be affected by the changes, however, we recommend everyone read the migration thoroughly.HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.Requires Node.js 4 or higherESLint v3.0.0 now requires Node.js 4 or higher. Going forward, our plan is always to support the LTS version of Node.js and periodically end-of-life support for older Node.js versions. As both Node.js v0.10 and v0.12 will be out of maintenance mode at the end of 2016, we hope that this change won’t affect too many users.If you still need ESLint to run on Node.js < 4, then we recommend staying with ESLint v2.13.1 until you are ready to upgrade your Node.js version.eslint:recommended UpdateWe’ve added some new rules to eslint:recommended that we believe are important for al +
9年前
記事のアイキャッチ画像
ESLint's New Rule Format
ESLint Blog
+When ESLint began three years ago, it was a much smaller project with a much smaller user base. The project has grown a lot since that time and, in order to help the project scale, we’ve invested a lot of time into automating as many processes as possible. For instance, our release process is now completely automated, including deciding what the next version number should be based on the commits going into the release. When we looked over the processes that are still manual, there was one that jumped out as a big pain point: keeping rule documentation in sync. This wasn’t a big problem when there were a dozen rules, but with over 200, this repeated process has become a big time commitment.So, for the first time, we’ve decided to change the rule format for ESLint. The change is fairly small and we’re hoping you’ll agree that it makes a lot of sense. The overall design goal was allow for meta data to be stored directly on the rules themselves. Doing so allows us to have one source of tru +
9年前
記事のアイキャッチ画像
ESLint v2.13.1 released
ESLint Blog
Bug Fixes434de7f Fix: wrong baseDir (fixes #6450) (#6457) (Toru Nagashima)3c9ce09 Fix: Keep indentation when fixing padded-blocks “never” (fixes #6454) (#6456) (Ed Lee)1e185b9 Fix: no-multiple-empty-lines errors when no line breaks (fixes #6449) (#6451) (strawbrary)Documentationa9d4cb2 Docs: Fix typo in max-params examples (#6471) (J. William Ashton)
9年前
+
記事のアイキャッチ画像
ESLint v2.13.0 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.Last 2.x ReleaseThis is the last planned 2.x release. The next scheduled release is 3.0.0, which contains several small breaking changes. While there are breaking changes, we expect the impact to users to be very minimal. You can review the 3.0.0 plan for more information.More AutofixingWe are continuing to add autofixing to more rules, and this release we added autofixing to object-shorthand, padded-blocks, and no-multiple-empty-lines.Enhancementsda30cf9 Update: Add fixer for object-shorthand (fixes #6412) (#6418) (Nick Heiner)1316db0 Update: Add never option for func-names (fixes #6059) (#6392) (alberto)1c123e2 Update: Add autofix for padded-blocks (fixes #6320) (#6393) (alberto)5122f73 Update: no-multiple-empty-lines fixer (fixes #6225) (#6226) (Ruurd Moelker)Bug Fixescf223dd Fix: add test for a syntax error (fixes #6013) (#6378) (Toru Nagashima)8ec89c8 Fix: --print-config return confi +
9年前
記事のアイキャッチ画像
ESLint v2.12.0 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.JSCS CompatibilityWe are continuing to work on compatibility with JSCS, and in this release we added two new rules that correspond to JSCS rules:max-lines - equivalent of maximumNumberOfLinesobject-curly-newline - equivalent of requirePaddingNewLinesInObjects and disallowPaddingNewLinesInObjectsIntroducing eslint:allWe’ve had numerous requests to provide a configuration that turns on all rules ESLint provides. You can now set extends in your configuration file equal to "eslint:all" to get every core rule enabled with their default settings.Important: This configuration is not recommended for production use because it changes with every minor and major version of ESLint. Use at your own risk.You can read more in the documentation.Performance ImprovementYou might have seen this case study of debugging a performance issue in ESLint at Google I/O. A pull request was filed during the talk that +
9年前
記事のアイキャッチ画像
ESLint v2.11.1 released
ESLint Blog
+Bug Fixes03beb27 Fix: no-useless-rename false positives (fixes #6266) (#6267) (alberto)113c1a8 Fix: max-statements-per-line false positive at exports (fixes #6264) (#6268) (Toru Nagashima)64b0d0c Fix: failed to parse /*eslint comments by colon (fixes #6224) (#6258) (Toru Nagashima)Build Relatedc8936eb Build: Don’t check commit count (fixes #5935) (#6263) (Nicholas C. Zakas)Documentationfe89037 Docs: Fix rule name in example (#6279) (Kenneth Williams)
9年前
記事のアイキャッチ画像
ESLint v2.11.0 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.JSCS CompatibilityWe’ve started our JSCS compatibility work by continuing to add new rules and rule options to fill in the gaps between what ESLint can do and what JSCS can do. This release includes the new no-useless-rename rule, which corresponds to the JSCS disallowIdenticalDestructuringNames.You can follow our progress on JSCS compatibility by looking at the milestone.New RulesThe new rules included in this release are:no-useless-renameunicode-bomno-prototype-builtinsFeaturesfea8fe6 New: no-useless-rename (fixes #6058) (#6249) (Kai Cataldo)088bda9 New: unicode-bom rule to allow or disallow BOM (fixes #5502) (#6230) (Andrew Johnston)04bd586 New: Disallow use of Object.prototype methods on objects (fixes #2693) (#6107) (Andrew Levine)Enhancements74c458d Update: key-spacing rule whitespace fixer (fixes #6167) (#6169) (Ruurd Moelker)53754ec Update: max in max-statements-per-line should be +
9年前
記事のアイキャッチ画像
ESLint v2.10.2 released
ESLint Blog
Bug Fixesbda5de5 Fix: Remove default parser from CLIEngine options (fixes #6182) (#6183) (alberto)Documentatione59e5a0 Docs: Describe options in rules under Possible Errors part 3 (#6105) (Mark Pedrotti)Build Related842ab2e Build: Run phantomjs tests using karma (fixes #6128) (#6178) (alberto)
9年前
記事のアイキャッチ画像
ESLint v2.10.1 released
ESLint Blog
+HighlightsThis release fixes an issue when using parser other than default one. And a few other minor issue found after the last release.Bug Fixes9397135 Fix: valid-jsdoc false positive at default parameters (fixes #6097) (#6170) (Toru Nagashima)2166ad4 Fix: warning & error count in CLIEngine.getErrorResults (fixes #6155) (#6157) (alberto)1e0a652 Fix: ignore empty statements in max-statements-per-line (fixes #6153) (#6156) (alberto)f9ca0d6 Fix: no-extra-parens to check for nulls (fixes #6161) (#6164) (Gyandeep Singh)d095ee3 Fix: Parser merge sequence in config (fixes #6158) (#6160) (Gyandeep Singh)f33e49f Fix: no-return-assign to check for null tokens (fixes #6159) (#6162) (Gyandeep Singh)
9年前
記事のアイキャッチ画像
ESLint v2.10.0 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.New RulesThis version introduces one new rule:object-property-newlineNew Rule OptionsA few rules got additional options:no-extra-parensno-irregular-whitespaceprefer-constobject-shorthandFeaturesf84eb80 New: Add new rule object-property-newline (fixes #5667) (#5933) (Vitor Balocco)Enhancements767da6f Update: add returnAssign option to no-extra-parens (fixes #6036) (#6095) (Kai Cataldo)0734967 Update: Add an option to prefer-const (fixes #5692) (#6040) (Toru Nagashima)7941d5e Update: Add autofix for lines-around-comment (fixes #5956) (#6062) (alberto)8633e4d Update: multipass should not exit prematurely (fixes #5995) (#6048) (alberto)3c44c2c Update: Adds an avoidQuotes option for object-shorthand (fixes #3366) (#5870) (Chris Sauvé)a3a6e06 Update: no-irregal-whitespace in a regular expression (fixes #5840) (#6018) (Linda_pp)Bug Fixes10b0933 Fix: Optimize no-irregular-whitespace for the commo +
9年前
記事のアイキャッチ画像
ESLint v2.9.0 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.Improved AutofixThis release features a new version of autofix. Now, when you use the --fix option, ESLint will make multiple passes over your code in an attempt to fix as many issues as possible. As a result, autofix will take more time now than it did previously, but we believe that this change will ultimately result in less developer time spent fixing things that can be automatically fixed by ESLint.Additionally, due to implementing multipass autofix, we were able to extend autofix to more rules. The following rules now will be autofixed:comma-dangleno-whitespace-before-propertyNew RulesThis version introduces some new rules:no-unsafe-finallyno-useless-computed-keyFeaturese606523 New: Rule no-unsafe-finally (fixes #5808) (#5932) (Onur Temizkan)a01b412 New: Add no-useless-computed-key rule (fixes #5402) (Burak Yigit Kaya)Enhancementse2ad1ec Update: object-shorthand lints computed method +
9年前
記事のアイキャッチ画像
ESLint Joins The jQuery Foundation
ESLint Blog
+I’ve believed for a while that once an open source project reaches a certain level of ubiquity, the maintainers have a responsibility to ensure its survival for the good of the community. Over the past couple of years, I watched as important projects hit roadblocks: YUI abruptly shut down, Node.js splintered before merging back together, and Express was left in a state of disarray. Communities were left scrambling, unsure what to rely on. During this time, I started formulating a plan for how to keep ESLint from falling into the same pattern.Today, ESLint joins the jQuery Foundation to ensure that the project will live on for as long as the community needs it. The jQuery Foundation has been a great home for projects like jQuery and Esprima, and after merging with the Dojo Foundation, is also the home of projects such as Lodash and Grunt. I’m proud to have ESLint listed alongside some of the most important and influential projects in the JavaScript ecosystem.From my perspective, ESLint +
9年前
記事のアイキャッチ画像
ESLint v2.8.0 released
ESLint Blog
+Enhancements76913b6 Update: Add metadata to existing rules - Batch 3 (refs #5417) (Vitor Balocco)fb3c2eb Update: allow template literals (fixes #5234) (Jonathan Haines)5a4a935 Update: Add metadata to existing rules - Batch 2 (refs #5417) (Vitor Balocco)f8db9c9 Update: add nestedBinaryExpressions to no-extra-parens (fixes #3065) (Ilya Volodin)0045d57 Update: allowNamedFunctions in prefer-arrow-callback (fixes #5675) (alberto)19da72a Update: Add metadata to existing rules - Batch 1 (refs #5417) (Vitor Balocco)24b6215 Update: Include ‘typeof’ in rule ‘no-constant-condition’ (fixes #5228) (Vamshi krishna)6fd7d82 Update: Change order in eslint --init env options (fixes #5742) (alberto)6703c02 Update: no-useless-escape / exact locations of errors (fixes #5751) (Onur Temizkan)b0e6bc4 Update: add allowEmptyCatch option to no-empty (fixes #5800) (Kai Cataldo)228f201 Update: commentPattern option for no-fallthrough rule (fixes #5757) (Artyom Lvov)2b202fc Update: Add ignore option to space-before +
9年前
記事のアイキャッチ画像
Welcoming JSCS To ESLint
ESLint Blog
+ESLint and JSCS started out at roughly the same time, just three weeks apart in 2013. Both teams had a similar idea: leverage the ecosystem of ESTree-compatible tools such as Esprima to create the next generation of static analysis tools for JavaScript. While ESLint’s primary goal was to create a linter with pluggable rules, JSCS’s primary goal was to codify style guides for easy verification and fixing. Both projects grew and became popular, and soon, we found ourselves playing catch up with each other for features.For nearly three years now, both teams have been working on solving the same types of issues: how to share configurations, how to autofix some problems, and how to enable the respective ecosystems to grow and thrive. We’ve been doing a lot of the same work in parallel, and recently the teams met to talk about that. We all came to the conclusion that it would be better to be one team, working together on solving these problems, rather than continuing to compete with one anot +
9年前
記事のアイキャッチ画像
ESLint v2.7.0 released
ESLint Blog
Bug Fixes161ddac Fix: remove console.dir (fixes #5770) (Toru Nagashima)0c33f6a Fix: indent rule uses wrong node for class indent level (fixes #5764) (Paul O’Shannessy)Documentation7e80867 Docs: Update sentence in fixable rules (Mark Pedrotti)4f93c32 Docs: Clarify array-bracket-spacing with newlines (fixes #5768) (alberto)
9年前
記事のアイキャッチ画像
ESLint v2.6.0 released
ESLint Blog
+Enhancements7aacba7 Update: Deprecate option maximum in favor of max (fixes #5685) (Vitor Balocco)9b73ffd Update: destructuring option of prefer-const rule (fixes #5594) (Toru Nagashima)24a61a4 Update: make no-useless-escape allowing line breaks (fixes #5689) (Toru Nagashima)f59d91d Update: no-param-reassign error msgs (fixes #5705) (Isaac Levy)8d0cd0d Update: Basic valid-jsdoc default parameter support (fixes #5658) (Tom Andrews)Bug Fixesce2accd Fix: vars-on-top now accepts exported variables (fixes #5711) (Olmo Kramer)5fe6fca Fix: no-useless-escape \B regex escape (fixes #5750) (Onur Temizkan)12902c5 Fix: valid-jsdoc crash w/ Field & Array Type (fixes #5745) (fixes #5746) (Burak Yigit Kaya)d736bc2 Fix: Treat SwitchCase like a block in lines-around-comment (fixes #5718) (Scott O’Hara)4ecd45e Fix: Ensure proper lookup of config files (fixes #5175, fixes #5468) (Nicholas C. Zakas)088e26b Fix: Update doctrine to allow hyphens in JSDoc names (fixes #5612) (Kai Cataldo)c1b16cd Fix: Object +
9年前
記事のアイキャッチ画像
Updated Rule Policy
ESLint Blog
+Rules have been at the core of ESLint since the very first release. We’ve gone through several development cycles of rules, first trying to replicate JSHint rules, creating ECMAScript 6 rules as best practices were being uncovered, shooting for feature parity with JSCS rules, and so on. Now, almost three years after ESLint was first created, we have over 200 rules in the core and continue to get new rule proposals every week.When ESLint began, we wanted to have a good mix of rules that caught potential errors as well as rules about code style. We never intended to cover everything everyone would want, but rather, we wanted to cover the most common concerns facing JavaScript developers and leave the rest to custom rules. That’s why ESLint has supported custom rules from the very first release: we knew that we could never provide the world with all of the rules that people would want, so the only real solution was to give everyone the ability to create their own rules.After a lot of deli +
9年前
記事のアイキャッチ画像
ESLint v2.5.3 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.Rolling Back of Bundled DependenciesIn v2.5.0, we started bundling dependencies with ESLint. The goal was to create a more stable ESLint package that was functional regardless of the state of npm. Unfortunately, this process turned out to be more complicated than we expected. As we continued to get bug reports over the past couple of days, we decided to revert the bundling of dependencies for now until we can investigate further.Bug Fixes98e6bd9 Fix: Correct default for indentation in eslint --init (fixes * #5698) (alberto)679095e Fix: make the default of options.cwd in runtime (fixes * #5694) (Toru Nagashima)c41fab9 Fix: don’t use path.extname with undefined value (fixes * #5678) (Myles Borins)Documentation1cc7f8e Docs: Remove mention of minimatch for .eslintignore (Ian VanSchooten)5bd69a9 Docs: Reorder FAQ in README (alberto)4f06f2f Docs: Distinguish examples in rules under Best Practic +
9年前
記事のアイキャッチ画像
ESLint v2.5.0 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.Node.js without OpenSSL CompatibilityPreviously, the --cache feature was using the Node.js crypto module to calculate hashes of files to determine which files had changed. Because of this, ESLint wouldn’t work on Node.js compiled without OpenSSL. We changed the --cache feature to use a third-party hash function instead, allowing us to remove our dependency on the Node.js crypto module and ensure ESLint works fine for Node.js without OpenSSL.Bundled DependenciesThis is the first version of ESLint that bundles its dependencies. Recent events have made it clear that for a development tool like ESLint, bundling dependencies makes a lot of sense. This will ensure a couple of things:That everyone using v2.5.0 of ESLint will be using the same dependencies, meaning that dependency updates won’t break a previously working ESLint version.We won’t fall victim to dependencies that were available at r +
9年前
記事のアイキャッチ画像
ESLint v2.4.0 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.babel-eslint Compatibility FixThe v2.3.0 release introduced a change that broke compatibility with babel-eslint. We realize that a lot of you depend on babel-eslint and so we wanted to make sure to restore compatibility as quickly as possible. We couldn’t undo the change that cause the problem as it would have caused a regression for ESLint, and it took us some time to figure out the right approach to solve the problem.With v2.4.0, babel-eslint compatibility is now restored with a permanent solution that should prevent this from happening again. We appreciate your patience as we tried to determine the best long-term solution.Features13ef1c7 New: add --parser-options to CLI (fixes #5495) (Jordan Harband)Enhancements9c6c70c Update: add allowParens option to no-confusing-arrow (fixes #5332) (Burak Yigit Kaya)Bug Fixes97b2466 Fix: estraverse/escope to work with unknowns (fixes #5476) (Nichola +
9年前
記事のアイキャッチ画像
ESLint v2.3.0 released
ESLint Blog
+HighlightsHere are some highlights of changes in this release.Support for string severity in configsv2.3.0 introduces ability to use strings as severity level in configuration files. Before you had to use number 0, 1 and 2 to configure rules. Now we also added ability to use strings. You can now use:off - 0warn - 1error - 2Both string and int values will work the same wayEcmaScript version 7 SupportWe recently updated our parser Espree with support for new exponentiation operator. You can now set ecmaVersion to 7 under parserOptions. We also updated space-infix-ops to support new ** operator.Improved error messaging for pluginsIf ESLint fails to find a plugin required by the config file, we will now print a clear message explaining to user what needs to be done to fix this issue.Features9e9daab New: newline-before-return rule (fixes #5009) (Kai Cataldo)560c0d9 New: no-restricted-globals rule implementation (fixes #3966) (Benoît Zugmeyer)Enhancements1b2c6e0 Update: Proposed no-magic-num +
9年前
記事のアイキャッチ画像
ESLint v2.2.0 released
ESLint Blog
+Features59e9c5b New: eslint-disable-next-line (fixes #5206) (Kai Cataldo)Bug Fixes2977248 Fix: Do not cache .eslintrc.js (fixes #5067) (Nick)211eb8f Fix: no-multi-spaces conflicts with smart tabs (fixes #2077) (Afnan Fahim)6dc9483 Fix: Crash in constructor-super (fixes #5319) (Burak Yigit Kaya)7020b82 Fix: sort-imports warned between default and members (fixes #5305) (Toru Nagashima)2f4cd1c Fix: constructor-super and no-this-before-super false (fixes #5261) (Toru Nagashima)afb6708 Fix: indent rule forgot about some CallExpressions (fixes #5295) (Burak Yigit Kaya)0b1cd19 Fix: Ignore parser option if set to default parser (fixes #5241) (Kai Cataldo)Documentation45a22b5 Docs: remove esprima-fb from suggested parsers (Henry Zhu)a4d9cd3 Docs: Fix semi rule typo (Brandon Mills)9d005c0 Docs: Correct option name in no-implicit-coercion rule (Neil Kistner)3f48875 Docs: Fix yield star spacing examples (Dmitriy Lazarev)4dab76e Docs: Update preferType heading to keep code format (fixes #5307) (chi +
9年前
記事のアイキャッチ画像
ESLint v2.1.0 released
ESLint Blog
+Enhancements0d6850e Update: Allow var declaration at end of block (fixes #5246) (alberto)Bug Fixesc9c34ea Fix: Skip computed members in newline-per-chained-call (fixes #5245) (Burak Yigit Kaya)29da8aa Fix: newline-after-var crash on a switch statement (fixes #5277) (Toru Nagashima)86c5a20 Fix: func-style should ignore ExportDefaultDeclarations (fixes #5183) (Burak Yigit Kaya)ba287aa Fix: Consolidate try/catches to top levels (fixes #5243) (Ian VanSchooten)c1e3a73 Fix: Popular style init handles missing package.json keys (refs #5243) (Brandon Mills)9078537 Fix: indent on variable declaration with separate array (fixes #5237) (Burak Yigit Kaya)44f6915 Fix: ESLint Bot mentions the wrong person for extra info (fixes #5229) (Burak Yigit Kaya)c612a8e Fix: no-empty-function crash (fixes #5227) (Toru Nagashima)980e139 Fix: Combine all answers for processAnswers (fixes #5220) (Ian VanSchooten)Documentation6580d1c Docs: Fix incorrect api.verify JSDoc for config param (refs #5104) (Burak Yigit Ka +
9年前
記事のアイキャッチ画像
ESLint v2.0.0 released
ESLint Blog
+In this announcement, we are including all changes from each of the release candidates to make it easier to see what changed from the release candidates to now.As there are a lot of changes, we’ve created a migration guide describing the changes in great detail along with the steps you should take to address them. Not all ESLint users will be affected by the changes, however, the changes are big enough that we recommend everyone read the migration thoroughly.HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.InstallingSince this is a major release version, you will not automatically be upgraded by npm in most cases. You must specify the latest tag when installing:npm i eslint@latest --save-devYou can also specify the version directly:npm i eslint@2.0.0 --save-devMigration GuideAs there are a lot of changes, we’ve created a migration guide describing the changes in great detail along with the steps you should take to address them. Not all +
9年前
記事のアイキャッチ画像
ESLint v2.0.0-rc.1 released
ESLint Blog
+Note: This version of ESLint is not ready for production use and is provided to gather feedback from the community before releasing the final version. Please let us know if you having any problems or feedback by creating issues.HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.InstallingSince this is a pre-release version, you will not automatically be upgraded by npm. You must specify the next tag when installing:npm i eslint@next --save-devYou can also specify the version directly:npm i eslint@2.0.0-rc.1 --save-devMigration GuideAs there are a lot of changes, we’ve created a migration guide describing the changes in great detail along with the steps you should take to address them. Not all ESLint users will be affected by the changes, however, the changes are big enough that we recommend everyone read the migration thoroughly.Code Path AnalysisESLint v2.0.0 formally introduces code path analysis. While we’ve tried to make best guesses +
9年前
記事のアイキャッチ画像
ESLint v2.0.0-rc.0 released
ESLint Blog
+Note: This version of ESLint is not ready for production use and is provided to gather feedback from the community before releasing the final version. Please let us know if you having any problems or feedback by creating issues.HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.InstallingSince this is a pre-release version, you will not automatically be upgraded by npm. You must specify the next tag when installing:npm i eslint@next --save-devYou can also specify the version directly:npm i eslint@2.0.0-rc.0 --save-devMigration GuideAs there are a lot of changes, we’ve created a migration guide describing the changes in great detail along with the steps you should take to address them. Not all ESLint users will be affected by the changes, however, the changes are big enough that we recommend everyone read the migration thoroughly.Code Path AnalysisESLint v2.0.0 formally introduces code path analysis. While we’ve tried to make best guesses +
9年前
記事のアイキャッチ画像
ESLint v2.0.0-beta.3 released
ESLint Blog
+Note: This version of ESLint is not ready for production use and is provided to gather feedback from the community before releasing the final version. Please let us know if you having any problems or feedback by creating issues.HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.InstallingSince this is a pre-release version, you will not automatically be upgraded by npm. You must specify the next tag when installing:npm i eslint@next --save-devYou can also specify the version directly:npm i eslint@2.0.0-beta.3 --save-devMigration GuideAs there are a lot of changes, we’ve created a migration guide describing the changes in great detail along with the steps you should take to address them. Not all ESLint users will be affected by the changes, however, the changes are big enough that we recommend everyone read the migration thoroughly.Code Path AnalysisESLint v2.0.0 formally introduces code path analysis. While we’ve tried to make best guesse +
9年前
記事のアイキャッチ画像
ESLint v2.0.0-beta.2 released
ESLint Blog
+Note: This version of ESLint is not ready for production use and is provided to gather feedback from the community before releasing the final version. Please let us know if you having any problems or feedback by creating issues.HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.InstallingSince this is a pre-release version, you will not automatically be upgraded by npm. You must specify the next tag when installing:npm i eslint@next --save-devYou can also specify the version directly:npm i eslint@2.0.0-beta.2 --save-devMigration GuideAs there are a lot of changes, we’ve created a migration guide describing the changes in great detail along with the steps you should take to address them. Not all ESLint users will be affected by the changes, however, the changes are big enough that we recommend everyone read the migration thoroughly.Code Path AnalysisESLint v2.0.0 formally introduces code path analysis. While we’ve tried to make best guesse +
9年前
記事のアイキャッチ画像
ESLint v2.0.0-beta.1 released
ESLint Blog
+Note: This version of ESLint is not ready for production use and is provided to gather feedback from the community before releasing the final version. Please let us know if you having any problems or feedback by creating issues.HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.InstallingSince this is a pre-release version, you will not automatically be upgraded by npm. You must specify the next tag when installing:npm i eslint@next --save-devYou can also specify the version directly:npm i eslint@2.0.0-beta.1 --save-devCode Path AnalysisESLint v2.0.0 formally introduces code path analysis. While we’ve tried to make best guesses at how execution flowed through code, there were several instances where we just couldn’t get everything correct. For instance, trying to guarantee that every code path contained a return statement. Fully implementing code path analysis means that we (and you, through custom rules) can now correctly understand how +
9年前
記事のアイキャッチ画像
ESLint v2.0.0-alpha-2 released
ESLint Blog
+Note: This version of ESLint is not ready for production use and is provided to gather feedback from the community before releasing the final version. Please let us know if you having any problems or feedback by creating issues.HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.InstallingSince this is a pre-release version, you will not automatically be upgraded by npm. You must specify the next tag when installing:npm i eslint@next --save-devYou can also specify the version directly:npm i eslint@2.0.0-alpha-2 --save-devCode Path AnalysisESLint v2.0.0 formally introduces code path analysis. While we’ve tried to make best guesses at how execution flowed through code, there were several instances where we just couldn’t get everything correct. For instance, trying to guarantee that every code path contained a return statement. Fully implementing code path analysis means that we (and you, through custom rules) can now correctly understand how +
9年前
記事のアイキャッチ画像
ESLint v2.0.0-alpha-1 released
ESLint Blog
+Note: This version of ESLint is not ready for production use and is provided to gather feedback from the community before releasing the final version. Please let us know if you having any problems or feedback by creating issues.HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.InstallingSince this is a pre-release version, you will not automatically be upgraded by npm. You must specify the next tag when installing:npm i eslint@next --save-devYou can also specify the version directly:npm i eslint@2.0.0-alpha-1 --save-devCode Path AnalysisESLint v2.0.0 formally introduces code path analysis. While we’ve tried to make best guesses at how execution flowed through code, there were several instances where we just couldn’t get everything correct. For instance, trying to guarantee that every code path contained a return statement. Fully implementing code path analysis means that we (and you, through custom rules) can now correctly understand how +
9年前
記事のアイキャッチ画像
Espree v3.0.0 Alpha 2 released
ESLint Blog
+InstallationSince Espree v3.0.0 is a prerelease version, you’ll need to install it using the @next tag:$ npm install espree@nextThe @latest tag is still on the latest v2.x version of Espree.Note: We are providing this release to gather feedback. Help out by filing issues if you find a problem.HighlightsHere are some highlights of changes in this release.Removal of most ecmaFeaturesWe introduced ecmaFeatures as a way to start incrementally implementing ECMAScript 6 at a time when it was constantly changing. We did this in order to allow people to start using those features that were ready without forcing usage of all features.Now that ES6 is finalized and all the features are implemented, most people are using all ES6 features and it’s a pain to have to manually configure them all. Additionally, there’s no good reason to turn on just some features and not all of them (as that’s not how the real world works).In this second alpha release, we’ve made the following changes:Introduced ecmaVe +
9年前
記事のアイキャッチ画像
Espree v3.0.0 Alpha 1 released
ESLint Blog
+InstallationSince Espree v3.0.0 is a prerelease version, you’ll need to install it using the @next tag:$ npm install espree@nextThe @latest tag is still on the latest v2.x version of Espree.Note: We are providing this release to gather feedback. Help out by filing issues if you find a problem.HighlightsHere are some highlights of changes in this release.Based on AcornIt was never our intention to maintain another JavaScript parser. When Espree was first introduced, Esprima development had stopped and it seemed like something need to fill that void. We forked Esprima to start Espree, and development went on from there. However, Esprima started development again and we resolved to fold Espree back into Esprima at some point. One of the big sticking points was the ability to switch on and off different language features. While such a capability was on the roadmap, it was very far off in the future, and we needed to make a decision.Ultimately, we found that Acorn already supported the hook +
9年前
記事のアイキャッチ画像
ESLint v1.10.3 released
ESLint Blog
Bug FixesFix: Add for-of to curly rule (fixes #4571) (Kai Cataldo)Fix: Ignore space before function in array start (fixes #4569) (alberto)DocumentationDocs: Update strict rule docs (fixes #4583) (Nicholas C. Zakas)Docs: Reference .eslintrc.* in contributing docs (fixes #4532) (Kai Cataldo)
9年前
記事のアイキャッチ画像
ESLint v1.10.2 released
ESLint Blog
+Bug FixesFix: lines-around-comment with multiple comments (fixes #3509) (alberto)Fix: Bugfix for eqeqeq autofix (fixes #4540) (Kevin Partington)Fix: Add for-in to curly rule (fixes #4436) (Kai Cataldo)Fix: valid-jsdoc unneeded require check fix (fixes #4527) (Gyandeep Singh)Fix: brace-style ASI fix for if-else condition (fixes #4520) (Gyandeep Singh)Fix: Incorrect location in no-fallthrough (fixes #4516) (alberto)Fix: no-spaced-func had been crashed (fixes #4508) (Toru Nagashima)Fix: Add a RestProperty test of no-undef (fixes #3271) (Toru Nagashima)DocumentationDocs: Load badge from HTTPS (Brian J Brennan)Dependency UpgradesUpgrade: escope@3.3.0 (refs #4485) (Nicholas C. Zakas)Upgrade: Pinned down js-yaml to avoid breaking dep (fixes #4553) (alberto)Upgrade: doctrine@0.7.1 (fixes #4545) (Kevin Partington)Build RelatedBuild: Add branch update during release process (fixes #4491) (Gyandeep Singh)Build: Allow revert commits in commit messages (fixes #4452) (alberto)Build: Update eslint bo +
9年前
記事のアイキャッチ画像
ESLint v1.10.1 released
ESLint Blog
Bug FixesFix: Revert freezing context object (refs #4495) (Nicholas C. Zakas)
9年前
記事のアイキャッチ画像
ESLint v1.10.0 released
ESLint Blog
+Note: This is the last scheduled release prior to v2.0.0. In the coming weeks, we will be focusing specifically on v2.0.0 and will be regularly releasing alpha versions for testing. These alpha versions are not suitable for use in a production environment and are provided primarily for getting early feedback.HighlightsHere are some highlights of changes in this release.Configuration File Formatsv1.10.0 introduces the ability to use configuration files in different formats. Instead of the regular .eslintrc file, you can use a JavaScript (.eslintrc.js), a YAML file (.eslintrc.yml or .eslintrc.yaml), or a JSON file (.eslintrc.json). We are formally deprecating use of the .eslintrc extensionless configuration file format in favor the format-specific versions. Don’t worry, we’ll still support .eslintrc files for a long time, but we’d like to encourage everyone to move to the new file formats as you’ll get advantages such as syntax highlighting and error detection with many editors. Read mor +
9年前
記事のアイキャッチ画像
ESLint v1.9.0 released
ESLint Blog
+HighlightsHere are some highlights of changes in this release.New Rulesno-case-declarationsBetter npm 3 SupportDue to the changes in dependency management in npm 3, some users were getting errors when attempting to run ESLint. We’ve updated our dependencies and ESLint should now work correctly for users of npm 3.FeaturesNew: Add no-case-declarations rule (fixes #4278) (Erik Arvidsson)EnhancementsUpdate: Make radix accept a “as-needed” option (fixes #4048) (Michał Gołębiowski)Update: Add default to max-nested-callbacks (fixes #4297) (alberto)Update: Add quotes to error messages to improve clarity (fixes #4313) (alberto)Update: Extract glob and filesystem logic from cli-engine (fixes #4305) (Ian VanSchooten)Update: Detect and fix wrong linebreaks (fixes #3981) (alberto)Bug FixesFix: Update the message to include number of lines (fixes #4342) (Brian Delahunty)Fix: Fixer to not overlap ranges among fix objects (fixes #4321) (Gyandeep Singh)Fix: Check comments in space-in-parens (fixes #430 +
9年前
記事のアイキャッチ画像
ESLint v1.8.0 released
ESLint Blog
+HighlightsHere are some highlights of changes in this release.New Rulesno-arrow-conditionarrow-body-styleAutofixingThe following rules have been updated to include autofixing:comma-spacingCaching EnhancementsIf you’ve been using the --cache feature, it will now optionally create a directory for your cache instead of a file. This change means that it’s possible to use a single cache for every project you work on rather than one cache per project.To facilitate this change, we are deprecating --cache-file in favor of --cache-location, which can accept either a file path or a directory (be sure to include the trailing slash to indicate a directory). The --cache-file flag will be removed in v2.0.0.Read more in the documentation.RuleTester EnhancementThe RuleTester just got a bit smarter. It will now verify that the AST was not modified during execution of a rule. This was added as it’s possible for rules to accidentally modify the AST during execution, and that modification can negatively a +
9年前
記事のアイキャッチ画像
ESLint v1.7.3 released
ESLint Blog
+Bug FixesFix: Support comma-first style in key-spacing (fixes #3877) (Brandon Mills)Fix: no-magic-numbers: variable declarations (fixes #4192) (Ilya Panasenko)Fix: Support ES6 shorthand in key-spacing (fixes #3678) (Brandon Mills)Fix: indent array with memberExpression (fixes #4203) (Gyandeep Singh)Fix: indent param function on sameline (fixes #4174) (Gyandeep Singh)Fix: no-multiple-empty-lines fails when empty line at EOF (fixes #4214) (alberto)Fix: comma-dangle false positive (fixes #4200) (Nicholas C. Zakas)Fix: valid-jsdoc prefer problem (fixes #4205) (Nicholas C. Zakas)Fix: correct no-multiple-empty-lines at EOF (fixes #4140) (alberto)DocumentationDocs: Add missing single-quote (Kevin Lamping)
9年前
記事のアイキャッチ画像
ESLint v1.7.2 released
ESLint Blog
Bug FixesFix: comma-dangle confused by parens (fixes #4195) (Nicholas C. Zakas)Fix: no-mixed-spaces-and-tabs (fixes #4189, fixes #4190) (alberto)Fix: no-extend-native disallow using Object.properties (fixes #4180) (Nathan Woltman)Fix: no-magic-numbers should ignore Number.parseInt (fixes #4167) (Henry Zhu)
9年前
記事のアイキャッチ画像
ESLint v1.7.1 released
ESLint Blog
Bug FixesFix: id-match schema (fixes #4155) (Nicholas C. Zakas)Fix: no-magic-numbers should ignore parseInt (fixes #4167) (Nicholas C. Zakas)Fix: indent param function fix (fixes #4165, fixes #4164) (Gyandeep Singh)
9年前
記事のアイキャッチ画像
ESLint v1.7.0 released
ESLint Blog
+HighlightsHere are some highlights of changes in this release.New Rulesno-empty-patternno-magic-numbersExtending JavaScript configsYou’ve always been able to use npm packages in the extends field of your configuration file. Now, you can directly link to JavaScript files in extends, allowing you to reference JavaScript configuration files directly even when they are not part of an npm package.FeaturesNew: Create eslint-config-eslint (fixes #3525) (Nicholas C. Zakas)New: add “consistent” option to the “curly” rule (fixes #2390) (Benoît Zugmeyer)New: no-empty-pattern rule (fixes #3668) (alberto)New: no-magic-numbers rule (fixes #4027) (Vincent Lemeunier)EnhancementsUpdate: Support .js files for config (fixes #3102) (Gyandeep Singh)Update: RuleTester allows string errors in invalid cases (fixes #4117) (Kevin Partington)Update: added exceptions to lines-around-comment rule. (fixes #2965) (Mathieu M-Gosselin)Update: Add matchDescription option to valid-jsdoc (fixes #2449) (Gyandeep Singh)Upd +
9年前
記事のアイキャッチ画像
ESLint v1.6.0 released
ESLint Blog
+HighlightsHere are some highlights of changes in this release.Autofixing of more rulesESLint v1.6.0 introduces several more autofixing rules to use with the --fix command line argument. In this release, we have implemented autofixing in these rules:space-unary-opscomputed-property-spacingno-multi-spacesobject-curly-spacingarray-bracket-spacinggenerator-star-spacingarrow-spacingblock-spacingWhen you run ESLint on the command line with the --fix flag, it will automatically fix any problems that it can (not all problems are fixable at once) and will not report the problems that were fixed.This feature is still considered experimental but is backed up by a lot of unit tests verifying correctness. Still, we expect to find some edge cases that we didn’t anticipate, so we’d appreciate your feedback.Limitations: the --fix flag does not work for piped-in text and has no effect on code that uses ESLint processors.FeaturesNew: no-negated-condition rule (fixes #3740) (alberto)EnhancementsUpdate: I +
9年前
記事のアイキャッチ画像
ESLint v1.5.1 released
ESLint Blog
+Bug FixesFix: valid-jsdoc fix for param with properties (fixes #3476) (Gyandeep Singh)Fix: valid-jsdoc error with square braces (fixes #2270) (Gyandeep Singh)Fix: space-before-keywords had been wrong on getters (fixes #3854) (Toru Nagashima)Fix: no-dupe-args had been wrong for nested destructure (fixes #3867) (Toru Nagashima)Fix: don’t ignore config if cwd is the home dir (fixes #3846) (Mathias Schreck)Fix: func-style had been warning arrows with this (fixes #3819) (Toru Nagashima)Fix: space-before-keywords; allow opening curly braces (fixes #3789) (Marko Raatikka)DocumentationDocs: io.js is the new Node.js (thefourtheye)Docs: Fix method signature on working-with-rules docs (fixes #3862) (alberto)Docs: Add related ternary links (refs #3835) (Ian VanSchooten)Dependency UpgradesUpgrade: doctrine to 0.7.0 (fixes #3891) (Gyandeep Singh)Build RelatedBuild: Fix broken .gitattributes generation (fixes #3566) (Nicholas C. Zakas)Build: Fix formatter docs generation (fixes #3847) (Nicholas C. Za +
9年前
記事のアイキャッチ画像
ESLint v1.5.0 released
ESLint Blog
+HighlightsHere are some highlights of changes in this release.Autofixing of more rulesESLint v1.5.0 introduces several more autofixing rules to use with the --fix command line argument. In this release, we have implemented autofixing in these rules:eol-lastindentno-extra-semino-spaced-funcno-trailing-spacesspace-after-keywordsspace-before-blocksspace-before-keywordsspace-infix-opsspace-return-throw-casespace-before-function-parenWhen you run ESLint on the command line with the --fix flag, it will automatically fix any problems that it can (not all problems are fixable at once) and will not report the problems that were fixed.This feature is still considered experimental but is backed up by a lot of unit tests verifying correctness. Still, we expect to find some edge cases that we didn’t anticipate, so we’d appreciate your feedback.Limitations: the --fix flag does not work for piped-in text and has no effect on code that uses ESLint processors.–debug FlagSometimes ESLint doesn’t do what +
9年前
記事のアイキャッチ画像
ESLint v1.4.3 released
ESLint Blog
Bug FixesFix: Directory ignoring should work (fixes #3812) (Nicholas C. Zakas)Fix: jsx-quotes exception for attributes without value (fixes #3793) (Mathias Schreck)
9年前
記事のアイキャッチ画像
ESLint v1.4.2 released
ESLint Blog
Bug FixesFix: Ensure **/node_modules works in ignore files (fixes #3788) (Nicholas C. Zakas)Fix: Ensure ./ works correctly with CLI (fixes #3792) (Nicholas C. Zakas)
9年前
記事のアイキャッチ画像
ESLint v1.4.1 released
ESLint Blog +
Bug FixesFix: CLIEngine default cache parameter name (fixes #3755) (Daniel G. Taylor)Fix: Glob pattern from .eslintignore not applied (fixes #3750) (Burak Yigit Kaya)Fix: Skip JSDoc from NewExpression (fixes #3744) (Nicholas C. Zakas)DocumentationDocs: Shorten and simplify autocomment for new issues (Nicholas C. Zakas)
9年前
記事のアイキャッチ画像
ESLint v1.4.0 released
ESLint Blog
+HighlightsThis release contains some exciting new features!Autofixing of some rulesESLint v1.4.0 introduces the --fix command line argument to automatically fix some rules. In this first release, we have implemented autofixing in three rules:semieqeqeqquotesWhen you run ESLint on the command line with the --fix flag, it will automatically fix any problems that it can (not all problems are fixable at once) and will not report the problems that were fixed.This feature is still considered experimental but is backed up by a lot of unit tests verifying correctness. Still, we expect to find some edge cases that we didn’t anticipate, so we’d appreciate your feedback.Limitations: the --fix flag does not work for piped-in text and has no effect on code that uses ESLint processors.Cached resultsIf you’re running ESLint on a large codebase, you may find it can take a significant amount of time. To help in those situations, we’ve introduced the --cache flag. When --cache is present, ESLint will ca +
9年前
記事のアイキャッチ画像
ESLint v1.3.1 released
ESLint Blog
Bug FixesFix: indent to not crash on empty files (fixes #3570) (Gyandeep Singh)Fix: Remove unused config file (fixes #2227) (Gyandeep Singh)
9年前
記事のアイキャッチ画像
ESLint v1.3.0 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.Using ASTs with the Node.js APIA long-requested feature was finally added for those using the Node.js API: the ability to pass ESLint an AST and retrieve an AST once ESLint is finished. There’s a new SourceCode type that encapsulates already-processed code, and a SourceCode object can now be passed to linter.verify() instead of text. For example:var linter = require("eslint").linter, SourceCode = require("eslint").SourceCode;var sourceCode = new SourceCode(someText, anAST), messages = linter.verify(sourceCode, config);Additionally, you can retrieve a SourceCode object from linter after linting is complete:var messages = linter.verify("var foo = bar"), sourceCode = linter.getSourceCode();sourceCode.ast; // the ASTsourceCode.text; // the original textThis should make it easier for tools using the Node.js API to avoid double-parsing of JavaScript code if they are already creating an AST.HTML +
9年前
記事のアイキャッチ画像
ESLint 1.2.1 released
ESLint Blog
+Bug FixesFix: “key-spacing” crashes eslint on object literal shorthand properties (fixes #3463) (Burak Yigit Kaya)Fix: object-curly-spacing shows the incorrect column for opening brace (fixes #3438) (Burak Yigit Kaya)Fix: prefer-arrow-callback false positive at recursive functions (fixes #3454) (Toru Nagashima)Fix: ignore leading space check for null elements in comma-spacing (fixes #3392) (Mathias Schreck)Fix: one-var rule doesn’t have default options (fixes #3449) (Burak Yigit Kaya)Fix: Refactor no-duplicate-case to be simpler and more efficient (fixes #3440) (Burak Yigit Kaya)DocumentationDocs: object-curly-spacing doc is inaccurate about exceptions (Burak Yigit Kaya)Docs: Fix trailing spaces in README (Nicholas C. Zakas)Docs: Update gyandeeps and add byk (Nicholas C. Zakas)Docs: Update plugins documentation for 1.0.0 (Nicholas C. Zakas)
9年前
記事のアイキャッチ画像
ESLint 1.2.0 released
ESLint Blog
+FeaturesNew: block-spacing rule (fixes #3303) (Toru Nagashima)New: no-dupe-class-members rule (fixes #3294) (Toru Nagashima)New: prefer-arrow-callback rule (fixes #3140) (Toru Nagashima)New: prefer-template rule (fixes #3014) (Toru Nagashima)New: Add commonjs environment (fixes #3377) (Nicholas C. Zakas)New: enable -c flag to accept a shareable config (fixes #2543) (Shinnosuke Watanabe)EnhancementsUpdate: Add support for Allman to brace-style rule, brackets on newline (fixes #3347) (Burak Yigit Kaya)Update: add support for semicolon in comma-first setup in indent rule (fixes #3423) (Burak Yigit Kaya)Update: allow disabling new-cap on object methods (fixes #3172) (Burak Yigit Kaya)Update: Clean up tests for CLI config support (refs #2543) (Gyandeep Singh)Update: Improve checkstyle format (fixes #3183) (Burak Yigit Kaya)Update: Improve error message for indent rule violation (fixes #3340) (Burak Yigit Kaya)Update: Improve validation error messages (fixes #3193) (Burak Yigit Kaya)Update: +
9年前
記事のアイキャッチ画像
ESLint 1.1.0 released
ESLint Blog
+FeaturesNew: Added grep-style formatter (fixes #2991) (Nobody Really)New: Jest environment (fixes #3212) (Darshak Parikh)EnhancementsUpdate: add new multi-or-nest option for the curly rule (fixes #1806) (Ivan Nikulin)Update: Added as-needed option to arrow-parens (fixes #3277) (Jamund Ferguson)Update: Expose getErrorResults as a static method on CLIEngine (fixes #3242) (Gyandeep Singh)Update: Expose getFormatter as a static method on CLIEngine (fixes #3239) (Gyandeep Singh)Update: Split out generic AST methods into utility (fixes #962) (Gyandeep Singh)Bug FixesFix: accessor-pairs false positive (fixes #3262) (Toru Nagashima)Fix: context.getScope() returns correct scope in blockBindings (fixes #3254) (Toru Nagashima)Fix: es6 env had been missing spread and newTarget (fixes #3281) (Toru Nagashima)Fix: eslint-env in comments had not been setting ecmaFeatures (fixes #2134) (Toru Nagashima)Fix: indent rule for multi-line objects and arrays (fixes #3236) (Gyandeep Singh)Fix: indent rule for +
10年前
記事のアイキャッチ画像
ESLint 1.0.0 released
ESLint Blog
+In this announcement, we are including all changes from each of the release candidates to make it easier to see what changed from the release candidates to now.As there are a lot of changes, we’ve created a migration guide describing the changes in great detail along with the steps you should take to address them. Not all ESLint users will be affected by the changes, however, the changes are big enough that we recommend everyone read the migration thoroughly.HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.InstallingSince this is a major release version, you will not automatically be upgraded by npm. You must specify the latest tag when installing:npm i eslint@latest --save-devYou can also specify the version directly:npm i eslint@1.0.0 --save-devNew Language Features1.0.0 has been upgraded to the latest version of Espree, which means you now have access to additional language features:newTarget allows you to use new.target in your code +
10年前
記事のアイキャッチ画像
ESLint 1.0.0-rc-3 released
ESLint Blog
+Note: This version of ESLint is not ready for production use and is provided to gather feedback from the community before releasing the final version. Please let us know if you having any problems or feedback by creating issues.HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.InstallingSince this is a pre-release version, you will not automatically be upgraded by npm. You must specify the next tag when installing:npm i eslint@next --save-devYou can also specify the version directly:npm i eslint@1.0.0-rc-3 --save-devMigration GuideAs there are a lot of changes, we’ve created a migration guide describing the changes in great detail along with the steps you should take to address them. Not all ESLint users will be affected by the changes, however, the changes are big enough that we recommend everyone read the migration thoroughly.New Language Features1.0.0-rc-2 has been upgraded to the latest version of Espree, which means you now have acc +
10年前
記事のアイキャッチ画像
ESLint 1.0.0-rc-2 released
ESLint Blog
+Note: This version of ESLint is not ready for production use and is provided to gather feedback from the community before releasing the final version. Please let us know if you having any problems or feedback by creating issues.HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.InstallingSince this is a pre-release version, you will not automatically be upgraded by npm. You must specify the next tag when installing:npm i eslint@next --save-devYou can also specify the version directly:npm i eslint@1.0.0-rc-2 --save-devMigration GuideAs there are a lot of changes, we’ve created a migration guide describing the changes in great detail along with the steps you should take to address them. Not all ESLint users will be affected by the changes, however, the changes are big enough that we recommend everyone read the migration thoroughly.New Language Features1.0.0-rc-2 has been upgraded to the latest version of Espree, which means you now have acc +
10年前
記事のアイキャッチ画像
ESLint 1.0.0-rc-1 released
ESLint Blog
+Note: This version of ESLint is not ready for production use and is provided to gather feedback from the community before releasing the final version. Please let us know if you having any problems or feedback by creating issues.HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.InstallingSince this is a pre-release version, you will not automatically be upgraded by npm. You must specify the next tag when installing:npm i eslint@next --save-devYou can also specify the version directly:npm i eslint@1.0.0-rc-1 --save-devMigration GuideAs there are a lot of changes, we’ve created a migration guide describing the changes in great detail along with the steps you should take to address them. Not all ESLint users will be affected by the changes, however, the changes are big enough that we recommend everyone read the migration thoroughly.New Language Features1.0.0-rc-1 has been upgraded to the latest version of Espree, which means you now have acc +
10年前
記事のアイキャッチ画像
ESLint 0.24.1 released
ESLint Blog
+Bug FixesFix: no-redeclare checks module scopes (fixes #2903) (Toru Nagashima)Fix: add destructuring support to comma-dangle rule (fixes #2911) (Mathias Schreck)Fix: Added missing export syntax support to the block-scoped-var rule. (fixes #2887) (Mathieu M-Gosselin)Fix: Include execScript in no-implied-eval rule (fixes #2873) (Frederik Braun)Fix: lines-around-comment was crashing in some cases due to a missing check (fixes #2892) (Mathieu M-Gosselin)Fix: max-len to report correct column number (fixes #2926) (Mathias Schreck)Fix: object-shorthand computed props (fixes #2937) (Jamund Ferguson)Fix: Remove invalid check inside getJSDocComment function (fixes #2938) (Gyandeep Singh)Fix: Revert 1-based column changes in tests for patch (refs #2284) (Nicholas C. Zakas)Fix: Shallow cloning issues in eslint config (fixes #2961) (Gyandeep Singh)Fix: Support class syntax for line-around-comment rule (fixes #2894) (Gyandeep Singh)Fix: Yoda should ignore comparisons where both sides are constants ( +
10年前
記事のアイキャッチ画像
Preparing for 1.0.0
ESLint Blog
+Creation of 0.x BranchThe 0.x branch on the public repo is a record of the last release of the 0.x version tree. The master branch will be the work for 1.0.0. If bug fixes or other changes are needed before 1.0.0 is ready, then those changes will be cherry-picked onto the 0.x branch and a release will be made from that.We do not plan on having a 0.25.0 release - this will only happen if 1.0.0 is significantly delayed.1.0.0 Release CandidatesBecause 1.0.0 is a major release with significant breaking changes, we will be doing several release candidates before finalizing the 1.0.0 release. We will do this periodically as changes are being merged. The intent is to give everyone a chance to try out the upgrade path and provide feedback. Release candidate version will be appended with rc- to indicate that these are not considered production-ready.1.0.0 Migration DocsWith each release candidate, we will update migrations documentation. The jump from 0.24.0 to 1.0.0 is a big one, and we’re loo +
10年前
記事のアイキャッチ画像
ESLint 0.24.0 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.1.0.0 Work Beginning0.24.0 is the last planned release prior to 1.0.0. We focused mostly on bug fixes and filling functionality gaps in this release, so we are better prepared for 1.0.0. We will still do bugfix releases as necessary, see the release plans for more information.New Rulesconstructor-super - ensures super() is called in derived class constructorsno-this-before-super - ensures this isn’t used before super in derived class constructorsno-unexpected-multiline - ensures function calls and property access are wholly on one linearray-bracket-spacing - ensures proper spacing of array literal bracketsBug FixesFix: no-extra-semi in class bodies (fixes #2794) (Toru Nagashima)Fix: Add --init to the CLI options (fixes #2817) (Gyandeep Singh)Fix: Allow blocked comments with markers and new-line (fixes #2777) (Gyandeep Singh)Fix: arraysInObjects for object-curly-spacing (fixes #2752) (Jamu +
10年前
記事のアイキャッチ画像
ESLint 0.23.0 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.Configuration ValidationThe biggest feature of this release is addition of rules configuration validation. Now if you accidentally included a non-existing option in a rule configurationyou will be notified about it when you run ESLint. This also works for inline configuration inside JavaScript files and for configuration passed on command line.Note that prior to this release, invalid rule options meant the rule would use its default options. This would happen without any warning, so improperly configured rules weren’t working as intended in previous releases. If you start getting warned about invalid rule configuration, be sure to consult the rule documentation to determine how to fix it.New RulesThree new rules were added in this releasecomputed-property-spacing - require or disallow padding inside computed properties (off by default)prefer-const - suggest using of const declaration for +
10年前
記事のアイキャッチ画像
ESLint 0.22.1 released
ESLint Blog
Build-RelatedBuild: Remove release notes auto-publish (refs #2640) (Ilya Volodin)
10年前
記事のアイキャッチ画像
ESLint 0.22.0 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.New RulesWe added 3 new rules to ESLint this release:lines-around-comment - Enforces empty lines around comments (off by default)accessor-pairs - Enforces getter/setter pairs in objects (off by default)object-curly-spacing - Disallow or enforce spaces inside of curly braces in objects.We also renamed existing rule no-empty-class to no-empty-character-class to prevent confusion with ES6 classesPreparation for configuration validationWe added rule schemas as well as schema validation, in preparation of enabling validation of .eslintrc configuration files.Bug FixesFix: “consistent-this” incorrectly flagging destructuring of this (fixes #2633) (David Aurelio)Fix: no-multiple-empty-lines and template strings (fixes #2605) (Jamund Ferguson)Fix: Shared config being clobbered by other config (fixes #2592) (Dominic Barnes)Fix: Improve around function/class names of no-shadow (fixes #2556, #2552) ( +
10年前
記事のアイキャッチ画像
ESLint 0.21.2 released
ESLint Blog
Bug FixesFix: one-var exception for ForStatement.init (fixes #2505) (Brandon Mills)Fix: Don’t throw spurious shadow errors for classes (fixes #2545) (Jimmy Jia)Fix: valid-jsdoc rule to support exported functions (fixes #2522) (Gyandeep Singh)Fix: Allow scoped packages in configuration extends (fixes #2544) (Eric Isakson)DocumentationDocs: Add chatroom to FAQ (Nicholas C. Zakas)Docs: Move Gitter badge (Nicholas C. Zakas)
10年前
記事のアイキャッチ画像
ESLint 0.21.1 released
ESLint Blog
+Bug FixesFix: --init indent setting (fixes #2493) (Nicholas C. Zakas)Fix: Allow comment before comma for comma-spacing rule (fixes #2408) (Gyandeep Singh)Fix: dot-location should use correct dot token (fixes #2504) (Mathias Schreck)Fix: Enable full support for eslint-env comments (refs #2134) (Ilya Volodin)Fix: forced no-shadow to check all scopes (fixes #2294) (Jose Roberto Vidal)Fix: loc obj in report fn expects column (fixes #2481) (Varun Verma)Fix: Not to override the required extended config object directly (fixes #2487) (Gyandeep Singh)Fix: rule no-duplicate-case problem with CallExpressions. (fixes #2499) (Matthias Osswald)Fix: Stop linebreak-style from crashing (fixes #2490) (James Whitney)Revert “Fix: sanitise Jekyll interpolation during site generation (fixes #2297)” (Nicholas C. Zakas)DocumentationDocs: Added Gitter badge (The Gitter Badger)Docs: added recursive function example to no-unused-vars (Jose Roberto Vidal)Docs: Fix typo (then -> than) (Vladimir Agafonkin)Docs: Fix +
10年前
記事のアイキャッチ画像
ESLint 0.21.0 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.Config InitializationSetting up a configuration file for the first time can be difficult, and we’re trying to make it easier. That’s why we’ve added the --init command line flag. Using this flag, you’ll be walked through a series of questions to setup the basic information in your config file. For example:$ eslint --init? What style of indentation do you use? Spaces? What quotes do you use for strings? Double? What line endings do you use? Unix? Do you require semicolons? Yes? Are you using ECMAScript 6 features? Yes? Where will your code run? Browser? Do you use JSX? No? What format do you want your config file to be in? YAMLSuccessfully created .eslintrc file in c:\Users\Nicholas\projects\personal\tmpWe hope this new feature will help get people started with ESLint faster.Config InheritanceAnother feature we’ve added is the ability to inherit configuration settings. Now, you can use ext +
10年前
記事のアイキャッチ画像
ESLint 0.20.0 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.Updating Rules for ECMAScript 6We’re still getting a fair number of bug reports related to specific ECMAScript 6 features. The good news is that the bug report rate has slowed dramatically, so we’re getting to a much more stable place in terms of ES6 support. Keep those bug reports coming!Scoped Plugin SupportThis release adds support for scoped npm modules (beginning with @eslint/, for example). This is a new feature that npm recently released, and we’re happy to follow up by allowing you to use scoped packages as ESLint plugins. See #2360 for more information.1.0.0 UpdateWith the ESTree changes in, we just have a few outstanding issues before releasing 1.0.0. Those issues are:#2302 - create a way to bootstrap .eslintrc files for new users#2284 - should we switch to using 1-based column numbers instead of 0-based column numbers?#2226 - split space-in-brackets rule; implement array-litera +
10年前
記事のアイキャッチ画像
ESLint 0.19.0 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.More ECMAScript 6 fixesThis release addresses the root cause of several issues related to ECMAScript 6 features. We previously were having a lot of trouble with scoping issues related to modules, destructuring, and destructured parameters. In this release, we fixed a whole host of such errors so our ES6 support should be really solid at this point.ESTree Support for Default and Rest ParametersThe big parser upgrade to support the ESTree format for default and rest parameters is now complete. You can feel free to create custom rules using these features and feel confident knowing that the AST format will not be changing.1.0.0 UpdateWith the ESTree changes in, we just have a few outstanding issues before releasing 1.0.0. Those issues are:#2284 - should we switch to using 1-based column numbers instead of 0-based column numbers?#2226 - split space-in-brackets rule; implement array-literal-sp +
10年前
記事のアイキャッチ画像
ESLint 0.18.0 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.More Changes to JSX/React handlingFollowing up on the removal of React semantics in 0.17.0, we discovered that there was some lingering pieces of code that were still looking at React semantics that had been missed. So, we removed those extra bits of code so that ESLint is now completely free of React semantics. We will parse JSX fine, but we are not applying any semantics to the syntax.If you’re using React and want proper handling of identifiers, please use the excellent eslint-plugin-react.Even More ECMAScript 6 fixesThe bug reports for ECMAScript 6 features are continuing to roll in, and we’re working quickly to address those bugs as they appear. The standardization of ECMAScript 6 and its ESTree representation means we can really dig in and finalize functionality now.Website ReorganizationA big part of this release has been the reorganization of eslint.org. All content is still avail +
10年前
記事のアイキャッチ画像
ESLint 0.17.1 released
ESLint Blog
+Bug FixesFix: block-scoped-var to work with classes (fixes #2048) (Nicholas C. Zakas)Fix: block-scoped-var to work with destructuring (fixes #2059) (Nicholas C. Zakas)Fix: Exempt \0 from no-octal-escape (fixes #1923) (Michael Ficarra)Fix: Method name resolution in complexity rule (fixes #2049) (Nicholas C. Zakas)Fix: no-func-assign should not fail on import declarations (fixes #2060) (Igor Zalutsky)Fix: no-redeclare should check Node.js scope (fixes #2064) (Nicholas C. Zakas)Fix: no-unused-vars crash from escope workaround (fixes #2042) (Brandon Mills)Fix: restrict dot-notation keywords to actual ES3 keywords (fixes #2075) (Michael Ficarra)Fix: rule no-duplicate-case problem with MemberExpressions. (fixes #2038) (Dieter Oberkofler)Fix: space-before-function-parentheses generator methods (fixes #2082) (Brandon Mills)Fix: yoda range exceptions with this (fixes #2063) (Brandon Mills)DocumentationDocs: Fix documentation on configuring eslint with comments (Miguel Ping)Docs: Update no-new d +
10年前
記事のアイキャッチ画像
ESLint 0.17.0 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.Changes to JSX/React handlingIn this release, we made the decision to stop supporting React semantics of JSX. We had previously been checking JSX for identifiers in our rules and realized we could only do that correctly by building-in knowledge of how React works. Such knowledge already hurt us when the semantics changed a bit, and we really didn’t want to find ourselves in that situation again.ESLint will continue to support JSX syntax but will no longer apply React semantics to that syntax. Since we know that many ESLint users want React semantics, we’ve ensured there’s a way for the excellent eslint-plugin-react to fill this gap. Specifically, we’ve added a new method that is available to rules that can indicate a variable has been used. Many of the React-based errors people were reporting related directly to interpretation of when variables had been used, and this change lets other pl +
10年前
記事のアイキャッチ画像
ESLint 0.16.2 released
ESLint Blog
+Bug FixesFix: Don’t warn about parens around yield (fixes #1981) (Nicholas C. Zakas)Fix: Ensure globalReturn isn’t on when node:false (fixes #1995) (Nicholas C. Zakas)Fix: Global block-scope-var check should work (fixes #1980) (Nicholas C. Zakas)Dependency UpgradesDowngrade: escope pegged to 2.0.6 (refs #2001) (Nicholas C. Zakas)Upgrade: escope to 2.0.7 (fixes #1978) (Nicholas C. Zakas)Upgrade: estraverse to latest for ESTree support (fixes #1986) (Nicholas C. Zakas)DocumentationDocs: Update descriptive text for --no-ignore option. (David Anson)
10年前
記事のアイキャッチ画像
ESLint 0.16.1 released
ESLint Blog
Bug FixesFix: Ensure all export nodes are traversable (fixes #1965) (Nicholas C. Zakas)Fix: Ensure class names are marked as used (fixes #1967) (Nicholas C. Zakas)Fix: Node.js scoping in block-scoped-var (fixes #1969) (Nicholas C. Zakas)Fix: remove typo that caused a crash (fixes #1963) (Fabricio C Zuardi)EnhancementsUpdate: Enable ES6 scoping for more options (Nicholas C. Zakas)DocumentationDocs: Added missing “are” (Sean Wilkinson)
10年前
記事のアイキャッチ画像
ESLint 0.16.0 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.Complete ECMAScript 6 support0.16.0 adds more language options for parsing JavaScript, including:ClassesModulesBoth of these options are off by default, and you can enable them in your configuration file. See Configuring ESLint for more information.Classes and modules follow the newly-standardized estree AST node structure, and so these changes may not be completely compatible with older parsers that have not yet upgraded.We’ve included a new es6 environment that enables all ECMAScript 6 features except modules. Since modules imply global strict mode, that puts the parser into a different mode. You’ll need to manually opt-in to using modules via ecmaFeatures.modules. So if you are using ECMAScript 6 modules in your project, you’ll want to enable the es6 environment in addition to ecmaFeatures.modules.Note: The AST structure for default parameters and rest parameters is still undergoing ch +
10年前
記事のアイキャッチ画像
ESLint 0.15.1 released
ESLint Blog
+Bug FixesFix: Allow globalReturn in consistent-return (fixes #1868) (Brandon Mills)Fix: check all semicolons in no-space-before-semi (fixes #1885) (Mathias Schreck)Fix: Refactor comma-spacing (fixes #1587, fixes #1845) (Roberto Vidal)Fix: semi rule should check throw statements (fixes #1873) (Mathias Schreck)DocumentationDocs: Add CustomInk to the list of companies (Derek Lindahl)Docs: Added HolidayCheck AG as user (0xPIT)Docs: Alphabetize project & company usage list (Derek Lindahl)Docs: Fix typo (Brenard Cubacub)Docs: fix typo (Henry Zhu)Build RelatedBuild: Fix release task (Nicholas C. Zakas)Dependency UpgradesUpgrade: chalk to 1.0.0 (Sindre Sorhus)
10年前
記事のアイキャッチ画像
ESLint 0.15.0 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.More Language Options0.15.0 adds more language options for parsing JavaScript, including:Spread operatorRest parametersDestructuringAll of these options are off by default, and you can enable them in your configuration file. See Configuring ESLint for more information.Note: The AST structure for default parameters and rest parameters is still undergoing change and discussion. We recommend not creating custom rules using default or rest parameters until after ESLint 1.0.0.New Rule: space-before-function-parenthesesWe had a significant gap in spacing after function names and before anonymous function parentheses. In order to cover this case, we removed checkFunctionKeyword option from space-after-keywords and deprecated space-after-function-name (it will be removed in 1.0.0). You should switch your code to use the new space-before-function-parentheses as soon as possible.1.0.0 UpdateWe’re v +
10年前
記事のアイキャッチ画像
ESLint 0.14.1 released
ESLint Blog
Bug FixesFix: Exit code should be 1 for any number of errors (fixes #1795) (Nicholas C. Zakas)Fix: Check indentation of first line (fixes #1796) (Nicholas C. Zakas)Fix: strict rules shouldn’t throw on arrow functions (fixes #1789) (Nicholas C. Zakas)
10年前
記事のアイキャッチ画像
ESLint 0.14.0 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.More Language Options0.14.0 adds more language options for parsing JavaScript, including:ECMAScript 6 arrow functionsGlobal return statements (for use with Node.js scripts)All of these options are off by default, and you can enable them in your configuration file. See Configuring ESLint for more information.ECMAScript 6 fixesWith the introduction of ECMAScript 6 features, a lot of bugs popped up that had to be tracked down. We fixed a large number of bugs related to ES6 features so things like variable scoping should be fairly accurate now.New Rule: indentA rule covering indentation has been one of our long-requested features since ESLint began. We ported the logic from JSCS into a new rule, indent. It has been modified so it’s not exactly the same, and although we provided incorrect attribution initially, that has been fixed to comply with JSCS’s licensing terms. We thank the JSCS team f +
10年前
記事のアイキャッチ画像
ESLint 0.13.0 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.More ECMAScript 6 support0.13.0 adds more support for several ECMAScript 6, including:Template stringsDefault parametersUnicode code point escapesAll of these options are off by default, and you can enable them in your configuration file. See Configuring ESLint for more information.Breaking: Block scopingAdditionally, 0.13.0 has full support for block scoping (let and const), so all scope-related rules should work the way you expect. This is a breaking change because if you were previously using let and const, the scope was being calculated incorrectly, and that may result in different behavior than in 0.13.0.Deprecating global-strict and no-extra-strictThe global-strict and no-extra-strict rules have been deprecated in favor of adding this functionality into the strict rule. We suggest you upgrade to using the updated strict rule as soon as possible. The global-strict and no-extra-strict +
10年前
記事のアイキャッチ画像
ESLint 0.12.0 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.Partial ECMAScript 6 support0.12.0 introduces support for several ECMAScript 6 features, including:let and constRegular expression y flagRegular expression u flagBinary literalsOctal literalsfor-ofGeneratorsObject literal syntax changesAll of these options are off by default, and you can enable them in your configuration file. See Configuring ESLint for more information.We also have two rules that are specific for ES6: no-var and generator-star.Known limitation: Block scope calculation doesn’t work yet for let and const. We are actively working on fixing that. This may affect rules like no-unused-vars until we resolve this (hopefully soon).JSX support0.12.0 also has full support for the JSX extension created by Facebook. ESLint now fully supports JSX natively (it’s not transformed before linting). JSX parsing is off by default, and you can enable it in your configuration file. This is bei +
10年前
記事のアイキャッチ画像
ESLint 0.11.0 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.New parser0.11.0 is the first version of ESLint to run on our own parser, Espree. Espree is currently configured to behave like Esprima 1.2.2, which was the parser that 0.10.0 was using, so you should see no differences in the behavior of ESLint related to the parser change.Making this change allowed us to fix a couple of bugs we’ve had open that were related to Esprima issues.ECMAScript 5 by defaultThis is the first release where we’ve started transitioning all settings to be ECMAScript 5 by default. ECMAScript 5 is the most widely-supported version of JavaScript, and so we want to assume ECMAScript 5 code and allow users to opt-in to ECMAScript 3 and ECMAScript 6 features.Part of this involved a change made for #1484, which updated the dot-notation rule to allow keywords be used (as allowed by ECMAScript 5 but not ECMAScript 3). The option allowKeywords was added with a default value of +
10年前
記事のアイキャッチ画像
Introducing Espree, an Esprima alternative
ESLint Blog
+Since ESLint’s very first release, we’ve built on top of the open source Esprima parser. Doing so allowed us to get a drop-in, production-ready parser on which we could built the linter of our dreams. That meant we could spend less time worrying about parsing JavaScript code and more time figuring out the best ways to work with that code. ESLint is built around the SpiderMonkey AST produced by Esprima and that decision served us well up until this point.Earlier this year as we were attempting to include ECMAScript 6 and JSX support in ESLint, we ran into a lot of problems. Esprima’s ECMAScript 6 support hadn’t been published and there hadn’t been a new release in several months. In the meantime, Facebook had created its own fork that had both ECMAScript 6 and JSX support, and so we attempted to use that instead, hoping for a drop-in replacement. Unfortunately, we found several key disparities between the way it worked and Esprima 1.2.2, the version upon which ESLint is currently based. +
10年前
記事のアイキャッチ画像
ESLint 0.10.2 released
ESLint Blog
Bug FixesFix: detect for…in in no-loop-func (fixes #1573) (Greg Cochard)Fix: operator-assignment addition is non-commutative (fixes#1556) (Brandon Mills)EnhancementsUpdate: simplify comma-spacing logic (fixes #1562) (Brandon Mills)
10年前
記事のアイキャッチ画像
ESLint 0.10.1 released
ESLint Blog
+Bug FixesFix: comma-spacing and comma-style to work with array literals (fixes #1492) (Nicholas C. Zakas)Fix: comma-spacing has false positives when parenthesis are used (fixes #1457) (Jamund Ferguson)Fix: prevent crash on empty blocks in no-else-return (fixes #1527) (Mathias Schreck)Fix: Restrict use-isnan violations to comparison operators. (Fixes #1535) (Jordan Harband)Fix: wrong op index in no-multi-spaces (fixes #1547) (Brandon Mills)Build ChangesBuild: Ensure changelog works with large semver versions (Nicholas C. Zakas)Build: Fix md to html conversion regex (fixes #1525) (Brandon Mills)Build: make the “gensite” target work when DOCS_DIR does not exist (fixes #1530) (Jeff Williams)DocumentationDocs: alphabetize the “Stylistic Issues” section (Jeff Williams)Docs: badges should only refer to master branch (Mathias Schreck)Docs: Fix v0.10.0 changelog (Nicholas C. Zakas)EnhancementsUpdate: better operator regex in use-isnan rule (fixes #1551) (Michael Ficarra)
10年前
記事のアイキャッチ画像
ESLint 0.10.0 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.Command Line InterfaceThe CLI for ESLint has been updated, including some breaking changes.First, the node_modules directory will automatically be ignored in all projects (#1163). This comes after finding that many projects added node_modules to their .eslintignore files and fielding many questions about why ESLint was slow (answer: because it was linting node_modules).Second, it’s now possible to lint files without an extension (#1131). All you have to do is pass them in on the command line, such as:eslint file-without-extESLint will not automatically lint files without extensions in directories that are passed on the command line. You can also pass files without a .js extension directly on the command line to lint them. In short, ESLint will lint anything you pass directly on the command line without question.Third, you can now specify alternate file extensions for ESLint to find when l +
10年前
記事のアイキャッチ画像
Announcing ES6 and JSX Support
ESLint Blog
+We’ve been working on #1291 for a while to see how we could add support for ECMAScript 6 and JSX into ESLint. While we were investigating adding ES6 support, we were also getting a fair amount of requests to add JSX support. We soon realized that Facebook’s Esprima fork that supports both ES6 and JSX would be the easiest way to move forward.This left us with some questions about how to support ES6 and JSX in ESLint without disrupting the user experience for those who don’t want support. When you are working in a strict ES5 environment, you don’t want ES6 and JSX patterns to be parsed as correct, you want a syntax error to be thrown. So a lot of the work has been going into thinking through this problem - ensuring those who want the support can get it while ensuring those who don’t will get the syntax errors that they expect.Work has begunBeginning today, work for integrating ES6 and JSX will begin. What that means is:Work begins on the es6jsx branch on the main ESLint repo.Development +
10年前
記事のアイキャッチ画像
ESLint 0.9.2 released
ESLint Blog
+Bug FixesFix: ! negates .eslintignore patterns (fixes #1093) (Brandon Mills)Fix: ‘.md’ to ‘.html’ with anchors (fixes #1415) (Nate-Wilkins)Fix: add severity flag for ignored file warning (fixes #1401) (Mathias Schreck)Fix: Allow line breaks in key-spacing rule (fixes #1407) (Brandon Mills)Fix: check switch statements in space-before-blocks (fixes #1397) (Mathias Schreck)Fix: disable colors during test run (fixes #1395) (Mathias Schreck)Fix: Keep sinon at ~1.10.3 (fixes #1406) (Brandon Mills)Fix: let fs.stat throw if a file does not exist (fixes #1296) (Mathias Schreck)Fix: Nested occurrences of no-else-return now show multiple reports (fixes #1369) (Jordan Hawker)EnhancementsUpdate: Option type for mixed tabs and spaces (fixes #1374) (Max Nordlund)FeaturesNew: add isPathIgnored method to CLIEngine (fixes #1392) (Mathias Schreck)DocumentationDocs: changing eslint to ESLint and add missing backtick (Mathias Schreck)Docs: Documents the functionality to load a custom formatter from a file +
10年前
記事のアイキャッチ画像
ESLint 0.9.1 released
ESLint Blog
Bug FixesFix: plugins without rulesConfig causes crash (fixes #1388) (Mathias Schreck)DocumentationDocs: fix link on governance model (azu)
10年前
記事のアイキャッチ画像
ESLint 0.9.0 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.PluginsPlugins can now be shipped with a default configuration specified. For more information, see the plugins documentation.Comma SpacingThere’s a new comma-spacing rule, so we removed comma spacing checks from space-infix-ops to consolidate that functionality.CLIEngine updatedThe CLIEngine object has been updated with more functionality for tools developers. You can now use it to lint plain text via a executeOnText() method and a getConfigForFile() method that returns the calculated configuration information for a given file. You can read more about this in the Node.js API documentation.Governance ModelWith this release, we’re introducing the ESLint Governance Model to help more people become involved with the project. The governance model establishes the rules by which contributors can increase their involvement with the project and influence its direction.Breaking ChangesBreaking: Re +
10年前
記事のアイキャッチ画像
ESLint 0.8.2 released
ESLint Blog
+Bug FixesFix: load .eslintrc from HOME (fixes #1262) (Beau Gunderson)Fix: Load .eslintrc in directory with $HOME as an ancestor (fixes #1266) (Beau Gunderson)Fix: strict should check function expressions (fixes #1244) (Brandon Mills)EnhancementsNew: add ignoreCase option to sort-vars (fixes #1272) (Mathias Schreck)New: Add sharable rule settings (fixes #1233) (Ilya Volodin)DocumentationDocs: add finally to space-after-keywords documentation (Mathias Schreck)Docs: add intellij plugin to integrations (ido)Docs: Changing NPM to npm (Peter deHaan)Docs: Fix broken Markdown on configuration page (Nicholas C. Zakas)Docs: Fix reference to wrong rule name (Harry Wolff)Docs: fix typo (Barry Handelman)Docs: fix typo in no-ex-assign documentation (Michael Ficarra)Docs: fix vars-on-top documentation (fixes #1234) (Mathias Schreck)Docs: Fixed a typo in brace-style.md (Anton Antonov)Docs: Update README with links and FAQs (Nicholas C. Zakas)Docs: Updated contribution guidelines to add accepted/bounty +
10年前
記事のアイキャッチ画像
ESLint 0.8.1 released
ESLint Blog
+Bug FixesFix: Ensure exit code is 1 when there’s a syntax error (fixes #1239) (Nicholas C. Zakas)Fix: vars-on-top directive support (fixes #1235) (Michael Ficarra)Fix: Avoid mutating node.range in max-len (fixes #1224) (Brandon Mills)EnhancementsUpdate: space-in-brackets to allow exceptions (fixes #1142) (Brandyn Bennett)DocumentationDocs: fix up vars-on-top documentation (fixes #1234) (Michael Ficarra)Docs: Typo, add missing quotation mark (Ádám Lippai)
10年前
記事のアイキャッチ画像
ESLint 0.8.0 released
ESLint Blog
+HighlightsThis is a summary of the major changes you need to know about for this version of ESLint.PluginsThis is the first version of ESLint that formally supports shareable plugins. Currently, plugins allow you to bundle several rules together and publish them on npm. This allows you to share groups of rules easily with others. Creating plugins is very simple:Create an npm package with the name eslint-plugin-{your plugin name} such as eslint-plugin-foo.Export an object that has a rules property. The rules property should contain keys that are your rule IDs and values that are the rule implementation.For more information, see the plugins documentation.Ignore filesDue to some feedback we received regarding .eslintignore files, we have decided to automatically duplicate and append /** to every entry in the file. This is to address the issue where simple directory names would not match files within that directory. For example, using node_modules/ would not ignore all files in node_module +
10年前
記事のアイキャッチ画像
ESLint 0.7.4 released
ESLint Blog
Bug FixesFix: Transform envs option to object in Config (Fixes #1064) (jrajav)DocumentationDocs: Fix ‘lintinging’ typo and ref links (Tom Vincent)
11年前
ESLint 0.7.3 released
ESLint Blog
Bug FixesUpdate: Address code review comment for strict rule (refs #1011) (Nicholas C. Zakas)Fix: Avoid double warnings for strict rule (fixes #1011) (Nicholas C. Zakas)Fix: Check envs for true/false (Fixes #1059) (jrajav)DocumentationDocs: Update copyright policy (Nicholas C. Zakas)Docs: Update documentation for max-len to include description of second option (fixes #1006) (Nicholas C. Zakas)
11年前
記事のアイキャッチ画像
ESLint 0.7.2 released
ESLint Blog
Bug FixesFix: no-mixed-spaces-and-tabs incorrectly flagging multiline comments (fixes #1055) (Nicholas C. Zakas)Fix: new-cap error that throws on non-string member (fixes #1053) (Nicholas C. Zakas)Fix: Always make globals an object (Fixes #1049) (jrajav)
11年前
記事のアイキャッチ画像
ESLint 0.7.1 released
ESLint Blog
+Due to npm’s security restrictions, we aren’t allowed to push a new 0.7.0 to the npm registry, which is why this version is 0.7.1.HighlightsThis is a summary of the major changes you need to know about for this version of ESLint..eslintignore ChangeAs we announced previously, the JSON format for .eslintignore files has been removed. Make sure to update your .eslintignore files appropriately.Configuration Changes0.7.1 formalizes how configuration works when there are multiple .eslintrc files. We have implemented configuration cascading, meaning that a .eslintrc file automatically inherits the settings from the .eslintrc file in its ancestor directories. This is how configuration was always envisioned to work in ESLint, but there were several bugs in the functionality. Because these bugs have been fixed, you may notice some different behavior with your current configuration settings. For more information on the configuration hierarchy, see the Configuration documentation.no-yoda is now y +
11年前
記事のアイキャッチ画像
Formatter Breaking Change
ESLint Blog
+What’s ChangingUp until this point, formatters were passed a config object that contained the calculated severity for each rule (error or warning) so that this information could be output. With 0.7.1, the severity will now be represented on each message itself as a severity property. All of the built-in formatters have been updated to reflect this change.Why Change?There were several bugs related to rules being output with the incorrect severity. The most recent was #983, which led to the discovery that the config object being passed around didn’t take into account inline rule severity changes. #985 implemented a change that placed the severity of the message directly onto the message object, meaning the config object was no longer necessary.The original plan was to deprecate the usage of the config object in formatters for 0.7.1 and remove it in 0.8.0. However, a major refactoring (#1013) led to a separation of responsibilities that made keeping this functionality as-is extremely diff +
11年前
記事のアイキャッチ画像
ESLint 0.6.2 released
ESLint Blog
+Deprecation NoticesReminder: The 0.6.x ESLint will be the last to support the deprecated JSON format for .eslintignore. This was deprecated in 0.5.1 and will be removed in 0.7.0. Please change your .eslintignore files to the new plain-text format. See #761.Complete ChangelogThe following is the complete list of changes in this version:Fix: Adding per-environment rule configs to docs and doc validation (Fixes #918) (jrajav)Docs: Updated contribution guidelines (Nicholas C. Zakas)Docs: Update description of eqeqeq to mention special cases (fixes #924) (Nicholas C. Zakas)Fix: block-scoped-var CatchClause handling (fixes #922) (Michael Ficarra)Fix: block-scoped-var respects decls in for and for-in (fixes #919) (Michael Ficarra)Update: Implement eqeqeq option “allow-null” (fixes #910) (Michał Gołębiowski)Fix: new-cap should allow non-alpha characters (fixes #897) (Michael Ficarra)Update: Refactor ESLintTester to fix dependency hell (fixes #602) (Nicholas C. Zakas)Fix: Merge configs with an +
11年前
記事のアイキャッチ画像
ESLint 0.6.1 released
ESLint Blog
Deprecation NoticesReminder: The 0.6.x ESLint will be the last to support the deprecated JSON format for .eslintignore. This was deprecated in 0.5.1 and will be removed in 0.7.0. Please change your .eslintignore files to the new plain-text format. See #761.UpgradesOptionator to 0.4.0 (#885)Complete ChangelogThe following is the complete list of changes in this version:Upgrade: Optionator to 0.4.0 (fixes #885) (Nicholas C. Zakas) +
11年前
記事のアイキャッチ画像
ESLint 0.6.0 released
ESLint Blog
+Deprecation NoticesThe 0.6.x ESLint will be the last to support the deprecated JSON format for .eslintignore. This was deprecated in 0.5.1 and will be removed in 0.7.0. Please change your .eslintignore files to the new plain-text format. See #761.Breaking Changesbrace-style now disallows block statements where curlies are on the same line. While not strictly a breaking change, it is a significant enough change to warrant being called out in this way. (#758)Node 0.8.x is no longer officially supported as of 0.6.0. We will no longer accept or fix bugs for Node 0.8.x.RulesBreaking: brace-style now disallows block statements where curlies are on the same line. While not strictly a breaking change, it is a significant enough change to warrant being called out in this way. (#758)New: default-case (#787)New: no-new-require (#847)New: space-after-keywords (#807)New: no-lonely-if (fixes #790) (Brandon Mills)New: no-restricted-modules (#791)New: no-inner-declarations (#587)Update: The default va +
11年前
記事のアイキャッチ画像
ESLint 0.5.1 released
ESLint Blog
+Deprecation NoticesWith this release, we are deprecating the JSON format for .eslintignore in favor of a plain-text format. The change was made in a backwards-compatible way, but JSON support will be removed in the future, so you should start converting your .eslintignore. See #761.Complete ChangelogThe following is the complete list of changes in this version:Fix general config not to be modified by comment config in files (fixes #806) (Aliaksei Shytkin)Docs: SVG badges (Ryuichi Okumura)fixes #804: clean up implementation of #803 (which fixed #781) (Michael Ficarra)Build: Fix perf test to take median of three runs (fixes #781) (Nicholas C. Zakas)Fix: --reset will now properly ignore default rules in environments.json (fixes #800) (Nicholas C. Zakas)Docs: Updated contributor guidelines (Nicholas C. Zakas)Added Mocha global variables for TDD style. Fixes #793. (Golo Roden)Rule: no-sequences (fixes #561) (Brandon Mills)Change .eslintingore to plain text (fixes #761) (Brandon Mills)Change +
11年前
記事のアイキャッチ画像
ESLint 0.5.0 released
ESLint Blog
+Special thanks to Brandon Mills and George Zahariev for their working on making the CLI even more awesome, and Michael Ficarra for his help and advice on improving runtime performance.Breaking ChangesIn previous versions, ESLint would read /*jshint node:true*/ and /*jslint node:true*/ to set the environment in files. This feature was undocumented and has been replaced with /*eslint-env node */ to set the environment in files. See #759.The 0.4.x releases of ESLint had a licensing issue with a dependency of Optionator that was had no license applied to it, making ESLint’s license picture a bit muddy. We upgraded to the latest version of Optionator, in which the offending module has been removed, returning ESLint’s license to pristine shape. Even though functionality did not change due to this, the license story for ESLint did, and so we consider it a breaking change.New RulesRule: valid-typeof by Ian Christian MyersRule ChangesFix: Make sure no-path-concat doesn’t flag non-concat operati +
11年前
記事のアイキャッチ画像
ESLint 0.4.5 released
ESLint Blog
+Breaking ChangesThere are no breaking changes in this release.Complete ChangelogThe following is the complete list of changes in this version:Build: Add perf check into Travis build to better monitor performance regressions (fixes #732) (Nicholas C. Zakas)Fix: Make sure semi reports correct location of missing semicolon (fixes #726) (Nicholas C. Zakas)Add --no-eslintrc cli flag (ref #717) (Brandon Mills)Fix #716 crash with reset flag (Brandon Mills)Docs: Fixed JSON formatting and highlighting (Anton Rudeshko (Tesla))fixes #723: block-scoped-var throws on unnamed function expression (Michael Ficarra)Fix: Make stroustrup brace-style closing message make sense (fixes #719) (Nicholas C. Zakas)Fix: no-comma-dangle reports correct line number (Andrey Popp)Upgrade: Esprima to 1.1.1 and EScope to 1.0.1 (fixes #718) (Nicholas C. Zakas)CLI: Add reset cli flag (refs #692) (Brandon Mills)Relax eqeqeq null check (fixes #669) (Brandon Mills)New Rule: handle-callback-err (fixes #567) (Jamund Ferguson +
11年前
記事のアイキャッチ画像
ESLint 0.4.4 released
ESLint Blog
+Breaking ChangesThere are no breaking changes in this release.Complete ChangelogThe following is the complete list of changes in this version:Fix no-used-vars to report FunctionExpression params (fixes #697). (Andrey Popp)fixes #711: eslint reports wrong line number for files with shebang (Michael Ficarra)Fix for no-unused-vars and MemberExpression (Andrey Popp)added no-warning-comments rule (Alexander Schmidt)fixes #699: brace-style does not check function expressions (Michael Ficarra)rewrite block-scoped-var (Michael Ficarra)recommend using hasOwnProperty from Object.prototype in guard-for-in docs (Michael Ficarra)change conf/environments.json spacing to be simpler and more consistent (Michael Ficarra)Update API to use context.getFilename() instead of .filename. (Loren Segal)Small changes, JSDoc is clarified (Aliaksei Shytkin)Move FileFinder to separate file (Aliaksei Shytkin)Cache if file is not found (Aliaksei Shytkin)Use cache on config files seach (Aliaksei Shytkin)Added .eslinti +
11年前
記事のアイキャッチ画像
ESLint 0.4.3 released
ESLint Blog
+Breaking ChangesThere are no breaking changes in this release.Complete ChangelogThe following is the complete list of changes in this version:fixes #682: rewrite no-constant-condition rule (Michael Ficarra)Fixes #673 allow configuration of @return errors via requireReturn - (fixes #673) (Brian Di Palma)Tweaking inline code formatting for “if, while, dowhile” (Peter deHaan)Fixes #677 getJSDocComment() should not search beyond FunctionExpression or FunctionDeclaration parent nodes. (Brian Di Palma)Relaxed enforcement of camelcase rule (Ian Christian Myers)Fixing issue #675. Incorrect triggering of no-else-return rule. (Brian Di Palma)Added style option for wrap-iife (Mathias Schreck)Fix: Issues with named function expressions in no-unused-vars and no-shadow (fixes #662) (Nicholas C. Zakas)Update: camelcase rule now doesn’t flag function calls (fixes #656) (Nicholas C. Zakas)Updating documentation description for: no-space-before-semi rule, changing rules to exempt strings with semicolons +
11年前
記事のアイキャッチ画像
ESLint 0.4.2 released
ESLint Blog
+Breaking ChangesThere are no breaking changes in this release.Complete ChangelogThe following is the complete list of changes in this version:fixes #651: disable no-catch-shadow rule in node environment (Michael Ficarra)Fixed context.report message parsing (fixes #650) (Ian Christian Myers)fixes #648: wrap-iife rule should actually check that IIFEs are wrapped (Michael Ficarra)Added “stroustrup” option for brace-style (Ian Christian Myers)
11年前
記事のアイキャッチ画像
ESLint 0.4.0 released
ESLint Blog
+Configuration FilesConfiguration files can now be written in YAML. This includes .eslintrc files.All configuration files can be in either JSON or YAML format, no special indicator of the format is necessaryCoreBreaking Change: Changed :after in node selectors to be :exit insteadSwitch to using optionator instead of optimist for CLI inputSplit out ESLintTester into its own repository (https://github.com/eslint/eslint-tester)CLI used to output a single blank line when there were no errors, now it doesn’t output anything in this casePerformanceImplementing benchmarks to help identify performance bottlenecksRefactoring allowed a 400-700ms improvement on our benchmarksRulesBreaking Change: unnecessary-strict rule was renamed to no-extra-strictBreaking Change: regex-spaces rule was renamed to no-regex-spacesBreaking Change: no-new-array rule was renamed to no-array-constructorNew Rule: valid-jsdoc (fixes #536) (Nicholas C. Zakas)New Rule: func-names (fixes #595) (Kyle Nunery)New Rule: no-ext +
11年前
記事のアイキャッチ画像
ESLint 0.3.0 released
ESLint Blog
+Configuration FilesBreaking Change: Removed the ability to use JavaScript as a configuration file format (more info)Added the ability to use JavaScript-style comments in configuration files.Added support for .eslintignore filesAllow configuration files to have any extension and assume they contain JSONFormattersBreaking Change: Switched to using stylish format as the default for ESLint (more info)Merged stylish formatter into the main repositoryAdded the rule ID to all formatter output to more easily identify which rule is causing a warningCoreAdded the ability to traverse comment nodes in rulesIgnore shebangs in JavaScript files so ESLint can validate all Node.js filesRulesBreaking Change: unnecessary-strict rule was renamed to no-extra-strictno-empty now disallows empty catch blocks when a finally block is presentno-unused-vars was incorrectly reporting function expressions weren’t used when method calls were made on them - this was fixedbrace-style was incorrectly reporting a violat +
11年前
記事のアイキャッチ画像
Breaking change to ESLint config files
ESLint Blog
+In previous versions of ESLint, it was possible to use JavaScript files as configuration files on the command line, such as:eslint -c config.js file-to-lint.jsConfiguration files written in JavaScript looked like this:module.exports = { rules: { semi: 2 }};The capability to use JavaScript files as configuration files is being removed in version 0.3.0. All configuration files must be in JSON format from now on.Why the change?The ability to use JavaScript configuration files was an unintended consequence of using require() as a shortcut for loading JSON files. Because require() will automatically parse files ending with a .json extension into JSON objects, this shortcut was used as a convenience. Unfortunately, this also limited the ability to name configuration files with a different extension (see related issue).Since JavaScript configuration files were never officially supported, and JSON files are supposed to be the format of choice for configuration files in ESLint, we made the deci +
11年前
記事のアイキャッチ画像
Breaking change to ESLint default formatter
ESLint Blog
+Up until this point, the default formatter was the “compact” formatter, which outputs data such as:foo.js: line 5, col 10, Error - Unexpected foo. (foo)foo.js: line 6, col 11, Warning - Unexpected bar. (bar)\n\n2 problemsBeginning with the next version of ESLint, the default formatter will be “stylish”, and that outputs information such as:foo.js 5:10 error Unexpected foo foo 6:11 warning Unexpected bar bar2 problemsWe think the stylish formatter is a much better user experience for those using the command line manually, making it easier to see which files are causing which problems.What breaks?It has come to our attention that some tools are using ESLint on the command line, assuming that the compact formatter is being used, and then processing that information into another format. If you are using ESLint in this way, you should update your tool immediately to specify the compact formatter instead of just using the default:eslint -f compact foo.jsThis works equally well with older and +
11年前
\ No newline at end of file diff --git a/blogs/ba632c63f840a9a154e3bad5764e8f48/index.html b/blogs/ba632c63f840a9a154e3bad5764e8f48/index.html new file mode 100644 index 000000000000..a58ce991dbde --- /dev/null +++ b/blogs/ba632c63f840a9a154e3bad5764e8f48/index.html @@ -0,0 +1,39 @@ +Maxim Orlovのフィード|JSer.info Watch List RSS

Maxim Orlov

https://maximorlov.com/

A collection of articles, tips and free goodies you shouldn't miss.

フィード

記事のアイキャッチ画像
14 Linting Rules To Help You Write Asynchronous Code in JavaScript
Maxim Orlov
A compiled list of linting rules to specifically help you with writing asynchronous code in JavaScript and Node.js.
5ヶ月前
記事のアイキャッチ画像
One or Two-Column Resumes: Best Choice for Aspiring Web Developers
+Maxim Orlov
Which resume layout is more likely to increase your chances of securing a job interview?
1年前
記事のアイキャッチ画像
ESLint Setup in Node.js: A Detailed Guide
Maxim Orlov
Unlock the power of ESLint in Node.js! Dive into this beginner-friendly guide for seamless integration and smarter coding.
1年前
記事のアイキャッチ画像
Understanding "Property of Undefined" TypeError in JavaScript
Maxim Orlov
Demystifying the often-misleading "TypeError: can't access property of undefined" in JavaScript.
1年前
記事のアイキャッチ画像
Navigate New Codebases Like a Seasoned Pro
Maxim Orlov
Learn practical tips to quickly understand new codebases, gain confidence, and become an indispensable asset to your team.
1年前
記事のアイキャッチ画像
Unfinished Projects on Resume: Wise or Not?
Maxim Orlov
+Should you add unfinished projects to your resume? If so, at what stage of the app's development is it appropriate?
2年前
記事のアイキャッチ画像
Should You Use char, varchar, or text in PostgreSQL?
Maxim Orlov
What are the differences between char, varchar, and text in PostgreSQL, and which one should you choose?
2年前
記事のアイキャッチ画像
7 Awesome Free APIs for Your Next Node.js Project
Maxim Orlov
Stop overthinking what you should build next and start creating awesome Node.js portfolio projects to showcase your skills.
2年前
記事のアイキャッチ画像
Backend Portfolio Projects for Developers Who Dread CSS
Maxim Orlov
Create a beautiful portfolio of backend projects that put your best foot forward without writing a single line of CSS.
2年前
記事のアイキャッチ画像
3 Reasons Why Async/Await Is Better Than Chaining Promises
Maxim Orlov
+Why use async/await when you can use promises instead? Here's why async/await excels at asynchronous JavaScript code.
2年前
記事のアイキャッチ画像
Using Callbacks With Async/Await
Maxim Orlov
How do you make a callback-based asynchronous function work nicely with async/await? You promisify it.
2年前
記事のアイキャッチ画像
Avoid This Mistake When Caching Asynchronous Results
Maxim Orlov
Caching is hard. Caching asynchronous results is even harder. Learn how to properly cache promise results in JavaScript.
2年前
記事のアイキャッチ画像
Understanding Async & Await
Maxim Orlov
Async/await can be intimidating. With a little guidance, you can write modern asynchronous JavaScript code that just works.
2年前
記事のアイキャッチ画像
Why Async/Await Inside forEach Is a Bad Idea
Maxim Orlov
Using async/await inside forEach often leads to confusion. Here is how to run multiple asynchronous tasks instead. +
2年前
記事のアイキャッチ画像
Why You Shouldn't Mix Promise.then() With Async/Await Syntax
Maxim Orlov
Mixing Promise.then() with async/await syntax is a recipe for bugs. Here's why you should avoid it and what to do instead.
2年前
記事のアイキャッチ画像
Run Concurrent Tasks With a Limit Using Pure JavaScript
Maxim Orlov
Run asynchronous tasks with a concurrency limit without having to rely on an external library.
3年前
記事のアイキャッチ画像
How Do You Start a Node.js Server in Production?
Maxim Orlov
Confidently start a Node.js app that's always available to serve incoming requests, just like you programmed it.
3年前
記事のアイキャッチ画像
A Memory Trick To Remember When to Use for...of vs for...in
Maxim Orlov
When should you use for...of vs for...in? This neat memory trick has saved me countless Google searches.
3年前
記事のアイキャッチ画像
Synchronous vs Asynchronous Callbacks
Maxim Orlov
Improve your understanding of asynchronous code by learning the difference between synchronous and asynchronous callbacks.
3年前
記事のアイキャッチ画像
The Talk That Made Me Finally Understand How the Event Loop Works
Maxim Orlov
What is the event loop and how does it work? After this talk I finally understood asynchronous code in JavaScript/Node.js.
3年前
記事のアイキャッチ画像
A Visual Guide to Refactoring Callback Functions to Promises & Async/await
Maxim Orlov
Nested callbacks can be stressful. Use this technique to confidently refactor messy callbacks into clean async/await.
4年前
記事のアイキャッチ画像
Why Storing Files in the Database Is Considered Bad Practice
Maxim Orlov
Everyone says you shouldn't store files in the database, but why? Find out why and learn a better approach to file storage.
4年前
記事のアイキャッチ画像
Send a File With Axios in Node.js
Maxim Orlov
Everything you need to know about sending files with axios in Node.js — from creating a form to setting the right headers.
4年前
記事のアイキャッチ画像
Fix "Unexpected field" Error From Multer
Maxim Orlov
Learn how to decypher & fix this cryptic error message from multer, and finally implement working file uploads in Node.js.
4年前
記事のアイキャッチ画像
Why Your calc() Function in CSS Might Be Broken
Maxim Orlov
+You've fiddled with calc() a dozen times. Learn the common mistake devs make with math in CSS and finally fix your issue.
4年前
記事のアイキャッチ画像
Logging with Pino and AsyncLocalStorage in Node.js
Maxim Orlov
From a lousy dump of debug statements to a powerful debugging tool. Learn how to apply contextual logging in Node.js.
4年前
記事のアイキャッチ画像
ES Modules in Node.js
Maxim Orlov
My notes on the ES Modules in Node.js presentation by Gil Tayar at Nodeconf Remote.
4年前
記事のアイキャッチ画像
Getting Started with Eleventy
Maxim Orlov
My notes on the Egghead course "Getting Started with Eleventy" by Khaled Garbaya.
4年前
記事のアイキャッチ画像
Node.js 15 Is Out! What Does It Mean for You?
Maxim Orlov
How does this new major release affect you? Find out what the breaking changes are and how to use the new features.
4年前
記事のアイキャッチ画像
Set up Automated Deployments From Github With Webhook
Maxim Orlov
Set up Heroku-like auto-deployments on your server. Redeploy every time you push to your Github repository.
4年前
記事のアイキャッチ画像
Fix "Permission Denied" Error From Github
Maxim Orlov
Random Github errors are frustrating. Here's how to fix them so you can get on with your day.
4年前
記事のアイキャッチ画像
4 Essential Steps to Securing a VPS
Maxim Orlov
+How do you protect your data and keep the bad guys out? Secure your server with these 4 simple steps.
5年前
記事のアイキャッチ画像
Deploying to Github Pages? Don't Forget to Fix Your Links
Maxim Orlov
Deployed to Github Pages but your site suddenly stopped working? Here's what you you should do to fix your site.
5年前
記事のアイキャッチ画像
Host Your Personal Projects on a Single VPS
Maxim Orlov
How do you serve multiple apps from one VPS? Save money and learn valuable skills by hosting your projects on a VPS.
5年前
記事のアイキャッチ画像
From PM2 to Docker: Cluster Mode
Maxim Orlov
How do you cluster a Node.js app that lives inside a container? Learn how to utilise all CPU cores with Docker.
5年前
記事のアイキャッチ画像
From PM2 to Docker: Automatic Restarts
Maxim Orlov
+Migrating from PM2 to Docker? Curious if Docker can live up to PM2? Let's compare automatic restarts between the two tools.
5年前
記事のアイキャッチ画像
Install MySQL With PhpMyAdmin Using Docker
Maxim Orlov
Setup MySQL and phpMyAdmin with Docker quickly with a single command without bloating your machine.
5年前
記事のアイキャッチ画像
Docker Compose Syntax: Volume or Bind Mount?
Maxim Orlov
Docker Compose syntax for volumes is confusing. After reading this article you won't have to guess anymore.
5年前
記事のアイキャッチ画像
4 Reasons Why Your Docker Containers Can't Talk to Each Other
Maxim Orlov
Avoid wasted hours spent on debugging container networking issues by trying these 4 troubleshooting steps.
5年前
記事のアイキャッチ画像
Automate Your Docker Deployments
Maxim Orlov
+How do you deploy with Docker? In this tutorial, you're going to learn a straightforward way to automate your deployments.
5年前
記事のアイキャッチ画像
Exposing a Port in Docker, What Does It Do?
Maxim Orlov
Most people confuse exposing a port with publishing a port. Here's why that's not true and what you should do instead.
5年前
記事のアイキャッチ画像
Process Signals Inside Docker Containers
Maxim Orlov
Handling process signals inside Docker containers can be tricky. Here's what to look out for.
5年前
記事のアイキャッチ画像
Why Docker? What's All the Hype About?
Maxim Orlov
What problems does Docker solve and should you use it? Find out what Docker is good for with practical examples.
5年前
記事のアイキャッチ画像
A Beginner's Guide to Building a Docker Image of Your Node.js Application
Maxim Orlov
In this article you'll learn how to create a Docker image to deploy your Node.js application.
5年前
記事のアイキャッチ画像
6 Common Sequelize Queries Explained in SQL
Maxim Orlov
Writing SQL queries can be daunting. We'll unveil the magic by translating 6 common Sequelize queries into raw SQL.
5年前
記事のアイキャッチ画像
How to Fix Your EJS Modals When They Don't Show the Correct Info
Maxim Orlov
Does your EJS page behave strangely? Let's examine the id attribute and how this might be the cause of the problem.
6年前
\ No newline at end of file diff --git a/blogs/baa52a7f8f9acdb24973587be98496b1/index.html b/blogs/baa52a7f8f9acdb24973587be98496b1/index.html new file mode 100644 index 000000000000..568208f01309 --- /dev/null +++ b/blogs/baa52a7f8f9acdb24973587be98496b1/index.html @@ -0,0 +1,11 @@ +DEV Community: Nick Lucasのフィード|JSer.info Watch List RSS

DEV Community: Nick Lucas

https://dev.to/nicklucas

Sometimes I make things, sometimes I learn things, and sometimes I figure things out that nobody has documented yet. I mostly want to document those things!

フィード

記事のアイキャッチ画像
tRPC & React Patterns: Router Factories
DEV Community: Nick Lucas
+This post comes in 2 halves:tRPC Router FactoriesConsuming Router Factories in a React applicationLet's say you have a series of tRPC routes that look something like this:import { router, publicProcedure } from './trpc'const appRouter = router({ cities: router({ list: publicProcedure./*etc*/, get: publicProcedure./*etc*/, update: publicProcedure./*etc*/, delete: publicProcedure./*etc*/, }), cars: router({ list: publicProcedure./*etc*/, get: publicProcedure./*etc*/, update: publicProcedure./*etc*/, delete: publicProcedure./*etc*/, }), people: router({ list: publicProcedure./*etc*/, get: publicProcedure./*etc*/, update: publicProcedure./*etc*/, delete: publicProcedure./*etc*/, }),})It's clear that these routers will share a lot of functionality. They'll each operate on a different entity from your ORM or external API, but otherwise the logic and inputs/outputs will be abstractly similar. In the spirit of DRY we don't want to write and test all the endpoints multiple times if we can avoid +
2年前
記事のアイキャッチ画像
Typescript Runtime Validators and DX, a type-checking performance analysis of zod/superstruct/yup/typebox
DEV Community: Nick Lucas
+PrefaceIn 2023, Typescript is rarely questioned as an important tool for modern JavaScript developers, but one of its biggest limitations is the lack of added runtime type safety, particularly when dealing with IO at the boundaries of your application.To solve this problem a number of popular runtime validation and type-safety tools have popped up, usually competing on runtime parsing speed, API expressiveness, and a TypeScript vs JSON-schema based core.What seems to be degrading is performance of the developer experience. TypeScript drives the code intelligence of many popular editors, and as you add type complexity and size to an application or monorepo, code-completion and type-checking starts to draaaaag. This is because driving features like autocomplete means compiling your code on the fly repeatedly, and the more types & files needed to populate autocomplete for a line of code, the longer it takes to get a response.This is compounded by the growing movement of fully and deeply t +
2年前
記事のアイキャッチ画像
Relational Data Tables in Unreal Engine 4
DEV Community: Nick Lucas
+I had an interesting problem with Unreal Engine today. I have a Mech character which I want to attach stuff to, maybe it's segments of armour, or internal components, or weapons and other "stuff". Managing all these attach points and attachments is a pain, so I wanted to codify it in a data model, using Data Assets and Data Tables. This way I can have 100 mechs in the future with different skeletons and varieties of attachments, and codify them entirely as data with a single "MechCharacter".Given my background as a full stack software engineer, my instinct it to reach for a relational database of sorts, which can:Drive common behaviour with dataTie together multiple data sourcesSelf validate and restrict inputsThis isn't necessarily a complete or cohesive list. I'm writing this quite quickly. But basically I want to build a data model and code which gives me an amazing developer experience while building future assets. No weird bugs because I made a minor typo in one row somewhere!Last +
3年前
\ No newline at end of file diff --git a/blogs/bd101d6694b06d56e2452ad45890d6d4/index.html b/blogs/bd101d6694b06d56e2452ad45890d6d4/index.html new file mode 100644 index 000000000000..4f28d6a157d0 --- /dev/null +++ b/blogs/bd101d6694b06d56e2452ad45890d6d4/index.html @@ -0,0 +1,20 @@ +Bootstrap Blogのフィード|JSer.info Watch List RSS

Bootstrap Blog

https://blog.getbootstrap.com/

Official blog for the Bootstrap framework.

フィード

記事のアイキャッチ画像 +
Bootstrap 5.3.3
Bootstrap Blog
+Bootstrap v5.3.3 is here with bug fixes, documentation improvements, and more follow-up enhancements for color modes. Keep reading for the highlights!HighlightsFixed a breaking change introduced with color modes where it was required to manually import variables-dark.scss when building Bootstrap with Sass. Now, _variables.scss will automatically import _variables-dark.scss. If you were already importing _variables-dark.scss manually, you should keep doing it as it won’t break anything and will be the way to go in v6.Fixed a regression in the selector engine that wasn’t able to handle multiple IDs anymore.Color modesBadges now use the .text-bg-* text utilities to be certain that the text is always readable (especially when the customized colors are different in light and dark modes).Fixed our color-modes.js script to handle the case where the OS is set to light mode and the auto color mode is used on the website. If you copied the script from our docs, you should apply this change to yo +
1年前
記事のアイキャッチ画像
Bootstrap 5.3.2
Bootstrap Blog
+Bootstrap v5.3.2 is here with bug fixes, documentation improvements, and more follow-up enhancements for color modes. Keep reading for the highlights!HighlightsPassing a percentage unit to the global abs() is deprecated since Dart Sass v1.65.0. It resulted in a deprecation warning when compiling Bootstrap with Dart Sass. This has been fixed internally by changing the values passed to the divide() function. The divide() function has not been fixed itself so that we can keep supporting node-sass cross-compatibility. In v6, this won’t be an issue as we plan to drop support for node-sass.Using multiple ids in a collapse target wasn’t working anymore and has been fixed.Color modesIncreased color contrast of form range track background in light and dark modes.Fixed table state rendering for color modes with a focus on the striped table in dark mode to increase color contrast.Allow <mark> color customization for color modes.DocsAdded alternative CDNs section in Getting started -> Download.Add +
1年前
記事のアイキャッチ画像
Bootstrap Icons v1.11.0
Bootstrap Blog
Bootstrap Icons v1.11.0 has arrived with 100 new icons—including new floppy disk icons, additional brand icons, new person icons, new emojis, some birthday cake, a few new science icons, and more. We’re now at over 2,000 icons!100 new iconsHere’s a quick look at all the new icons in v1.11.0:Check out the pull request for all the details on which icons were added and which were updated.
1年前
記事のアイキャッチ画像
Bootstrap 5.3.1
Bootstrap Blog
+Bootstrap v5.3.1 is here with bug fixes, documentation improvements, and more follow-up enhancements for color modes. Keep reading for the highlights!Color modes:Increased color contrast for dark mode by replacing $gray-500 with $gray-300 for the body colorAdded our color mode switcher JavaScript to our examples ZIP downloadComponents:Improved disabled styling for all .nav-links, providing .disabled and :disabled for use with anchors and buttonsAdd support for Home and End keys for navigating tabs by keyboardAdded some basic styling to toggle buttons when no modifier class is presentFixed carousel colors in dark modeForms:Fixed floating label disabled text colorUtilities:.text-bg-* utilities now use CSS variablesSass:Add new $navbar-dark-icon-color Sass variableRemoved duplicate $alert Sass variablesAdded a new variable for $vr-border-width to customize the vertical rule helper widthDocumentation:Added search to our homepageImproved responsive behavior on Dashboard exampleImproved dark +
2年前
記事のアイキャッチ画像
Bootstrap 5.3.0
Bootstrap Blog
+It’s official, the final stable release of v5.3.0 has landed! It’s been a monumental effort to revamp our codebase for CSS variables and color modes, one that will see continued changes leading up to an eventual Bootstrap 6. And we’re so excited to finally ship it!On top of all the work that’s gone into this release, a lot has happened behind the scenes since we shipped our pre-releases. Keep reading to learn everything that’s new in v5.3.0.
2年前
記事のアイキャッチ画像
Bootstrap 5.3.0-alpha3
Bootstrap Blog
+
Hot on the heels of our second alpha, we’re releasing a third (and unexpected) alpha for v5.3.0 today with some fixes for some Node Sass compilation errors. In addition, we’ve added a handful of other updates. We’re still on target to ship our stable release soon!Once again, if you’re new to the v5.3.0 alpha releases, please read through the Migration guide for the first alpha and last month’s second alpha.Here’s a look at what’s changed in this quick release:
2年前
記事のアイキャッチ画像
Bootstrap 5.3.0-alpha2
Bootstrap Blog
Our second alpha release of v5.3.0 has landed with a ton of enhancements and bug fixes for our new color modes! There’s still more to come, but we’ve held off shipping until we ironed out enough issues. Huzzah, we have!This v5.3.0 release is a monumental update for Bootstrap 5. It’s big enough that it could’ve been a v6 on its own, but we wanted to do right by the community and get color modes out the door without the massive major release upgrade. We’re getting super close now, so bear with us as we continue to chip away at this.
2年前
記事のアイキャッチ画像
Bootstrap 5.3.0-alpha1
Bootstrap Blog
It’s a Christmas miracle—Bootstrap v5.3.0-alpha1 has arrived just in time for the holiday break! This release brings new color mode support, an expanded color palette with variables and utilities, and more.We’re keeping things short and simple in this blog post with deeper dives into the new color modes and more coming in future posts. For now, we want you to enjoy the holiday break and come back next year feeling refreshed and rejuvenated. Keep reading for what’s new and we’ll see you next year!
2年前
Bootstrap 5.2.3
Bootstrap Blog
We’ve deviated from developing v5.3.0 to ship a new patch release, Bootstrap v5.2.3, with a handful of more urgent bug fixes.HighlightsAdded the missing :root CSS variables to our utilities bundleFixed the deprecation warning with Sass 1.56.0Fixed the RTL translate() direction for carouselsFixed tooltip and popover disposal inconsistenciesWe’re heading right back to it with v5.3.0 with support for color modes, new utilities, and more. Look for a pre-release of that soon.
2年前
記事のアイキャッチ画像
Bootstrap Icons v1.10.0
Bootstrap Blog
+Bootstrap Icons v1.10.0 is here with nearly 150 new icons. This release includes tons of new variants for person, building, and database icons, plus new brands, rockets, road signs, globes, and many more. We’re now at over 1,900 icons!150 new iconsHere’s a quick look at all the new icons in v1.10.0:Some highlights for the new icons include:22 new person icons26 new house icons24 new building icons, including a renamed building to buildings22 new database icons24 new street sign iconsNew globe iconsNew EV, taxi, bus, and scooter transportation iconsNew rocketsand more!We also fixed the fill rules for several some issues across the docs, including:
2年前
\ No newline at end of file diff --git a/blogs/be52bbcbf837cf03e23ec66831a48820/index.html b/blogs/be52bbcbf837cf03e23ec66831a48820/index.html new file mode 100644 index 000000000000..0d2fc31a6197 --- /dev/null +++ b/blogs/be52bbcbf837cf03e23ec66831a48820/index.html @@ -0,0 +1,5 @@ +Ecma Internationalのフィード|JSer.info Watch List RSS

Ecma International

フィード

\ No newline at end of file diff --git a/blogs/be72e5d1579a175f464d732bc798c4fa/index.html b/blogs/be72e5d1579a175f464d732bc798c4fa/index.html new file mode 100644 index 000000000000..8bca1d7edf52 --- /dev/null +++ b/blogs/be72e5d1579a175f464d732bc798c4fa/index.html @@ -0,0 +1,10 @@ +BrowserCat | Blog Articlesのフィード|JSer.info Watch List RSS

BrowserCat | Blog Articles

https://www.browsercat.com

Easy, fast, and reliable browser automation and headless browser APIs. The web is messy, but your code shouldn't be. Sign up and spend minutes to save hours!

フィード

記事のアイキャッチ画像
Meow-velous New Browser Automation Features
BrowserCat | Blog Articles
BrowserCat now supports Puppeteer, Chrome, third-party proxies, "headed" and "new" headless modes, more regions, and more Playwright versions.
7ヶ月前
記事のアイキャッチ画像
Ultimate Guide to Visual Testing with Playwright
BrowserCat | Blog Articles
Visual testing is essential in web app development, ensuring your users never face a broken UI. Learn everything you'll need in this comprehensive guide.
1年前
記事のアイキャッチ画像
Strengthen Selectors and Locators in Playwright +
BrowserCat | Blog Articles
Master Playwright pickers and locators, and you'll have a much easier time developing fast, stable scripts. Stop rewriting brittle tests!
1年前
記事のアイキャッチ画像
Block Scripts, Styles, Media, and Ads with Playwright
BrowserCat | Blog Articles
+Boost Playwright speed by blocking inline scripts, network requests, styles, media, ads, trackers, and assets for efficient automation and testing.
1年前
記事のアイキャッチ画像
9 Testing Strategies to Keep Your Users Happy
BrowserCat | Blog Articles
You have more important things to spend time and money on that QA. Leverage automated testing to ship code with speed and confidence.
1年前 +
記事のアイキャッチ画像
Using Headless Browsers to Automate Everything
BrowserCat | Blog Articles
If it happens in a browser, you can automate it. Read on for a deep-dive into the many use-cases for headless browsers and advice for how to get started.
2年前
\ No newline at end of file diff --git a/blogs/bf5b8cb619791504de8db85e1d24952a/index.html b/blogs/bf5b8cb619791504de8db85e1d24952a/index.html new file mode 100644 index 000000000000..b2c36eecbbb8 --- /dev/null +++ b/blogs/bf5b8cb619791504de8db85e1d24952a/index.html @@ -0,0 +1,152 @@ +Dagster Blogのフィード|JSer.info Watch List RSS

Dagster Blog

https://dagster.io/

The cloud-native open source orchestrator for the whole development lifecycle, with integrated lineage and observability, a declarative programming model, and best-in-class testability.

フィード

+記事のアイキャッチ画像
AI Reference Architectures
Dagster Blog
Guide to the some common AI Architectures patterns with Dagster
15日前
記事のアイキャッチ画像
Data Platform Week 2024
Dagster Blog
+The future of data platforms are composable, unified, and leveraged
2ヶ月前
記事のアイキャッチ画像
Interactive Debugging With Dagster and Docker
Dagster Blog
Step-by-step guide to debugging Dagster code directly in Docker, bridging the gap between development and deployment.
2ヶ月前
記事のアイキャッチ画像
Bridging Business Intelligence and Data Orchestration with Dagster + Sigma
Dagster Blog
Break down the silos between data engineering and BI tools
3ヶ月前
記事のアイキャッチ画像
Case Study: Analytiks - Fast-Track AI Projects With Managed Dagster+
Dagster Blog +
Enterprise-grade data infrastructure that powers AI initiatives for growing companies
3ヶ月前
記事のアイキャッチ画像
Case Study: From Disconnected Data to a Unified Platform
Dagster Blog
Built-in data cataloging and observability opens the company’s data to a larger team of data professionals.
3ヶ月前
記事のアイキャッチ画像
Dagster 1.9: Spooky
Dagster Blog
Declarative automation has officially graduated, BI in your asset graph, Airlift to streamline migrations, and more.
3ヶ月前
記事のアイキャッチ画像
+AI's Long-Term Impact on Data Engineering Roles
Dagster Blog
Expectations for Data Engineering will rapidly inflate; the nature of the work will change.
3ヶ月前
記事のアイキャッチ画像
Case Study: KIPP - Building a Resilient Data Platform with Dagster
Dagster Blog
How KIPP’s solo data engineer radically improved KIPP’s ability to leverage data across the organization.
4ヶ月前
+
記事のアイキャッチ画像
From Chaos to Control: How Dagster Unifies Orchestration and Data Cataloging
Dagster Blog
Navigate complex data environments more effectively, and ensure that valuable data assets are easily discoverable and usable.
4ヶ月前
記事のアイキャッチ画像
+10 Reasons Why No-Code Solutions Almost Always Fail
Dagster Blog
No-code solutions sound easy – until they aren’t. Here’s why they often fail and what you can do about it for your data engineering.
4ヶ月前
記事のアイキャッチ画像
5 Best Practices AI Engineers Should Learn From Data Engineering
Dagster Blog
+AI engineering is data engineering. Here are 5 best practices the former should adopt from the latter to succeed.
4ヶ月前
記事のアイキャッチ画像
Dagster Deep Dive Recap: Orchestrating Flexible Compute for ML with Dagster and Modal
Dagster Blog
Learn how to use Dagster and Modal to automate and streamline your machine learning model training and data processing.
4ヶ月前
記事のアイキャッチ画像
The Rise of the Data Platform Engineer
Dagster Blog
How the next step in the evolution of the Data Engineering role requires a platform approach.
4ヶ月前
記事のアイキャッチ画像
+Dagster vs. Airflow
Dagster Blog
Get the tale of the tape between the two orchestration giants and see why Dagster stands tall as the superior choice.
5ヶ月前
記事のアイキャッチ画像
Sakila Co.: An End-to-End Open-Source Analytics Starter Project
Dagster Blog
Jumpstart your analytics work with some of today’s best open-source technologies.
5ヶ月前
+
記事のアイキャッチ画像
What is Data Visibility?
Dagster Blog
The unseen data is often the deadliest. Here’s how to shine a light on it in your business.
5ヶ月前
記事のアイキャッチ画像
Dagster Deep Dive Recap: Building a True Data Platform
Dagster Blog
Move past the MDS and build a data platform for observability, cost-efficiency, and top-tier orchestrating.
5ヶ月前
記事のアイキャッチ画像
Case Study: Mejuri - Building an eCommerce Data Platform
Dagster Blog
+Mejuri’s nimble business model requires a rock-solid data platform to support the company’s rapid growth.
5ヶ月前
記事のアイキャッチ画像
Dagster Deep Dive Recap: Evolution of the Data Platform
Dagster Blog
Dagster and SDF show how the power of two can connect local development and production orchestration.
5ヶ月前
記事のアイキャッチ画像
Case Study: The Lean and Efficient One-Person Data Team of Erewhon
Dagster Blog
How a solo data team delivered a custom system to accelerate data transformation.
6ヶ月前
記事のアイキャッチ画像
+Combining Dagster and SDF: The Post-Modern Data Stack for End-to-End Data Platforms
Dagster Blog
Dagster orchestration meets SDF transformation to improve developer experience with transparent, efficient, pipelines.
6ヶ月前
記事のアイキャッチ画像
Dagster 1.8: Call Me Maybe
Dagster Blog
Ecosystem and integration improvements, data catalog improvements, new asset checks, new declarative automation, and more.
6ヶ月前
記事のアイキャッチ画像
Dagster Deep Dive Recap: Building Reliable Data Platforms
Dagster Blog
Explore the importance of data quality and learn strategies for integrating quality checks using Dagster.
6ヶ月前
記事のアイキャッチ画像
Case Study: Artemis - Powering the Crypto Markets
Dagster Blog
Artemis built a data platform around Dagster+ to bring consolidated reporting to the $2.5T Cryptocurrency markets.
6ヶ月前
記事のアイキャッチ画像
Case Study: How Petal Incrementally Adopted a Data Orchestrator
Dagster Blog
+How Petal’s incremental adoption of Dagster let this FinTech firm build out its data platform at its own speed.
6ヶ月前
記事のアイキャッチ画像
A Look Inside the Dagster Labs Culture
Dagster Blog
Operations Lead Eunice Ho dives into the Dagster Labs culture and why it makes for an ideal work environment.
7ヶ月前
記事のアイキャッチ画像
Enabling Data Quality with Dagster and Great Expectations
Dagster Blog
Use Dagster and GX to improve data pipeline reliability without writing custom logic for data testing.
7ヶ月前
記事のアイキャッチ画像
Case Study: A Start-up’s Rite of Passage - Establishing the Data Platform
Dagster Blog
Zippi successfully navigated a common growth milestone, future-proofing data operations on Dagster.
7ヶ月前
記事のアイキャッチ画像
Podcast: Value Driven Data Science - The Impact of Data Science on Data Orchestration
Dagster Blog
+Sandy Ryza on the impact of data scientists on the creation of the next generation of data orchestration tools.
8ヶ月前
記事のアイキャッチ画像
The Rise of Medium Code
Dagster Blog
Why the reports of software’s demise are greatly exaggerated.
8ヶ月前
Running Singer on Dagster
Dagster Blog
Singer Taps and Targets are popular data movement tools. Here is how (and why) you run them in Dagster.
8ヶ月前
記事のアイキャッチ画像
ELT Options in Dagster
Dagster Blog
+Why running data ingestion jobs straight from the orchestrator is often a preferred approach.
8ヶ月前
記事のアイキャッチ画像
Dagster’s Code Location Architecture
Dagster Blog
A structure for a reliable, maintainable data platform design.
8ヶ月前
記事のアイキャッチ画像
What is Dagster: A Guide to the Data Orchestrator
Dagster Blog
Get to know the tool that sets the standard for modern data orchestration.
9ヶ月前
記事のアイキャッチ画像
Building Cost Effective AI Pipelines with OpenAI, LangChain, and Dagster
Dagster Blog +
Leverage the power of LLMs while keeping the costs in check using the Dagster OpenAI integration.
9ヶ月前
記事のアイキャッチ画像
Unlocking Flexible Pipelines: Customizing the Asset Decorator
Dagster Blog
Use Asset Factories within Dagster to streamline data asset creation, promote code reusability, and maintain data engineering workflows.
+9ヶ月前
記事のアイキャッチ画像
See Both the Forest and the Trees with Dagster+ Insights
Dagster Blog
How Dagster+ Insights helps you control costs and elevate your data platform’s observability.
10ヶ月前
記事のアイキャッチ画像
Ensuring Reliable Data with Dagster+
Dagster Blog
Dagster+ helps you monitor the freshness, quality, and schema of your data.
10ヶ月前
記事のアイキャッチ画像
Dagster+ Catalog: A New Built-in Asset Library for All Practitioners
Dagster Blog
+Give your data teams a powerful new system of record without the overhead of maintaining a third-party catalog.
10ヶ月前
記事のアイキャッチ画像
Change Tracking Branch Deployments in Dagster+
Dagster Blog
Dagster+ further enhances identification and collaboration around changes to your data pipelines.
10ヶ月前
記事のアイキャッチ画像
Use Dagster and SkyPilot to Orchestrate Cost-Effective AI Training Jobs
Dagster Blog
Explore the efficient orchestration of AI training jobs with Dagster and SkyPilot.
10ヶ月前
記事のアイキャッチ画像
The Data Engineering Impedance Mismatch
Dagster Blog
A case for asset-oriented over workflow-oriented in data orchestration.
10ヶ月前
記事のアイキャッチ画像
Announcing Dagster 1.7: Love Plus One
Dagster Blog
A major set of updates to Dagster Core ahead of our Dagster+ launch.
10ヶ月前
記事のアイキャッチ画像
Expanding the Dagster Embedded ELT Ecosystem with dltHub for Data Ingestion
Dagster Blog
We now have an officially supported dlt integration.
10ヶ月前
記事のアイキャッチ画像
Sling Out Your ETL Provider with Embedded ELT
Dagster Blog
How we saved $40k and gained better control over our ingestion steps.
10ヶ月前
記事のアイキャッチ画像
Exploring The Data Engineering Lifecycle
Dagster Blog
+Learn the fundamentals of a healthy data engineering lifecycle to optimize pipeline and asset production.
10ヶ月前
記事のアイキャッチ画像
How Dagster Cloud Supports BCBS 239 Compliance
Dagster Blog
BCBS 239 establishes standards for banking risk management worldwide. Dagster helps data engineers meet these demanding standards.
1年前
記事のアイキャッチ画像
New Dagster Integration: Include OpenAI Calls Into Your Data Pipelines
Dagster Blog
The new dagster-openai integration lets you tap into the power of LLMs in a cost-efficient way.
1年前
記事のアイキャッチ画像
Podcast: Tech Talks Daily - Data, Decisions, and Dagster
Dagster Blog
Nick Schrock shares his blueprint for engineering excellence on the Tech Talks Daily Podcast.
1年前
記事のアイキャッチ画像
Dagster University Presents: Dagster & dbt™
Dagster Blog
+Learn how to combine your dbt™ knowledge with Dagster’s asset-focused approach for an enhanced data platform experience.
1年前
記事のアイキャッチ画像
How to Make Data a Team Sport
Dagster Blog
Enabling internal access and collaboration around data in organizations is vital to tackling data complexity.
1年前
記事のアイキャッチ画像
Breaking Packages in Python
Dagster Blog
An exposé of the nooks and crannies of Python’s modules and packages.
1年前
記事のアイキャッチ画像
+Balancing the Data Scales: Centralization vs. Decentralization
Dagster Blog
Learn how organizations can harness the strengths of both approaches to optimize their data operations.
1年前
記事のアイキャッチ画像
Case Study: BenchSci - A Leap Forward with Dagster
Dagster Blog
Learn about how BenchSci uses Dagster in their journey to expedite drug development.
1年前
記事のアイキャッチ画像
Podcast: A Geek Leader - Interview with Nick Schrock
Dagster Blog
John Rouda interviewed Nick Schrock, Founder of Dagster Labs, on open-source, ML, and the future of Dagster.
1年前
記事のアイキャッチ画像
Addressing Big Complexity Through Strategic Orchestration
Dagster Blog
For organizations looking to thrive in the era of Big Complexity, it’s time to reassess the role of orchestration in their data operations.
1年前
記事のアイキャッチ画像
Podcast: Open Source Underdogs - Scaling Data Pipelines
Dagster Blog
Nick joins the Open Source Underdogs podcast for a conversation on how Dagster Labs is evolving.
1年前
記事のアイキャッチ画像
Standardize Pipelines with Domain-Specific Languages
Dagster Blog
By implementing DSLs, data teams can open their data platform to many more users without compromising on standards.
1年前
+
記事のアイキャッチ画像
Podcast: Partially Redacted - Learning and Sharing in Public
Dagster Blog
Pedram Navid of Dagster Labs discusses the culture of learning and sharing in Data Engineering.
1年前
記事のアイキャッチ画像
Podcast: Facebook Eng Culture & Modern Data Stack Consolidation
Dagster Blog
On open source software, data, and understanding Facebook’s high performance culture.
1年前
記事のアイキャッチ画像
Thinking in Assets When Building Data Pipelines
Dagster Blog
+How to develop data pipelines using Software-defined Assets.
1年前
記事のアイキャッチ画像
What Dagster Believes About Data Platforms
Dagster Blog
The beliefs that organizations adopt about the way their data platforms should function influence their outcomes. Here are ours.
1年前
記事のアイキャッチ画像
Podcast: Data Driven - The Role of AI and LLMs in Data
Dagster Blog
Pedram Navid fo Dagster Labs joins the Data Driven podcast to discuss the role of AI and LLMs in data.
1年前
記事のアイキャッチ画像
Podcast: Data Driven - Cutting Through the Noise of Data Products
Dagster Blog
Pedram Navid of Dagster Labs talks about how data teams can strategically enable self-service to speed up business decisions.
1年前
記事のアイキャッチ画像
Announcing Dagster 1.6: Back to Black
Dagster Blog
Major UI enhancements, Dagster Pipes upgrades and of course, dark mode :-)
+
1年前
記事のアイキャッチ画像
Retain.ai joins Dagster Labs
Dagster Blog
We’re excited and humbled to bring the Retain.ai organization into our fold to help build out Dagster’s data orchestration capabilities.
1年前
記事のアイキャッチ画像
Podcast: Machine Learning Pipelines Are Still Data Pipelines
Dagster Blog
Sandy Ryza, Lead Engineer at Dagster Labs, talks data engineering for machine learning efforts.
1年前
記事のアイキャッチ画像
Podcast: Alter Everything - The Present & Future of Data Engineering
Dagster Blog
Nick Schrock joins the Alteryx podcast about data science and analytics culture.
1年前
記事のアイキャッチ画像
How Dagster Labs runs Dagster: Open-Sourcing our Own Pipelines
Dagster Blog
A technical deep dive into the patterns and implementations of the Dagster Open Platform using our open-sourced code and dbt models.
1年前
記事のアイキャッチ画像
Scaling Dagster’s DAG Visualization to Handle Tens of Thousands of Assets
Dagster Blog
How the Dagster frontend team rapidly scaled Dagster’s DAG visualization for enterprise-sized data asset graphs.
1年前
記事のアイキャッチ画像
Case Study: Abstracting Pipelines for Analysts with a YAML DSL
Dagster Blog
How SimpliSafe’s small engineering team uses YAML DSL within Dagster’s powerful data platform to support analysts and business stakeholders.
1年前
記事のアイキャッチ画像
High-performance Python for Data Engineering
Dagster Blog
+Learn how to optimize your Python data pipeline code to run faster with our high-performance Python guide for data engineers.
1年前
記事のアイキャッチ画像
Podcast: That Tech Pod - Pete Hunt's Engineering Journey
Dagster Blog
The Journey from Engineer to CEO and Lessons Learned Along the Way
1年前
記事のアイキャッチ画像
Orchestrate Unstructured Data Pipelines with Dagster and dlt
Dagster Blog
Load messy data sources into well-structured tables or datasets, through automatic schema inference and evolution.
1年前
記事のアイキャッチ画像
Podcast: The Craft Of Open Source - a Flagsmith podcast
Dagster Blog
Pete Hunt discusses data orchestration, Dagster, and our onward journey.
1年前
記事のアイキャッチ画像
Podcast: Data Unlocked - How to Work Effectively With Your Data Teams
Dagster Blog
Nick Schrock on the relationship between data engineering and go-to-market.
1年前
記事のアイキャッチ画像
CI/CD and Data Pipeline Automation (with Git)
Dagster Blog
Learn how to automate data pipelines and deployments by integrating Git and CI/CD in our Python for data engineering series.
1年前
記事のアイキャッチ画像
+Podcast: The Tech Trek Podcast - Open source data orchestration
Dagster Blog
Pete Hunt shares insights on the challenges in the data orchestration market, and why Dagster is open-source.
1年前
記事のアイキャッチ画像
Introducing Dagster Pipes
Dagster Blog
A new protocol and toolkit for integrating and launching compute into remote execution environments from Dagster.
1年前
+
記事のアイキャッチ画像
Introducing Dagster External Assets
Dagster Blog
Use Dagster’s External Assets feature for data observability, lineage, data quality, and cataloging while bringing your own orchestration and scheduling.
1年前
記事のアイキャッチ画像
Stop Reinventing Orchestration: Embedded ELT in the Orchestrator
Dagster Blog
Solve data ingestion issues with Dagster's Embedded ELT feature, a lightweight embedded library.
1年前
記事のアイキャッチ画像
Improving the Dagster learning curve
Dagster Blog
+Learn Dagster essentials and build asset-based data pipelines with Dagster University, our new self-guided course for beginners.
1年前
記事のアイキャッチ画像
Improving visibility into data operations with Dagster Insights
Dagster Blog
Gain operational observability on your data pipelines and bring cloud costs back under control with the Dagster Insights feature.
1年前
記事のアイキャッチ画像
Introducing Dagster Asset Checks
Dagster Blog
Deliver high-quality data with Dagster Asset Checks, the ability to embed data quality checks into your data pipeline.
1年前
記事のアイキャッチ画像
+Podcast: The Orchestration Layer as the Data Platform Control Plane
Dagster Blog
Nick Schrock, founder and CTO of Dagster Labs, discusses the data platform control plane on The Data Stack Show.
1年前
記事のアイキャッチ画像
Announcing Dagster 1.5: How Will I Know?
Dagster Blog
Ahead of Launch Week, we are proud to be rolling out some exciting new capabilities.
1年前
記事のアイキャッチ画像
Write-Audit-Publish in data pipelines
Dagster Blog
We look at the write-audit-publish software design pattern used in ETL to ensure quality and reliability in data engineering workflows.
1年前
記事のアイキャッチ画像
Escaping the Modern Data Trap
Dagster Blog
Launch Week kicks off October 9th with new functionality being shared each day. Our theme: Escaping the Modern Data Trap!
1年前
記事のアイキャッチ画像
Podcast: Open Source Startup - Bringing Great Developer Experience to Data Teams
Dagster Blog
+Nick Schrock on how Dagster is bringing software engineering principles to the data space, and what a great developer experience means for data engineers.
1年前
記事のアイキャッチ画像
Pedram Navid: Why I Joined Dagster Labs
Dagster Blog
It is not every day you get to join a company working on building a product purpose-built for you.
1年前
記事のアイキャッチ画像
A Dagster-Powered Spam Filter
Dagster Blog
Using Dagster, you can maintain data trust and protect the integrity of any user-generated service with this powerful spam filter.
1年前
記事のアイキャッチ画像
+Podcast: Code Story - The Origin Story of Dagster
Dagster Blog
Pete Hunt joins Noah Labhart - startup founder & CTO - to discuss the origin story of Dagster.
1年前
記事のアイキャッチ画像
Podcast: Data Orchestration in an Increasingly Complex Data Ecosystem
Dagster Blog
Nick Schrock shares his perspective on the state of data orchestration technology and its application to help inform its implementation in your environment. +
1年前
記事のアイキャッチ画像
Factory Patterns in Python
Dagster Blog
We explore design patterns — reusable solutions to common problems in software design — as used in data engineering, specifically factory patterns in Python.
1年前
記事のアイキャッチ画像
Migrating off dbt Cloud™
Dagster Blog
Looking for an alternative tool to orchestrate your dbt projects? Here’s a step-by-step guide to migrating from dbt Cloud to Dagster.
1年前
記事のアイキャッチ画像
Podcast: The Breakthrough Hiring Show with Pete Hunt
Dagster Blog
Pete and host James Mackey discuss strategic hiring for startups and the dangers of getting too big too fast.
1年前
記事のアイキャッチ画像
ML pipelines for fine-tuning LLMs
Dagster Blog
LLM fine-tuning best practices for creating a clean production ML pipeline, streamlining model training, and operationalizing fine-tuned LLMs.
1年前
記事のアイキャッチ画像
Podcast: The Happy Engineer Podcast - Engineering Hard Choices
Dagster Blog
Pete Hunt shares insights on building and leading a data engineering team and making hard engineering calls.
1年前
記事のアイキャッチ画像
Podcast: Adventures in DevOps - Testing and Development in the Data Domain
Dagster Blog
The Adventures in DevOps podcast chats with Pete Hunt about testing and development in the data domain
1年前
記事のアイキャッチ画像
Introducing Dagster Labs
Dagster Blog
In the spirit of simplification, the company formerly known as Elementl is now doing business as Dagster Labs. +
1年前
記事のアイキャッチ画像
Building an Outbound Reporting Pipeline
Dagster Blog
Learn how to use data engineering patterns and Dagster’s dynamic partitioning to build an outbound email report delivery pipeline.
1年前
記事のアイキャッチ画像
Parallel Computing on Dagster with Dask
Dagster Blog
Orchestrate your Dask computations and make your pipelines faster for larger data engineering and machine learning tasks.
1年前
記事のアイキャッチ画像
Type Hinting in Python
Dagster Blog
+In part VI of our Data Engineering with Python series, we explore type hinting functions and classes, and how type hints reduce errors.
1年前
記事のアイキャッチ画像
Environment Variables in Python
Dagster Blog
In part V of our series on Data Engineering with Python, we cover best practices for managing environment variables in Python.
2年前
記事のアイキャッチ画像
Whats New in Data
Dagster Blog
Podcast: Data Orchestration, Dagster, and parallels to React.js
2年前
記事のアイキャッチ画像
Podcast: Drill to Detail - Dagster, Orchestration and Software-Defined Assets +
Dagster Blog
Dagster Labs founder Nick Shrock is interviewed by Rittman Analytics founder Mark Rittman
2年前
記事のアイキャッチ画像
Podcast: The Scale Up Show - Interview with Pete Hunt
Dagster Blog
Ryan Staley interviewed Pete Hunt on how his experience at Facebook and Twitter is guiding his leadership of Dagster.
2年前
記事のアイキャッチ画像
Orchestrating dbt™ with Dagster
Dagster Blog
Orchestrate dbt with Dagster’s popular dbt integration, now with major enhancements to supercharge your dbt models as part of your data pipeline.
2年前
記事のアイキャッチ画像
Speeding up the dbt™ docs by 20x with React Server Components
Dagster Blog
dbt docs slow? See how we dropped page load time and memory usage for a large dbt project by 20x using React Server Components.
2年前
記事のアイキャッチ画像
Podcast: A Geek Leader - Interview with Pete Hunt
Dagster Blog
+John Rouda interviewed Pete Hunt, CEO of Dagster Labs, on React.js, open source and data orchestration.
2年前
記事のアイキャッチ画像
Announcing Dagster 1.4: Material Girl
Dagster Blog
The latest release brings major new dbt capabilities, new asset materialization controls, and more.
2年前
記事のアイキャッチ画像
Video: Asset-Based Data Orchestration (from Data + AI Summit)
Dagster Blog
An overview of Dagster's asset-based orchestration approach, with data freshness sensors to trigger pipelines.
2年前
記事のアイキャッチ画像
LLM training pipelines with Langchain, Airbyte, and Dagster
Dagster Blog
This tutorial shows you how to combine Langchain, Airbyte, and Dagster to build maintainable and scalable pipelines for training LLMs.
2年前
記事のアイキャッチ画像
Introducing Two New Self-Serve Plans for Dagster Cloud
Dagster Blog
'Solo' and 'Team' plans, with event-based pricing, will replace the old compute-duration based plan. We explain why we are making this change.
2年前
記事のアイキャッチ画像
Revisiting the Poor Man’s Data Lake with MotherDuck
Dagster Blog
See how much easier you can collaborate using DuckDB’s high-powered cloud version MotherDuck to build a one-system data lake.
2年前
記事のアイキャッチ画像
The Dagster Master Plan
Dagster Blog
Elementl CEO Pete Hunt shares the three priorities that guide how we will evolve Dagster.
2年前
記事のアイキャッチ画像
Backfills in Data & Machine Learning: A Primer
Dagster Blog
+A step-by-step guide to using backfills and partitions to make data management more simple for data & ML engineers.
2年前
記事のアイキャッチ画像
Podcast: Data Platform Podcast - Orchestration & Psychology featuring Pete Hunt
Dagster Blog
Jason and Iva are joined by Pete Hunt, CEO of Elementl, to discuss orchestration tools and the psychology of companies.
2年前
記事のアイキャッチ画像
Elementl Raises $33 Million in Series B Funding to Accelerate Data Orchestration and Unleash Advanced Data Use Cases
Dagster Blog
The new capital will accelerate the development and adoption of Dagster, the open-source, cloud-native data orchestrator.
2年前
記事のアイキャッチ画像
Dagster and the Decade of Data Engineering
Dagster Blog
We are pleased to announce Elementl's $33M Series B and share our vision for what's next for Dagster and the practice of data engineering.
2年前
記事のアイキャッチ画像
Building Better Analytics Pipelines
Dagster Blog
+A recap of our live event on the benefits and techniques for orchestrating analytics pipelines.
2年前
記事のアイキャッチ画像
Introducing Dynamic Definitions for Flexible Asset Partitioning
Dagster Blog
Dagster’s dynamic partition definitions allow engineers to use the power of partitions in a broader range of scenarios.
2年前
記事のアイキャッチ画像
Deciphering Arcane Kubernetes and ECS Errors with Dagster
Dagster Blog
Recent enhancements allow Dagster to surface clearer and more actionable errors to accelerate your development cycles.
2年前
記事のアイキャッチ画像
Config Systems: Airflow and Dagster
Dagster Blog
Contrasting the Airflow and Dagster configuration systems by rewriting the Airflow Slack Integration.
2年前
記事のアイキャッチ画像
How to Maintain High Product & Code Quality As Your Startup Scales
Dagster Blog
Raising the quality bar requires process adjustments and a cultural shift.
2年前
記事のアイキャッチ画像
Announcing Dagster 1.3: Smooth Operator
Dagster Blog
Dagster 1.3 officially inducts Pythonic Config and Resources and brings new enhancements to Software-Defined Assets, integrations, documentation, and guides.
2年前
記事のアイキャッチ画像
Case Study: Catalyst Cooperative - Liberating Public Utility Data with Dagster
Dagster Blog
The PUDL Project cleans and distributes analysis-ready energy system data to climate advocates, researchers, policymakers, and journalists.
2年前
記事のアイキャッチ画像
From Python Projects to Dagster Pipelines
Dagster Blog
+In part IV of our series, we explore setting up a Dagster project, and the key concept of Data Assets.
2年前
記事のアイキャッチ画像
Case Study: Empirico - Enabling Large-scale, Multi-cloud Computing with Dagster
Dagster Blog
Abstracting away infrastructure concerns in large-scale computing with conditional multi-cloud processing.
2年前
記事のアイキャッチ画像
Orchestrate Meltano Jobs with Dagster
Dagster Blog
Meltano provides 550 connectors and tools, all of which can be configured and orchestrated straight from Dagster.
2年前
記事のアイキャッチ画像
Community Memo: Pythonic Config and Resources
Dagster Blog
Major ergonomic improvements are coming to Dagster's config and resources systems, including a Pydantic frontend.
2年前
記事のアイキャッチ画像
Best Practices in Structuring Python Projects
Dagster Blog
+We cover 9 best practices and examples on structuring your Python projects for collaboration and productivity.
2年前
記事のアイキャッチ画像
Partitions in Data Pipelines
Dagster Blog
Partitioning is a technique that helps data engineers and ML engineers organize data and the computations that produce that data.
2年前
記事のアイキャッチ画像
Tracking the Fake GitHub Star Black Market with Dagster, dbt and BigQuery
Dagster Blog
It's easy for an open-source project to buy fake GitHub stars. We share two approaches for detecting them.
2年前
記事のアイキャッチ画像
Announcing Dagster 1.2: Formation
+Dagster Blog
Enhanced partitioned asset support and the introduction of Pythonic config and resources, and integration updates.
2年前
記事のアイキャッチ画像
How Dagster Deploys 5X Faster with Warm Docker Containers
Dagster Blog
Using pex, Serverless Dagster Cloud now deploys 4 to 5 times faster by avoiding the overhead of building and launching Docker images.
2年前
記事のアイキャッチ画像
Python Packages: a Primer for Data People (part 2 of 2)
Dagster Blog
An introduction to managing Python dependencies and some virtual environment best practices.
2年前
記事のアイキャッチ画像
Python Packages: a Primer for Data People (part 1 of 2)
Dagster Blog
The foundation of a solid Python project is mastering modules, packages and imports.
2年前
記事のアイキャッチ画像
Dagster Integrations Update
Dagster Blog
Dagster offers 47 integrations to accelerate your development, and we are working hard to expand and enhance them.
2年前
記事のアイキャッチ画像
Migrating from Airflow to Dagster is now a Breeze
Dagster Blog
The newly released `dagster-airflow` library has made migrating off legacy Airflow and onto Dagster much easier.
2年前
記事のアイキャッチ画像
Build a GitHub Support Bot with GPT3, LangChain, and Python
Dagster Blog
In this tutorial, we tap into the power of OpenAI's ChatGPT to build a GitHub support bot using GPT3, LangChain, and Python.
2年前
記事のアイキャッチ画像
Converting an ETL Script to Software-Defined Assets
Dagster Blog
+Lets talk about moving from an ETL script to a robust Dagster pipeline using Software-Defined Assets.
2年前
記事のアイキャッチ画像
Bringing Declarative Scheduling to dbt with Dagster
Dagster Blog
Declarative Scheduling takes the orchestration of dbt models as part of a larger pipeline to an entirely new level.
2年前
記事のアイキャッチ画像
Announcing Dagster 1.1: Thank U, Next
Dagster Blog
A major release with Declarative Scheduling, multi-asset scheduling, and SDA partitioning. Plus Secrets management, Dagit enhancements, Integrations updates and more...
2年前
記事のアイキャッチ画像
Declarative Scheduling for Data Assets
Dagster Blog
Keep data assets up-to-date and determine whether source data has changed with declarative asset-based scheduling.
2年前
記事のアイキャッチ画像
Evaluating Dagster for Better Skiing - and a New Job
Dagster Blog
How quickstart projects snowball into new careers. A common data PoC walkthrough with Dagster.
2年前
記事のアイキャッチ画像
Podcast: Build More Reliable Machine Learning Systems
Dagster Blog
Sandy Ryza explains how his background in machine learning has informed his work on the Dagster project.
2年前
Getting Stuff Done: a Guide to Productive Software Engineering
Dagster Blog
To be a more productive software engineer you need to master changes, how these affect the program and others on the team.
2年前
記事のアイキャッチ画像
Safe and Easy: Managing Secrets in Dagster Cloud
Dagster Blog
+
Dagster Cloud’s new Environment Variables UI makes it easy to set up scoped environment variables.
2年前
記事のアイキャッチ画像
My Path to Elementl - Part 2
Dagster Blog
Pete Hunt takes over as CEO as Nick Schrock takes on the CTO role.
2年前
記事のアイキャッチ画像
Pushing REST-API data to Google Sheets with Dagster
Dagster Blog
A total beginners tutorial in which we store REST API data in Google Sheets and learn some key abstractions.
2年前
記事のアイキャッチ画像
Adding Types to a Large Python Codebase
+Dagster Blog
What we learned when we introduced dynamically typed code to a large Python codebase, bringing Dagster's public API to 100% type coverage.
2年前
記事のアイキャッチ画像
Orchestrating Machine Learning Pipelines with Dagster
Dagster Blog
How to use Dagster’s open source data orchestrator to build machine learning pipelines and train ML models.
2年前
記事のアイキャッチ画像
Case Study: Orchestrating Data Science at Zephyr AI
Dagster Blog
Zephyr AI applies data science to massive datasets of DNA and healthcare records to deliver novel AI-driven insights.
2年前
記事のアイキャッチ画像
+Build a poor man’s data lake from scratch with DuckDB
Dagster Blog
DuckDB is so hot right now. Learn how to build a data lake from dbt using DuckDB for SQL transformations, along with Python, Dagster, and Parquet files.
2年前
記事のアイキャッチ画像
The Unreasonable Effectiveness of Data Pipeline Smoke Tests
Dagster Blog
Data practitioners waste time writing unit tests to catch bugs they could have caught with smoke tests.
+
2年前
記事のアイキャッチ画像
Web Workers are not the Answer
Dagster Blog
A tale of overstretched logs, counterintuitive web worker behavior, and ultimately a troublesome cursor issue.
2年前
記事のアイキャッチ画像
Dagster at all 5 Steps of the Development Lifecycle
Dagster Blog
Dagster facilitates a data engineers work across all five steps in the development lifecycle.
2年前
記事のアイキャッチ画像
A Dagster Crash Course
Dagster Blog
+If you are looking to get up and running with Dagster in 10 minutes or less, this is a good place to start. Buckle up.
2年前
記事のアイキャッチ画像
Postgres: a Better Message Queue than Kafka?
Dagster Blog
When lots of event logs must be stored and indexed, Kafka is the obvious choice. Naturally, our queue runs on Postgres.
2年前
記事のアイキャッチ画像
Case Study: How EvolutionIQ Rebuilt its ML Platform for Enormous Productivity.
Dagster Blog
A guide for CIOs/CTOs and engineering leaders looking to master the Modern Data Stack and develop a high performance data platform - while avoiding pitfalls along the way.
2年前
記事のアイキャッチ画像
Spend Less Time Debugging with Dagster
Dagster Blog
It’s not uncommon for a data engineer to devote 80% of their day to debugging. Dagster radically improves on this.
2年前
記事のアイキャッチ画像
Launching Dagster Cloud to GA
Dagster Blog
+The enterprise orchestration platform that puts developer experience first: hybrid or serverless deployments, native branching, and out-of-the-box CI/CD.
2年前
記事のアイキャッチ画像
Introducing Dagster 1.0: Hello
Dagster Blog
Announcing Dagster 1.0. - a stable foundation for building the orchestration layer for modern data platforms.
3年前
記事のアイキャッチ画像
The Open Core Business Model
Dagster Blog
The relationship between Dagster, the open-source project, and Dagster Cloud, our hosted SaaS platform.
3年前
記事のアイキャッチ画像
Dagster Cloud goes SOC 2 +
Dagster Blog
Elementl, the company behind the Dagster data orchestration tool achieves SOC2 compliance.
3年前
記事のアイキャッチ画像
Dagster Day: Announcing Dagster 1.0 and Dagster Cloud
Dagster Blog
The release of Dagster 1.0 and the GA launch of Dagster Cloud represent major milestones in the evolution of our orchestration solution.
3年前
記事のアイキャッチ画像
Roman Roads in Data Engineering: Don't Write Data Pipelines from Scratch
Dagster Blog
Work in a way that lays the foundation for your next data product while you're building your current one.
3年前
記事のアイキャッチ画像
Podcast: The Data Exchange - Software-defined Assets
Dagster Blog
Nick Schrock on software-defined assets, a new approach to managing, maintaining, and orchestrating data declaratively.
3年前
記事のアイキャッチ画像
My Path to Elementl: Pete Hunt
Dagster Blog
+Pete Hunt discusses what caused him to make the leap from Twitter to Elementl.
3年前
記事のアイキャッチ画像
Orchestrating Python and dbt with Dagster
Dagster Blog
How asset-focused orchestration bridges the gap between some of data's most popular tools.
3年前
記事のアイキャッチ画像
Dagster 0.15.0: Cool for the Summer
Dagster Blog
In 0.15.0, software-defined assets are now marked fully stable and are ready for primetime.
3年前
記事のアイキャッチ画像
New in 0.14.0: Dagster-Airbyte Integration
Dagster Blog
0.14.0 introduces a deep integration with Airbyte: view Airbyte logs directly in Dagit, and every updated table will be recorded and tracked over time.
3年前
記事のアイキャッチ画像
Introducing Software-Defined Assets
Dagster Blog
Software-Defined Assets are a new abstraction that allows data teams to focus on the end products, not just the individual tasks, in their data pipeline.
3年前
記事のアイキャッチ画像
Announcing Dagster 0.14.0: Table Schema API + Pandera Integration
Dagster Blog
Introducing two asset observability-enhancing features: Table Schema API, and an integration with the dataframe validation library Pandera.
3年前
記事のアイキャッチ画像 +
Announcing Dagster 0.14.0: Never Felt Like This Before
Dagster Blog
We’re thrilled to release version 0.14.0 of Dagster. This version introduces much more mature version of software-defined assets, new integrations, a new homepage for Dagit, and a wide set of other features and improvements.
3年前
記事のアイキャッチ画像
Rebundling the Data Platform
Dagster Blog
'The Unbundling of Airflow' argued that modern data stack solutions (data ingestion, data transformation, reverse ETL) manage their own data orchestration. Data teams need is a control plane for the modern data stack.
3年前
記事のアイキャッチ画像
Introducing Dagster Cloud
Dagster Blog
+Dagster Cloud, the enterprise orchestration platform that puts developer experience first, with fully serverless or hybrid deployments, is now here.
3年前
記事のアイキャッチ画像
Podcast: Laying the Foundation of your Data Platform for the Era of Big Complexity
Dagster Blog
Listen to founder and CEO Nick Schrock talk about how Dagster helps tame the complexity and scale when working with data in this episode of the Data Engineering podcast
3年前 +
記事のアイキャッチ画像
Podcast: Hello Big Complexity: Is Your Modern Data Stack Ready?
Dagster Blog
Listen to Nick Schrock discuss the evolution of data from Big Data to Big Complexity in this episode of the Mad Data podcast.
3年前
記事のアイキャッチ画像
Why Elementl and Dagster: The Decade of Data
Dagster Blog
Announcing our $14M Series A led by Index Ventures, alongside Sequoia Capital, Slow Ventures, Coatue, Amplify Partners, OSS Capital, and others.
3年前
記事のアイキャッチ画像
New in Dagster 0.13.0: Logging Improvements!
Dagster Blog
+Logging without context, instance-wide handlers, capturing python logs, and more! Learn about the improvements we've made to Dagster logging since 0.12.0.
3年前
記事のアイキャッチ画像
Announcing Dagster 0.13.0: A New Foundation
Dagster Blog
We’re proud to announce 0.13.0 of Dagster with dramatic improvements to our core APIs, completely revamped UI, and renewed clarity to our mission.
3年前
記事のアイキャッチ画像
Community Memo: Moving Dagster's Core APIs Towards 1.0
Dagster Blog
Dagster commits to a stable set of production-ready APIs for building solid data platforms.
3年前
記事のアイキャッチ画像
Announcing Dagster 0.12.0: Into the Groove
Dagster Blog
In 0.12.0, we introduce pipeline failure sensors, solid-level retries, and more convenient testing APIs.
4年前
記事のアイキャッチ画像
Community Memo: Approachability Improvements
Dagster Blog
+In the last two months, we've made a set of changes aimed at making Dagster more approachable: to smooth out its learning curve and reduce its boilerplate.
4年前
記事のアイキャッチ画像
Case Study: Incrementally Adopting Dagster at Mapbox
Dagster Blog
At Mapbox, we've adopted Dagster without breaking compatibility with our legacy Airflow systems -- and with huge gains to developer productivity.
4年前
記事のアイキャッチ画像
Moving past Airflow: Why Dagster is the Next-generation Data Orchestrator
Dagster Blog
A comparison between Dagster and Airflow. Here we detail the differences between the two systems, and make the case for choosing Dagster.
4年前
記事のアイキャッチ画像
Announcing Dagster 0.11.0: Lucky Star
Dagster Blog
In 0.11.0, we introduce dynamic orchestration, a new backfill UI, and support for tracking asset lineage.
4年前
記事のアイキャッチ画像
Announcing Dagster 0.10.0: The Edge of Glory
Dagster Blog
+In 0.10.0, we introduce unique event-based scheduling capabilities, hardened deployments on Kubernetes, and new primitives for persistence.
4年前
記事のアイキャッチ画像
Case Study: Good Data at Good Eggs - Using Dagster to Manage the Data Platform
Dagster Blog
Running pipelines is only part of running a data platform. We need to manage the platform and control technical debt. Dagster is a place to do that work. Our entire operational view of the platform is consolidated in a single tool.
4年前
記事のアイキャッチ画像
Case Study: Good Data at Good Eggs - Data Observability with the Asset Catalog
Dagster Blog
Dagster gives us a single "pane of glass" for data assets. Analysts can look up when a Stitch raw data ingest occurred, a dbt model ran, or a Jupyter notebook plot was posted in Slack
4年前
Dagster and dbt: Better Together
Dagster Blog
People sometimes ask us — should I use Dagster, or should I use dbt? We view Dagster and dbt as complementary technologies, not competing technologies.
4年前
記事のアイキャッチ画像
Case Study: Good Data at Good Eggs - Data Infrastructure Correctness and Reliability
Dagster Blog
Dagster’s custom data types helped achieve correctness and reliability in our data ingest process, less downstream breakage, and faster debugging.
4年前
記事のアイキャッチ画像
Case Study: Good Data at Good Eggs - Part 1 of 4
Dagster Blog
Adopting Dagster transformed our data platform team. We hope our experience is encouraging to other teams facing similar challenges and opportunities.
4年前
記事のアイキャッチ画像
Testing and Deploying PySpark Jobs with Dagster
Dagster Blog
Spark has a beautiful API but developing with it is a pain because different stages of development and deployment demand drastically different setups.
4年前
記事のアイキャッチ画像
Community Memo: September 2020 Update
Dagster Blog
A retrospective of our 0.9.0 release, a preview of our 0.10.0 roadmap, and Prezi's journey from a homegrown orchestration solution to Dagster.
4年前
記事のアイキャッチ画像
Podcast: Forward Thinking Leaders - How to Sell New Tech Concepts to Developers
Dagster Blog
+Nick Schrock shares insights on how to on how to sell new tech concepts to developers.
4年前
記事のアイキャッチ画像
Dagster: The Data Orchestrator
Dagster Blog
As a workflow engine, Dagster moves beyond ordering and executing data computations. It introduces a new primitive: a data-aware, typed, self-describing, logical orchestration graph.
4年前
記事のアイキャッチ画像
Announcing Dagster 0.7.0: Waiting To Exhale
Dagster Blog
With 0.7.0 we set out improve the Dagster experience with large, production-scale pipelines, deployable to Kubernetes.
5年前
記事のアイキャッチ画像
Announcing Dagster 0.6.0: Impossible Princess
Dagster Blog
Dagster 0.6.0 comes “batteries-included” and pluggable options to execute, monitor, schedule, deploy, and debug your data applications.
5年前
記事のアイキャッチ画像
Introducing Dagster
Dagster Blog
+Elementl announces an early release of Dagster, an open-source library for building ETL processes, ML pipelines and other data applications.
6年前
\ No newline at end of file diff --git a/blogs/bf646db03f7472f93f81598e1c57a85d/index.html b/blogs/bf646db03f7472f93f81598e1c57a85d/index.html new file mode 100644 index 000000000000..74ea16826c44 --- /dev/null +++ b/blogs/bf646db03f7472f93f81598e1c57a85d/index.html @@ -0,0 +1,21 @@ +blog.s2n.techのフィード|JSer.info Watch List RSS

blog.s2n.tech

https://blog.s2n.tech/

しゅん🌙(@shun_shobon)のブログサイトです。技術記事からポエムまで色々書きます。

フィード

記事のアイキャッチ画像
React v18でReact Compilerを使う&一部のコンポーネントだけReact Compilerで最適化する方法
blog.s2n.tech
先日、React Compilerがオープンソースになり、誰でも利用できるようになりました。しかしながら、React CompilerはReactのベータ版が必要になり、本番環境でガッツリ利用するのは少し難しいです。そこで、今回はReact CompilerをReact v18でも利用できるよう…
8ヶ月前
記事のアイキャッチ画像
2023年の振り返り
blog.s2n.tech
+毎年恒例の1年間の振り返りです。なんだかんだで3年目になりました。やっぱり自分のブログがあるとカジュアルにこういった記事を書くことができていいですね。皆さんも是非自分のブログを作ってみてはいかがでしょうか?ちなみに今はblog.s2n.techのv3を準備中です。公開したらまた紹介記事を書くの…
1年前
記事のアイキャッチ画像
アドベントカレンダーを3年間主催した話
blog.s2n.tech
この記事は長野高専 Advent Calendar 2023の25日目の記事です。今日はクリスマスですね。皆さんはどんなクリスマスを過ごされましたか?私はAstro触ってたらクリスマスが終わってました。今年も長野高専のアドベントカレンダーにはたくさんの記事が投稿されました。いろんな人が参加してくだ…
1年前
記事のアイキャッチ画像
工嶺祭2023HP制作の裏側
blog.s2n.tech
私は今年の工嶺祭のHP制作を担当しました。ここでは制作にあたっての技術スタックや運用、工夫した点などを紹介します。なお、この記事は私が自主的に書いたものであり、工嶺祭実行委員会や長野高専とは一切関係ございません。本記事の内容に関して学校などに直接問い合わせることはご遠慮ください。また、この記事…
1年前
記事のアイキャッチ画像
+「しゅん」という人間の作り方 〜生まれてからの 20 年間を振り返る〜
blog.s2n.tech
先に書いておくが、この記事は全文駄文である。全く推敲していないし、全く校正していない。さて私は 2023/04/22 に 20 歳の誕生日を迎える。自分の半生の振り返りをここに書いておき、自分という人間がどのように構築されていったのかを知ってもらえたらと思っている。私は元々何か創作したりするの…
2年前
記事のアイキャッチ画像
TypeScript で"moduleResolution": "Node"は使わないほうがいい
blog.s2n.tech
+タイトルは若干煽りですが、TS 5.0 でBundlerという設定値が追加されたため、Nodeを使う場面はほぼ無くなったと思います。今回は Node.js と TypeScript のモジュール解決の仕組みについて、moduleResolutionというオプションの観点から解説します。この記事…
2年前
記事のアイキャッチ画像
Cloudflare Tunnel でローカルの開発環境を公開する
blog.s2n.tech
LINE Messaging API や Slack/Discord の Slash Command など、Webhook ベースの API を利用する場合、ローカルに建てた Web サーバーを外部からアクセスできるようにする必要があります。今までは、ngrok などのツールを利用していましたが…
2年前
記事のアイキャッチ画像
Renovate で Deno の依存関係を自動で更新する
blog.s2n.tech
Renovate は非常に高機能なツールで、GitHub Actions や Docker の更新なんかもできますが、残念ながら執筆現在は Deno の依存関係の更新には対応していません。今回はどうにかして Renovate で Deno の依存関係を自動で更新する方法を紹介します。先に動いて…
2年前
記事のアイキャッチ画像
1kB の XML ビルダーを作った
blog.s2n.tech
littlexml という軽量の XML ビルダーをリリースしました。Cloudflare workers などの Edge ランタイムでの動作を考慮していますが、Node.js, Deno, Browser でも動作します。また通常の文字列としての出力以外にも Iterator や Web …
2年前
記事のアイキャッチ画像
正規表現でキャプチャグループを使うときは名前を付けよう
blog.s2n.tech
+JS/TS で正規表現を扱う際、()を使ったキャプチャグループを使うことがあると思います。キャプチャグループは大きく分けて 2 つの使われ方があり、1 つはキャプチャした文字列を.match()などで取得したり後方参照するために使われ、もう 1 つは|を使った論理和のために使われます。これら…
2年前
記事のアイキャッチ画像
Next.js App Dir で CSP を設定する
blog.s2n.tech
最近このブログに CSP を設定しました。Next.js ではインラインスクリプトが使われているので Nonce の設定が必要なのですが、App Dir での Nonce 設定方法が公式ドキュメントに書かれていなかったので、ここにやり方をまとめておきます。ちなみに App Dir を使用してい…
2年前
記事のアイキャッチ画像
pnpm では Pre/Post スクリプトは実行されない
blog.s2n.tech
最近メインで使うパッケージマネージャを Yarn から pnpm に乗り換えたのですが、Yarn の時に使っていた Pre/Post スクリプトが自動で実行されないことに気づきました。これは pnpm v6.0.0 からの仕様変更で、 意図的に 実行されないようになっています。今回は対処法も含…
2年前
記事のアイキャッチ画像
GitHub Actions で corepack を使って CI 上のパッケージマネージャを楽に管理する
blog.s2n.tech
皆さんは corepack をご存知でしょうか?corepack は Node.js v14.9 以降に同梱されているパッケージマネージャマネージャ(?) です.プロジェクト側で package.json に使用するパッケージマネージャとそのバージョンを明記しておくと,コマンド実行時に指定…
2年前
記事のアイキャッチ画像
KaTeX と React Syntax Highlighter を React Server Component に対応させる
blog.s2n.tech
+このブログは Next.js 13 で新しく追加された App Dir + React Server Component(RSC)を使って実装しています.RSC はクライアントサイドのバンドルサイズを非常に小さくすることができますが,RSC では useState などの副作用やProvide…
2年前
記事のアイキャッチ画像
ブラウザ上で動くファビコンジェネレーターを作った
blog.s2n.tech
この前blog.s2n.tech v2 をリリースしましたが,その時に動的に OGP 画像を生成するために @vercel/og というライブラリを使用しました.@vercel/og は大まかには JSX を SVG に変換する処理と SVG を PNG に変換する処理を内部で行っているのですが…
2年前
記事のアイキャッチ画像
blog.s2n.tech v2 のリリース
blog.s2n.tech
このブログは元々 2021 年末に唐突に自作のブログが作りたくなって急遽作ったものだったのですが,急ごしらえで作ったせいか,色々と機能不足だったり,問題があったりと不満点がたくさんありました.そこで今回自作ブログを大幅にリニューアルし,機能の追加,問題の解決を行いました.v1 時代のブログシステ…
2年前
記事のアイキャッチ画像
+2022 年の振り返り
blog.s2n.tech
もともと書く気はあまりなかったんですが、限界開発鯖箱推し後方腕組みオタクに書かないんですか?と言われてしまったので書いています。実質 RTA です。間に合うかな。あんまり特に生産的なことは何もしていません。冬休み中に突然、「Switch 欲しいな、買うか」と思い立って近くの家電量販店で Swi…
2年前
記事のアイキャッチ画像
macOS 上で glpng をコンパイルして動かす
blog.s2n.tech
今日から学校でプログラミング演習の授業が始まった。プログラミング演習では OpenGL を用いてゲームを作るらしく、はじめは環境構築だった。OpenGL の他に png を扱うための glpng というライブラリを導入する必要があったが、これを本家ソースから macOS 上でコンパイルしようと…
3年前
記事のアイキャッチ画像
数論変換(NTT)を用いた多項式乗算 ① 〜離散フーリエ変換と多項式乗算〜
blog.s2n.tech
この記事は数論変換(NTT)を用いた多項式乗算について 1 から丁寧に解説することを目標としています。この記事を書こうと思ったきっかけは学校で「円周率を 1000 桁計算する」というレポートが出たからです。いわゆる多倍長演算のレポートなのですが、乗算の速度をなんとかして上げようと思い、高速フーリエ…
3年前
記事のアイキャッチ画像
2021 年の振り返り
blog.s2n.tech
もともと書く気があまりなかったのですが、みんなが書いてるのを見たら書きたくなってきたので今急いで書いています。「サポーターズウィンターズハッカソン〜オンラインで LVup する開発合宿 vol.6〜」にて最優秀賞を頂きました。某コミュニティ内の 4 人で参加していて、一応フロントエンドを担当しま…
3年前
記事のアイキャッチ画像
2021 年の段階で僕が知らないこと
blog.s2n.tech
+こんにちは、しゅんです。この記事では 実は僕がよく知らない技術について挙げていきます。実はこのブログを開設したかった理由もこの記事を書くためです。もともと 2018 年の段階で私が知らないこと という React のコアコミッターの方が書いた記事がありまして、これを読んだときに、「僕もこんな…
3年前
記事のアイキャッチ画像
ブログ開設のご挨拶
blog.s2n.tech
こんにちは、しゅんです。この度ブログを開設しました。サイトのタイトルは「高専生はエンジニアの夢を見るか?」です。5 秒くらい考えて決めたタイトルなので気が変わったらタイトルも変えるかもしれません。一応雑多ブログとして開設しましたが、主に技術メインで書いていこうと思っています。個人ブログで Qiit…
3年前
\ No newline at end of file diff --git a/blogs/bf94bd62b564b09c46facb3915375e2a/index.html b/blogs/bf94bd62b564b09c46facb3915375e2a/index.html new file mode 100644 index 000000000000..1b9d9d1ab2c5 --- /dev/null +++ b/blogs/bf94bd62b564b09c46facb3915375e2a/index.html @@ -0,0 +1,9 @@ +Saji (@sajikix) on Speaker Deckのフィード|JSer.info Watch List RSS

Saji (@sajikix) on Speaker Deck

https://speakerdeck.com

Speaker Deck is the best way to share presentations online. Simply upload your slides as a PDF, and we’ll turn them into a beautiful online experience. View them on SpeakerDeck.com, or share them on any website with an embed code.

フィード

記事のアイキャッチ画像
アプリ文言のパースで学ぶ 文字列Literal型パズル入門
Saji (@sajikix) on Speaker Deck
TSKaigiKansai 2024 : 2024/11/16- https://kansai.tskaigi.org/talks/sajikixPlayground- Try it in PlaygroundX- https://twitter.com/sajikix
3ヶ月前
The Future of Frontend i18n : Intl.MessageFormat
Saji (@sajikix) on Speaker Deck
フロントエンドカンファレンス北海道 2024 : 2023/08/24- https://fortee.jp/frontend-conf-hokkaido-2024/proposal/31eab828-f20d-4f9d-87ae-e2d92c790dfbX- https://twitter.com/sajikix
5ヶ月前
記事のアイキャッチ画像
Temporalを取り巻く仕様を整理する
Saji (@sajikix) on Speaker Deck
Meguro.es #28 @ AWS Japan・https://meguroes.connpass.com/event/319662/x(twitter)・https://twitter.com/sajikix
7ヶ月前
記事のアイキャッチ画像
Intlの今までとこれから
Saji (@sajikix) on Speaker Deck
JSConf JP 2023 : 2023/11/19- https://jsconf.jp/2023/talk/ryusei-sajiki-1/
1年前
記事のアイキャッチ画像
読める気がしてくる babel/parser
Saji (@sajikix) on Speaker Deck
UV Study : フロントエンド LT会 : 2023/10/17・https://uniquevision.connpass.com/event/294990/x(twitter)・https://twitter.com/sajikix
1年前
\ No newline at end of file diff --git a/blogs/bf9df2dda8599706f279c5eee4d42b63/index.html b/blogs/bf9df2dda8599706f279c5eee4d42b63/index.html new file mode 100644 index 000000000000..4c319e1940d8 --- /dev/null +++ b/blogs/bf9df2dda8599706f279c5eee4d42b63/index.html @@ -0,0 +1,11 @@ +CodSpeed Blogのフィード|JSer.info Watch List RSS

CodSpeed Blog

https://codspeed.io/blog

Dive into the world of software performance optimization with the CodSpeed team. Our engineers share their expertise, strategies, and real-world experiences to help you achieve peak software performance.

フィード

記事のアイキャッチ画像
Introducing CodSpeed: Continuous Benchmarking
CodSpeed Blog
CodSpeed is a new tool to measure the performance of your code consistently, bringing reliable performance checks to Continuous Integration environments.
2年前
記事のアイキャッチ画像
Why Rust doesn't need a standard div_rem: An LLVM tale
CodSpeed Blog
Explore the performance implications and compiler optimizations around Rust's lack of a built-in div_rem function.
1年前
記事のアイキャッチ画像
Pinpoint performance regressions with CI-Integrated differential profiling
+CodSpeed Blog
Explore how CodSpeed automates flame graph generation in your CI pipeline, enabling you to easily pinpoint performance regressions and gain invaluable insights into your software's performance.
1年前
記事のアイキャッチ画像
Using Vitest bench to track performance regressions in your CI
CodSpeed Blog
Track performance regressions and automatically generate flame graphs with Vitest bench and CodSpeed
1年前
記事のアイキャッチ画像
One pytest Marker to Track the Performance of Your Tests
CodSpeed Blog
Discover how to efficiently track and analyze performance regressions with Pytest, combining it with CodSpeed to anticipate performance changes.
9ヶ月前
記事のアイキャッチ画像
Rust 1.78: Performance Impact of the 128-bit Memory Alignment Fix
CodSpeed Blog
Learn how Rust 1.78 fixed the alignment of 128-bit integers and how we can measure its impact on performance.
9ヶ月前
記事のアイキャッチ画像
State of Python 3.13 Performance: Free-Threading
CodSpeed Blog
Python 3.13 is out and it's time to run some benchmarks to see how well it performs with the new free-threaded mode.
3ヶ月前
\ No newline at end of file diff --git a/blogs/c022d9b940aef5d0945253a2b07b3953/index.html b/blogs/c022d9b940aef5d0945253a2b07b3953/index.html new file mode 100644 index 000000000000..cd6434476f50 --- /dev/null +++ b/blogs/c022d9b940aef5d0945253a2b07b3953/index.html @@ -0,0 +1,18 @@ +Chris Coyierのフィード|JSer.info Watch List RSS

Chris Coyier

https://chriscoyier.net

Web craftsman, blogger, author, speaker.

フィード

記事のアイキャッチ画像
Control
Chris Coyier
There is an idea in my bubble that running your own website is A Very Good Idea. I subscribe to the idea that running your own website is A Very Good Idea and will continue to help that along in my career. But there is a heaping helping of It Depends involved here. Perhaps the […]
8日前
記事のアイキャッチ画像
A Little Arm Chair Businessin’ about Chrome
Chris Coyier
+It was August 5th, 2024 when a federal judge in the US decided that “Google acted illegally to maintain a monopoly in online search”. Then November 20th, 2024 when “The Justice Department and a group of states asked a federal court late Wednesday to force Google to sell Chrome“. It hasn’t been forced yet and […]
10日前
記事のアイキャッチ画像
Media Diet
Chris Coyier
🎥 The War of Rohirrim — I was on a bit of a Lord of the Rings kick, reading the books then watching the Extended editions. So of course I had to see this. I tried to see in theaters but I just missed it, so streamed it. I thought it was good! A perfectly […]
11日前
記事のアイキャッチ画像
A Ham of Meat
Chris Coyier
There’s a classic old time tune “How Many Biscuits Can You Eat?”. I know it from The Freight Hoppers but it’s certainly much older than that. The answer? How many biscuits can you eat? 49 and a ham of meat. Obviously. Wait, did they say “a ham of meat”? Some renditions of the song just […]
15日前
記事のアイキャッチ画像
Team Bend Racing
Chris Coyier
+The kid and I randomly started watching World’s Toughest Race: Eco-Challenge Fiji on Amazon Prime from 2020. 66 teams descend upon Fiji to compete in the most epic global adventure race ever attempted. Bear Grylls hosts this 11-day expedition that pushes competitors to their physical and emotional limits. We were both like whaaaaat when “Team […]
18日前
記事のアイキャッチ画像
The Garden vs The River
Chris Coyier
+Robin Rendle quoting Chris Armstrong: I have these two opposing thoughts: The difference, I suppose, is that a personal blog and a site designed to get people technical information, have different content strategy goals. There are tweener answers as well. Robb Knight has a thought: I like the idea of redirecting /now to the latest post tagged […]
22日前
記事のアイキャッチ画像
Nest Cams
Chris Coyier
+First, we had the Nest thermostat. Gotta have that, right? The first thermostat in the history of time that feels well-designed. Works great. Pleasure to use and look at. Then we got the smoke alarm. Why not — seems nice. Then we got a free Nest Mini as a promotion when Miranda went Android for […]
23日前
記事のアイキャッチ画像
1,000 lbs
Chris Coyier
+Rogue has a 1000LB Club. Find your cumulative total of a 1 Rep Max Bench/Squat/Deadlift in one hour I’m not particularly interested in actually doing it. You have to record a video with a bunch of rules and crap. But I heard about it years ago and the general challenge idea stuck in my head. […]
24日前
記事のアイキャッチ画像
Tech + Pace Layering
Chris Coyier
+Steward Brand has talked about Pace Layering for a long time: Pace layers provide many-leveled corrective, stabilizing feedback throughout the system. It is in the contradictions between these layers that civilization finds its surest health. I propose six significant levels of pace and size in a robust and adaptable civilization With this example: The inner […]
1ヶ月前
記事のアイキャッチ画像
Short Life of Trouble
Chris Coyier
+My fiddle player friend Darin sent me this documentary about GB Grayson, which I enjoyed: The documentary talks about how very few people even recognize the name despite all of recorded tunes essentially becoming standards in today’s folk/bluegrass/old-time world and having been covered by extraordinarily huge artists. That’s true for me! I absolutely had never […]
1ヶ月前
記事のアイキャッチ画像
Exploring Hogwarts Puzzle
Chris Coyier
+Over the holiday’s our family did the Exploring Hogwarts puzzle. It was just 500 pieces but took us like… a month? Of course, in the end, there was a missing piece that we absolutely could not find, confirming our conspiracy theories the entire time. It don’t know if that looks hard to you, but my […]
1ヶ月前
記事のアイキャッチ画像
Check-in-the-Mail IRL Spam (Canada Dry)
Chris Coyier
+I just got a big ol’ stack of USPS Priority Mail®️ marked as RETURN TO SENDER. It’s… malicious spam. Physical spam, I suppose. I didn’t send these, of course. But the return address is CodePen Headquarters, so it seems it was just a free way to get spam into our door. The evil schmucks drop […]
1ヶ月前
\ No newline at end of file diff --git a/blogs/c1b786c996167ccc7c37f70193a5d951/index.html b/blogs/c1b786c996167ccc7c37f70193a5d951/index.html new file mode 100644 index 000000000000..f3247b7a9c28 --- /dev/null +++ b/blogs/c1b786c996167ccc7c37f70193a5d951/index.html @@ -0,0 +1,27 @@ +newmo 技術ブログのフィード|JSer.info Watch List RSS

newmo 技術ブログ

https://tech.newmo.me/

技術で地域をカラフルに

フィード

記事のアイキャッチ画像
SRE Kaigi 2025に登壇しました & Marpでスライドを作った話
はてなブックマークアイコン 1
newmo 技術ブログ
+2025/1/26に開催されたSRE Kaigi 2025に、「SREとしてスタッフエンジニアを目指す」というタイトルで登壇しました。 発表を聴きにきていただいた方、またAsk the Speakerや懇親会で話しかけてくれた方ありがとうございました。 SRE Kaigiは今回が初めての開催なのにコミュニケーションのための工夫がいろいろされていて、多くの人が参加してコミュニケーションしていてとても盛り上がったイベントでした。自分自身も休憩スペースでたこ焼き食べながら知り合いと久しぶりにコミュニケーションしたり、懇親会では技術的な話をしたりと楽しむことができました。 発表内容はnewmoとは関係…
8日前
記事のアイキャッチ画像
【年末】DatadogのGoogle Cloud Integration設定を見直そう【大掃除】
newmo 技術ブログ
+こんにちは。 newmoでは、Datadogを利用してGoogle Cloudをはじめとした各種サービスの監視を行っています。今回はDatadogのGoogle Cloud Integration設定の改善をしたことで、コストを削減できた話を共有します。(たぶん)2024年最後の記事ということで、年末の設定見直しの参考にしていただけたら幸いです。 DatadogでのGoogle Cloud Integration DatadogでGoogle Cloud Integrationを設定してメトリクスを収集することは昔からできました。以前はGoogle Cloud側でService Account…
1ヶ月前
記事のアイキャッチ画像
JSConf JPでModular Monolith Monorepoについて発表しました
newmo 技術ブログ
+こんにちは、newmoでソフトウェアエンジニアをしている @yui_tangです。 2024年11月23日に開催されたJSConf JP 2024にて、「Modular Monolith Monorepo -シンプルさを保ちながらmonorepoのメリットを最大化する-」というテーマで発表させていただきました。 スライド: speakerdeck.com 動画: https://www.youtube.com/live/2BXwigWGjWQ?feature=shared&t=21596 JSConf JP 2024について JSConf JPは日本最大級のJavaScriptカンファレンスで…
2ヶ月前
記事のアイキャッチ画像
ブラウザで動作する地理空間データ処理ライブラリとして DuckDB-wasm を使い、 SQL を TypeScript で管理する仕組みを作る
newmo 技術ブログ
+newmo では、地図データや地理情報を扱う場面が多くあります。 たとえば、タクシーやライドシェアでは、営業区域のような営業していいエリアといった地理的な定義があります。 また、乗り入れ禁止区域のようなタクシーが乗り入れてはいけないエリアといった定義も必要になります。 これらの地理に関する定義は GeoJSON のような地理情報を扱うデータ形式で管理されることが多いです。 しかし、GeoJSONなどの定義をテキストとして手書きするのは困難です。 そのため、地図上に区域を作図するエディタやその定義した区域が正しいかをチェックするような管理ツールが必要です。 管理ツールは、ウェブアプリケーションと…
3ヶ月前
記事のアイキャッチ画像
MonorepoでのTerraform運用を楽にする!tfactionを使ったGitHub Actions Workflowの構築
newmo 技術ブログ
+はじめに newmoではGoogle Cloud等のリソース管理にTerraformを使っています。また、newmoではMonorepoを使って開発しています。 Monorepoについてここでは詳しく説明しませんが、バックエンドのGoのコードもフロントエンドのTypeScriptのコードもTerraformのコードもすべて同じGitHubのレポジトリで管理し開発を行っています。 TerraformのコードをMonorepoで管理することで、以下の要素を統一的に制御できるようになりました CICDパイプライン TerraformとProviderのバージョン セキュリティポリシー Lintルール…
3ヶ月前
記事のアイキャッチ画像
OpenTelemetry Collectorを使ったCloud Run to Datadogの実装パターン
newmo 技術ブログ
+newmoでは現在アプリケーションサーバーをCloud Runで動かし、Datadogを利用してサービスの監視をすることを考えています。 複数のCloud Runサービスからメトリクス、トレース、そしてログをDatadogへ送信する方法としていくつかのパターンが考えられます。 Datadogへメトリクスやトレース、ログを送る方法としてDatadog Agentを使う方法が一般的ですが将来のための柔軟性や拡張性を考えてOpenTelemetry Collectorを利用することを検討しました。この記事では、検討した構成案を紹介します。 はじめに Datadog公式ドキュメントのOpenTelem…
4ヶ月前
記事のアイキャッチ画像
newmoインターンがgqlparserにプルリクエストを投げた話
newmo 技術ブログ
+こんにちは。8月からnewmoでインターンをしている堀之内(@horinouchi09)と申します。 nemwoではバックエンドエンジニアとして、ビジネスドメインのAPIの開発やプラットフォームエンジニアリングのタスクなど多岐にわたってプロダクト開発に携わっています。 Go言語での開発は未経験からのスタートでしたが、バックエンドエンジニアのitoさんをはじめ多くの方々にサポートしていただき、楽しく開発ができています! さて、今回は私がnewmoでのインターンを通して人生初のOSS Contributeをした話をします。 newmoの開発スタイル newmoではクライアントからサーバーのAPIを…
4ヶ月前
記事のアイキャッチ画像
YAPC::Hakodate 2024 に参加&学生支援ランチでLTしました! #yapcjapan
newmo 技術ブログ
+YAPC::Hakodate 2024に社員4名が参加&学生向けにLTを実施しました こんにちは。newmoのソフトウェアエンジニアの @tenntenn です。 2024年10月5日に開催されたYAPC::Hakodate 2024にて、今年はnewmoからエンジニア4名が参加。さらに、学生支援スポンサーとして学生向けにLTをさせていただきました。 このブログでは、LTの登壇資料や補足情報、参加した社員の感想などをシェアします。 学生支援スポンサーランチLT 参加された学生のみなさんに向けて、tenntennが入社した理由についてお話しました。自分の身の回りの課題を自分で解決したいという思い…
4ヶ月前
記事のアイキャッチ画像
Google Cloud PAMを使った権限昇格の仕組みと、Terraformでloopをネストする方法
newmo 技術ブログ
+PAM(Privileged Access Manager)とは Google CloudのPrivileged Access Manager(PAM)という機能をご存知でしょうか。 詳しくは 新しい Privileged Access Manager を使用して常時オンの特権からオンデマンド アクセスに移行 | Google Cloud 公式ブログ に書かれています。 簡単な方法で、必要なときにのみ、必要な期間だけ、必要なアクセス権を正確に取得できるようにすることで、最小権限の原則を実現するのに役立ちます。PAM は、常時オンの常設特権から、ジャストインタイム(JIT)、時間制限付き、承認ベ…
4ヶ月前
記事のアイキャッチ画像
まずはイテレータ(range over func)の仕様を学ぼう - Goのイテレータ深堀りNight
newmo 技術ブログ
+はじめに こんにちは。newmoでソフトウェアエンジニアをやっている@tenntennです。 本稿では、2024年9月24日(火)にファインディ株式会社主催の「Goのイテレータ深堀りNight」というイベントで登壇してきましたので、その報告と内容について紹介します。 findy.connpass.com 「Goのイテレータ深堀りNight」は、2024年8月にリリースされたGo1.23の機能の1であるrange over func(通称イテレータ)について、6人の登壇者がさまざまな角度で10分のライトニングトーク(LT)を行うイベントです。筆者は、トップバッターということで「まずはイテレータ(…
4ヶ月前
記事のアイキャッチ画像
go testの時だけ時刻を固定する
newmo 技術ブログ
+はじめに こんにちは。newmoでソフトウェアエンジニアをやっている@tenntennです。 newmoには2024年8月に入社しました。この記事を書いているのは2024年9月なので、入社してだいたい1ヶ月ちょっとが経過したところです。 なお、筆者が入社した経緯などは次の記事を読んでください。 note.com 入社した当初、newmoのバックエンドコードのコードを眺めていると、次のように宣言された関数を見つけました。 func Now(_ context.Context) time.Time { return time.Now().In(time.UTC) } 単にtime.Now関数を呼び…
5ヶ月前
記事のアイキャッチ画像
GitHub ActionsのJobが落ちたときに何をするべきかを記述するPlaybookの仕組みを作って運用している話
newmo 技術ブログ
+newmoではGitHub Actionsを自動テスト、Lint、デプロイなどに利用しています。 また、newmoではmonorepoで開発しているため、1つのリポジトリに複数のチーム/複数のアプリケーションが存在しています。 GitHub Actionsではpathsを使うことで、特定のファイルが変更された場合のみ特定のWorkflowが実行できます。 newmoのmonorepoのworkflowでは基本的にpathsが指定されていますが、それでも普段は触らないファイルを変更して意図せずにCIが落ちることがあります。 GitHub ActionsのCIが落ちたときに、そのCIの仕組みを作っ…
5ヶ月前
記事のアイキャッチ画像
monorepo内でのパッケージのバージョンを1つだけに統一するOne Version Ruleをpnpm catalogで実装する
newmo 技術ブログ
+newmoでは、フロントエンド、バックエンド、iOSやAndroidなどのモバイルアプリをすべて同じリポジトリで管理するmonorepoを採用しています。 monorepoを採用することで、アプリケーション間で共通のコードを共有することができたり、CIの管理が楽になったり、他のチームのコードを見るのにわざわざリポジトリをcloneする必要がなくなります。 また、monorepoを採用することで、アプリケーションが利用しているパッケージ(ライブラリやツール)のバージョンを1つだけにするOne Version Ruleが実装できます。 One Version Rule One Version Ru…
5ヶ月前
記事のアイキャッチ画像
iOSDC Japan 2024 にて「GraphQLとスキーマファーストで切り開くライドシェアの未来」について話しました! #iosdc
newmo 技術ブログ
+iOSDC Japan 2024 にスポンサーセッションで登壇しました こんにちは。newmoのソフトウェアエンジニアの@kuです。 先週開催されたiOSDC Japan 2024にて、Day2の夕方に「GraphQLとスキーマファーストで切り開くライドシェアの未来」というタイトルで登壇させていただきました。(トーク情報) このブログでは、当セッションの登壇資料、補足・裏話をシェアします。 登壇資料 speakerdeck.com 本セッションでは、GraphQLのディレクティブを使ってスキーマにより多くの情報を持たせ、そこからコードを生成することで、異なるソフトウェア間で一貫性のある実装を安…
5ヶ月前
記事のアイキャッチ画像
newmo は「エンジニアの楽園 vim-jp ラジオ」を応援しています! #vimjpradio
newmo 技術ブログ
+こんにちは。newmo の TechPR 担当です。 newmo は、2024年にスタートした「エンジニアの楽園 vim-jp ラジオ」を応援しています。newmo の vimmer も他のエディタ使いも、いつも楽しく vim-jp ラジオを聞かせていただいており、協賛できることを嬉しく思います。 協賛にあたり、以下日時のお知らせコーナーにて、newmo の情報が配信される予定です。 9月9日 #10 @yusukebe さん回 9月16日 #11 @uzulla さん回 vimmer の方も、そうでない方も。vim-jp ラジオの audee ページと vim-jp X アカウント(@vim…
6ヶ月前
記事のアイキャッチ画像
newmo は iOSDC Japan 2024 にゴールドスポンサーとして協賛します!ブース出展 & Day2にセッションも(記事内チャレンジトークン有り) #iosdc
newmo 技術ブログ
+こんにちは。newmo の TechPR 担当です。 newmo は、2024年8月22日〜24日に開催予定の iOSDC Japan 2024 にゴールドスポンサーとして協賛します! 創業1年目の会社ですが、iOSコミュニティの発展に寄与できることを嬉しく思います。 記事内にiOSDCチャレンジトークンがあります。 ※ iOSDCチャレンジトークンとは、公式が催している全員参加型企画「iOSDCチャレンジ」に使用するトークンのことです。詳しくはこちらの公式案内ブログをご覧ください。 iOSDC Japan 2024 開催概要 開催日:2024年8月22日(木)〜24日(土) 場所:早稲田大学…
6ヶ月前
記事のアイキャッチ画像
Go Conference 2024 にシルバースポンサーとして参加しました!
newmo 技術ブログ
+プロダクト開発に採用しているプログラミング言語Goのカンファレンス「Go Conference 2024」において、newmoはSilverスポンサーとして協賛いたしました。 当日は、CTOの @sowawa 、アーキテクトの yuki.ito、そして 筆者の@yui_tang が参加しました。 5年ぶりにオフライン開催となったGo Conferenceですが、多くの参加者が朝早くから集まり、1日を通して盛り上がりを見せていました! 創業間もないnewmoですが、幸運なことにブース出展の機会を得ることができました。 多くの方々に、バックエンドアーキテクチャや事業について興味を持っていただく貴重…
8ヶ月前
記事のアイキャッチ画像
newmo株式会社はGo Conference 2024にてスポンサーブースを出します!
newmo 技術ブログ
+こんにちは、newmo 株式会社に所属しているソフトウェアエンジニアのyui_tangです。 newmoは、Go Conference 2024にSilverスポンサーとして協賛します! 2024年1月に創業したばかりの弊社が、初めて技術カンファレンスへ協賛出来ることを大変嬉しく思います。 gocon.jp newmoからは、CTOのsowawa・アーキテクトの伊藤とわたしの3名が参加を予定しています。 出来たばかりのnewmo Tシャツを着てブースでお待ちしておりますので、ぜひお越しください。 newmo Tシャツ ブースにて、ライブコーディングや事業・プロダクトの設計についての説明等を行い…
8ヶ月前
記事のアイキャッチ画像
Go + GraphQL による Modular Monolith なシステム設計について発表しました
newmo 技術ブログ
+こんにちは、newmo 株式会社に所属しているアーキテクトの伊藤です。 5/22 に【Go】カンファレンススポンサーブースの集い 2024 〜カウシェ × newmo × メルカリ〜というイベントを開催しました。 このイベントで、筆者からは GraphQL Federation や Go のための GraphQL のコード生成、Modular Monolith によるシステム設計について話しました。 スライドや動画のアーカイブは、次の場所で公開されているので、ぜひご覧ください! スライド: Go + GraphQL @ newmo - Speaker Deck 動画: 【Go】カンファレンスス…
8ヶ月前
記事のアイキャッチ画像
【Go】カンファレンススポンサーブースの集い 2024 〜カウシェ × newmo × メルカリ〜 を開催します!
newmo 技術ブログ
+こんにちは、newmo 株式会社に所属しているアーキテクトの伊藤です。 newmo は 2024 年 1 月に創業したばかりであるため、ゼロからどのようなアーキテクチャにするかを議論しながら開発を進めています。 これについては、次の記事でも話しているので、興味があればぜひご覧ください! 「いま、ゼロから移動を設計したら?」newmoが挑む技術的チャレンジとは|newmo株式会社|"移動で地域をカラフルに" このように議論しながら、newmo では Go 言語と GraphQL を採用することに決めました。 GraphQL と一言にいっても、GraphQL API を扱う戦略はさまざまな方法があ…
9ヶ月前
記事のアイキャッチ画像
🚗 newmo の技術ブログをはじめます 🚕
newmo 技術ブログ
+newmoのCTOのsowawaです。はじめまして〜🚕 🚗 まず、最初にnewmoについて話したいと思います。 newmoはタクシーとライドシェアの会社として2024年に設立されました。 「newmo」は新しいモビリティの会社という意味で、new mobilityからnewmoと名づけました。 newmoでは、移動の問題を解決してみんなが自由に移動できる社会を作りたいと思っています。特に地域社会は移動に課題を抱えるところも多くなってきていて、好きなときに好きなところに行くことが難しいということも少なくありません。newmoではそういった課題を解決して、できるだけ多くの人が好きなときに好きなとこ…
9ヶ月前
\ No newline at end of file diff --git a/blogs/c3d039df167ae748d9e2f9ce15146f74/index.html b/blogs/c3d039df167ae748d9e2f9ce15146f74/index.html new file mode 100644 index 000000000000..450362ec9783 --- /dev/null +++ b/blogs/c3d039df167ae748d9e2f9ce15146f74/index.html @@ -0,0 +1,15 @@ +jQuery UI Blogのフィード|JSer.info Watch List RSS

jQuery UI Blog

https://blog.jqueryui.com

jQuery: The Write Less, Do More, JavaScript Library

フィード

記事のアイキャッチ画像 +
jQuery UI 1.14.1 released
jQuery UI Blog
jQuery UI 1.14.1 has been released. It includes a fix for shrinking dialog contents on resizing with box-sizing set to content-box (issue #2277, PR #2281) and makes the tabs widget work correctly with IDs with backslashes (PR #2307). Dialog supports a new option: uiDialogTitleHeadingLevel. When set to a number between 1 & 6, it changes … Continue reading →
3ヶ月前
記事のアイキャッチ画像
jQuery UI 1.14.0 released
jQuery UI Blog
We are happy to announce the 1.14.0 stable release! The focus of this release is reducing the maintenance burden to ensure important issues are addressed, as outlined in the blog post about plans for jQuery UI 1.14. As of today, the jQuery UI 1.13.x line is no longer supported. Reduced support for older browsers or … Continue reading →
6ヶ月前
記事のアイキャッチ画像
jQuery UI 1.14.0-beta.2 released
jQuery UI Blog
Following up on our blog post on Plans for jQuery UI 1.14, it is our pleasure to announce the second beta for jQuery UI 1.14.0. Compared to the first beta, there are two main changes: We’ve also finalized the migration from the TestSwarm test runner to our custom one integrated into GitHub Actions. See the … Continue reading →
8ヶ月前
記事のアイキャッチ画像
jQuery UI 1.14.0-beta.1 released
jQuery UI Blog
Following up on our blog post on Plans for jQuery UI 1.14, it is our pleasure to announce the first beta for jQuery UI 1.14.0. This release doesn’t offer any new features, only the following breaking changes: This beta is not integrated into the jQuery UI Download Builder; support for jQuery UI 1.14 will be … Continue reading →
9ヶ月前
記事のアイキャッチ画像
Plans for jQuery UI 1.14, dropping support for UI <1.12 in the Download Builder
jQuery UI Blog
jQuery UI has been in maintenance mode since 2021. We are prioritizing security issues & regressions from jQuery UI 1.12, with occasional fixes contributed by the community. That said, maintaining jQuery UI still takes a significant effort. This is caused by many moving pieces: The above issues, combined with the fact very few people work … Continue reading →
9ヶ月前
記事のアイキャッチ画像
jQuery UI 1.13.3 released
jQuery UI Blog
We’re happy to announce the third patch release to jQuery UI 1.13 is out. It includes fixes for the resizable widget when a global box-sizing: border-box CSS declaration is present (a common complaint was about resizable dialogs), support for the hidden attribute in selectmenu options, fixes for the deprecated -ms-filter syntax, and correcting the format … Continue reading →
9ヶ月前
記事のアイキャッチ画像
jQuery UI 1.13.2 released
jQuery UI Blog
We’re happy to announce the second patch release to jQuery UI 1.13 is out. It includes a security fix for the Checkboxradio widget, a few localization updates for Datepicker and some fixes for issues submitted by the community. Built jQuery UI files are now included in the npm package; this was important to some CDNs … Continue reading →
3年前
記事のアイキャッチ画像
jQuery UI 1.13.1 released
jQuery UI Blog
We’re happy to announce the first patch release to jQuery UI 1.13 is out. It mostly consists of fixes for 1.13 regressions reported to us since the 1.13.0 release. Fixes involve the Widget, Autocomplete, Sortable & Tooltip modules. Please remember jQuery UI is in a maintenance state: we’ll make sure the library is compatible with … Continue reading →
3年前
記事のアイキャッチ画像
jQuery maintainers continue modernization initiative with deprecation of jQuery Mobile
jQuery UI Blog
By: Michał Gołębiowski-Owczarek, Felix Nagel, and the jQuery team Editor’s Note: the following blog post was originally published to the OpenJS Foundation Blog. jQuery maintainers are continuing to modernize its overall project that still is one of the most widely deployed JavaScript libraries today. The team announced that the cross-platform jQuery Mobile project under its … Continue reading →
3年前
記事のアイキャッチ画像
jQuery maintainers update and transition jQuery UI as part of overall modernization efforts
jQuery UI Blog
By: Michał Gołębiowski-Owczarek, Felix Nagel, and the jQuery team Editor’s Note: the following blog post was originally published to the OpenJS Foundation Blog. The jQuery project is actively maintained and widely implemented — it’s used by 73% of 10 million most popular websites. As part of its ongoing effort to modernize the project, jQuery maintainers … Continue reading →
3年前
\ No newline at end of file diff --git a/blogs/c7b8f00b0bd22f8f366c731ab2f6f56b/index.html b/blogs/c7b8f00b0bd22f8f366c731ab2f6f56b/index.html new file mode 100644 index 000000000000..42ee46dcd9e9 --- /dev/null +++ b/blogs/c7b8f00b0bd22f8f366c731ab2f6f56b/index.html @@ -0,0 +1,18 @@ +Web Accessibility Initiative (WAI)のフィード|JSer.info Watch List RSS

Web Accessibility Initiative (WAI)

https://www.w3.org/WAI/

Accessibility resources free online from the international standards organization: W3C Web Accessibility Initiative (WAI).

フィード

記事のアイキャッチ画像
Collaboration Tools Accessibility User Requirements - Note Published
Web Accessibility Initiative (WAI)
Collaboration Tools Accessibility User Requirements is a completed W3C Group Note. The document covers accessibility user needs, requirements, and scenarios for collaborative content creation and development tools. The solutions identified in this document are intended to influence the evolution of future accessibility guidelines, technical specifications, or features of collaboration tools and assistive technologies. They are also relevant to software developers who contribute to developing the collaborative experience.
18日前
記事のアイキャッチ画像
WCAG 2.1 and WCAG 2.2 published with minor editorial updates
Web Accessibility Initiative (WAI)
+The W3C Accessibility Guidelines Working Group (AG WG) is addressing open issues on Web Content Accessibility Guidelines (WCAG) 2.1 and 2.2. Most issue resolutions resulted in updates to Understanding WCAG and Techniques for WCAG. Some resulted in minor editorial updates to the WCAG standard. Today W3C published updates to: Web Content Accessibility Guidelines (WCAG) 2.1 and Web Content Accessibility Guidelines (WCAG) 2.2. For a list of updates, see the Change Log section of each document. Please share this web page as the place to start for up-to-date information on WCAG 2: WCAG 2 Overview.
2ヶ月前
記事のアイキャッチ画像
For Review: WCAG 3 Working Draft - example guidelines and conformance
Web Accessibility Initiative (WAI)
An updated W3C Accessibility Guidelines (WCAG) 3.0 Working Draft is available for review. For a summary of changes, new content for review, and how to comment, see the WCAG 3 Introduction section Status: In-progress drafts.
2ヶ月前
記事のアイキャッチ画像
WCAG2ICT Note Published
Web Accessibility Initiative (WAI) +
Guidance on Applying WCAG 2 to Non-Web Information and Communications Technologies (WCAG2ICT) is a completed W3C Group Note. WCAG2ICT describes how Web Content Accessibility Guidelines (WCAG) principles, guidelines, and success criteria can be applied to non-web information and communications technologies (ICT), specifically to non-web documents and software. The document includes guidance for WCAG 2.0, 2.1, and 2.2 success criteria and glossary terms. WCAG2ICT has been a key resource for including WCAG in ICT accessibility regulation, legislation, and standards around the world. This update facilitates further adoption of WCAG 2.1 and WCAG 2.2 in non-web contexts. For an introduction, see: WCAG2ICT Overview.
4ヶ月前
記事のアイキャッチ画像
For Wide Review: Collaboration Tools Accessibility User Requirements
Web Accessibility Initiative (WAI)
+Collaboration Tools Accessibility User Requirements is ready for review. The document covers accessibility user needs, requirements, and scenarios for collaborative content creation and development tools. The solutions identified in this document are intended to influence the evolution of future accessibility guidelines, technical specifications, or features of collaboration tools and assistive technologies. They are also relevant to software developers who contribute to developing the collaborative experience. Questions for this review are in e-mail for CTAUR review. Please send any comments by 30 September 2024.
7ヶ月前
記事のアイキャッチ画像
For Wide Review: Guidance on Applying WCAG 2 to Non-Web ICT (WCAG2ICT)
Web Accessibility Initiative (WAI)
WCAG2ICT is Guidance on Applying WCAG 2 to Non-Web Information and Communications Technologies (WCAG2ICT), including documents and software. The Draft is ready for final review before we publish it as a completed W3C Group Note. For an introduction, see the WCAG2ICT Overview. Please submit any comments by 6 August 2024.
7ヶ月前
記事のアイキャッチ画像
Updated Resource: How People with Disabilities Use the Web
Web Accessibility Initiative (WAI)
How People with Disabilities Use the Web is updated with new user stories (personas) and new videos highlighting “Accessibility: It’s about people”. It describes tools and approaches that disabled people use to interact with technology and it covers barriers that people experience because of inaccessible digital technology. The resource helps developers, designers, content creators, and others understand the reasons behind creating accessible digital products. To quote the new videos: Whatever your role, “You can help make technology accessible to me.”
7ヶ月前
記事のアイキャッチ画像
For Review: ACT Rules Format 1.1 - First Public Working Draft
Web Accessibility Initiative (WAI)
+Accessibility Conformance Testing (ACT) Rules Format 1.1 Working Draft is available for review. The ACT Rules Format defines a format for writing accessibility test rules. It helps developers of automated testing tools and manual testing methodologies to write, share, and implement test rules. The test rules contribute to consistent testing for accessibility standards compliance. Changes from ACT Rules Format 1.0 include: new secondary accessibility requirements and allowing subjective applicability statements. For an introduction to ACT resources, see the ACT Overview. Please submit any comments by 18 August 2024.
8ヶ月前
記事のアイキャッチ画像
WCAG 2.2 in Dutch: Authorized Translation Published
Web Accessibility Initiative (WAI)
Richtlijnen voor Toegankelijkheid van Webcontent (WCAG) 2.2, the Dutch Authorized Translation of Web Content Accessibility Guidelines (WCAG) 2.2, is now available, following completion of the W3C Authorized Translations process. Other translations of WAI resources are listed in All WAI Translations. WAI encourages translations in all languages. If you might be interesting in translating resources, see Translating WAI Resources. Thank you to all who contribute to translations.
8ヶ月前
記事のアイキャッチ画像
WCAG 2.2 in Catalan: Authorized Translation Published
Web Accessibility Initiative (WAI)
Directrius per a l’accessibilitat del contingut web (WCAG) 2.2, the Catalan Authorized Translation of Web Content Accessibility Guidelines (WCAG) 2.2, is now available, following completion of the W3C Authorized Translations process. Other translations of WAI resources are listed in All WAI Translations. WAI encourages translations in all languages. If you might be interesting in translating resources, see Translating WAI Resources. Thank you to all who contribute to translations.
9ヶ月前
\ No newline at end of file diff --git a/blogs/c83949ff8ab6f0c27ca5d87951392cfa/index.html b/blogs/c83949ff8ab6f0c27ca5d87951392cfa/index.html new file mode 100644 index 000000000000..30deb27bd3ce --- /dev/null +++ b/blogs/c83949ff8ab6f0c27ca5d87951392cfa/index.html @@ -0,0 +1,48 @@ +Recent Gists from andrewbranchのフィード|JSer.info Watch List RSS

Recent Gists from andrewbranch

https://github.blog

Updates, ideas, and inspiration from GitHub to help developers build and design software.

フィード

記事のアイキャッチ画像
Writing type definitions, on a scale of 1–5
Recent Gists from andrewbranch
writing-type-definitions.md Writing type definitions, on a scale of 1–5By handWith tscWith 3rd party toolEase154Avg. correctness252Flexibility513
1年前
記事のアイキャッチ画像
+tsc performance consuming .ts vs .d.ts files in npm packages
Recent Gists from andrewbranch
+tsc-ts-vs-dts.md Original Tweettsc performance consuming .ts vs .d.ts files in npm packagesWhat if TypeScript libraries published just .ts sources to npm instead of .js and .d.ts files? This might already be tempting for Bun-only libraries, but how will that impact users? This is easy to answer by experimenting on existing libraries that ship .js, .d.ts, and .ts files.RxJS ships .js and .d.ts files, but also .ts files for debugability purposes. By tweaking its package.json "exports", we can compare tsc performance on this file with imports resolving to .d.ts files vs .ts source files:import {} from "rxjs";import {} from "rxjs/ajax";import {} from "rxjs/fetch";import {} from "rxjs/operators";import {} from "rxjs/testing";import {} from "rxjs/webSocket";Results.d.ts.tsFiles268317LOC49k62kInstantiations ❗11k46kMemory92 kB118 kBParse time.76 s.91 sCheck time ❗1.48 s3.02 sTotal time ❗2.58 s4.43 sObviously .ts files look really bad here, which is what I was expecting. I did expect the memory +
1年前
記事のアイキャッチ画像
Modified avrdude.conf for Adafruit Trinket
Recent Gists from andrewbranch
+avrdude.conf This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters # $Id: avrdude.conf.in 1371 2016-02-15 20:15:07Z joerg_wunsch $ -*- text -*- # # AVRDUDE Configuration File # # This file contains configuration data used by AVRDUDE which describes # the programming hardware pinouts and also provides part definitions. # AVRDUDE's "-C" command line option specifies the location of the # configuration file. The "-c" option names the programmer configuration # which must match one of the entry's "id" parameter. The "-p" option # identifies which part AVRDUDE is going to be programming and must match # one of the parts' "id" parameter. # # DO NOT MODIFY THIS FILE. Modifications will be overwritten the next # time a "make install" is run. For user-specific additions, use the # " +
7年前
記事のアイキャッチ画像
#algorithm challenge: more elegant way to do this
Recent Gists from andrewbranch
+transpose-array-test.js This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters import { describe, it, beforeEach } from 'mocha'; import assert from 'assert'; import transposeArray from './transpose-array'; describe('transpose-array', () => { let array; beforeEach(() => array = [0, 1, 2, 3, 4, 5]); it('works for downward transpositions', () => { let result = transposeArray(array, 4, 2); assert.deepEqual(result, [0, 1, 4, 2, 3, 5]); }); it('works for upward transpositions', () => { let array = [0, 1, 2, 3, 4, 5]; let result = transposeArray(array, 1, 4); assert.deepEqual(result, [0, 2, 3, 4, 1, 5]); }); it('works at the lower bound', () => { let result = transposeArray(array, 0, 3); assert.deepEqual(result, [1, 2, 3, 0, 4, 5]); }); it('works at the upper bound', () => { let re +
9年前
記事のアイキャッチ画像
One of these is around 10x faster than the other two
Recent Gists from andrewbranch
+set-seq-splitting-efficiency.js This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters // filtered is an Immutable.Seq (lazy sequence) with 307 entries let withinCountry = filtered.filter(p => p.get('locations').some(isSameCountry(yourLocation))); let outsideCountry1 = filtered.filter(p => !withinCountry.includes(p)); let outsideCountry2 = filtered.filter(p => !p.get('locations').some(isSameCountry(yourLocation))); let outsideCountry3 = filtered.toSet().subtract(withinCountry); return withinCountry.sort(someWayOfSorting) .concat(outsideCountryN.sort(someOtherWayOfSorting)) .take(10);
9年前
記事のアイキャッチ画像
Variadic sort
Recent Gists from andrewbranch
+sort.js This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters function getTestPeople() { return [{ name: "Kylie", age: 18 }, { name: "Andrew", age: 23 }, { name: "Andrew", age: 18 }, { name: "Clay", age: 23 }]; } function sort() { var sortFunctions = Array.prototype.slice.call(arguments); var lastArgument = sortFunctions.pop(); if (lastArgument.sort) { return lastArgument.sort(function(a, b) { for (var i = 0; i < sortFunctions.length; i++) { var order = sortFunctions[i](a, b); if (order !== 0) { return order; } } return 0; }); } return sortFunctions.reduce(function(bound, arg) { return bound.bind(this, arg); }.bind(this), sort).bind(this, lastArgument); } function byName(a, b) { if (a.name > b.name) { return 1; } else if (a.name < b.name) { return -1; } return 0; } function +
9年前
記事のアイキャッチ画像
I frequently overcomplicate Promises
Recent Gists from andrewbranch
+promise-bad.js This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters someAsyncMethod() { return new Promise((resolve, reject) => { somePromiseReturningMethod().then(x => { resolve(doSomethingTo(x)); }); }); } promise-good.js This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters someAsyncMethod() { return somePromiseReturningMethod().then(x => { return doSomethingTo(x); }); }
10年前
記事のアイキャッチ画像
Verifying my GitHub identity on keybase.io
Recent Gists from andrewbranch
+keybase.md Keybase proofI hereby claim:I am andrewbranch on github.I am andrewbranch (https://keybase.io/andrewbranch) on keybase.I have a public key whose fingerprint is 3F80 A965 F914 BC02 8650 E395 22CC A4B1 20C4 27D2To claim this, I am signing this object:{ "body": { "key": { "fingerprint": "3f80a965f914bc028650e39522cca4b120c427d2", "host": "keybase.io", "key_id": "22cca4b120c427d2", "kid": "010138444fd04ba5f4d5d02e0458368c8b8f4ae46ee26e3829e2e4c5175ac38ca4570a", "uid": "b0edd0144760b0c67f8a4482b838aa19", "username": "andrewbranch" }, "service": { "name": "github", "username": "andrewbranch" }, "type": "web_service_binding", "version": 1 }, "ctime": 1426983307, "expire_in": 157680000, "prev": "68f031cf260c352a284b7656d5f1056c31ea239d49f8824cee0ff50a648b48c9", "seqno": 3, "tag": "signature"}with the key 3F80 A965 F914 BC02 8650 E395 22CC A4B1 20C4 27D2, yielding the signature:-----BEGIN PGP MESSAGE-----Version: Keybase OpenPGP v2.0.8Comment: https://keybase.io/cryptoyMMoAnicfZJ9TFV +
10年前
記事のアイキャッチ画像
Explore the effect of Promises on JS speed and order of execution
Recent Gists from andrewbranch
+defer-with-promise.js This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters var trash = []; function computationallyIntensiveStuff() { trash.push(Math.pow(Math.pow(Math.cos(Math.sin(Math.random())), Math.random()), Math.random() * 100000)); trash.filter(function (a) { return a > Math.random(); }); } new Promise(function (resolve, reject) { for (var i = 0; i < 1000; i++) { computationallyIntensiveStuff(); } resolve(); }).then(function () { console.log('Promise done: ' + Date.now()); }); console.log('Next statement: ' + Date.now()); // Next statement: 1418958320178 // Promise done: 1418958320180 (2 ms later) defer-with-settimeout.js This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file i +
10年前
記事のアイキャッチ画像
Simple, elegant radio button view
Recent Gists from andrewbranch
+Readme.md RadioViewUsageJust init with a frame or add a UIView to your nib and set its class to RadioView. (Give it a 1:1 aspect ratio if you want it to look normal.)let radio = RadioView(frame: CGRectMake(0, 0, 30, 30))radio.color = UIColor.redColor()radio.selected = trueRadioView.swift This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters class RadioView: UIView { var selected: Bool = false { didSet { UIView.animateWithDuration(self.fadeTime) { self.inner.alpha = self.selected ? 1 : 0 } } } var color: UIColor = UIColor.blackColor() { didSet { self.layer.borderColor = self.color.CGColor self.inner.layer.backgroundColor = self.color.CGColor } } var fadeTime: NSTimeInterval = 0 private lazy var inner: UIView = { return UIView(frame: CGRectMake(0, 0, 0, 0)) }() override init( +
10年前
記事のアイキャッチ画像
A nice notification pattern for MVC .NET, along with a better theme for alertify.js
Recent Gists from andrewbranch
+_Nested.cshtml This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters @* displays the flash messages via alertify plugin *@ @section head { <script> $(document).ready(function() { var flashes = @Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(Html.Flash(), Newtonsoft.Json.Formatting.None)); for (var i = 0; i < flashes.length; i++) { alertify.log(flashes[i].text, flashes[i].class, 10000); } }); </script> } ActionResultExtensions.cs This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters using System.Collections.Generic; using System.Linq; using System.Web.Mvc; +
11年前
記事のアイキャッチ画像
Make enums available in JavaScript
Recent Gists from andrewbranch
+ModelWithEnum.cs This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters // Drop ModelWithEnum.ThingTypeDictionary into a ViewModel that gets serialized to JSON // for handy, scalable use of enums in JavaScript. For example, you can change // // // if (m.ThingTypeId === 3) // // to // // if (m.ThingTypeId === model.ThingTypeDictionary.Spaceship) namespace App.Models { public class ModelWithEnum { public TypeOfThing ThingTypeId { get; set; } public static Dictionary<string, int> ThingTypeDictionary = Enum.GetValues(typeof(TypeOfThing)).Cast<int>().ToDictionary(t => Enum.GetName(typeof(TypeOfThing), t), t => t); } public enum TypeOfThing { Foo = 1, Bar = 2, Spaceship = 3, Submarine = 4 } }
11年前 +
記事のアイキャッチ画像
Show a custom error page for a custom exception. For example, when trying to access a non-existent database record (app/people/details/9999999).
Recent Gists from andrewbranch
+EntityNotFoundException.cs This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters // You could put more information and functionality here if you want. // I just needed an exception distinguishable from other exceptions. // I implemented a "FindOrDie" method in my repository code, from which // I throw this exception whenever a query comes up empty. using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace Inspect.Models { [Serializable] public class EntityNotFoundException : Exception { public EntityNotFoundException(string message) : base(message) { } } } EntityNotFoundHandleErrorAttribute.cs This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in +
11年前
記事のアイキャッチ画像
One-up Bootstrap 3.0.0–3.0.3’s method of accounting for scrollbar width when modal is open.
Recent Gists from andrewbranch
+fixBootstrapModalScrollbar.js This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters // This function courtesy of lostsource: http://stackoverflow.com/questions/13382516 function getScrollbarWidth() { var outer = document.createElement("div"); outer.style.visibility = "hidden"; outer.style.width = "100px"; document.body.appendChild(outer); var widthNoScroll = outer.offsetWidth; outer.style.overflow = "scroll"; var inner = document.createElement("div"); inner.style.width = "100%"; outer.appendChild(inner); var widthWithScroll = inner.offsetWidth; outer.parentNode.removeChild(outer); return widthNoScroll - widthWithScroll; } // Event names are for Bootstrap 3. Adjust for Bootstrap 2. $(document).ready(function() { window.scrollbarWidth = getScrollbarWidth(); var bodyMarginRigh +
11年前
記事のアイキャッチ画像
SwitchaBLE Light State characteristic write codes
Recent Gists from andrewbranch
+KSSBluetoothController.h This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters typedef NS_OPTIONS(NSInteger, LightState) { LightStateOff = 0, LightStateOn = 1 << 0, LightStateToggle = 1 << 1, LightStatePulse = 1 << 2, LightStateStrobe = 1 << 3 };
11年前
記事のアイキャッチ画像
Flat styling of select2.
+Recent Gists from andrewbranch
+select2-override.css This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters .select2-container .select2-choice { height: 34px; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; background-color: #fff; background-image: none; background: #fff; } .select2-container .select2-choice .select2-chosen { margin-top: 4px } .select2-container .select2-choice abbr { top: 13px } .select2-container .select2-choice, .select2-container .select2-choice .select2-arrow { -webkit-border-radius: 0; border-radius: 0; border-color: #ccc; } .select2-container .select2-choice .select2-arrow { background-color: #fafafa; background-image: none; background: #fafafa; width: 22px; } .select2-container .select2-choice .select2-arrow b>span { margin: 4px 0 0 6px } .select2-container.selec +
11年前
記事のアイキャッチ画像
Responds to window resize events. Max font size taken from initial font size (specify with CSS).
Recent Gists from andrewbranch
+autoshrink.js This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters (function($) { function getTextWidth($element) { var tester = $("<div/>").text($element.text()) .css({ "position": "absolute", "float": "left", "white-space": "nowrap", "visibility": "hidden", "font": $element.css("font"), "text-transform": $element.css("text-transform"), "letter-spacing": $element.css("letter-spacing") }) .appendTo($element.parent()), width = tester.innerWidth(); tester.remove(); return width; } function AutoShrinker($element) { this.$element = $element; this.$parent = $element.parent(); this.initialFontSize = parseFloat($element.css("fontSize")); this.currentFontSize = this.initialFontSize; this.leftMarginRatio = parseFloat($element.css("marginLeft")) / this.initialFontSize; this.resize = +
11年前
記事のアイキャッチ画像
HtmlHelper to generate JavaScript object from C# object
Recent Gists from andrewbranch
+ExampleView.aspx This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> <%= Html.WriteToJavaScript(Model, "window.model") %> </asp:Content> ScriptExtensions.cs This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using Newtonsoft.Json; namespace ProjectName.Helpers { public static class ScriptExtensions { public static string WriteToJavaScript(this HtmlHelper helper, object Object, strin +
11年前
記事のアイキャッチ画像
Bundling with BundleTransformer in ASP.NET MVC. Less files need to have their Build Action set to "Content" in their file properties in order to publish successfully.
Recent Gists from andrewbranch
+BundleConfig.cs This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters using System.Web; using System.Web.Optimization; using BundleTransformer.Core.Transformers; namespace Project { public class BundleConfig { public static void RegisterBundles(BundleCollection bundles) { var styles = new Bundle("~/bundles/stylesheets") .Include( "~/Assets/stylesheets/*.css", "~/Assets/stylesheets/*.less" ); styles.Transforms.Add(new CssTransformer()); bundles.Add(new ScriptBundle("~/bundles/javascripts").IncludeDirectory("~/Assets/javascripts/plugins", "*.js").IncludeDirectory("~/Assets/javascripts", "*.js")); bundles.Add(styles); } } } Global.asax.cs This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the f +
11年前
記事のアイキャッチ画像
Gets an array of Auburn building names from the web API. Works from auburn.edu domain and subdomains.
Recent Gists from andrewbranch
+getAuburnBuildings.js This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters var auburnBuildingNames; window.getAuburnBuildingNames = function(callback) { if (auburnBuildingNames) { callback(auburnBuildingNames); } else { var buildings; $.getJSON("https://cws.auburn.edu/map/api/3.0/building", function(data) { buildings = $.map(data, function(building, i) { return building.name; }); callback(auburnBuildingNames = buildings); }); } }; // Usage example with Bootstrap Typeahead $(document).ready(function() { getAuburnBuildingNames(function(data) { $("[name*=Building]").typeahead({ source: data }); }); }); getAuburnCalendarEvents.js This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an +
11年前
記事のアイキャッチ画像
Easy state and country dropdowns for MVC .NET, current as of 8/2013
Recent Gists from andrewbranch
+Country.ascx This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<string>" %> <% string defaultCountry = "United States"; if (ViewData.ContainsKey("default")) { defaultCountry = (string)ViewData["default"]; } %> <select id="<%= Html.IdFor(model => model) %>" name="<%= ViewData.TemplateInfo.HtmlFieldPrefix %>"<% if (ViewData.ContainsKey("html")) { foreach (var a in HtmlHelper.AnonymousObjectToHtmlAttributes(ViewData["html"])) { %> <%= a.Key %>="<%= a.Value %>"<% } } %>> <% if (String.IsNullOrWhiteSpace(Model) && !Inspect.Models.Location.Countries.Keys.Contains(defaultCountry)) { %><option value="<%: defaultCountry %>"><%: defaultCountry %></option><% } %> <% foreach (var country in Inspect.Models.Location.Co +
11年前
記事のアイキャッチ画像
Files (or snippets of files) to set up a highly flexible custom errors system that works for jQuery AJAX and synchronous calls alike for an ASP.NET MVC project.
Recent Gists from andrewbranch
+errors.js This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters // Include in all Error Views // In conjunction with main.js, allows browser "back" navigation // to clear the error page if the user got here via a bad AJAX call. $(window).hashchange(function() { location.reload(); }); ErrorsController.cs This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters using System.Net; using System.Web.Mvc; namespace ProjectName.Controllers { public class ErrorController : Controller { public ViewResult NotFound() { Response.StatusCode = (int)HttpStatusCode.NotFound; return +
12年前
\ No newline at end of file diff --git a/blogs/c89ab36e45ac3884d9fe45e5aae789fa/index.html b/blogs/c89ab36e45ac3884d9fe45e5aae789fa/index.html new file mode 100644 index 000000000000..a997761d8cd0 --- /dev/null +++ b/blogs/c89ab36e45ac3884d9fe45e5aae789fa/index.html @@ -0,0 +1,10 @@ +CyberAgent Developers Blog | サイバーエージェント デベロッパーズブログのフィード|JSer.info Watch List RSS

CyberAgent Developers Blog | サイバーエージェント デベロッパーズブログ

https://developers.cyberagent.co.jp/blog

サイバーエージェントのエンジニア・クリエイター・テクニカルクリエイターが執筆する公式ブログです。サイバーエージェントの技術情報を日々発信していきます。

フィード

記事のアイキャッチ画像
Slack + AWS Chatbot + Bedrockで実現する生成AIを活用したインシデント避難訓練のPoC
CyberAgent Developers Blog | サイバーエージェント デベロッパーズブログ
本記事は、弊チームのハッカソンイベントで作成したSlackワークフロー + AWS Chatbot ...
5日前
+
記事のアイキャッチ画像
Koigram サーバーサイドの全体像
はてなブックマークアイコン 2
+CyberAgent Developers Blog | サイバーエージェント デベロッパーズブログ
はじめまして、株式会社タップルのKoigramでサーバーサイド開発を担当している安田航希(@_kok ...
8日前
記事のアイキャッチ画像
+可用性とパフォーマンスを追求するWINTICKETサーバーのインフラリアーキテクチャ
CyberAgent Developers Blog | サイバーエージェント デベロッパーズブログ
はじめに WINTICKETのバックエンドチームマネージャーの鍛冶(@kj455)です。 WINTI ...
9日前
記事のアイキャッチ画像
Hugging Faceの新しいAgent Framework「smolagents」とCodeAgentの活用法
CyberAgent Developers Blog | サイバーエージェント デベロッパーズブログ
今回はHugging Faceが提供しているAgent Frameworkのsmolagentsが非 ...
9日前
\ No newline at end of file diff --git a/blogs/c8b089a4df260405b5dfd55bc2ac1245/index.html b/blogs/c8b089a4df260405b5dfd55bc2ac1245/index.html new file mode 100644 index 000000000000..32d9e783072c --- /dev/null +++ b/blogs/c8b089a4df260405b5dfd55bc2ac1245/index.html @@ -0,0 +1,19 @@ +Tauri | Blogのフィード|JSer.info Watch List RSS

Tauri | Blog

https://v2.tauri.app/

The cross-platform app building toolkit

フィード

記事のアイキャッチ画像
Tauri 2.0 Stable Release
Tauri | Blog
Tauri 2.0 stable is released!
4ヶ月前
記事のアイキャッチ画像
Tauri 2.0 Release Candidate
Tauri | Blog
Tauri 2.0 is on track to stable and now enters the release candidate phase. Read more about breaking changes and our plans for stable.
6ヶ月前 +
記事のアイキャッチ画像
Announcing Tauri 1.7.0
Tauri | Blog
The Tauri team is happy to announce the 1.7.0 release.
7ヶ月前
記事のアイキャッチ画像
Tauri Board Elections 2024
Tauri | Blog
The Tauri Programme is celebrating it's third anniversary of Tauri becoming a programme within The Commons Conservancy. We are hard at work bringing v2 to a stable release, and now the next round of Tauri Board Director elections is upon us!
7ヶ月前
記事のアイキャッチ画像
Rust Security Advisory CVE-2024-24576
Tauri | Blog
Recent Rust Security Advisory CVE-2024-24576.
+10ヶ月前
記事のアイキャッチ画像
Announcing Tauri 1.6.0
Tauri | Blog
The Tauri team is happy to announce the 1.6.0 release.
1年前
記事のアイキャッチ画像
Announcing the Tauri v2 Beta Release
Tauri | Blog
Tauri v2 is ready to take the next step towards being stable! 2.0.0-beta.0 has been published.
1年前
記事のアイキャッチ画像
Strengthening Tauri: Our Partnership with CrabNebula
Tauri | Blog
+As an open-source project, Tauri's primary mission has always been to provide a secure, efficient framework for multi-platform application development. Understanding the concerns and needs of our community, we are excited to share insights into our partnership with CrabNebula and how it bolsters the stability and future of Tauri.
1年前
記事のアイキャッチ画像
Announcing Tauri 1.5.0
Tauri | Blog
The Tauri team is happy to announce the 1.5.0 release.
1年前
+
記事のアイキャッチ画像
Roadmap to Tauri 2.0
Tauri | Blog
Tauri 1.0 was released in June 2022 and introduced an app toolkit for developers to build apps using HTML, CSS, and JavaScript with the security and performance of Rust.
1年前
記事のアイキャッチ画像
Tauri Board Elections & Governance Update
Tauri | Blog
The Tauri Programme is celebrating it's two year anniversary of Tauri becoming a programme within The Commons Conservancy as well as the one year milestone of the Tauri 1.0 release. This also means we're preparing for the next round of Tauri Board Director elections to welcome in the next chapter of Tauri.
2年前
記事のアイキャッチ画像
Announcing Tauri 1.4.0
Tauri | Blog
The Tauri team is happy to announce the 1.4.0 release.
2年前
記事のアイキャッチ画像
Announcing Tauri 1.3.0
Tauri | Blog
The Tauri team is happy to announce the 1.3.0 release.
2年前
+記事のアイキャッチ画像
Tauri 2.0.0-alpha.4 Released
Tauri | Blog
Mobile APIs for Tauri plugins! The 2.0.0-alpha.4 release has been published.
2年前
記事のアイキャッチ画像
create-tauri-app Version 3 Released
Tauri | Blog
create-tauri-app Version 3 is released with support for alpha versions of Tauri, mobile project support and DX improvements
2年前
記事のアイキャッチ画像
Tauri Community Growth & Feedback
Tauri | Blog
Tauri Community Survey results and search improvements
2年前
記事のアイキャッチ画像
Migration to webkit2gtk-4.1 on Linux port
Tauri | Blog
New v2.0 alpha released and new backend for Linux port
2年前
記事のアイキャッチ画像
Announcing the Tauri Mobile Alpha Release
Tauri | Blog +
Tauri mobile is here! The first alpha release 2.0.0-alpha.0 has been published.
2年前
記事のアイキャッチ画像
Announcing Tauri 1.2.0
Tauri | Blog
The Tauri team is happy to announce the 1.2.0 release.
2年前
記事のアイキャッチ画像
Announcing tauri-egui 0.1.0
Tauri | Blog
The Tauri team is happy to announce the tauri-egui 0.1.0 release.
2年前
\ No newline at end of file diff --git a/blogs/ca17ddba108f840c5e2af8540f458fcf/index.html b/blogs/ca17ddba108f840c5e2af8540f458fcf/index.html new file mode 100644 index 000000000000..e3c7d07b04e0 --- /dev/null +++ b/blogs/ca17ddba108f840c5e2af8540f458fcf/index.html @@ -0,0 +1,40 @@ +blog.bokken.ioのフィード|JSer.info Watch List RSS

blog.bokken.io

フィード

記事のアイキャッチ画像
Progressive Web App 化する最低限の設定
blog.bokken.io
Progressive Web App (PWA) の勉強がてら <code>https://blog.bokken.io</code> を PWA 化した。本記事では、その内容をまとめておきたい。
4年前
記事のアイキャッチ画像
Web サイトとして記載しておくべきプライバシーポリシーは何か
blog.bokken.io
+自分自身で Web サイトを作る際に、プライバシーポリシーをどのように扱うべきか、どのように記載するのがよいのかを考えて記載することとした。昨今の GDPR などと合わせて最終的にどのようなプライバシーポリシーとなったのかを紹介したい。
4年前
記事のアイキャッチ画像
HTML parser を書いてるときに出会った Web 標準仕様の話
blog.bokken.io
ブラウザをスクラッチで書いている。そのときに HTML の標準を読みながらブラウザを書いているそのときに仕様の不備のように疑われる挙動に出会った。内容について調査しているうちにということを再認識できたので、その内容について紹介したい。
4年前
記事のアイキャッチ画像
生産性アップのための一工夫
blog.bokken.io
最近生産性アップのためにやっていてよかったなと思うことがあったので紹介したい。要点は下記である。プロジェクト内での開発において、特定のコマンド列による操作を繰り返すことがよくある。例えば DB の初期データのインサート、テストコマンドの実行などである。コマンド列にすると下記のようなコマンドである。
4年前
記事のアイキャッチ画像
Weblog をはじめる
blog.bokken.io
もともと<a href="https://negi-works.hatenablog.com/">昔にブログ</a>を書いていたが、ブログとしてアウトプットをする時間を取らず更新が滞ってしまっていた。
4年前
記事のアイキャッチ画像
Chromium をビルド・テストする方法とその実行時間の備忘録
blog.bokken.io
+趣味でブラウザを作っている延長で、 Chromium をビルドしてテストを走らせて遊んでいる。その際、ビルド、実行に必要なリンクが各所にあって難しいなと感じたので、この記事にまとめて備忘録としておきたい。
4年前
記事のアイキャッチ画像
Progressive Web App 化する最低限の設定
blog.bokken.io
趣味でブラウザを作っている延長で、 Chromium をビルドしてテストを走らせて遊んでいる。その際、ビルド、実行に必要なリンクが各所にあって難しいなと感じたので、この記事にまとめて備忘録としておきたい。
4年前
記事のアイキャッチ画像
Google Chrome の omnibox カスタム検索エンジンが使えなくなったと感じたときの tips
blog.bokken.io
結論からいうと <code>chrome://flags</code> の <code>Omnibox keyword search button</code> の設定が enable になってしまったからだった。設定を戻せば引き続き使える。アップデートによって実験的に機能をいくつかのユーザに公開しているのでその影響なのだろう。
3年前
記事のアイキャッチ画像
2021年の振り返り
blog.bokken.io
2021年がもう終わろうとしているので振り返りをしたい。テックよりの話とライフイベントよりな話の両方でつらつらとまとめてみる。例年は本を読んだり、自分でプログラムを書いたりして一人で満足しているだけだったのだが、今年はいつもに比べて対外的な活動、人と関わりがある活動を進めていこうとしてもがいていた年だった。
3年前
記事のアイキャッチ画像
きれいなコミットメッセージとは
blog.bokken.io
最近、大きなコードベースを触る機会が増えてきれいなコミットメッセージについて考える事が増えた。きれいなコミットメッセージの定義は様々あると思うが、筆者は下記がきれいなコミットメッセージに必要なことだと考えている。
3年前
記事のアイキャッチ画像
Chromium のバグを直しているときに知った HTTP ヘッダ関連の Web 標準の読み方
blog.bokken.io
+最近、Chromium へのコントリビューション活動をしている。直近で Chromium のバグ fix のために仕様を読んでいて面白いなと思ったことがあったので共有したい。具体的に取り組んでいたのは、<a href="https://bugs.chromium.org/p/chromium/issues/detail?id=978146">こちらのバグ</a>である。
3年前
記事のアイキャッチ画像
Web 標準を読む会
blog.bokken.io
最近、Web 標準を読む会を開催して、複数人で Web 標準を読んでいる。やっていることはシンプルで、 <a href="https://fetch.spec.whatwg.org/">Fetch Standard</a> を DeepL で日本語に翻訳している文章を参加者が順番に音読する。そしてその内容を読み解くというものだ。
3年前
記事のアイキャッチ画像
働いているけど Google Summer of Code (GSoC) に応募した
blog.bokken.io
今年から <a href="https://opensource.googleblog.com/2021/11/expanding-google-summer-of-code-in-2022.html">Google Summer of Code (GSoC) の応募制限が緩和</a>されて、18 歳以上であれば、誰でも応募できるようになった。
3年前
記事のアイキャッチ画像
Chromium の開発時に便利な Visual Studio Code の機能拡張を作った
blog.bokken.io
Chromium の開発をしているときに、他の人にコードのどの部分かを説明したいことがある。そんなときに GitHub では、<a href="https://marketplace.visualstudio.com/items?itemName=mattlott.copy-github-url">Copy GitHub URL</a>というプラグインで、VS Code で編集しているコードのパーマリンクを取得できるため、このパーマリンクを共有すればよい。
3年前
記事のアイキャッチ画像
HTTP RFC Publication Study で HTTP/3 について発表しました
blog.bokken.io
<a href="https://web-study.connpass.com/event/250730/">HTTP RFC Publication Study</a>に発表者として参加した。
3年前
記事のアイキャッチ画像
GitHub permalink の URL の仕様について
blog.bokken.io
筆者は VS Code で <a href="https://marketplace.visualstudio.com/items?itemName=mattlott.copy-github-url">GitHub の permalink をコピーできる拡張機能</a>をよく使っている。
3年前
記事のアイキャッチ画像
Chromium のコミットを検索できるサイトを作った
blog.bokken.io
+<a href="https://chromium-news.vercel.app">Chromium News</a> というサイトを作りました。現状は Chromium の commit を検索できるだけのサイトだが、今後様々な情報ソースを集約したり、それらをまとめる記事を書ければと思っている。
2年前
記事のアイキャッチ画像
Anonymous iframe とは
blog.bokken.io
<a href="https://wicg.github.io/anonymous-iframe/">Anonymous iframe</a> という仕様がある。この仕様が何を問題意識として、何を解決するための仕様なのかをまとめる。
2年前
記事のアイキャッチ画像
ブラウザのクライアントサイド storage についてまとめる
blog.bokken.io
<a href="https://blog.bokken.io/articles/2022-09-27/about-anonymous-iframe.html">前回の Anonymous iframe の記事</a>で、storage について触れた。
2年前
記事のアイキャッチ画像 +
Prerender2 という機能について
blog.bokken.io
Prerender は Rendering を予め行い、ユーザのリンククリック時にあらかじめレンダリングされた結果を表示することで、閲覧体験を向上させる機能といえる。いずれにしても Legacy Prerender は一度こういった背景で取り下げられた。ここまで、Prerender2 の歴史について主に触れてきたが、次節からは Prerender2 をどのように使うのかを紹介する。
2年前
記事のアイキャッチ画像
サードパーティ Cookie をブロックする制限を緩和する CHIPS という仕様について
+blog.bokken.io
3rd Party Cookie をブロックする制限を緩和するための仕様である CHIPS が策定されている。近年、ユーザの Privacy の向上を目的として 3rd Party Cookie をブロックする流れがある。cross site でユーザトラッキングを提供する多くのツールは 3rd Party Cookie を使っているため、3rd Party Cookie をブロックすることで解決
2年前
記事のアイキャッチ画像
不正なリクエストを弾くために使える Fetch Metadata という仕様について
blog.bokken.io
+リクエストのコンテキストをサーバ側に伝えることで、サーバ側でリクエストが危険なものかを判別するための Fetch Metadata Request Headers という仕様がある。今回、このヘッダがどういったものなのかについて Fetch Metadata Request Headers を読んだり、周辺のドキュメントを読んでまとめる。Sec-Fetch- はクライアント側では特に何も設定する必要はなく、サポートされていればブラウザによってリクエストに自動でヘッダに付与されサーバに送付されるサーバは送られてきた Fetch Metadata をもとに CSRF などの、攻撃の可能性があるリクエ
2年前
記事のアイキャッチ画像
不正なリクエストを弾くために使える Fetch Metadata という仕様について
blog.bokken.io
+リクエストのコンテキストをサーバ側に伝えることで、サーバ側でリクエストが危険なものかを判別するための Fetch Metadata Request Headers という仕様がある。今回、このヘッダがどういったものなのかについて Fetch Metadata Request Headers を読んだり、周辺のドキュメントを読んでまとめる。Fetch Metadata ヘッダはクライアント側では特に何も設定する必要はなく、サポートされていればブラウザによってリクエストに自動的にヘッダに付与されサーバに送付されるサーバは送られてきた Fetch Metadata をもとに CSRF などの、攻撃の可
2年前
記事のアイキャッチ画像
クライアントサイドの Cookie などのデータを消去するための Clear Site Data という仕様について
blog.bokken.io
+Clear-Site-Data というクライアントサイドのデータを削除するためのヘッダがある。最近 Safari の Beta Release にリリースされ、もうすぐ主要ブラウザベンダで実装が出揃う形になる。この記事では、Clear Site Data とはどういう仕様なのかをまとめる。Web アプリケーションでは、オフライン時にも利用できるようにリソース (データ) をキャッシュしたり、パフォーマンスを高めるため、 local マシンにリソース (データ) を保持することがある。また、サービスをログインするのに Cookie にセッション情報 (データ) を保持したりする。これらの保存された
2年前
記事のアイキャッチ画像
IETF 116 Yokohama に参加しました
blog.bokken.io
+IETF 116 Yokohama に参加した。 私としてははじめての IETF 参加だった。今後の参加者たちの参考にどういった体験だったのか記録として残しておきたい。私は普段 Web フロントエンドの開発をしているため、プロトコル関連の実装をしている訳ではない。なので IETF で議論されされている内容に関して専門家ではない。趣味で少し HTTP/3 や QUIC を勉強している程度である。そういった人物が行った場合にどうだったのかが記載されている。インターネットの最前線を見られたことに感動したドラフトは読んだ方が楽しめる読まなくても雰囲気は分かるが内容は分からない未予習者には BoF がおす
2年前
記事のアイキャッチ画像
Web サイトのパフォーマンスを計測するためのタイミング関係の API について
blog.bokken.io
+Web サイトのパフォーマンスを計測するための API がいくつか提供されている。ユーザ体験を向上させるのはもちろん。Google は Core Web Vitals を検索エンジン上で考慮すると述べている。高精度のい時間情報が必要。ただ、高精度の時間の情報は脆弱性にもなり得る。Spectre や Meltdown。このことから Web サイトのパフォーマンスを把握するのは非常に重要であるといえる。Performance Observer が定義されている。こちらの Performance Observer に計測したいメトリクスを定義することで、そのメトリクスを Observe して知らせてく
2年前
記事のアイキャッチ画像
パスワード変更用のURLを明示すためのwell-known URL for Changing Passwordsという仕様について
blog.bokken.io
+パスワード変更のためのURLを示すための、A Well-Known URL for Changing Passwords という仕様が存在する。この仕様は主にクライアントサイドのパスワード管理ツールで使われる想定の仕様だ。本記事ではこの仕様がどういうものか、どういった利点があるのかについてまとめる。パスワード管理ツールはクロスサイトでのパスワードの再利用を防いだり、オートフィルをしてユーザビリティを高めてくれる良いツールだ。 ブラウザにもパスワード管理ツールが搭載されていたり、有名どころでは1PasswordやBitwardenのようなツールがある。これらのツールの中にはパスワードの強度を教えて
2年前
記事のアイキャッチ画像
Prerender2 のキャッシュを更新し続けるためのヘルパーと HTTP Cache を合わせて活用する方法
blog.bokken.io
+本記事ではPrerender2で事前描画したページを更新し続けるときに、少しだけ便利なヘルパーを作ったので、Prerender2の挙動とあわせて紹介する。Prerender2 という機能が Chrome/Chromium で実装されている。この Prerender2 という機能は、リンク先のページを事前描画する機能である。リンク先への遷移が一瞬で完了するため、高速な閲覧体験をユーザに提供できる機能だ。Prerender2 によって、例えば非常に重い画像が複数あるページであっても(事前描画が終わっていれば)一瞬で表示される。その簡単なデモが次の例だ。最初のデモでは Prerender2を使わずに重
2年前
記事のアイキャッチ画像
ブラウザの Storage Partitioning について
blog.bokken.io
+ブラウザは様々なストレージや内部状態を持っている。例えば、Cookieなどがわかりやすい例だろう。 この内部状態を元にoriginと通信をするが、セキュリティやプライバシーの観点から、この内部状態は許可されていない異なる origin へ漏れないようにしなければいけない。では、実際にどういったストレージや内部状態を持っていて、それをどのように漏洩しないようにしているのか。この記事では、W3C の Privacy Community Group で検討されている Client-Side Storage Partitioning で検討されている内容について紹介して、それを概観する。各種ストレージや
2年前
記事のアイキャッチ画像
Web 好きにはたまらない Weaving The Web を読んで
blog.bokken.io
+とあるきっかけでずっと積んでしまっていた「Weaving the Web: The Original Design and Ultimate Destiny of the World Wide Web」(以下、Weaving the Web) を読んだ。読んだ内容を忘れないように備忘録として書き留めておく。「Weaving the Web」はひとことで言うなら、Web 好きにはたまらない本だ。著者は Tim Berners-Lee 氏と Mark Fischetti 氏で、この本には Web の発明者である Tim Berners-Lee 氏と World Wide Web の歴史について事細か
1年前
記事のアイキャッチ画像
Software Design 10 月号に HTTP/3 の記事を寄稿しました
blog.bokken.io
+Software Design 2023 年 10 月号の HTTP/3 の特集の第一章に寄稿する機会を頂きました。https://gihyo.jp/magazine/SD/archive/2023/202310第一章の内容は、HTTP の歴史と HTTP/3 の特徴についてまとめたものになっています。今回、執筆にあたって、調べれば調べるほど HTTP についてまとめたいことが湧いてきてしまって、前回の記事で紹介した『Weaving The Web』を読んだり、インターネットの資料を読み漁ったりしました。手前味噌ではありますが、短いページに HTTP の歴史と HTTP/3 の特徴を詰め込むこと
1年前
記事のアイキャッチ画像
サードパーティ Cookie の制限を緩和する Related Website Sets (First-Party Sets) という仕様について
blog.bokken.io
+現在 Web ブラウザでは、プライバシーの観点から、サードパーティ Cookie をブロックする流れがある。しかし、Web コンテンツプロバイダーは複数のドメインでコンテンツを提供していて Cookie を共有したいことがある。例えば、アプリケーションごとにドメインを分けるケースだったり、アセットのためにドメインを分けているが Cookie を メインのサイトと共有したいケースがあるだろう。そういった異なるドメイン間において、サードパーティ Cookie を許可できるのが Related Website Sets (First-Party Sets)という仕様だ。もともとは、First-Part
1年前
記事のアイキャッチ画像
Chromium の Expires: 0 の取り扱いを修正したときに学んだこと
blog.bokken.io
+ことのはじまりは https://crbug.com/853508 を見つけたことだった。この bug は HTTP Caching に関わる話で、Expires: 0 がレスポンスに付与されていた際には、ブラウザはこのキャッシュを expired なものとして扱わなければいけないというものだった。A cache recipient MUST interpret invalid date formats, especially the value &quot;0&quot;, as representing a time in the past (i.e., &quot;already expi
1年前
記事のアイキャッチ画像
2023年の振り返り
blog.bokken.io
+今年ももう終わってしまうので、今年にあったことで印象的だったことを振り返る。今年もなんとか毎月ブログ記事を毎月出せた。すべて月末に偏っているのは、普通に時間がかかるのと、ある程度記事を温めているからというのもあるが、締め切り駆動にあってるからというのもある。来年は月初に出して月末はゆうゆうと過ごしたい。ブログ記事を毎月書いた今年もなんとか毎月ブログ記事を毎月出せた。すべて月末に偏っているのは、普通に時間がかかるのと、ある程度記事を温めているからというのもあるが、締め切り駆動にあってるからというのもある。来年は月初に出して月末はゆうゆうと過ごしたい。今年もChromiumにパッチを送れた。合わせて
1年前
記事のアイキャッチ画像
Software Design 2024年2月号から「あなたの知らないChromeの世界」の連載を始めました
blog.bokken.io
+今回、Chromeとブラウザ好きが幸いして、Software Design誌にて「あなたの知らないChromeの世界」の連載をさせていただくことになりました。連載の回数は6回〜12回程度とあまりしっかりきまっていないのですが、Chromeを中心にブラウザの話をお伝えできればと思っています。Software Designは、設計やアーキテクチャ、言語やクラウドの利用方法といった実務ですぐに役立つような記事が多い中で、果たして実務に役に立たないChromeやブラウザの歴史や、細かい中身の話が面白いと思ってもらえるのか少し不安はありますが、頑張って最後まで連載を終えられるように頑張っていきたいと思いま
1年前
記事のアイキャッチ画像
Chromiumのビルドオプションの備忘録
blog.bokken.io
+以前の記事でChromiumのビルドをする際のコマンドを備忘録のためにまとめた。基本的にはデフォルトの設定を使っているのだが、デバッガと併用して使う場合には別途設定ファイルを変更して利用する必要があるため、その内容についてまとめる。現状、デフォルトビルドの際には次のようなオプションを使用している。これでも最低限、動作確認やテストの実行などはできる。デフォルトの動作の確認以外にもデバッガを使いたいときがある。そういったときに上記の設定だとブレイクポイントが飛び飛びで止まってしまい期待する動作をしてくれない。その際はデバッグビルドの際には次の設定を使用している。差分はis_debugとsymbol_
1年前
記事のアイキャッチ画像
Chromiumのコミットを検索するサービスを停止します
blog.bokken.io
+ずいぶん昔に「Chromium のコミットを検索できるサイトを作った」という記事を書きましたが、そのサービスを一度停止します。理由としてはそのサービスでは内部的にPlanetScaleを使っており、無料で使えるHobby Planが2024年4月8日以降に使えなくなってしまうためです。今後もしかしたら他の技術構成で再開するかもしれないし、再開しないかもしれません。もしも使って頂いていた方がいたら申し訳ありません。今後もなにか新しいサービスを作った際にはお知らせしようと思います。
10ヶ月前
記事のアイキャッチ画像
「あなたの知らないChromeの世界」の連載終了によせて
blog.bokken.io
+今月のSoftware Design11月号で、「あなたの知らないChromeの世界」の連載が無事に終了しました。至らない点もあったかもしれませんが、無事に連載を終えることができてほっとしています。読んでくださった方がいたら、ありがとうございました。「あなたの知らないChromeの世界」では次のトピックについて紹介しました。「Google Chromeの登場」, Software Design 2024年2月号, 2024年1月18日, https://gihyo.jp/magazine/SD/archive/2024/202402「Chromiumとは」, Software Design 20
数秒前
記事のアイキャッチ画像
2024年の振り返り
blog.bokken.io
+今年やったことや、よかったことを簡単に振り返る。今年は『「あなたの知らないChromeの世界」の連載終了によせて』でも書いたように、Software Designでの連載をやり切ることができた。その分、ブログを書くのがおろそかになってしまっていた。Web Developer Conference 2024の「1分 de Web標準」でHigh Resolution Timeについて発表したりした。Chromiumへのコントリビューションも同様になかなかできていなかったが、連載が終わってからは毎週一定時間はbugの調査に時間を割けている(ただ、assignしたbugの問題が根深すぎてまだ解決できて
数秒前
\ No newline at end of file diff --git a/blogs/cc1612e09aa1f42d1b410a65875f61fe/index.html b/blogs/cc1612e09aa1f42d1b410a65875f61fe/index.html new file mode 100644 index 000000000000..0d08cc1c2480 --- /dev/null +++ b/blogs/cc1612e09aa1f42d1b410a65875f61fe/index.html @@ -0,0 +1,86 @@ +Ahmad Shadeedのフィード|JSer.info Watch List RSS

Ahmad Shadeed

https://ishadeed.com/

Deep-dive CSS articles, modern CSS and visual CSS explanations.

フィード

記事のアイキャッチ画像
Accessible Checkbox
Ahmad Shadeed
5年前
記事のアイキャッチ画像
Aligning Logo Images in CSS
Ahmad Shadeed
5年前
記事のアイキャッチ画像
Everything About Auto in CSS
Ahmad Shadeed
5年前
記事のアイキャッチ画像
Balancing Text In CSS
Ahmad Shadeed
1ヶ月前
記事のアイキャッチ画像
Blending Modes in CSS
Ahmad Shadeed
5年前
記事のアイキャッチ画像
Building An Old Nav Design
Ahmad Shadeed
6年前 +
記事のアイキャッチ画像
Hello, CSS Cascade Layers
Ahmad Shadeed
3年前
記事のアイキャッチ画像
Understanding Clip Path in CSS
Ahmad Shadeed
4年前
記事のアイキャッチ画像
Conditional CSS
Ahmad Shadeed
2年前
記事のアイキャッチ画像
+CSS Container Query Units
Ahmad Shadeed
3年前
記事のアイキャッチ画像
CSS Cap Unit
Ahmad Shadeed
8ヶ月前
記事のアイキャッチ画像
Colors in CSS
Ahmad Shadeed
5年前
記事のアイキャッチ画像
CSS Style Queries
Ahmad Shadeed
2年前
記事のアイキャッチ画像
Let's Use CSS Counters
Ahmad Shadeed
5年前
記事のアイキャッチ画像
Digging Into the Flex Property
Ahmad Shadeed
5年前
記事のアイキャッチ画像
CSS Grid Areas
Ahmad Shadeed
7ヶ月前
記事のアイキャッチ画像
Should masonry be part of CSS grid?
Ahmad Shadeed
+3ヶ月前
記事のアイキャッチ画像
Grid Layout Ah-ha Moment
Ahmad Shadeed
8年前
記事のアイキャッチ画像
CSS :has() Interactive Guide
Ahmad Shadeed
1年前
記事のアイキャッチ画像
CSS :has Parent Selector
Ahmad Shadeed +
3年前
記事のアイキャッチ画像
CSS Masking
Ahmad Shadeed
2年前
記事のアイキャッチ画像
CSS Nesting UX in DevTools
Ahmad Shadeed
1年前
記事のアイキャッチ画像
CSS Nesting
Ahmad Shadeed
1年前
記事のアイキャッチ画像
Overflow Issues In CSS
Ahmad Shadeed
4年前
記事のアイキャッチ画像
CSS Scroll Snap
Ahmad Shadeed
4年前
記事のアイキャッチ画像
CSS Variables With Inline Styles
Ahmad Shadeed
+5年前
記事のアイキャッチ画像
CSS Variables 101
Ahmad Shadeed
4年前
記事のアイキャッチ画像
My CSS Wishlist
Ahmad Shadeed
+2年前
記事のアイキャッチ画像
CSS Writing Mode
Ahmad Shadeed
9年前
記事のアイキャッチ画像
Custom Scrollbars In CSS
Ahmad Shadeed
4年前
記事のアイキャッチ画像
Custom Underlines with SVG
Ahmad Shadeed
6年前
記事のアイキャッチ画像
Defensive CSS
Ahmad Shadeed
3年前
記事のアイキャッチ画像
CSS display contents
Ahmad Shadeed +
5ヶ月前
記事のアイキャッチ画像
The CSS behind Figma
Ahmad Shadeed
3年前
記事のアイキャッチ画像
Flexbox Dynamic Line Separator
Ahmad Shadeed
3年前
記事のアイキャッチ画像
Hiding Elements On The Web
Ahmad Shadeed
5年前
記事のアイキャッチ画像 +
Using HSL Colors In CSS
Ahmad Shadeed
4年前
記事のアイキャッチ画像
Image Techniques On The Web
Ahmad Shadeed
5年前
記事のアイキャッチ画像
Intrinsic Sizing In CSS
Ahmad Shadeed
5年前
記事のアイキャッチ画像
Learn Box Alignment
Ahmad Shadeed
5年前
記事のアイキャッチ画像
Learn CSS Centering
Ahmad Shadeed
4年前
記事のアイキャッチ画像
Learn CSS Positioning
Ahmad Shadeed
5年前
記事のアイキャッチ画像
Learn CSS Subgrid
Ahmad Shadeed
3年前
記事のアイキャッチ画像
New Viewport Units
Ahmad Shadeed
2年前
記事のアイキャッチ画像
A Look at Tailwind CSS
Ahmad Shadeed
4年前
記事のアイキャッチ画像
Overflow Clip
Ahmad Shadeed
3ヶ月前
記事のアイキャッチ画像
Overflow In CSS
Ahmad Shadeed
5年前
記事のアイキャッチ画像
The State Of Pixel Perfection
Ahmad Shadeed
5年前
記事のアイキャッチ画像
Redesign Case Study
Ahmad Shadeed
4ヶ月前
記事のアイキャッチ画像
Responsive Height Design
Ahmad Shadeed
4年前
記事のアイキャッチ画像
RTL Styling 101
Ahmad Shadeed
5年前
記事のアイキャッチ画像
Same HTML, Different CSS
Ahmad Shadeed
5年前
記事のアイキャッチ画像
Selection in CSS
Ahmad Shadeed
5年前
記事のアイキャッチ画像
Spacing in CSS
Ahmad Shadeed
5年前
記事のアイキャッチ画像
Star Rating: An SVG Solution
Ahmad Shadeed
3年前
記事のアイキャッチ画像
Building A Stepper Component
Ahmad Shadeed
3年前
記事のアイキャッチ画像
Styling Layout Wrappers In CSS
Ahmad Shadeed
5年前 +
記事のアイキャッチ画像
Designing better target sizes
Ahmad Shadeed
1年前
記事のアイキャッチ画像
The Gap
Ahmad Shadeed
8ヶ月前
+
記事のアイキャッチ画像
The Just in Case Mindset in CSS
+Ahmad Shadeed
4年前
記事のアイキャッチ画像
Tweaking In The Browser
Ahmad Shadeed
3年前
記事のアイキャッチ画像
+Uncommon CSS Properties
Ahmad Shadeed
5年前
記事のアイキャッチ画像
Understanding Z-Index in CSS
Ahmad Shadeed
4年前
記事のアイキャッチ画像
Vertical and Horizontal Lines
Ahmad Shadeed
6年前
記事のアイキャッチ画像
CSS Viewport Units
Ahmad Shadeed
5年前
記事のアイキャッチ画像
The virtual keyboard API
Ahmad Shadeed
2年前
\ No newline at end of file diff --git a/blogs/cd1810ebbb144490d5c40bd9762de117/index.html b/blogs/cd1810ebbb144490d5c40bd9762de117/index.html new file mode 100644 index 000000000000..c0e9f2161b06 --- /dev/null +++ b/blogs/cd1810ebbb144490d5c40bd9762de117/index.html @@ -0,0 +1,167 @@ +Svelte blogのフィード|JSer.info Watch List RSS

Svelte blog

フィード

+記事のアイキャッチ画像
What’s new in Svelte: February 2025
Svelte blog
+The Svelte developer experience got a huge upgrade this month with more exported types and better syntax highlighting in VS Code. Combine that with the huge releases from Storybook, Tailwind and Threlte... and you’ve got a pretty big month!Let’s dive in 🐬What’s new in SvelteNon-numeric values can now be tweened by snapping immediately to the new value (5.17.0, Docs, #14941)const tags are now allowed inside of a svelte:boundary (5.17.5, Docs, #14993)<template> elements are now allowed to contain any child elements (5.18.0, Docs, #15007)ClassValue is now exposed from svelte/elements (5.19.0, Docs), #15035)What’s new in SvelteKit and Language ToolsCustom identifiers can now be invalidated on goto() navigation (2.16.0, Docs, #13256)The postinstall script has been removed to support pnpm 10 (2.16.0, #13304)users should add "prepare": "svelte-kit sync" to their package.json in order to avoid the a warning upon first running VitePageProps and LayoutProps types are now provided (2.16.0, #1330... +
7日前
記事のアイキャッチ画像
What’s new in Svelte: January 2025
Svelte blog
+From new syntax to improved dev tooling, the Svelte team has been busy this month building new features in both Svelte and SvelteKit. And as we round the corner into the new year, there’s even more to look forward to... like the 10th Svelte Summit! Join the Svelte community online or in-person in Barcelona: May 8th and 9th.Now let’s get to the news 👀What’s new in SvelteSnippets can now be exported from module scripts (5.5.0, Docs, #14315)defaultValue and defaultChecked are now supported for inputs (5.6.0, Docs, #14289)The loose parser mode creates a more modern AST for developer tools to consume (5.13.0, Docs, #14691)A new “worker” exports condition helps better support bundling for worker-based environments (5.15.0, #14779)The class attribute can now be an object or array, using clsx (5.16.0, Docs, #14714)New/Updated Syntax<svelte:boundary> is a new special element that can capture errors that occur from within its subtree during client rendering (5.3.0, Docs, #14211)#each is now sup... +
1ヶ月前
記事のアイキャッチ画像
What’s new in Svelte: December 2024
Svelte blog
+I can’t believe it’s already the last newsletter of the year! So much has happened in the Svelte community - from two great Svelte Summits to the release Svelte 5 🎉As we look forward to the next year and watch the Svelte team do 24 features in 24 days, let’s dive into what’s new in the past month...What’s new in SvelteThe bugfix versions in 5.1.x and 5.2.x addressed a bunch of issues reported by the community. So if you’re noticing anything weird, make sure you upgrade to the latest version and, as always, check out the CHANGELOG for all the bug fixes.The features since last month can be found below:ContentVisibilityAutoStateChangeEvent has been added to element definitions (5.2.5, MDN Docs, #14373)What’s new in SvelteKit, Svelte CLI and Language ToolsisActionFailure is a new helper method to check if a variable is an instanceof ActionFailure - helpful for debugging parsing of user input (2.8.0, #12878)const load = ... declarations will now be typed automatically (svelte2tsx-0.7.23, #... +
2ヶ月前
記事のアイキャッチ画像
Advent of Svelte
Svelte blog
+Last December, Svelte Society presented an advent calendar’s worth of festive Svelte-themed code challenges.This year, we’re turning it around: you get to relax while we take on a challenge. We’ve set ourselves a goal of releasing one thing a day from here until Christmas, whether it’s a new feature in Svelte or SvelteKit or an improvement to the website.Follow @svelte.dev and @sveltesociety.dev and check back every day to see what we’ve been cooking up.Day 1: error boundariesThis is a long-awaited and much-requested feature, that allows you to isolate and recover from errors that occur during rendering.docstutorialDay 2: each without asIf you just want to render something in an {#each ...} block n times, and don’t care about the value, you can now omit the as part.docsdemoDay 3: exported snippetsYou can now export snippets from a component’s <script module>, for use in other components, as long as those snippets don’t reference anything belonging to the component instance.docsdemoDay +
2ヶ月前
記事のアイキャッチ画像
What’s new in Svelte: November 2024
Svelte blog
+In case you missed the announcement post, the brand new omnisite or the maintainers shipping it LIVE during Svelte Summit... Svelte 5 is out!Also announced at Svelte Summit was SvelteHack 2024: A Svelte Hackathon (with not-so-svelte prizes). The submission period ends January 9 and only projects started after October 18th are eligible. So get those $s ready and start hacking!Since the release of Svelte 5, there’s already been one minor version to introduce a couple of helpful features. We’ll dive into those - along with a number of updates across the CLI, SvelteKit and more - in this month’s roundup...What’s new in SvelteIf you’ve only recently migrated to Svelte 5, check out the last few months of updates for all the features that have gone into this release. For this month, you’ll see some marked -next.XXX. These changes were in the 5.0 release.Snippets can now be used to fill slots (5.0.0-next.262, #13427)hidden until-found and beforematch are now available on DOM elements (5.0.0-ne +
3ヶ月前
記事のアイキャッチ画像
Introducing the new Svelte CLI
Svelte blog
+We’ve just released sv, a new Command Line Interface (CLI) for creating, enhancing, and upgrading Svelte projects.One of the most common question we hear is “how do I set up Tailwind on my new project?”. Tailwind has SvelteKit documentation, but it lists eight steps. While the community-led svelte-add project could automate the process, few knew about it.Introducing sv at Svelte Summit Fall 2024Now, we’re offering that functionality via our own CLI, directly within the project creation screen. And not just for Tailwind — we have built-in add-ons for formatting, linting, testing, setting up databases and auth and i18n and more. Just run npx sv create and follow the prompts:$ npx sv create┌ Welcome to the Svelte CLI! (v0.5.8)│◇ Where would you like your project to be created?│ my-new-app│◇ Which template would you like?│ SvelteKit minimal│◇ Add type checking with Typescript?│ Yes, using Typescript syntax│◆ Project created│◆ What would you like to add to your project? (use arrow keys / sp +
3ヶ月前
記事のアイキャッチ画像
Svelte 5 is alive
Svelte blog
+After almost 18 months of development, comprising thousands of commits from dozens of contributors, Svelte 5 is finally stable.It’s the most significant release in the project’s history. Svelte 5 is a ground-up rewrite: your apps will be faster, smaller and more reliable. You’ll be able to write more consistent and idiomatic code. For newcomers to the framework, there’s less stuff to learn.Despite all that, Svelte is almost completely backwards-compatible with Svelte 4 — for the majority of users, the initial upgrade will be completely seamless:{"devDependencies": {"@sveltejs/vite-plugin-svelte": "^3.0.0","svelte": "^4","@sveltejs/vite-plugin-svelte": "^4.0.0","svelte": "^5",// …}}What is Svelte?Svelte is a framework for building user interfaces on the web. It uses a compiler to convert declarative component code, based on HTML, CSS and JavaScript, into tightly optimised JavaScript.Because the compiler shifts a lot of the work out of the browser and into npm run build, Svelte apps are +
4ヶ月前
記事のアイキャッチ画像
The Omnisite
Svelte blog
+Launching Svelte 5 and the brand new sv CLI wasn’t enough: we’ve also released a brand new website. You’re looking at it.Up until now, we’ve maintained multiple different sites under the svelte.dev domain — the main site, for Svelte itself, along with kit.svelte.dev and learn.svelte.dev. This had some minor benefits, but was mostly a nuisance:inability to search across sitessubtly different navigationpotential for broken links (at build time, SvelteKit automatically validates that every internal link is correct, but links to other sites are a different matter)preferences such as dark mode are not shared between sitesnavigating between (for example) documentation and the tutorial involves a full page reloadFrom an implementation perspective, keeping multiple sites in sync proved to be a headache.Having everything under a single roof means you’ll have an easier time finding the information you need. Right now, the site includes documentation for Svelte and SvelteKit; soon, it will also c +
4ヶ月前
記事のアイキャッチ画像
What’s new in Svelte: October 2024
Svelte blog
+It’s October! Which can only mean one thing... Svelte Summit Fall is only 19 days away! Stay up to date with the latest Svelte Summit news by subscribing to its official newsletter or follow along during the stream on the Discord.Thanks to the number of folks who have been trying the Svelte 5 release candidates, the maintainers have been hard at work in addressing bugs and implementing performance improvements for the upcoming release. This month, we’ll cover the most notable changes along with the many apps, resources and libraries that the community has created over the last few weeks.What’s new in SvelteHave you been wanting to migrate your project to Svelte 5? Want to test out the migration tool and give the team feedback? Then you should give the svelte-migrate tool a try! npx svelte-migrate svelte-5 is all you need to get started. If you run into any problems, please file an issue.Here’s what else is new...Legacy components can now be manually instantiated asynchronously with the +
4ヶ月前
記事のアイキャッチ画像
What’s new in Svelte: September 2024
Svelte blog
+A bunch of updates to Svelte dropped in the last few weeks, plus a few quality of life improvements in the Svelte language tools.Let’s take a look...What’s new in Svelte and Language Tools$state.frozen has been replaced with $state.raw (5.0.0-next.218, Docs, #12808)$state.is has been removed. RIP, little guy (#12916)svelte:options now lets you set the css: "inject" compiler option on a per-component basis (5.0.0-next.209, #12660)<svelte:component> is now unnecessary in runes mode and therefore is deprecated (5.0.0-next.203/217, #12646 and #12694):global is now allowed in more places - making it easier to use in <style> tags and fixing issues with Tailwind’s @apply (5.0.0-next.199, Docs, #12560)Svelte’s typescript definition generator that comes with @sveltejs/package will now warn when its diagnostics detect that a d.ts file was not generated (svelte2tsx@0.7.14, #2428)You can now specify a tsconfig in emitDts - helpful when working in a monorepo (svelte2tsx@0.7.16, #2454)Not covered in +
5ヶ月前
記事のアイキャッチ画像
What’s new in Svelte: August 2024
Svelte blog
+The ramp up to the Svelte 5 release has led to a bunch of huge improvements to both performance and customizability. Also in this month’s round-up: some minor SvelteKit updates and a return of the Svelte Dev Vlog.Let’s dive in!What’s new in SvelteBelow, you’ll find the highlights from the Svelte 5 release notes (currently in Release Candidate):Breaking: The names of the svelte/reactivity helpers have been updated to include a Svelte prefix (5.0.0-next.169, Docs #12248)Branch effects now have better DOM boundaries - reducing bugs in {#each} blocks and during DOM manipulation (5.0.0-next.171 and 5.0.0-next.182, #12215, #12258, #12383)Single-pass hydration has reduced DOM size and significantly improved hydration speed (5.0.0-next.179, #12335, #12339)Breaking: Transitions now play on mount by default (5.0.0-next.177, #12351)CSS can now be included in the <head> when the css: 'injected' compiler option is enabled. This makes it trivial to include styles when rendering things like emails an +
6ヶ月前
記事のアイキャッチ画像
What’s new in Svelte: July 2024
Svelte blog
+This month, we got a bunch of new features in the Svelte 5 release candidate, Rich Harris explained to Prismic’s CEO how Svelte optimizes for vibes and Geoff Rich shared even more about this philosophy at CascadiaJS 2024.Let’s jump in!What’s new in SvelteBelow, you’ll find the highlights from the Svelte 5 release notes (now in Release Candidate):You can now declare props in runes mode more succinctly using let props = $props() (5.0.0-next.167, #12201)The new on import from svelte/events allows you to preserve the order in which event handlers are called in more situations (5.0.0-next.152, Docs, #11912)The Component type now represents the new shape of Svelte components (5.0.0-next.143, #11775)<svelte:document> has new activeElement and pointerLockElement bindings (5.0.0-next.150, #11879)<svelte:element>, CSS custom property wrappers and string normalization have all been simplified and made more performant (5.0.0-next.152, #11773, #11948, #11954, #11792, #11949)render, mount and hydrat +
7ヶ月前
記事のアイキャッチ画像
What’s new in Svelte: June 2024
Svelte blog
+The maintainers have been hard at work getting the Svelte 5 Release Candidate ready for release. In this month’s newsletter, you’ll find highlights from the pre-release CHANGELOG and a host of items from our community showcase.Let’s dive in!What’s new in Sveltebind: is now disallowed on component exports in runes mode and has much better types to tell if a prop is $bindable (5.0.0-next.113, 114 and 125, Docs, #11238, #11225 and #11498)Tons of work on the migrate tool to make migrating to Svelte 5 syntax easier (5.0.0-next.116, 136 and 137, Docs, #11334, #11659, #11704)MathML is now supported (5.0.0-next.120, Docs, #11387)The Svelte Inspector is now supported (5.0.0-next.125, Docs, #11514)The $state.is rune lets you compare values or check if an object exists within a deeply reactive object/array (5.0.0-next.134, Docs, #11613)The rootDir compiler option makes filenames relative to simplify development in monorepos or complex folder structures (5.0.0-next.135, #11627)Community ShowcaseAp +
8ヶ月前
記事のアイキャッチ画像
What’s new in Svelte: May 2024
Svelte blog
+Svelte Summit was last week - featuring a number of fantastic talks from across the community. In the final talk, What You Can Do For Your Framework, Rich Harris (with a little help from PuruVJ’s neoconfetti library) announced that Svelte 5 is now in the “Release Candidate”.Lots of pre-release changes to cover in this post and a host of community showcase items... so let’s dive in!Highlights from Svelte Summit Spring 2024Below, you’ll find links to all the talks in the livestream version of Svelte Summit.Simple and Sustainable web development in academic libraries with SvelteBuilding a SaaS module for SvelteKitIntro To LayerChartSpatial Programming with Threlte StudioConvex (Sponsored talk)Kitbook: Easily Build, Document, Inspect & Test Svelte ComponentsFullstack TestingWhat You Can Do For Your Framework - also covers a ton of the new features listed belowThese will all get broken up into more sharable (and rewatchable) videos over time, so make sure you subscribe to the Svelte Society +
9ヶ月前
記事のアイキャッチ画像
Svelte 5 Release Candidate
Svelte blog
+Svelte 5 is now in the Release Candidate phase. This means that the design of the framework is largely settled, with no anticipated breaking changes between now and the stable release, and that the most egregious bugs have been stomped.It doesn’t mean that it’s ready for production, or that nothing will change between now and 5.0. But if you’ve held off on dabbling with Svelte 5 during the public beta phase, now is a great time to try it out. You can select the ‘Try the Svelte 5 preview’ option when starting a new SvelteKit project...npm create svelte@latest...or you can add Svelte 5 to an existing project...npm install --save-dev svelte@next...or you can tinker in the Svelte 5 Preview website.I’m out of the loop. What’s Svelte 5?For the last several months, we’ve been hard at work rewriting Svelte from the ground up to be faster, easier to use and more robust, applying the lessons we’ve collectively learned from several years of building apps with Svelte.You can learn more about the n +
9ヶ月前
記事のアイキャッチ画像
What’s new in Svelte: April 2024
Svelte blog
+Spring is just around the corner (for half the globe at least), which means Svelte Summit Spring is coming soon! The event will be streamed on the Svelte Society YouTube channel on April 27.Also, this month, a ton of new features have been merged into Svelte 5 to make it the best version of Svelte yet. We’ll get into them all below, so let’s jump right in!What’s new in SvelteSvelte 5 is in preview and gets closer to release every day. Below, you’ll find some highlights from its changelog:The new Map, Date and Set classes can now be imported from svelte/reactivity and used just like their native counterparts to fit into Svelte’s reactivity model (5.0.0-next.79, Docs, #10803, #10622, #10781)state/derived/props can be explicitly exported from components again (5.0.0-next.62, #10523)bind:value now allows for a dynamic type attribute - fixing issues with common input bindings (5.0.0-next.66, #10608)SSR HTML mismatch validation has been improved and provides clearer error messages (5.0.0-nex +
10ヶ月前
記事のアイキャッチ画像
What’s new in Svelte: March 2024
Svelte blog
+This month, the Svelte maintainers made a ton of progress on Svelte 5 and Rich Harris talked to Prismic about how the team is working on making the framework even better.Lots to showcase too... so let’s dive in!What’s new in SvelteAs you may already have heard, Svelte 5 is in preview. In the meantime, Svelte 4 (@latest) has had one bugfix. The Svelte 5 changelog has quite a few updates, though:breaking: $derived.call is now $derived.by (5.0.0-next.54, Docs, #10445)Destructuring derived object properties will now keep fine-grain reactivity (5.0.0-next.55, Docs, #10488)The new hydrate method makes hydration-related code treeshakeable (5.0.0-next.56, Docs, #10497)Nested CSS is now supported, along with better support for :is(...) and :where(...) (5.0.0-next.57, #10490)breaking: The client-side API has been simplified by removing createRoot, adjusting the mount / hydrate APIs and introducing unmount (5.0.0-next.58, Issue#9827, #10516)For all the bug fixes, chores and underlying work requir +
1年前
記事のアイキャッチ画像
What’s new in Svelte: February 2024
Svelte blog
+Since SvelteKit 2.0 released late last year, there’s been a bunch of new features to make the Kit dev experience even better! Meanwhile the Svelte team has been hard at work making Svelte 5 a reality.In case you missed it, Rich also posted Tenets, “an attempt to articulate the Svelte philosophy — our bedrock principles, that guide our design decisions.”So let’s dive in to check out what’s new and see what the rest of the community has been up to...What’s new in SvelteKitThe client router is now tree shakeable (2.1.0, #11340)$env/static/public is now exposed in service workers (2.2.0, Docs, #10994)style-src-elem is now supported in environments with a Content Security Policy (2.2.1, Docs, #11562)The new reroute hook allows you to change how URLs are translated into routes (2.3.0, Docs, #11537)The read function is now available in the $app/server module - allowing you to read assets from the filesystem (2.4.0, Docs, #11649)Adapters can now emulate the prod environment for dev and preview +
1年前
記事のアイキャッチ画像
What’s new in Svelte: January 2024
Svelte blog
+Happy New Year! It’s been a busy month for the Svelte maintainers - with tons of new features dropping in the Svelte 5 preview and the release of SvelteKit 2!You can find all the new features in both projects below, along with a bunch of resources and sites built with Svelte in the Community Showcase.Let’s jump in...What’s new in SvelteKit (2.0 and more!)With its 2.0 release, SvelteKit is now more capable than ever. Be sure to check out the docs links in each update for more info on how to use each feature as well as the new Performance page - which explains how SvelteKit works to make your applications as performant as possible.resolvePath has been replaced by resolveRoute in $app/paths. Use it to populate a route ID with params to resolve a pathname (1.29.0, Docs, #11261)response.arrayBuffer() will now be inlined during SSR (1.30.0, Docs, #10535)SvelteKit 2.0.0 adds:untrack to load to opt-out of invalidation (Docs, #11311)shallow routing to create history entries without navigating ( +
1年前
記事のアイキャッチ画像
Announcing SvelteKit 2
Svelte blog
+Version 2.0 of SvelteKit, the official framework for building apps with Svelte, is now available. It is an incremental release that adds support for the newly-released Vite 5 along with a bevy of small improvements and one much-requested feature.If you’ve been paying close attention to Svelte in recent months, you’ll know that we’ve been hard at work on Svelte 5, which is possibly the most anticipated release in the project’s history. Upgrading to SvelteKit 2 will smooth the path for Svelte 5 when it is released in 2024, and we encourage all users to upgrade when you get a chance.We recommend updating to the most recent 1.x release first, along with Svelte 4, in order to address any deprecation warnings. Then, upgrade to SvelteKit 2 by running the automated migration tool:npx svelte-migrate sveltekit-2The migration guide has more details about what’s new.Shallow routingWay back in the mists of time — May, to be precise — we teased a new feature that allows you to associate state with a +
1年前
記事のアイキャッチ画像
What’s new in Svelte: December 2023
Svelte blog
+Svelte Summit Fall 2023 was epic! Featuring talks from across the ecosystem and the launches from the core team of new Svelte Dev Tools, image optimization, and a preview version of Svelte 5.0! The whole talk can be found here (timestamps below):0:00 Hype music!18:20 Exploring Svelte DevTools - Ignatius B (4 minutes)25:27 How does SvelteKit fare as a SPA Framework - Henry Lie (25 minutes)53:00 enhanced:img - Ben McCann (6 minutes)1:03:44 inlang-paraglide JS for SvelteKit i18n - Samuel Stroschein (10 minutes)1:17:32 How Svelte & GraphQL plays well together - Jean-Yves Couet (31 minutes)1:53:10 svelte-ecosystem-ci - Dominik G (10 minutes)2:23:06 Svelte for Creative Development - Steven Stavrakis (10 minutes)2:35:33 Translating the docs - Romain I’Ourson (11 minutes)2:49:48 ENHANCE! - Paolo Ricciuti (25 minutes)3:18:25 Accessibility tips with Svelte solutions - Enrico Sacchetti (25 minutes)3:49:11 svelte@next - Rich Harris (18 minutes)Today is also the first day of Advent of Svelte: A Sve +
1年前
記事のアイキャッチ画像
What’s new in Svelte: November 2023
Svelte blog
+Mark your calendars! Svelte Summit Fall is on November 11th. Join us on YouTube and in the Discord for hours of Svelte-focused fun 🎥Every month, maintainers within the Svelte ecosystem fix bugs, improve performance and bring new features to Svelte, SvelteKit and the tooling around them. This month’s releases brings an improved developer experience with better block folding, inferred types and configuration for use:enhance.Let’s take a closer look 👀...What’s new in Svelte & Language ToolsSvelte 4.2.2 cleans up a few element-specific features (Release Notes)Extensions 107.12.0 improves block folding for functions, if statements and more (Release Notes, PR)What’s new in SvelteKitRoute parameter types will now be inferred from the applicable matcher’s guard check (kit@1.26.0, Docs, #10755)The new invalidateAll boolean option lets you turn on and off the invalidateAll() form function within the enhance callback (kit@1.27.0, Docs, #9476)The output of the project creation wizard will now re... +
1年前
記事のアイキャッチ画像
What’s new in Svelte: October 2023
Svelte blog
+Svelte 5 isn’t out yet (you can, however, preview it now), but that doesn’t mean we don’t get a sneak peek! Most notably are Runes - a simpler way to manage reactive variables in Svelte code. There’s lots of links the showcase section for deeper dives on all things Runes, but let’s talk about what else been released this month...What’s new in Svelte & Language ToolsSvelte 4.2.1 was released with a bunch of fixes to HTML, CSS and sourcemap compilationThe latest version of the Svelte language tools enhances component references in the “Find All References” command, fixes a persistent issue with automated types going missing after restarting a project and adds fallback handling to auto-types (like those found in SvelteKit’s +server.js files)What’s new in SvelteKit+server.js now has a catch-all handler that handles all unimplemented valid server requests. Just export a fallback function! (1.25.0, Docs, #9755)That’s all for the new features! If you’re looking for other patches and performan +
1年前
記事のアイキャッチ画像
Hacktoberfest 2023 with SvelteKit
Svelte blog
+Sveltekit 🧡 HacktoberfestWe’re excited to announce SvelteKit’s participation in this year’s Hacktoberfest! Hacktoberfest is a global event that takes place every October, during which developers are encouraged to contribute to open-source projects like SvelteKit. The goal is to foster a vibrant open-source community, celebrate shared knowledge, and make the world of coding more accessible to all. You can find other participating repositories by searching the hacktoberfest topic on github.Getting StartedThe first step is to register for Hacktoberfest. Once you’ve registered, any PRs submitted to Sveltekit will count towards your participation in the event!ContributingIf you need inspiration when looking for an issue to fix, check out the low hanging fruit, contributions-welcome, ready to implement, or documentation tags.It’s a good idea to communicate clearly and often about what you’re trying to solve or take on. You can do this by commenting on the issues you intend to take on. This ... +
1年前
記事のアイキャッチ画像
Introducing runes
Svelte blog
+In 2019, Svelte 3 turned JavaScript into a reactive language. Svelte is a web UI framework that uses a compiler to turn declarative component code like this...App<script>let count = 0;function increment() {count += 1;}</script><button on:click={increment}>clicks: {count}</button><script lang="ts">let count = 0;function increment() {count += 1;}</script><button on:click={increment}>clicks: {count}</button>...into tightly optimized JavaScript that updates the document when state like count changes. Because the compiler can ‘see’ where count is referenced, the generated code is highly efficient, and because we’re hijacking syntax like let and = instead of using cumbersome APIs, you can write less code.A common piece of feedback we get is ‘I wish I could write all my JavaScript like this’. When you’re used to things inside components magically updating, going back to boring old procedural code feels like going from colour to black-and-white.Svelte 5 changes all that with runes, which unloc +
1年前
記事のアイキャッチ画像
What’s new in Svelte: September 2023
Svelte blog
+Happy September y’all! With all the sneak peeks at what’s coming soon in Svelte 5, we thought it’d be best to look back at the last month to see what’s shipped and what the community is building with Svelte.Before we jump in, a warm welcome to the new Svelte Ambassadors: @cainux and @grischaerbe! Welcome to the crew ⛴️What’s new in Svelte & Language ToolssvelteHTML has moved from language-tools into Svelte core so that svelte/element types will now load correctly (4.2.0 in Svelte, 107.10.0 in Language Tools)What’s new in SvelteKitURL is now accepted in the redirect function (1.23.0, Docs, #10570)Mistyped route filenames will now throw a warning (1.23.0, #10558)The new onNavigate lifecycle function enables view transitions - Check out the blog post for more info (1.24.0, Docs, #9605)But that’s just the new features! For all the patches and performance updates from this month, check out the SvelteKit CHANGELOG. You can also find adapter-specific CHANGELOGs in each of the adapter director +
1年前
記事のアイキャッチ画像
Unlocking view transitions in SvelteKit 1.24
Svelte blog
+The view transitions API has been sweeping the web development world lately, and for good reason. It streamlines the process of animating between two page states, which is especially useful for page transitions.However, until now, you couldn’t easily use this API in a SvelteKit app, since it was difficult to slot into the right place in the navigation lifecycle. SvelteKit 1.24 brought a new onNavigate lifecycle hook to make view transitions integration much easier – let’s dive in.How view transitions workYou can trigger a view transition by calling document.startViewTransition and passing a callback that updates the DOM somehow. For our purposes today, SvelteKit will update the DOM as the user navigates. Once the callback finishes, the browser will transition to the new page state — by default, it does a crossfade between the old and the new states.var document: DocumentMDN Referencedocument.startViewTransition(async () => {await const domUpdate: () => Promise<void>domUpdate(); // mock +
1年前
記事のアイキャッチ画像
What’s new in Svelte: August 2023
Svelte blog
+Some sweet new features have dropped in both Svelte and SvelteKit, this month. It’s also great to see how many products and side projects have launched using Svelte as their core technology!More on all that down below...What’s new in Svelte & Language ToolsThere’s been a bunch of minor bugfixes since the Svelte 4 release. You can find them in the CHANGELOG.The 4.1.0 release added the ability to further customize the custom element class that wraps the underlying Svelte component. Check out the Custom Elements API docs or the PR for more info!In addition to supporting SvelteKit’s new HEAD server method, Svelte’s language tools now support Prettier v3 (extensions-107.9.0) and workspace trust settings are now used to support all settings in workspace (extensions-107.8.0).What’s new in SvelteKitThe HEAD server method is now available in API routes (1.22.0, Docs, #9753)Responses with Vary headers are now cached, too (except for Vary: *) (1.22.0, Docs, #9993)There’s now a more helpful error +
2年前
記事のアイキャッチ画像
What’s new in Svelte: July 2023
Svelte blog
+Svelte 4 is out and folks have been building! There’s a bunch of new showcases, libraries and tutorials to share. So let’s get right into it...What’s new in SvelteThe big news this month was the release of Svelte 4.0! You can read all about it in the Announcing Svelte 4 post. From performance fixes and developer experience improvements to a brand new site, docs and tutorial... this new release sets the stage for Svelte 5 with minimal breaking changes.If you’re already on Node.js 16, it’s possible you won’t see any breaking changes in your project. But be sure to read the migration guide for all the details.For a full list of all the changes to the Svelte compiler, including unreleased changes, check out the CHANGELOG.What’s new in SvelteKitThis month there were lots of awesome bug fixes, so be sure to upgrade to the latest version! There are also a few new features to mention:The new event.isSubRequest boolean indicates whether this is a same-origin fetch request to one of the app’s ow +
2年前
記事のアイキャッチ画像
svelte.dev: A complete overhaul
Svelte blog
+When the initial version of Svelte v3 was released four years ago, it included the single-page documentation that folks have been familiar with. That documentation structure had stayed the same as Svelte’s API surface increased steadily and more details were added. As a result, the single page got larger and larger to the point where it was becoming difficult to find things. The community had been asking for a revamp, and now it’s here!Meet the new svelte.dev — a complete overhaul of the old website.Multi-page docsThe table of contents had grown to be quite large and you had to scroll across half a dozen screens to see the whole thing. We heard you! The docs are all split up into multiple pages now and all pages list their sections in the righthand sidebar.All modules exposed by Svelte are also listed in the sidebar under the Runtime section:sveltesvelte/storesvelte/motionsvelte/transitionsvelte/animatesvelte/easingsvelte/actionsvelte/compiler is under Compiler and API sectionWe’ve als +
2年前
記事のアイキャッチ画像
Announcing Svelte 4
Svelte blog
+After months in the making, we’re excited to announce the stable release of Svelte 4.Time flies - Svelte 3 was released more than four years ago! In JavaScript-framework-time, that’s eons. Svelte’s freshness has persisted throughout, but Node.js and browser APIs have evolved during that time and today we’re updating Svelte to take advantage of some of these improvements. Svelte 4 is mainly a maintenance release, bumping minimum version requirements and tightening up the design in specific areas. It sets the stage for the next generation of Svelte to be released as Svelte 5 - we think you’ll love it.If you haven’t tried Svelte yet, take it for a spin in our interactive tutorial, on StackBlitz, or locally with npm create svelte@latest. Svelte lets you easily put together web UIs leveraging the power of HTML, CSS, JS, and the Svelte compiler. Watch Svelte Radio Live to learn more about this release.What’s newPerformanceThis release results in smaller and faster hydration code. To see the +
2年前
記事のアイキャッチ画像
What’s new in Svelte: June 2023
Svelte blog
+Welcome to June everyone and congrats to our SvelteHack winners, across all the categories! If you missed it, these winners were announced at Svelte Summit on May 6th 🎉The entire playlist of the summit, including all the talks broken up in to separate videos, can be found on the Svelte Society YouTube channel. So check it out, if you haven’t already.Lots to cover in this month’s newsletter, including a lot of improvements to both Svelte and Kit...What’s new in SvelteSvelte 4.0.0-next.0, the first pre-release version of Svelte 4.0 is out! An explanation of the changes, improvements and goals of this release can be found in the Releases page on GitHub. Check it out to get an early sneak peek of the future of Svelte. It also includes a migration guide, for those interested in the minimal amount of breaking changes and deprecations.Svelte 3.59.0 is also out, with a ton of new features:Restructuring arrays with the spread operator (...) is now handled correctly (3.59.0, #8552, #8554)The ne... +
2年前
記事のアイキャッチ画像
What’s new in Svelte: May 2023
Svelte blog
+Before we dive into the updates, there’s a few announcements worth mentioning at the top:New Svelte AmbassadorsRegular features of this newsletter and all-around great content creators for Svelte JoyOfCode and HuntaByte have been appointed as Svelte Ambassadors. Ambassadors are people who are well known for their helpfulness and contributions and for upholding Svelte’s reputation as a friendly, welcoming community, and we’re deeply grateful for their involvement!SvelteHack winners will be announced May 6thIn a just a few days, we’ll find out who won SvelteHack - the Svelte Hackathon that took place between February 17th and April 17th. Tune in to Svelte Summit on May 6th to see if your favorite project was chosen 👀Lots of submissions to the hackathon are featured in this month’s showcase... but first, let’s see what’s new!What’s new in Sveltestyle blocks now support CSS @container queries (3.58.0)bind:innerText is now available for contenteditable elements (3.58.0)A new accessability ... +
2年前
記事のアイキャッチ画像
What’s new in Svelte: April 2023
Svelte blog
+Happy April, everyone! This month, we’re covering all the new features in the Svelte compiler, some quality-of-life improvements in SvelteKit and a huge showcase (like always).In core team news, Dominic Gannaway has joined Vercel to work on Svelte full-time! Dominic is a world-class expert on wringing performance out of javascript engines, on the DOM, on reactivity, on accessibility, and more! You might know him as the creator of the Inferno UI framework or Lexical, Meta’s WYSIWYG editor. It’ll be great to see his talents at work across the Svelte ecosystem 🌱Don’t forget! Svelte Summit Spring, Svelte’s 6th virtual conference, will be happening on May 6th. Also, there’s just two weeks left until the end of SvelteHack... It’s a great opportunity to share your creations with the community and maybe even earn a prize!Now let’s jump into this month’s changes...What’s new in SvelteA bunch of new features are now available as of 3.56.0!Add |stopImmediatePropagation event modifier for on:even... +
2年前
記事のアイキャッチ画像
Zero-effort type safety
Svelte blog
+By sprinkling type annotations into your SvelteKit apps, you can get full type safety across the network — the data in your page has a type that’s inferred from the return values of the load functions that generated that data, without you having to explicitly declare anything. It’s one of those things that you come to wonder how you ever lived without.But what if we didn’t even need the annotations? Since load and data are part of the framework, can’t the framework type them for us? This is, after all, what computers are for — doing the boring bits so we can focus on the creative stuff.As of today, yes: it can.If you’re using VSCode, just upgrade the Svelte extension to the latest version, and you’ll never have to annotate your load functions or data props again. Extensions for other editors can also use this feature, as long as they support the Language Server Protocol and TypeScript plugins. It even works with the latest version of our CLI diagnostics tool svelte-check!Before we dive +
2年前
記事のアイキャッチ画像
What’s new in Svelte: March 2023
Svelte blog
+March is coming in hot with a number of essential features having been added to SvelteKit following its 1.0 launch. Check out last week’s blog post for more details.Svelte Society also launched SvelteHack last month with over $12,000 in prizes - calling all Svelte developers, new and old, to make something awesome before the April 17th deadline!And, if you haven’t heard already, there’s going to be another Svelte Summit! Head over to SvelteSummit.com and sign up for the newsletter to get updates about the next event 📬Now let’s jump into this month’s changes...What’s new in SvelteKit$app/paths can now be used without an app - making things like component testing with Vitest, using Storybook, etc. easier (1.4.0, #8838)Adapters can now be configured at the route level (1.5.0, Docs, #8740)The new snapshot mechanism preserves ephemeral DOM state even after navigation and page reloads (1.5.0,Docs, #8710)OPTIONS are now available within the server method (1.6.0, Docs, #8731)Richer error mess... +
2年前
記事のアイキャッチ画像
Streaming, snapshots, and other new features since SvelteKit 1.0
Svelte blog
+The Svelte team has been hard at work since the release of SvelteKit 1.0. Let’s talk about some of the major new features that have shipped since launch: streaming non-essential data, snapshots, and route-level config.Stream non-essential data in load functionsSvelteKit uses load functions to retrieve data for a given route. When navigating between pages, it first fetches the data, and then renders the page with the result. This could be a problem if some of the data for the page takes longer to load than others, especially if the data isn’t essential – the user won’t see any part of the new page until all the data is ready.There were ways to work around this. In particular, you could fetch the slow data in the component itself, so it first renders with the data from load and then starts fetching the slow data. But this was not ideal: the data is even more delayed since you don’t start fetching until the client renders, and you’re also having to break SvelteKit’s load convention.Now, i +
2年前
記事のアイキャッチ画像
What’s new in Svelte: February 2023
Svelte blog
+Since last month, we’ve seen a couple of minor versions across Svelte and SvelteKit, a bunch of educational content to support the 1.0 release, as well as the State of JS survey results...Svelte, once again, increased in satisfaction and interest, so thanks to everyone who voted!Let’s dive into the updates...What’s new in SvelteKitWork in the Svelte ecosystem this month has been focused on SvelteKit bug fixes and addressing feedback from the 1.0 launch. One of the more awaited bug fixes to SvelteKit’s base path support landed, which means that you can now create SvelteKit projects on remote development environments. There have been several new releases with these fixes as well as a handful of new features such as:The submitter’s value will now be included automatically when progressively enhancing (1.0.3, #8273)Added an error in dev mode if global fetch is used with relative URL (1.0.8, #8370)A warning will now indicated that hydration may break if comments are removed from HTML (1.0.1 +
2年前
記事のアイキャッチ画像
What’s new in Svelte: January 2023
Svelte blog
+It’s been just two weeks since the release of SvelteKit 1.0! If you haven’t yet, check out the livestream, new website and tutorial to learn all the features of SvelteKit step-by-step.Let’s dive into the details...What’s new in SvelteKit@sveltejs/kit 1.0 is out! All future releases will follow semver and changes will be listed as major/minor/patch in the CHANGELOG.Improved support for Storybook and Histoire (#7990). Work is ongoing to fully support those tools (storybook#20239).vitePreprocess is now the default preprocessor. Please see the docs for differences between vitePreprocess and svelte-preprocess (#8036).Breaking changes:Unknown exports (except when starting with an underscore) are no longer allowed from +(layout|page)(.server)?.js and +server.js files (#7878)__data.json is now stripped from URL (#7979)sveltekit() will now return a promise for an array of Vite plugins (#7994)A new embedded option, turned off by default, helps with link clicks when embedding SvelteKit (docs, #79 +
2年前
記事のアイキャッチ画像
Announcing SvelteKit 1.0
Svelte blog
+After two years in development, SvelteKit has finally reached 1.0. As of today, it’s the recommended way to build Svelte apps of all shapes and sizes.We’re so excited to share this release with you. It’s the culmination of thousands of hours of work, both from the Svelte core team and the wider community, and we think it’s the most enjoyable way to build production-grade websites, whether you’re a solo developer working on a small project or part of a large team.To get started, run npm create svelte@latest, and visit the docs and (experimental!) interactive tutorial.Svelte Radio Live: the Christmas specialWhat is SvelteKit?SvelteKit is a framework for building web applications on top of Svelte, a UI component framework that developers love for its performance and ease of use.If you’ve used component frameworks like Svelte, you’ll know that they make it much easier to build user interfaces than working with the DOM directly. But they leave a lot of questions unanswered:How do I structur +
2年前
記事のアイキャッチ画像
What’s new in Svelte: December 2022
Svelte blog
+SvelteKit 1.0 is just around the corner! With 99% of the milestone issues completed, there’s a lot of new changes from the last month to cover...Let’s get to it!What’s new in SvelteKitUse the willUnload property to find out if the navigation will result the app being unloaded (full page reload/closing/leaving to another page). (#6813)__data.json requests now allows for caching while ensuring we cache matching responses for all invalidation scenarios (#7532)Linking to <a name="hash"> tags is now supported (#7596)Throwing redirects in the handle hook is now supported (#7612)A fallback component will now be added automatically for layouts without one (#7619)The new preload function within the resolve hook determines what files should be added to the tag to preload it (Docs, #4963, #7704)version is now available via $app/environment (#7689, #7694)handleError can now return a promise (#7780)Breaking changes:routeId is now route.id (#7450)‘load’ has been renamed to ‘enter’ and ‘unload’ to ‘l +
2年前
記事のアイキャッチ画像
What’s new in Svelte: November 2022
Svelte blog
+It’s been a busy October for the Svelte community. use:enhance and Advanced Routes got some great improvements in SvelteKit while the Svelte compiler released a minor version to improve the day-to-day dev experience.There’s also a huge showcase to cover... so let’s jump in!What’s new in SvelteKitThe new update method for use:enhance lets you easily get back the default form behavior while augmenting it with your own logic (docs, #7083 and #7326)[[optional]] parameters are now available for routing (docs, #7051)goto now has invalidateAll to (re-)run all load functions belonging to the new active page (docs, #7407)config.kit.paths.base is now used in adapters looking for static assets - fixing 404 issues across adapter-netlify, adapter-vercel, adapter-cloudflare, and adapter-cloudflare-workers (#4448)Breaking changes:Errors will now be thrown when routes conflict (#7051)The global fetch override has been removed when prerendering (#7318)Route IDs have been prefixed with / (#7338)Svelte c +
2年前
記事のアイキャッチ画像
What’s new in Svelte: October 2022
Svelte blog
+There’s a bunch of updates this month... from new features in Svelte and SvelteKit to a whole 2-day summit! Plus, the Svelte extension gets some helpful new tools, new accessibility (a11y) warnings, and Tan Li Hau teaches us how to build our own Svelte and a Svelte spreadsheet 😎What happened at Svelte Summit?A lot! Below you can find all the talks, by timestamp, from each livestream. Bite-size videos of the event will be coming soon to the Svelte Society channel, so be sure to Subscribe, if you haven’t already!Day One12:31 - How to get Svelte adopted at work33:21 - Animating Data Visualization in Svelte2:20:36 - Red flags & code smells2:53:42 - Enhance your DX4:42:41 - Svelte in UBS’ knowledge graph5:06:42 - How to migrate react libraries to svelte5:45:27 - DX magic in the world of Svelte7:25:39 - Data visualizations powered by Svelte7:59:38 - Partial Hydration in Svelte for Increased Performance8:20:49 - Building the future, fasterDay Two24:09 - Scrollytell me why: Ain’t nothing but ... +
2年前
記事のアイキャッチ画像
What’s new in Svelte: September 2022
Svelte blog
+Still looking for something to do this month? It’s your last chance to get tickets to Svelte Summit, Stockholm! Join us on Sept 8-9th 🎉With the redesign of SvelteKit’s filesystem-based router merging early last month, there’s lots to cover this month - from the migration script to a number of new blog posts, videos and tutorials.But the new routing isn’t the only new feature in SvelteKit...What’s new in SvelteKitLink is now supported as an HTTP header and works out of the box with Cloudflare’s Automatic Early Hints (1.0.0-next.405, PR)$env/static/* are now virtual to prevent writing sensitive values to disk (1.0.0-next.413, PR)$app/stores can now be used from anywhere on the browser (1.0.0-next.428, PR)config.kit.env.dir is a new config that sets the directory to search for .env files (1.0.0-next.430, PR)Breaking changes:The filesystem-based router and load API improves the way routes are managed. Before installing version @sveltejs/kit@1.0.0-next.406 or later, follow this migration g... +
2年前
記事のアイキャッチ画像
What’s new in Svelte: August 2022
Svelte blog
+There’s a lot to cover this month... big changes are coming to SvelteKit’s design before 1.0 can be completed. If you haven’t already, check out Rich’s Discussion, Fixing load, and tightening up SvelteKit’s design before 1.0 #5748.Also, @dummdidumm (Simon H) has joined Vercel to work on Svelte full-time and @tcc-sejohnson has joined the group of SvelteKit maintainers! We’re super excited to have additional maintainers now dedicated to working on Svelte and SvelteKit and have already been noticing their impact. July was the third largest month for SvelteKit changes since its inception!Now onto the rest of the updates...What’s new in SvelteKitDynamically imported styles are now included during SSR (#5138)Improvements to routes and prop updates to prevent unnecessary rerendering (#5654, #5671)Lots of improvements to error handling (#4665, #5622, #5619, #5616)Custom Vite modes are now respected in SSR builds (#5602)Custom Vite config locations are now supported (#5705)Private environment v +
3年前
記事のアイキャッチ画像
What’s new in Svelte: July 2022
Svelte blog
+From faster SSR to support for Vitest and Storybook in SvelteKit, there’s a lot to cover in this month’s newsletter...So let’s dive in!OpenCollective funding drives Svelte forwardSvelte supporters have donated approximately $80,000 to the project on OpenCollective. We’re happy to share that the funds are being drawn on to move Svelte forward in a meaningful way. @gtm-nayan has begun triaging and fixing SvelteKit issues this past month as a paid contributor to the project to help us get SvelteKit to a 1.0 level of stability! @gtm-nayan has been an active member of the Svelte community for quite some time and is well known for writing the bot that helps keep our Discord server running. We’re happy that this funding has allowed Svelte to get much more of his time.We will also be utilizing OpenCollective funds to allow Svelte core maintainers to attend Svelte Summit in person this fall. Thanks to everyone who has donated so far!What’s new in Svelte & Language ToolsThe tutorial is a new way +
3年前
記事のアイキャッチ画像
What’s new in Svelte: June 2022
Svelte blog
+With last month’s Svelte Summit behind us, we’re ready to apply everything we learned in this new month of June! Also new this month are some quality-of-life changes to createEventDispatcher, @const declarations and tons of progress toward SvelteKit 1.0.Let’s dive in!What’s new in SvelteCustom events can now be cancelled in the createEventDispatcher function (3.48.0, Docs, PR)The {@const} tag can now be used in {#if} blocks to conditionally define variables (3.48.0, Docs, PR)Lots of bug fixes across <svelte:element>, animations and various DOM elements. Check out the CHANGELOG for a deeper dive!What’s new in SvelteKitVite 2.9.9 was released as one of the last Vite 2 releases. The Svelte team has been hard at work contributing to the Vite 3 release to make the integration between SvelteKit and Vite smoother than ever (Vite 3.0 Milestone)config.kit.alias lets you more easily declare a custom alias to replace values in import statements (Docs, PR)Pages marked for prerendering will now fai +
3年前
記事のアイキャッチ画像
What’s new in Svelte: May 2022
Svelte blog
+With yesterday’s Svelte Summit behind us, we’ve got a lot of news to share! Check out all of the recordings on the Svelte Society YouTube Channel and the rest of this month’s updates below...What’s new in SvelteThe <svelte:element> element lets you render an element of a dynamically specified type. This is useful, for example, when rendering rich text content from a CMS. Check out the docs or the tutorial for more info (3.47.0)!Language Tools updatessvelte:element and sveltekit:reload are now supportedInvalid Svelte import paths will now be automatically detected - see PR for getting back the old behavior (#1448)source.sortImports lets you sort imports without deleting unused imports (#1338)Hovering over HTML attributes will now show HTML hover info instead of the TS hover info - resulting in much more useful information (#1447)In VS Code, you can now wrap existing blocks of code in control flow tags using the Insert Snippet command (#1373)What’s new in SvelteKitFiles and directories c +
3年前
記事のアイキャッチ画像
What’s new in Svelte: April 2022
Svelte blog
+This month, we felt a shift in the way SvelteKit handles page properties. The last holdout of the use-cases that required fallthrough routes, validating parameter properties, has been replaced by a more specific solution.More on that, and what else is new in Svelte, as we dive in...What’s new in SvelteKitParam matchers allow you to check if a url parameter matches before rendering a page - replacing the need for fallthrough routes for this purpose (Docs, #4334)Explicit redirects can now be handled directly from endpoints (#4260)svelte-kit sync (#4182), TypeScript 4.6 (#4190) and Vite 2.9 were released - adding non-blocking dependency optimization and experimental CSS source maps in dev mode as well as a number of bug fixes contributed by the SvelteKit team (#4468)New Config OptionsoutDir fixes path issues in monorepos and other situations where the desired output directory is outside the project directory (Docs, #4176)endpointExtensions prevents files other than .js and .ts files from +
3年前
記事のアイキャッチ画像
What’s new in Svelte: March 2022
Svelte blog
+Just announced: Svelte Summit Spring will be taking place on April 30, 2022. The 5th Virtual Svelte Conference is looking for speakers and sponsors... so it’s time to dust off those proposals!Also, some long-requested features were added to SvelteKit this month... including page endpoints! This change in how the load function works makes it easier to fetch data required for basic pages, redirect from POST responses and handle 404s and other errors.More on that and other new features and fixes below!What’s new in SvelteKitThe docs are now searchable and multipage with type definitions and hoverable code examples - Check them out at svelte.dev/docs/kitPage endpoints significantly decrease the boilerplate needed when loading a page (Issue, PR, Docs)Application versioning and update detection support lets you determine what to do when a route fails to load after an app update (Issue, PR, Docs)A new option in npm init svelte@next will now set up Playwright automatically for testing (PR)Brea +
3年前
記事のアイキャッチ画像
What’s new in Svelte: February 2022
Svelte blog
+Happy February, everyone! Over the last month or so, we’ve seen Svelte and SvelteKit develop at rapid speed, new community rules across the Reddit, GitHub and Discord, and quite a few amazing apps, tutorials and libraries.Let’s take a look...Highlights from the Svelte changelog3.45.0 brought a new a11y warning a11y-no-redundant-roles, destructuring and caching fixes3.46.0 added the much requested {@const} tag and style: directiveCheck out 3.46.1 - 3.46.3 for fixes to the {@const} tag and style: directive, along with a number of fixes to animationsAST output is now available in the Svelte REPLWhat’s new in SvelteKitinlineStyleThreshold allows you to specify where inline stylesheets are inserted into the page (Docs, #2620)beforeNavigate / afterNavigate lifecycle functions lets you add functionality before or after a page navigation (Docs, #3293)Platform context can now be passed from adapters (Docs, #3429)Hooks now have an ssr parameter in resolve to make it easier to skip SSR, when need +
3年前
記事のアイキャッチ画像
Accelerating Svelte’s Development
Svelte blog
+Svelte is a frontend framework for building fast reactive web apps with less code. If you’re new here, check out the tutorial or examples to get a feel for it.Svelte was launched 5 years ago and has come a long way in the time since. In 2021, as usage more than doubled, it was voted the most loved framework with the most satisfied developers in a pair of surveys. Alongside high-profile companies like The New York Times, Apple, Spotify, Square, Rakuten, Bloomberg, Reuters, Ikea, Brave, and countless others, Svelte is used to power everything from hobby projects to embedded systems interfaces.To help developers build fully-featured applications with Svelte without worrying about the hard parts, we’ve been developing the SvelteKit application framework. We’re moving quickly towards a stable 1.0 release with the help of early adopters who have already downloaded SvelteKit almost one million times.Scaling the teamRich Harris, Svelte’s creator, has joined Vercel to work on Svelte full-time. +
3年前
記事のアイキャッチ画像
What’s new in Svelte: January 2022
Svelte blog
+Happy new year, Svelte Community! Lots to share this month across Svelte, SvelteKit, Language Tools and the Showcase. Thanks to everyone who made 2021 a great year to use Svelte. Looking forward to the next one 🚀What’s new in SvelteKit@sveltejs/adapter-static for SvelteKit now has a precompress option to make brotli compression of assets and pages easier to do out of the box (#3079)Concurrency mode in SvelteKit will now prerender pages in parallel (#3120). It is enabled by default in 1.0.0-next.205 and laterCSS is now automatically included before JS for improved page performance (d13efe)A new config option adds the ability to disable service worker registration to do your own custom registration (#2988)SSR route-splitting is here - breaking monolithic builds into smaller pieces for improved startup and routing performance (#2931)request.origin/path/query is now request.url - simplifying the config and page load functions (#3126)After the update to Vite 2.7, SvelteKit users are report... +
3年前
記事のアイキャッチ画像
What’s new in Svelte: December 2021
Svelte blog
+With SvelteKit getting more and more stable each day, there’s not much to cover in terms of code changes other than bug fixes... So, in this month’s newsletter, we’ll be covering Svelte Summit Fall 2021!If you want to dive deep into the last month’s worth of bug fixes, check out the Svelte and SvelteKit changelogs, respectively.What happened at Svelte Summit?If you missed Svelte Summit, you can watch the entire live stream on YouTube and catch a recap in the #svelte-summit channel on Discord.Here are the highlights:Rich Harris took us through a tour of Svelte’s history and announced his move to Vercel - where he will be helping maintain Svelte full-time! (20:00)Steph Dietz explained how Svelte’s simple abstractions makes it easy for beginners and experts alike to learn and use JavaScript - without the boilerplate (29:00)Kevin Bridges dove deep into Svelte’s reactivity logic by visualizing it through ReflectiveCounter and showing how to “fine tune” it, as needed. A full “syllabus” for t +
3年前
記事のアイキャッチ画像
What’s new in Svelte: November 2021
Svelte blog
+With SvelteKit crossing the 80% complete mark, over 5000 stars on GitHub, and now having more usage than Sapper, there’s never been a better time to try it out! Many in the community have, making for quite a large showcase this month...Also, don’t miss out on Svelte Summit on November 20th - featuring speakers from around the world. Keep an eye out for a watch party in your area 👀Now onto what’s new!New in Svelte and SvelteKitsvelte.dev now runs on SvelteKit alongside sveltesociety.dev. svelte.dev is a relatively complicated site with live code editing, authentication, and a markdown-based blog - making it a great way for us to really test out SvelteKitA new compiler option, enableSourcemap, provides more control over the compiler output for JS and CSS sourcemaps (3.44.0). With this new feature, SvelteKit and the Vite Svelte plugin can now properly handle environment variables in .svelte templates (See sveltejs/kit#720 and sveltejs/vite-plugin-svelte#201)The Svelte Language Tools now ... +
3年前
記事のアイキャッチ画像
What’s new in Svelte: October 2021
Svelte blog
+Hey y’all 👋 It’s been 1 year since “What’s new in Svelte” started being cross-posted to the Svelte blog. I wanted to take this moment at the top to thank all of you for reading and for all the contributors every month. From the maintainers to everyone who posts their work in the Discord and Reddit, it’s amazing to witness all the effort that goes into making the Svelte community great.Keep up the good work, everyone! Now, let’s dive into this month’s news...New around SvelteNew additions to Svelte’s export map now expose no-op versions of lifecycle functions for SSR (Svelte 3.43.0)Custom components with a src attribute no longer break svelte-native builds (Svelte 3.42.4)Svelte plugin users without the TypeScript plugin enabled will now be prompted to enable it. It enhances TypeScript and JavaScript files with additional intellisense to interact with Svelte files. Please leave feedback if you are using it (Svelte extensions 105.4.0)Event modifiers have been added to intellisense as aut... +
3年前
記事のアイキャッチ画像
What’s new in Svelte: September 2021
Svelte blog
+This month, Svelte was voted StackOverflow’s most loved web framework, Tan Li Hau talked to Svelte Radio about his Svelte-filled YouTube channel, and SvelteKit made even more progress towards its 1.0 release!New in Svelteuse:actions can now be used on <svelte:body> (3.42.0)HTMLElement, SVGElement (3.42.2) and BigInt (3.42.3) are now known globalsThere is less code in Svelte’s output thanks to the following improvements in 3.42.2:Whitespace is now collapsed in class and style attributesHydrated components have been updated to only rely upon helpers for creating the types of elements present in the componentScaling is now accounted for in flip animations (3.42.2)All <option>s in a <select> are now deselected when the bound value doesn’t match any of them (3.42.2)For a full list of features and bug fixes, check out the Svelte changelog.SvelteKit UpdatesSvelte maintainers are looking for help getting SvelteKit to 1.0. We’ve knocked out over 100 issues that were on the 1.0 milestone. There’ +
3年前
記事のアイキャッチ画像
What’s new in Svelte: August 2021
Svelte blog
+From The Changelog (JS Party Ep. 182) to Svelte Radio (Episodes 29 and 30), it seems that folks couldn’t help but talk about Svelte, this month! Also, shadow DOM support and new export and await functionality are new in Svelte.New in SvelteJuly was the most active month for the Svelte core repo since late 2019 as we really worked to reduce the number of outstanding PRs and saw the release of Svelte 3.39.0, 3.40.0, and 3.41.0. Tons of bug fixes were added as well as the following new features:The |trusted event modifier allows you to check if an event is trusted before it’s called (#6137)The new svelte/ssr package to support work on improving SvelteKit SSR (#6416)A new errorMode compiler option to support improved preprocessing of TypeScript files (#6194)You can now specify a ShadowRoot as the target when creating a component - making it possible to render Svelte components inside the shadow DOM (#5869)The export { ... } from (#2214), export let { ... } = (#5612) and {#await ... then/ca +
4年前
記事のアイキャッチ画像
What’s new in Svelte: July 2021
Svelte blog
+As the northern hemisphere heats up, Svelte has stayed cool with lots of performance and bug fixes, better TypeScript support, and lots of new components & tools from around the ecosystem. Let’s take a peek 👀New in SvelteKitadapter-node now precompresses assets using gzip & brotli (#1693)Support for TypeScript transpilation has been added to the svelte-kit package tooling (#1633)Improved caching defaults in adapter-node (#1416)Allow configuring Rollup output options (#1572)Fixed usage of SSL with HMR (#1517)Features & bug fixes from around svelte/*Svelte 3.38.3 (released June 22) includes a bunch of performance and bug fixes - including hydration optimizations, this preservation in bubbled events, and more!The latest language tools releases added support for prop renaming from outside of a component, PostCSS syntax grammar, and a .d.ts output target in svelte2tsx which can be used to create type definitions from Svelte files.Also in language tools, some long-awaited experimental featu... +
4年前
記事のアイキャッチ画像
What’s new in Svelte: June 2021
Svelte blog
+This month, we saw lots of contributions to SvelteKit and its docs. The language tools also got some new features, most notably deeper integration with Svelte files within JavaScript or TypeScript files. Let’s jump into the updates...New in SvelteKitsvelte.config.js config files are now loaded in ESM format (.js instead of .cjs).AMP pages will now use the rendered CSS, rather than emitted CSSsvelte-check has been added to the TypeScript template (sveltejs/kit#1556)Support for https keypair sveltejs/kit#1456Now bundling Vite with SvelteKit and using an upgraded version. Remove Vite from your package.json if it’s thereEtags for binary responses sveltejs/kit#1382Renamed $layout to __layout and $error to __errorRemoved getContext in favor of request.localsRenamed .svelte output directory to .svelte-kit. Update your .gitignore accordinglytrailingSlash: 'never' | 'always' | 'ignore' is now available in the config. This should make it easier to build sites that work with static hosting provid +
4年前
記事のアイキャッチ画像
What’s new in Svelte: May 2021
Svelte blog
+Last week, Svelte Summit blew us away with a mountain of content! Check out the full recording or an audio-only (p)review on Svelte Radio. Now let’s get into this month’s news...New features in the Svelte Compiler:global() is now supported as part of compound CSS selectors (3.38.0, Example)CSS custom properties can now be passed to components for use cases such as theming (3.38.0, Docs coming soon)New in SvelteKitkit.svelte.dev has a fresh new look and the SvelteKit Demo Site got a fresh set of paint. Check it out by running npm init svelte@nextYou can now use @sveltejs/adapter-static to create a single-page app or SPA by specifying a fallback page (PR, Docs)Disable Server-side Rendering (SSR) app-wide or on a page-by-page basis (PR)Error messages thrown during pre-rendering are now much more informative and readable (PR, Docs)Layouts can now be reset to prevent pages from inheriting the root layout. This is useful if you have a specific layout for a page or i18n variation (PR, Docs)fe +
4年前
記事のアイキャッチ画像
What’s new in Svelte: April 2021
Svelte blog
+Two projects that have been months (even years) in the making have made their way out into the world. SvelteKit is now in public beta and slotted components are now available in Svelte!What’s up with SvelteKit?SvelteKit - Svelte’s versatile framework for building SSR, serverless applications, or SPAs - is now officially in public beta. Expect bugs! Lots more detail in the latest blog post. Want to know when 1.0 is close? Check out the milestone on github.Want to learn more about how to get started, what’s different compared to Sapper, new features and migration paths? Check out this week’s episode of Svelte Radio for a deep dive with Antony, Kev and Swyx.New in Svelte & Language ToolsSlotted components, including <svelte:fragment slot="..."> lets component consumers target specific slots with rich content (Svelte 3.35.0, Language Tools 104.5.0)Linked editing now works for HTML in Svelte files (Language Tools, 104.6.0)Type definitions svelte.d.ts are now resolved in order, allowing libr +
4年前
記事のアイキャッチ画像
SvelteKit is in public beta
Svelte blog
+Previously: What's the deal with SvelteKit?It’s time. After five months and hundreds of commits, you’re finally invited to try out the SvelteKit beta. It’s not finished — there are a few known bugs and several missing features — but we’re really happy with how it’s shaping up and can’t wait for you to try it.Starting a new project is easy:# create the projectmkdir my-appcd my-appnpm init svelte@next# install dependenciesnpm install# start dev server and open a browser tabnpm run dev -- --openYou’ll find documentation at svelte.dev/docs/kit. If you have a Sapper app that you’d like to migrate to SvelteKit, you’ll find instructions at svelte.dev/docs/kit/migrating.The source code is available at github.com/sveltejs/kit. Issues and pull requests are disabled while we finish getting our house in order, but we’ll be making it fully open in the near future.Wait, what is SvelteKit?Think of it as Next for Svelte. It’s a framework for building apps with Svelte, complete with server-side renderi +
4年前
記事のアイキャッチ画像
What’s new in Svelte: March 2021
Svelte blog
+Lots to cover this month with releases from across the Svelte ecosystem. Most importantly, Svelte Summit Spring 2021 has an Open Call for Speakers. The deadline is March 14 so if you have an idea for a talk, submit it now!Let’s dive into the news 🐬What’s new in sveltejs/svelteSSR store handling has been reworked to subscribe and unsubscribe as in DOM mode. SSR stores should work much more consistently now (3.31.2, see custom stores and Server-side component API )Multiple instances of the same action are now allowed on an element (3.32.0, example)The new foreign namespace should make it easier for alternative compile targets (like Svelte Native and SvelteGUI) by disabling certain HTML5-specific behaviour and checks (3.32.0, more info)Support for inline comment sourcemaps in code from preprocessors (3.32.0)Destructured defaults are now allowed to refer to other variables (3.33.0, example)Custom elements will now call onMount functions when connecting and clean up when disconnecting (3.3... +
4年前
記事のアイキャッチ画像
What’s new in Svelte: February 2021
Svelte blog
+With the shortest month of the year coming up, Svelte maintainers and community members alike have been busy this last month – from big changes in svelte-loader, prettier-plugin-svelte, rollup-plugin-svelte, and language-tools to steady progress in Sapper and svelte-preprocess. Meanwhile, lots of folks have been busy integrating Svelte with other popular frameworks.New compiler featuresAria roles from the WAI-ARIA Graphics Module are now recognized as valid aria roles in Svelte components (3.31.1)Compiler warnings for the common React attributes, className and htmlFor, now make it easier to port React components to Svelte (3.31.1)Have a suggestion for a compiler feature or want to help implement new features/bug fixes? Check out the “triage: good first issue” tag for SvelteNew bits in language-toolsUser disabled auto import suggestions no longer show in VS Code (103.0.0)Renaming a variable is now safer with smart additions of a prefix/suffix to renamed variables (104.0.0)Semantic (toke +
4年前
記事のアイキャッチ画像
What’s new in Svelte: January 2021
Svelte blog
+Happy new year from Svelte! In the last month we made progress on Sapper’s upcoming release, fine-tuned our SvelteComponent typings, and have seen some amazing apps, sites, and libraries coming out in the showcase.What’s changed in Svelte?A new minor release replaces the SvelteComponent class with a SvelteComponentTyped class. This renaming should help with backwards compatibility. We’ve updated last month’s blog post to avoid any confusion with the name change.If you’re using SvelteComponent or the new SvelteComponentTyped in your project or library, let us know what you’re using it for and we’ll add it to the showcase!What’s going on in Sapper?More quality of life features are landing in the upcoming release every day. 0.29.0 will include new TypeScript definitions, fixes to scroll tracking and prefetching behavior, and improvements to the runtime router to support encoded query parameters.If you’re upgrading from 0.28.x, check out the migration guide for steps on updating to Sapper +
4年前
記事のアイキャッチ画像
What’s new in Svelte: December 2020
Svelte blog
+It’s the last “What’s new in Svelte” of the year and there’s lots to celebrate! This month’s coverage includes updates from rollup-plugin-svelte, Sapper and SvelteKit and a bunch of showcases from the Svelte community!New features & impactful bug fixes$$props, $$restProps, and $$slots are all now supported in custom web components (3.29.5, Example) and slot components now support spread props: <slot {...foo} /> (3.30.0)A new hasContext lifecycle function makes it easy to check whether a key has been set in the context of a parent component (3.30.0 & 3.30.1, Docs)There is now a new SvelteComponentTyped class which makes it easier to add strongly typed components that extend base Svelte components. Component library and framework authors rejoice! An example: export class YourComponent extends SvelteComponentTyped<{aProp: boolean}, {click: MouseEvent}, {default: {aSlot: string}}> {} (3.31.0, RFC)Transitions within {:else} blocks should now complete successfully (3.29.5, Example)Svelte now +
4年前
記事のアイキャッチ画像
What’s the deal with SvelteKit?
Svelte blog
+If you didn't attend Svelte Summit, you can catch up on the Svelte Society YouTube pageIf you attended Svelte Summit last month you may have seen my talk, Futuristic Web Development, in which I finally tackled one of the most frequently asked questions about Svelte: when will Sapper reach version 1.0?The answer: never.This was slightly tongue-in-cheek — as the talk explains, it’s really more of a rewrite of Sapper coupled with a rebrand — but it raised a lot of new questions from the community, and it’s time we offered a bit more clarity on what you can expect from Sapper’s successor, SvelteKit.'Futuristic Web Development' from Svelte SummitWhat’s Sapper?Sapper is an app framework (or ‘metaframework’) built on top of Svelte (which is a component framework). Its job is to make it easy to build Svelte apps with all the modern best practices like server-side rendering (SSR) and code-splitting, and to provide a project structure that makes development productive and fun. It uses filesystem +
4年前
記事のアイキャッチ画像
What’s new in Svelte: November 2020
Svelte blog
+Welcome back to the “What’s new in Svelte” series! This month, we’re covering new features & bug fixes, last month’s Svelte Summit and some stand-out sites and libraries...New features & impactful bug fixesDestructuring Promises now works as expected by using the {#await} syntax(3.29.3, Example)Slot forwarding (released in 3.29.0) should no longer hang during compilation (3.29.3, Example)Better typings for the get function in svelte/store and on lifecycle hooks (3.29.1)What’s going on in Sapper?Sapper got some new types in its preload function, which will make typing easier if you are using TypeScript. See the Sapper docs on how to use them. There also were fixes to preload links in exported sites. Route layouts got a few fixes too - including ensuring CSS is applied to nested route layouts. You can also better organize your files now that extensions with multiple dots are supported. (0.28.10)For all the features and bugfixes see the CHANGELOGs for Svelte and Sapper.Svelte Summit was S +
4年前
記事のアイキャッチ画像
What’s new in Svelte: October 2020
Svelte blog
+Welcome to the first edition of our “What’s new in Svelte” series! We’ll try to make this a monthly blog post in which you’ll find out about new features, bug fixes, and a showcase of Svelte projects from around the community.New featuresuse:obj.method allows functions defined within objects to be used within actions (Example, 3.26.0, warning removed in 3.27.0)_ is now supported as a “numerical separator”, similar to a . or , (Example, 3.26.0)import.meta now works in template expressions (Example, 3.26.0)CSS Selectors with ~ and + combinators are now supported (Example, 3.27.0, with a compiler fix in 3.29.0)The {#key} block is now available to key arbitrary content on an expression. Whenever the expression changes, the contents inside the {#key} block will be destroyed and recreated. For an in-depth explanation and to find out how it’s implemented, check out the new blog post of Svelte Team member Tan Li Hau. (More info, 3.29.0)Slots can now be forwarded through child components! This +
4年前
記事のアイキャッチ画像
Svelte <3 TypeScript
Svelte blog
+It’s been by far the most requested feature for a while, and it’s finally here: Svelte officially supports TypeScript.We think it’ll give you a much nicer development experience — one that also scales beautifully to larger Svelte code bases — regardless of whether you use TypeScript or JavaScript.Image of TypeScript + Svelte in VS Code (theme is Kary Pro.)Try it nowYou can start a new Svelte TypeScript project using Svelte’s official scaffolding CLI by running npm create svelte@latest and following the prompts. This sets up a new SvelteKit project for you.Alternatively you can run npm create vite@latest myapp -- --template svelte-ts to scaffold a Vite project using Svelte and TypeScript.If you’re a VS Code user, make sure you’re using the (new) official extension, which replaces the popular extension by James Birtles.Later in this blog post, we’ll detail the individual steps involved in using TypeScript in an existing Svelte project.What does it mean to support TypeScript in Svelte?Typ +
5年前
記事のアイキャッチ画像
Svelte 3: Rethinking reactivity
Svelte blog
+After several months of being just days away, we are over the moon to announce the stable release of Svelte 3. This is a huge release representing hundreds of hours of work by many people in the Svelte community, including invaluable feedback from beta testers who have helped shape the design every step of the way.We think you’re going to love it.What is Svelte?Svelte is a component framework — like React or Vue — but with an important difference. Traditional frameworks allow you to write declarative state-driven code, but there’s a penalty: the browser must do extra work to convert those declarative structures into DOM operations, using techniques like virtual DOM diffing that eat into your frame budget and tax the garbage collector.Instead, Svelte runs at build time, converting your components into highly efficient imperative code that surgically updates the DOM. As a result, you’re able to write ambitious applications with excellent performance characteristics.The first version of S +
6年前
記事のアイキャッチ画像
Write less code
Svelte blog
+All code is buggy. It stands to reason, therefore, that the more code you have to write the buggier your apps will be.Writing more code also takes more time, leaving less time for other things like optimisation, nice-to-have features, or being outdoors instead of hunched over a laptop.In fact it’s widely acknowledged that project development time and bug count grow quadratically, not linearly, with the size of a codebase. That tracks with our intuitions: a ten-line pull request will get a level of scrutiny rarely applied to a 100-line one. And once a given module becomes too big to fit on a single screen, the cognitive effort required to understand it increases significantly. We compensate by refactoring and adding comments — activities that almost always result in more code. It’s a vicious cycle.Yet while we obsess — rightly! — over performance numbers, bundle size and anything else we can measure, we rarely pay attention to the amount of code we’re writing.Readability is importantI’m +
6年前
記事のアイキャッチ画像
Svelte for new developers
Svelte blog
+This short guide is designed to help you — someone who has looked at the tutorial and wants to start creating Svelte apps, but doesn’t have a ton of experience using JavaScript build tooling — get up and running.If there are things that don’t make sense, or that we’re glossing over, feel free to raise an issue or suggest edits to this page that will help us help more people.If you get stuck at any point following this guide, the best place to ask for help is in the chatroom.First things firstYou’ll be using the command line, also known as the terminal. On Windows, you can access it by running Command Prompt from the Start menu; on a Mac, hit Cmd and Space together to bring up Spotlight, then start typing Terminal.app. On most Linux systems, Ctrl-Alt-T brings up the command line.The command line is a way to interact with your computer (or another computer! but that’s a topic for another time) with more power and control than the GUI (graphical user interface) that most people use day-to +
6年前
記事のアイキャッチ画像
Svelte on The Changelog
Svelte blog
+Earlier this month, I had the privilege of appearing on The Changelog, a podcast about software development. We had a fun (for me) and wide-ranging conversation:life as a coder inside a newsroomthe big compilers-as-frameworks trendscalabilitythe Great Divide...and, most importantly, Svelte 3.Unless you hang out in our Discord server or follow @sveltejs on Twitter, you might not know that Svelte 3 is just around the corner, and it’s going to be a huge release. We’ve rethought the developer experience from the ground up, and while it will be a nuisance if you need to upgrade a Svelte 2 app (more on that soon) we think you’re going to love it.On the podcast Adam, Jerod and I talk about some of the changes and why we’re making them. You can listen here or on the podcast page.The Changelog 332: A UI framework without the framework – Listen on Changelog.com
6年前
記事のアイキャッチ画像
Virtual DOM is pure overhead
Svelte blog
+If you’ve used JavaScript frameworks in the last few years, you’ve probably heard the phrase ‘the virtual DOM is fast’, often said to mean that it’s faster than the real DOM. It’s a surprisingly resilient meme — for example people have asked how Svelte can be fast when it doesn’t use a virtual DOM.It’s time to take a closer look.What is the virtual DOM?In many frameworks, you build an app by creating render() functions, like this simple React component:function function HelloMessage(props: any): divHelloMessage(props: anyprops) {return <type div = /*unresolved*/ anydiv className="greeting">Hello {props: anyprops.name}</div>;}You can do the same thing without JSX...function function HelloMessage(props: any): anyHelloMessage(props: anyprops) {return React.createElement('div', { className: stringclassName: 'greeting' }, 'Hello ', props: anyprops.name);}...but the result is the same — an object representing how the page should now look. That object is the virtual DOM. Every time your app’s +
6年前
記事のアイキャッチ画像
Using CSS-in-JS with Svelte
Svelte blog
+CSS is a core part of any web app. By extension, a UI framework that doesn’t have a built-in way to add styles to your components is unfinished.That’s why Svelte allows you to add CSS in a component’s <style> tag. Co-locating your CSS with your markup means we can solve the biggest problems developers face when writing CSS without introducing new ones, all while providing a rather nice development experience.But Svelte’s style handling does have some limitations. It’s too difficult to share styles between components, or apply app-level optimisations. These are areas we plan to address in future versions, but in the meantime if you need those things you can use any framework-agnostic CSS-in-JS library.For exampleHere, we’re using Emotion to generate scoped class names that can be used across multiple components:It’s important to note that most CSS-in-JS libraries have a runtime library, and many don’t support statically extracting styles out into a separate .css file at build time (whic +
6年前
記事のアイキャッチ画像
Svelte v2 is out!
Svelte blog
+Our motto is 'move slowly and break things'. No, wait, that came out wrong...Almost a year after we first started talking about version 2 on the Svelte issue tracker, it’s finally time to make some breaking changes. This blog post will explain what changed, why it changed, and what you need to do to bring your apps up to date.tl;drEach of these items is described in more depth below. If you get stuck, ask for help in our friendly Discord chatroom.Install Svelte v2 from npmUpgrade your templates with svelte-upgradeRemove calls to component.observe, or add the observe method from svelte-extrasRewrite calls to component.get('foo') as component.get().fooReturn destroy from your custom event handlers, rather than teardownMake sure you’re not passing numeric string props to componentsNew template syntaxThe most visible change: we’ve made some improvements to the template syntax.A common piece of feedback we heard was ‘ewww, Mustache’ or ‘ewww, Handlebars’. A lot of people who used string-bas +
7年前
記事のアイキャッチ画像
Sapper: Towards the ideal web app framework
Svelte blog
+Quickstart for the impatient: the Sapper docs, and the starter templateIf you had to list the characteristics of the perfect Node.js web application framework, you’d probably come up with something like this:It should do server-side rendering, for fast initial loads and no caveats around SEOAs a corollary, your app’s codebase should be universal — write once for server and clientThe client-side app should hydrate the server-rendered HTML, attaching event listeners (and so on) to existing elements rather than re-rendering themNavigating to subsequent pages should be instantaneousOffline, and other Progressive Web App characteristics, must be supported out of the boxOnly the JavaScript and CSS required for the first page should load initially. That means the framework should do automatic code-splitting at the route level, and support dynamic import(...) for more granular manual controlNo compromise on performanceFirst-rate developer experience, with hot module reloading and all the trimm +
7年前
記事のアイキャッチ画像
The zen of Just Writing CSS
Svelte blog
+It’s fashionable to dislike CSS. There are lots of reasons why that’s the case, but it boils down to this: CSS is unpredictable. If you’ve never had the experience of tweaking a style rule and accidentally breaking some layout that you thought was completely unrelated — usually when you’re trying to ship — then you’re either new at this or you’re a much better programmer than the rest of us.So the JavaScript community rolled up its sleeves and got to work. Over the last couple of years, there’s been a Cambrian explosion of libraries aimed at making CSS behave, collectively referred to as CSS-in-JS.What you might not realise is that the biggest problems with CSS can be solved without CSS-in-JS. Without those problems, writing CSS isn’t just tolerable — it’s enjoyable. And you don’t have to find solutions to the additional problems that CSS-in-JS introduces.This article isn’t in any way intended as criticism of the hard work the CSS-in-JS community has done. It’s one of the most active c +
7年前
記事のアイキャッチ画像
Frameworks without the framework: why didn’t we think of this sooner?
Svelte blog
+Wait, this new framework has a runtime? Ugh. Thanks, I’ll pass.– front end developers in 2018We’re shipping too much code to our users. Like a lot of front end developers, I’ve been in denial about that fact, thinking that it was fine to serve 100kb of JavaScript on page load – just use one less .jpg! – and that what really mattered was performance once your app was already interactive.But I was wrong. 100kb of .js isn’t equivalent to 100kb of .jpg. It’s not just the network time that’ll kill your app’s startup performance, but the time spent parsing and evaluating your script, during which time the browser becomes completely unresponsive. On mobile, those milliseconds rack up very quickly.If you’re not convinced that this is a problem, follow Alex Russell on Twitter. Alex hasn’t been making many friends in the framework community lately, but he’s not wrong. But the proposed alternative to using frameworks like Angular, React and Ember – Polymer – hasn’t yet gained traction in the fron +
8年前
\ No newline at end of file diff --git a/blogs/ce6704239d5bbbea74845088aa7fda00/index.html b/blogs/ce6704239d5bbbea74845088aa7fda00/index.html new file mode 100644 index 000000000000..cbbbf19c3eb0 --- /dev/null +++ b/blogs/ce6704239d5bbbea74845088aa7fda00/index.html @@ -0,0 +1,22 @@ +Prettier Blogのフィード|JSer.info Watch List RSS

Prettier Blog

https://prettier.io/blog

Read blog posts about Prettier from the team

フィード

記事のアイキャッチ画像
Prettier 3.4: A lot of bug fixes
Prettier Blog
This release includes numerous bug fixes and other improvements.
2ヶ月前
記事のアイキャッチ画像
Prettier 3.3: New Flow features and a lot of bug fixes
Prettier Blog
+This release includes support for new Flow features such as component and hook declarations. All of these features were implemented by the engineers on the Flow team, thank you.
8ヶ月前
記事のアイキャッチ画像
Prettier 3.2: Support JSONC and Angular’s ICU expression
Prettier Blog
This release includes new features such as adding a JSONC parser, adding Angular’s ICU expressions, and many bug fixes.
1年前
記事のアイキャッチ画像
Prettier's CLI: A Performance Deep Dive
Prettier Blog
Hey, I'm Fabio and I've been contracted by the Prettier team to speed up Prettier's command line interface (CLI). In this post we'll take a look at the optimizations I've discovered, the process that lead to finding them, some exciting numbers comparing the current CLI with the new one, and some guesses about what could be optimized next.
1年前
記事のアイキャッチ画像
$20k Bounty was Claimed!
Prettier Blog
Prettier, a JavaScript code formatter, has seen an incredible adoption thanks to its careful handling of the very, very, long tail of ways people can write code. At this point, the formatting logic has been solid and after our work on ternaries lands, it will be in a happy state.
1年前
記事のアイキャッチ画像
Prettier 3.1: New experimental ternaries formatting and Angular control flow syntax!
Prettier Blog
This release adds indentation back to nested ternaries along with a new --experimental-ternaries flag to try a more novel "curious ternary" format that scales better to deeply nested conditionals. We are keen for your feedback on the experimental format before it rolls out as the default behavior later this year!
1年前
記事のアイキャッチ画像
A curious case of the ternaries
Prettier Blog
Ternary formatting has always been a challenge, and we're finally addressing it in v3.1.0 with the introduction of a novel formatting style.
1年前
記事のアイキャッチ画像
Prettier 3.0: Hello, ECMAScript Modules!
Prettier Blog
We are excited to announce the release of the new version of Prettier!
2年前
記事のアイキャッチ画像
Prettier 2.8: improve --cache CLI option and TypeScript 4.9 satisfies operator!
Prettier Blog
This release includes improvements to the --cache option added in 2.7. A new --cache-location option has been added, and a bug that saved the cache even when --write wasn't specified has been fixed.
2年前
記事のアイキャッチ画像
Prettier 2.7: new --cache CLI option and TypeScript 4.7 syntax!
Prettier Blog
This release includes a new --cache CLI option. Enabling this option will use some attributes as cache keys and format files only if they have changed. This could dramatically improve CLI performance.
3年前
記事のアイキャッチ画像
Prettier 2.6: new singleAttributePerLine option and new JavaScript features!
Prettier Blog
This release includes a new singleAttributePerLine option. This is an option to print only one attribute per line in Vue SFC templates, HTML, and JSX. Per our Option Philosophy, we would prefer not to add such an option. However, there are many users who want this feature, and major style guides like Airbnb’s JavaScript Style Guide and Vue’s style guide recommend the single attribute per line style. A PR to add this feature was opened in October 2019, and both it and the corresponding issue have received a significant amount of support from users. For us it was a hard decision to add this option. We hope the addition of this option will benefit many users without significantly harming our principles.
3年前 +
記事のアイキャッチ画像
Prettier begins paying maintainers
Prettier Blog
Prettier, an opinionated code formatter for JavaScript and many web languages, has been accepting donations at OpenCollective since 2019 and thanks to many generous donations we now have \$50,000 in the bank! As a result, we are now able to pay the two active maintainers \$1,500/month each. This funding will ensure that they will be able to continue consistent maintenance of Prettier into the future.
3年前
記事のアイキャッチ画像
Prettier 2.5: TypeScript 4.5 and MDX v2 comment syntax!
Prettier Blog
This release adds support for TypeScript 4.5's new syntax and MDX v2 comment syntax!
3年前
記事のアイキャッチ画像
Prettier 2.4: new bracketSameLine option and TypeScript 4.4 support!
Prettier Blog
This release renames the jsxBracketSameLine option to bracketSameLine, which supports HTML, Vue, and Angular in addition to JSX. The old name has been deprecated.
3年前
記事のアイキャッチ画像
Prettier 2.3. In which assignments are consistent, short keys non-breaking, and Handlebars official
Prettier Blog
+This release focuses on fixing long-standing issues in the JavaScript printer. Be warned that, unfortunately, reformatting a project with the new version might result in quite a big diff. If you don’t use ignoreRevsFile to hide such wholesale changes from git blame, it might be about time.
4年前
記事のアイキャッチ画像
Prettier for Ruby goes v1.0 🎉
Prettier Blog
+After 1500 commits and 50 releases since July 2018, we're happy to announce that we've just released v1.0 of Prettier for Ruby. In this blog post, we'd like to give a short overview of how the plugin works, its philosophy, and what to expect in the future.
4年前
記事のアイキャッチ画像
Prettier 2.2: new JavaScript parsers, TS 4.1 and ESM standalone bundles
Prettier Blog
+This release supports new JavaScript parsers espree and meriyah, supports TypeScript 4.1, ships ESM standalone bundles for modern browsers, and includes many bug fixes and improvements!
4年前
記事のアイキャッチ画像
Prettier 2.1: new --embedded-language-formatting option and new JavaScript/TypeScript features!
Prettier Blog
This release adds a new --embedded-language-formatting option, supports new JavaScript/TypeScript features, and includes many bug fixes and improvements!
4年前
記事のアイキャッチ画像
Prettier 2.0 “2020”
Prettier Blog
Better defaults, a better CLI and better heuristics. Oh, and TypeScript 3.8.
5年前
記事のアイキャッチ画像
+Prettier 1.19: Long awaited Vue option, TypeScript 3.7 and new JavaScript features
Prettier Blog
This release adds the long awaited --vue-indent-script-and-style option, support for TypeScript 3.7 and some cutting edge JavaScript syntax. Not to mention a whole bunch of bug fixes and improvements!
5年前
\ No newline at end of file diff --git a/blogs/d07e4c282ce273e69b3e832dd0479ee5/index.html b/blogs/d07e4c282ce273e69b3e832dd0479ee5/index.html new file mode 100644 index 000000000000..a9048c02256f --- /dev/null +++ b/blogs/d07e4c282ce273e69b3e832dd0479ee5/index.html @@ -0,0 +1,6 @@ +Kommentare zu: Home のフィード|JSer.info Watch List RSS

Kommentare zu: Home

https://www.angulararchitects.io/

Angular-Kurse mit Manfred Steyer und Team ⭐ in Deutschland, Österreich und der Schweiz ⭐ Deutsch und Englisch ⭐ Finden Sie alle Infos und Termine!

フィード

\ No newline at end of file diff --git a/blogs/d6246b58a28b3fa3990698438927bb90/index.html b/blogs/d6246b58a28b3fa3990698438927bb90/index.html new file mode 100644 index 000000000000..0247075eb4b1 --- /dev/null +++ b/blogs/d6246b58a28b3fa3990698438927bb90/index.html @@ -0,0 +1,13 @@ +Yarn Blogのフィード|JSer.info Watch List RSS

Yarn Blog

フィード

記事のアイキャッチ画像
Release: Yarn 4.0 🪄⚗️
Yarn Blog
Today is the day! After more than a year of work, our team is excited to finally put a fancy "stable" sticker on the first release from the 4.x release line! To celebrate, let's make together a tour of the major changes; should you look for a more itemized list, take a look at the changelog.
1年前
記事のアイキャッチ画像
A word about Bun 💬
Yarn Blog
+I'm sure many of you are curious about our position regarding Bun, the product from Oven, the company behind Bun (we're going in cycles). It's so fast, is there any merits to using Yarn?
1年前
記事のアイキャッチ画像
Release: Yarn 3.2 🚢🔮
Yarn Blog
Welcome to the release notes for Yarn 3.2! This release is a little smaller than the 3.0 and 3.1, as we've hold off on some changes in preparation for our next major ... but more on that later 😃
3年前
+
記事のアイキャッチ画像
Release: Yarn 3.1 🎃👻
Yarn Blog
Welcome to the release notes for Yarn 3.1! We're quite excited by this release, as it brings various improvements that we've all been looking forward to. Let's dig into that!
3年前
記事のアイキャッチ画像
Release: Yarn 3.0 🚀🤖
Yarn Blog
Hello! Long time no see! Back in December, we decided to start working on our next major release, the 3.0. It took a bit of time to do everything we intended to do, but here we are! So let's talk a bit about what it changes, and what it brings. Note that these are only the highlights, the full changelog is much more comprehensive.
4年前
記事のアイキャッチ画像
Release: Yarn 2.4 🎄🎁
+Yarn Blog
Hey everyone! It's this time of the year where everyone is slowly preparing for the holidays. This year will probably be slightly different, but I can't wait to at least take a well deserved time off. But before that, let's talk about our next minor Yarn release, and a little bit about the next-next release: Yarn 3!
4年前
記事のアイキャッチ画像
Release: Yarn 2.3 🍦✨
Yarn Blog
+Howdy! Another big month just went by, 2020 confirming being a very weird year for everyone. I hope things will be ok for you, wherever you are.
4年前
記事のアイキャッチ画像
Release: Yarn 2.2 🚅🌟
Yarn Blog
I hope you enjoyed the summer! As for us, we've been hard at work, and this update comes with its good chunk of improvements in various aspects. As usual we keep a detailed list in our repository, but let's go over the highlights!
4年前
記事のアイキャッチ画像
Release: Yarn 2.1 🐱‍🏍
Yarn Blog
How are you doing since January? So many things happened since then. I hope you're all safe, wherever you are.
5年前
記事のアイキャッチ画像
Release: Yarn 2.0 🧶🌟
Yarn Blog
Hi everyone! After exactly 365 days of very intensive development, I'm extremely happy to unveil the first stable release of Yarn 2. In this post I will explain what this release will mean for our community. Buckle up!
5年前
\ No newline at end of file diff --git a/blogs/d6c750c71196c93e673bb52114ff4e2c/index.html b/blogs/d6c750c71196c93e673bb52114ff4e2c/index.html new file mode 100644 index 000000000000..d791f7f09dc6 --- /dev/null +++ b/blogs/d6c750c71196c93e673bb52114ff4e2c/index.html @@ -0,0 +1,13 @@ +Human Who Codesのフィード|JSer.info Watch List RSS

Human Who Codes

https://humanwhocodes.com

The Official Web Site of Nicholas C. Zakas

フィード

記事のアイキャッチ画像
Introducing Mentoss: The fetch mocker
はてなブックマークアイコン 1
Human Who Codes
A new approach to mocking global fetch() calls that works in both browsers and server-side runtimes.
12日前
記事のアイキャッチ画像
Present technical information using a storytelling framework
Human Who Codes
Streamline presentations to stakeholders using a storytelling approach.
5ヶ月前
記事のアイキャッチ画像
+How someone temporarily took over my subdomain
Human Who Codes
How an old DNS record set up my subdomain to be occupied by someone else.
9ヶ月前
記事のアイキャッチ画像
Backing up my life with a Synology NAS
Human Who Codes
Data in a public cloud is out of your control, that's why I decided to create my own private cloud in my office.
10ヶ月前
記事のアイキャッチ画像
Managing your to-do-list as a staff+ engineer
Human Who Codes
With great agency comes responsibility – to yourself. Learn how to triage your projects and tasks into a structured to-do list.
10ヶ月前
記事のアイキャッチ画像
What's the difference between JavaScript engines and JavaScript runtimes?
Human Who Codes
Runtimes and engines are often incorrectly referred to as the same thing.
10ヶ月前
記事のアイキャッチ画像
+Introducing humanfs (formerly fsx): A modern filesystem API for JavaScript
Human Who Codes
Filesystem APIs in JavaScript runtimes haven't been great for a long time. This is my attempt to make a better one.
1年前
記事のアイキャッチ画像
JavaScript WTF: Why does every() return true for empty arrays?
Human Who Codes
+How can a condition be satisified when there aren't any values to test?
1年前
記事のアイキャッチ画像
Managing your interrupt rate as a tech lead, part 3: Office hours and appointment blocks
Human Who Codes
You can more easily eliminate interruptions when you create a specific time for them.
2年前
記事のアイキャッチ画像
Managing your interrupt rate as a tech lead, part 2: Time blocking
Human Who Codes
Your calendar is a place where you should be in control and not be at the whims of others who send you invites.
2年前
\ No newline at end of file diff --git a/blogs/d7554e556d89e027d0fe55ab5bfb61b0/index.html b/blogs/d7554e556d89e027d0fe55ab5bfb61b0/index.html new file mode 100644 index 000000000000..9b7f79f3814a --- /dev/null +++ b/blogs/d7554e556d89e027d0fe55ab5bfb61b0/index.html @@ -0,0 +1,150 @@ +Playful Programming&#39;s Atom Feedのフィード|JSer.info Watch List RSS

Playful Programming's Atom Feed

https://playfulprogramming.com

Learning programming from magically majestic words. A place to learn about all sorts of programming topics from entry-level concepts to advanced abstractions

フィード

記事のアイキャッチ画像
Is AI Stealing from You?
Playful Programming's Atom Feed
Artificial intelligence has access to information available on the internet, including people's work.
3日前
+
記事のアイキャッチ画像
Announcing Playful Programming's Non-Profit Status
Playful Programming's Atom Feed
+Playful Programming is becoming a formal non-profit! Let's talk about the who, the what, and the why behind the decision.
12日前
記事のアイキャッチ画像
Intro to VeeValidate
Playful Programming's Atom Feed
Learn how to simplify form validation in Vue.js with this powerful library, featuring seamless integration and customizable rules.
15日前
記事のアイキャッチ画像
Intro to Formik
Playful Programming's Atom Feed
Learn how to streamline form handling in React with this popular library, featuring easy validation, state management, and submission handling.
17日前
記事のアイキャッチ画像
Intro to Angular Forms
Playful Programming's Atom Feed
Learn the basics of Angular Forms! Explore different approaches to build dynamic, user-friendly forms with ease.
18日前
記事のアイキャッチ画像
Mastering Angular Unit Testing: Best Practices and Tools
Playful Programming's Atom Feed
+In this article, I’ll share the insights and experiences I’ve gained over the years with unit testing in Angular, along with the best practices I’ve adopted along the way.
1ヶ月前
記事のアイキャッチ画像
Angular Pipes: A Complete Guide
Playful Programming's Atom Feed
Angular Pipes are a core part of the framework. They allow you to derive state via a function called in the template. How does this work? Let's dive in!
1ヶ月前
記事のアイキャッチ画像
Framework Comparison Table
Playful Programming's Atom Feed
Let's compare and contrast React, Angular, and Vue's APIs all in one place.
1ヶ月前
記事のアイキャッチ画像
Accessing Children
Playful Programming's Atom Feed
Oftentimes, when passing children to a component, you want a way to programmatically access that passed data. Let's learn how to do that in React, Angular, and Vue.
1ヶ月前
記事のアイキャッチ画像
Directives
+Playful Programming's Atom Feed
If components are a way to share JS logic between multiple, composable DOM nodes; directives are a way to assign logic to any single DOM node.
1ヶ月前
記事のアイキャッチ画像
Shared Component Logic
Playful Programming's Atom Feed
+Components provide a great way to share layout, styling, and logic between multiple parts of your app. But what about times you only need to share logic in React, Angular, and Vue?
1ヶ月前
記事のアイキャッチ画像
Portals
Playful Programming's Atom Feed
When building an app in React, Angular, or Vue, you'll often find that overlapping components can become a real problem. Rendering order can be confusing; let's fix that with portals.
1ヶ月前
記事のアイキャッチ画像
Dependency Injection
Playful Programming's Atom Feed
Passing around props suck. They're repetitive, get out of sync, and are easy to forget to pass. What if there was a better way to pass data between different parts of your app?
1ヶ月前
記事のアイキャッチ画像
Error Handling
Playful Programming's Atom Feed
Bug are a constant in development. How can we make error handling lead to a nicer user experience when they occur in React, Angular, and Vue?
1ヶ月前
記事のアイキャッチ画像
Component Reference
Playful Programming's Atom Feed
While you usually want to pass data to child components, sometimes you need to access arbitrary data from the child without needing to explicitly pass the data.
1ヶ月前
記事のアイキャッチ画像
Element Reference
Playful Programming's Atom Feed
+React, Angular, and Vue provide powerful APIs that let you avoid DOM manipulations most of the time. But sometimes you need to access the underlying DOM. Here's how.
1ヶ月前
記事のアイキャッチ画像
Passing Children
Playful Programming's Atom Feed
Just like HTML nodes have parents and children, so too do framework components. Let's learn how React, Angular, and Vue allow you to pass children to your components.
1ヶ月前
記事のアイキャッチ画像
Transparent Elements
Playful Programming's Atom Feed
There are specific instances where you may want to have a wrapper element in a framework that renders to nothing in the DOM. This is how.
1ヶ月前
記事のアイキャッチ画像
Derived Values
Playful Programming's Atom Feed
Often in application development, you'll want to base one variable's value off of another. There are a few ways of doing this - some easier than others.
1ヶ月前
記事のアイキャッチ画像
Side Effects
Playful Programming's Atom Feed
Some call them "lifecycle methods", others "effect handlers". However you spin it, they both handle side effects in your apps. How can we leverage them better?
1ヶ月前
記事のアイキャッチ画像
Dynamic HTML
Playful Programming's Atom Feed
+One of the primary advantages of using a framework is the ability to quickly generate dynamic HTML from JavaScript logic. Let's walk through some examples.
1ヶ月前
記事のアイキャッチ画像
Introduction to Components
Playful Programming's Atom Feed
Components are the core building block in which all applications written with React, Angular, and Vue are built. Let's explore what they are and how to build them.
1ヶ月前
記事のアイキャッチ画像
Preface
Playful Programming's Atom Feed
Learning web development is a vital skill in a software engineer's toolbox. Let's talk about why you should learn it and what this book will cover.
1ヶ月前
記事のアイキャッチ画像
Writing Modern JavaScript without a Bundler
Playful Programming's Atom Feed
Let's explore how we can build a website using many of the conveniences of a Vite app while remaining buildless.
2ヶ月前
記事のアイキャッチ画像
UUIDv6, UUIDv7, and UUIDv8; what are they?
Playful Programming's Atom Feed
There's new UUIDs on the block! Let's explore what's new with UUIDv6, v7, and v8.
3ヶ月前
記事のアイキャッチ画像
Angular 19: linkedSignal & Resource API
Playful Programming's Atom Feed
Let's learn about Angular19's linkedSignal & Resource APIs!
3ヶ月前
記事のアイキャッチ画像
Angular Internals: Lifecycle Methods and Effect Timings
Playful Programming's Atom Feed
Let's dive into the timings for Angular's lifecycle methods and effect APIs. We'll even be reading a fair amount of Angular source code to explain it all.
3ヶ月前
記事のアイキャッチ画像
Quick Guide to Building a PWA with Next.js
Playful Programming's Atom Feed
Learn how to turn your Next.js app into a Progressive Web App (PWA).
3ヶ月前
記事のアイキャッチ画像
Web Fundamentals: Manipulating the DOM with JavaScript
Playful Programming's Atom Feed
The ninth chapter of this series finally goes over the DOM, how to manipulate it, and how to make our components interactive!
3ヶ月前
記事のアイキャッチ画像
Web Fundamentals: JavaScript Basics
Playful Programming's Atom Feed
The seventh chapter of this series contains the first look into JavaScript and its basic components.
3ヶ月前
記事のアイキャッチ画像
Web Fundamentals: Responsive Design
Playful Programming's Atom Feed
The sixth chapter tackles responsive design, breakpoints, media queries and more!
3ヶ月前
記事のアイキャッチ画像
Web Fundamentals: CSS - Inheritance & Hierarchy
Playful Programming's Atom Feed
The third chapter of our series talks about the cascade hierarchy in CSS, including inheritance and specificity.
3ヶ月前
記事のアイキャッチ画像
How does Zoneless Angular Work?
Playful Programming's Atom Feed
In the future Angular will not have Zone.js enabled by default and will not need it for change detection. But how will that work in a technical sense?
3ヶ月前
記事のアイキャッチ画像
How we built our custom semantic search page
Playful Programming's Atom Feed
Let's learn how we managed to improve our search experience using semantic search, powered by Orama.
3ヶ月前
+記事のアイキャッチ画像
A forgotten C++ idiom revisited: pass-key
Playful Programming's Atom Feed
So you have a class, and you want to control who can create instancesof it? Easy, make constructors private, and make friends with thosewho can c...
3ヶ月前
記事のアイキャッチ画像 +
What are Signals?
Playful Programming's Atom Feed
Signals are seemingly everywhere today. So here's the question? What are they? Let's build an implementation ourselves to understand them better.
3ヶ月前
記事のアイキャッチ画像
Web Fundamentals: Grid
Playful Programming's Atom Feed
In the fifth chapter of our series, we're going to be introduced to CSS grid, a well-known feature to display content, and used in almost every website you visit.
5ヶ月前
記事のアイキャッチ画像
Web Fundamentals: Flexbox
Playful Programming's Atom Feed
In the fourth chapter of our series, we'll look at flexbox, a powerful layout feature that allows you to create responsive designs with ease.
5ヶ月前
記事のアイキャッチ画像
Web Fundamentals: CSS - The Basics
Playful Programming's Atom Feed
The second chapter in our front-end series. Let's delve right into the world of CSS, variables and selectors.
5ヶ月前
記事のアイキャッチ画像
Web Fundamentals: HTML
Playful Programming's Atom Feed
The first chapter of this series offers an introductory dive into the box model, HTML defaults and semantic elements.
5ヶ月前
記事のアイキャッチ画像
Entity Component System: The Perfect Solution to Reusable Code?
+Playful Programming's Atom Feed
The ECS pattern is used by many game engines to create stateless, reusable game logic. But how does it work?
5ヶ月前
記事のアイキャッチ画像
Where should you start building your application
Playful Programming's Atom Feed
Talking about where you should start building your full stack application
+5ヶ月前
記事のアイキャッチ画像
Why is CSS-in-JS slow?
Playful Programming's Atom Feed
If you've worked with frameworks like React, Angular, or Vue in the past you'll likely have used (or heard of) a CSS-in-JS solution like Styled Com...
5ヶ月前
記事のアイキャッチ画像
It's Time For A Change: Rebranding Our Platform
Playful Programming's Atom Feed
"Unicorn Utterances" is now "Playful Programming". Let's talk about why, what's different, what's the same, and what's next.
6ヶ月前
記事のアイキャッチ画像
+A Complete History of Unicorn Utterances
Playful Programming's Atom Feed
Now that "Unicorn Utterances" is called "Playful Programming", let's look at the history of the project.
6ヶ月前
記事のアイキャッチ画像
Set up a React Native Web Project in a Monorepo
Playful Programming's Atom Feed
+Setting up a React Native Web project in a monorepo is challenging. Let's do so and see what challenges we run into!
9ヶ月前
記事のアイキャッチ画像
Explaining Promises, Async, and Await in JavaScript
Playful Programming's Atom Feed
Modern JavaScript is built on promises and callbacks. Let's learn what promises are and how we can make their usage easier using async functions.
1年前
記事のアイキャッチ画像
Embedding Interfaces in Go
Playful Programming's Atom Feed
Creating tests can feel tedious, but doing it in Go can be, dare I say, *fun*. Let's take a look at how embedding interfaces clears some of that tedium for us.
1年前
記事のアイキャッチ画像
Build a Vite 5 Backend Integration with Flask
Playful Programming's Atom Feed
Learn how to build a lightweight backend Vite integration using a Flask Blueprint in ~50 lines of code.
1年前
記事のアイキャッチ画像
+Move manifest.json to the Output Directory's Parent in Vite 5
Playful Programming's Atom Feed
Move Vite's manifest.json file outside of the build directory.
1年前
記事のアイキャッチ画像
Fuzzing an API with libfuzzer
Playful Programming's Atom Feed
+[Edit] I was just told that libFuzzer is deprecated. I think the ideas presented are valid for any fuzzer, but thedetails will differ. When I ment...
1年前
記事のアイキャッチ画像
Web Framework Quickstart Guide
Playful Programming's Atom Feed
Here's the quickest ways you can get up-and-running with templates for React, Angular, and Vue; using official tools.
1年前
記事のアイキャッチ画像
Astro Healthcheck
Playful Programming's Atom Feed
Monitoring Your Blog for Issues
1年前
記事のアイキャッチ画像
Angular Dynamic host Property Usage
Playful Programming's Atom Feed
In directives and components alike, it can be a pain to add attributes and bindings to the host element. Instead of using DI to change the host, try this instead.
1年前
記事のアイキャッチ画像
Angular's Templates Don't Work the Way You Think They Do
+Playful Programming's Atom Feed
Angular templates are mission-critial for components. But how do they work? Using a compiler, yes, but how do they bind to the DOM itself? Read on to find out.
1年前
記事のアイキャッチ画像
What is React's useActionState and useFormStatus?
Playful Programming's Atom Feed
+React Server Actions are an awesome way to pass data to and from your React client and server. Like all functions, they need a way to return data.
1年前
記事のアイキャッチ画像
What are React Server Actions?
Playful Programming's Atom Feed
While React Suspense APIs enable you to load data asynchronously from the server, Server Actions allow you to send data to the server from the client.
1年前
+
記事のアイキャッチ画像
About time - how to unit test code that depends on time
Playful Programming's Atom Feed
Suppose that the logic of your program depends on time. That is, you need to keep track of when something in the pasthappened, and what time it is...
1年前
記事のアイキャッチ画像
What is React Suspense and Async Rendering?
Playful Programming's Atom Feed
Handling async code in React code has historically been fairly challenging to get right. Let's see how React's official solutions for promises stack up!
1年前
記事のアイキャッチ画像
+Explaining React's cache Function
Playful Programming's Atom Feed
React's dipping its toes into data fetching! With this comes a big requirement to cache the results of a given function. Luckily, React's done that. Let's see how.
1年前
記事のアイキャッチ画像
What are React Server Components (RSCs)?
Playful Programming's Atom Feed
+React Server Components have been a topic of regular discussion in the WebDev space as-of late. What are they? How do they improve the SSR story for React? Let's take a look.
1年前
記事のアイキャッチ画像
What is Reconciliation and the Virtual DOM (VDOM)?
Playful Programming's Atom Feed
How does React handle update the DOM? The answer? "The Virtual DOM and reconciliation." Let's explore what these are and how you can leverage them the best. +
1年前
記事のアイキャッチ画像
What is Reactivity?
Playful Programming's Atom Feed
When researching frontend frameworks, you're likely to hear about "reactivity". But what is it? Why does it matter? Let's explore this and more in this article.
1年前
記事のアイキャッチ画像
When private member function?
Playful Programming's Atom Feed
I've seen this a few times too many recently, and need to get it off my chest. Ponder a class that has a private member function. The function does...
1年前
記事のアイキャッチ画像
Figma to Compose: Line Height & Baseline Grids
Playful Programming's Atom Feed
A detailed guide on how to make text in Jetpack Compose match your mockups, and why baseline grids are not all that they're hyped up to be.
1年前
記事のアイキャッチ画像
How to Build Original Projects
Playful Programming's Atom Feed
+People often say that you should build your own projects to grow as a developer, without explaining how. Let's learn how to actually plan and build your own custom projects.
1年前
記事のアイキャッチ画像
Discovering Odd Behavior with Angular Error Handling
Playful Programming's Atom Feed
Angular has fairly consistent error handling behavior... Until it doesn't. Here's one place where it's off and why.
1年前
記事のアイキャッチ画像
Introduction to Hash Tables
Playful Programming's Atom Feed
A high-level overview of how hash tables work behind the scenes.
2年前
記事のアイキャッチ画像
Porting a Next.js Site to Astro Step-by-Step
Playful Programming's Atom Feed
Let's port a site from Next.js to Astro, expanding on the official migration guide.
2年前
記事のアイキャッチ画像
Using JavaScript classes without the `class` keyword
Playful Programming's Atom Feed
+Classes are a core feature of JavaScript - but they weren't always that way. How did earlier JS devs write classes? Let's learn how together.
2年前
記事のアイキャッチ画像
How to Setup a React Native Monorepo
Playful Programming's Atom Feed
React Native can be challenging to setup a monorepo for. Let's explore what an optimal monorepo setup looks like for it.
2年前
記事のアイキャッチ画像
Unraveling the Magic of the Virtual DOM
Playful Programming's Atom Feed
The VDOM is the secret sauce that empowers developers to create the captivating, dynamic web applications that we use every day.
2年前
記事のアイキャッチ画像
A Crash Course to Two-Factor Authentication
Playful Programming's Atom Feed
Two-Factor Authentication is a security feature that adds an extra layer of protection to your online accounts.
2年前
記事のアイキャッチ画像
Advice for New Twitch Streamers
Playful Programming's Atom Feed
Twitch streaming can be fun and fulfilling, but has various roadblocks in the way for newcomers. Here's how you can overcome them and grow your Twitch channel.
2年前
記事のアイキャッチ画像
What is Object Mutation in JavaScript?
Playful Programming's Atom Feed
+When working with objects, you may hear the term "mutation". What is that? How does it work? How do let and const REALLY differ from each other? This and more:
2年前
記事のアイキャッチ画像
Mastering JavaScript's `this` keyword using `bind`
Playful Programming's Atom Feed
JavaScript's `this` keyword is imperative when dealing with classes in JavaScript, but can introduce some headaches. Let's solve that using the `bind` method
2年前
記事のアイキャッチ画像
Deep Dive: Writing a Twitch Chat Bot in Bash
Playful Programming's Atom Feed
bash? You mean the terminal where I do my git commands?
2年前
記事のアイキャッチ画像
Functions Are Killing Your React App's Performance
Playful Programming's Atom Feed
If you've ever built a production React application, you've likely ran into various performance problems along the way. Here are the most common and how to fix them.
2年前
記事のアイキャッチ画像
+Formik Works Great; Here's Why I Wrote My Own
Playful Programming's Atom Feed
Formik works incredibly, but I have some concerns with it. As a result, I ended up writing my own library called "HouseForm" to compete. Here's why.
2年前
記事のアイキャッチ画像
Creating project templates for Android Studio
Playful Programming's Atom Feed
+Showing how we can build a Android Studio plugin to provide our own project templates in the Android Studio new project wizard
2年前
記事のアイキャッチ画像
Async pipe is not pure 🤯
Playful Programming's Atom Feed
Learn how angular's async pipe is not pure and how that's not a problem, by building async pipe from scratch.
2年前
記事のアイキャッチ画像
What Happened to UUIDv2?
Playful Programming's Atom Feed
You may have heard that "UUIDv2 is bad". Maybe you've never even heard of them and thought UUIDs went from v1 to v3. Why is that? What did UUIDv2 do wrong?
2年前
記事のアイキャッチ画像
What are UUIDs?
Playful Programming's Atom Feed
When discussing ID generation in software, you may have heard of a UUID. What are they? Are they useful? What are the different versions? Let's explore that.
2年前
記事のアイキャッチ画像
A Linux C++ programmers adventure in improving Windows CI on GitHub actions
+Playful Programming's Atom Feed
TL;DR; Ninja is available directly in the windows images Use to set up the MSVC environment for buildingwith Ninja. You need nested quotes for CX...
2年前
記事のアイキャッチ画像
Fun with Types
Playful Programming's Atom Feed
Making hilarious things with no emitted code.
2年前
記事のアイキャッチ画像
Angular Internals: How Reactivity Works with Zone.js
Playful Programming's Atom Feed
Reactivity is core to JavaScript frameworks; changing data should cause a re-render. How does this work in Angular? Let's dive into the Angular source code to see.
2年前
記事のアイキャッチ画像
Why is z-index not working?! - Explaining CSS Stacking Context
Playful Programming's Atom Feed
z-index is a CSS property that helps control the z-axis height of an element, but it often doesn't seem to work. Why is that? How does it REALLY work?
2年前
記事のアイキャッチ画像
How to Share Lifecycle Methods Between Components in Angular
Playful Programming's Atom Feed
Sharing code between components in Angular is TOUGH. Here's one way you can do so by utilizing base components that you extend - and why you shouldn't use them.
2年前
記事のアイキャッチ画像
Minecraft Data Pack Programming: Scoreboard Usage
Playful Programming's Atom Feed
+Learn data pack development in Minecraft - using player scoreboards, variables, and operations!
2年前
記事のアイキャッチ画像
Vue Composition API Inspector
Playful Programming's Atom Feed
A peek under the hood of Vue compilation. See how Vue interpretes TypeScript
3年前
記事のアイキャッチ画像
JavaScript Fundamentals: Functions Are Values
Playful Programming's Atom Feed
JavaScript functions are widely used in web development... but do you KNOW them? Let's explore the fundamentals and how they can be used in unorthodox ways
3年前
記事のアイキャッチ画像
+Python None
Playful Programming's Atom Feed
Interpreted languages have various footguns. Let's explore one such footgun I ran into recently with Python and how I fixed it.
3年前
記事のアイキャッチ画像
Project Management for Individuals
Playful Programming's Atom Feed
+Having the ability to structure your projects (and these don't exclusively have to be programming related) gives you a massive advantage when it comes to being organised, and keeping your life organised.
3年前
記事のアイキャッチ画像
How to ask better questions
Playful Programming's Atom Feed
We all ask questions from time to time, so here are some of my favourite tips when it comes to how to improve the quality of your questions.
3年前
記事のアイキャッチ画像
Mutable vs Immutable Data Types
Playful Programming's Atom Feed
Using mutable data types can be dangerous in multi-threaded applications. To help that we can make sure of thread safer immutable data types
3年前
記事のアイキャッチ画像
What is Primitive obsession and how to fix it
Playful Programming's Atom Feed
Primitive obsession is an extremely common code smell, and when identified and fix, it greatly helps to reduce the amount of bugs that you may find in your code.
3年前
記事のアイキャッチ画像
+When to use HashMap instead of Loop
Playful Programming's Atom Feed
Learn to use when to use HashMap instead of Loop
3年前
記事のアイキャッチ画像
Minecraft Data Pack Programming: Command Syntax
Playful Programming's Atom Feed
Learn the beginnings of data pack development in Minecraft - using positions, entity selectors, and conditional logic in commands!
3年前
記事のアイキャッチ画像
Minecraft Data Pack Programming: Introduction
Playful Programming's Atom Feed
Learn the beginnings of data pack development in Minecraft - using commands and functions to add custom behavior from scratch!
3年前
記事のアイキャッチ画像
A Guide to Python's Secret Superpower: Magic Methods
Playful Programming's Atom Feed
Python has a secret superpower with a similarly stupendous name: Magic Methods. These methods can fundamentally change the way you code with Python...
3年前
記事のアイキャッチ画像
Why I prefer Vue over Angular: DOM Pollution
Playful Programming's Atom Feed
Angular differs from Vue in some keys ways, including its "Incremental rendering". This shift introduces something I call "DOM Pollution"; its why I prefer Vue over Angular.
3年前
記事のアイキャッチ画像
Windows Subsystem for Linux
+Playful Programming's Atom Feed
Utilize the best of both worlds — Windows and Linux — without having to dual boot. Windows Subset for Linux (WSL) lets you run software designed for Linux in Windows.
3年前
記事のアイキャッチ画像
The Complete Guide to Regular Expressions (Regex)
Playful Programming's Atom Feed
+A Regular Expression – or regex for short – is a syntax that allows you to match strings with specific patterns. Think of it as a suped-up text search
3年前
記事のアイキャッチ画像
Rules of React's useEffect
Playful Programming's Atom Feed
useEffect is prolific in React apps. Here are four rules associated with the hook and in-depth explanations of why they're important.
3年前
記事のアイキャッチ画像
Doomsday Rule
Playful Programming's Atom Feed
In this blog I talk about the Doomsday Rule, how it works, how to put it into code then how to make a program that tests you.
3年前
記事のアイキャッチ画像
Why React 18 Broke Your App
Playful Programming's Atom Feed
React 18's internal changes improved a lot, but may have broken your app in the process. Here's why and how you can fix it
3年前
記事のアイキャッチ画像
A Better Way To Code: Documentation Driven Development
Playful Programming's Atom Feed
+Test Driven Development is often taught to improve a your workflow; I present Documentation Driven Development as an alternative approach.
3年前
記事のアイキャッチ画像
How to get started with .NET
Playful Programming's Atom Feed
Did you know that 35% of developers are using .NET? This is a great article to read to get started with .NET.
3年前
記事のアイキャッチ画像
How to Upgrade to React 18
Playful Programming's Atom Feed
React 18 introduces some awesome features that I'm sure you can't wait to try! Here's how you can get started with React 18 today!
3年前
記事のアイキャッチ画像
+Web Components 101: History
Playful Programming's Atom Feed
Web components have had a long history to get where they are today. Let's look back to see where they came from & their immense growth!
3年前
記事のアイキャッチ画像
Web Components 101: Framework Comparison
Playful Programming's Atom Feed +
While web components can be used standalone, they're paired best with a framework. With that in mind, which is the best and why?
3年前
記事のアイキャッチ画像
Docs, Where Can We Do Better?
Playful Programming's Atom Feed
My personal approach to writing docs, mainly aimed at frameworks and the like.
3年前
記事のアイキャッチ画像
Web Components 101: Lit Framework
Playful Programming's Atom Feed
Google pushed for web components, sure, but they didn't stop there. They also went on to make an amazing framework to help build them: Lit!
3年前
記事のアイキャッチ画像
GitHub Copilot is Amazing - It Won't Replace Developers
Playful Programming's Atom Feed
GitHub Copilot is an amazing tool that I think will drastically improve the way that I code. But it won't replace me. Here's why.
3年前
記事のアイキャッチ画像
GitHub Copilot Breaks Bad Interviews
Playful Programming's Atom Feed
GitHub Copilot is a huge step forward for tech. Luckily, it improves our lives. Unfortunately, it will break your interviews. Here's why.
4年前
記事のアイキャッチ画像
Web Components 101: Vanilla JS
Playful Programming's Atom Feed
+One of the ways web components differs from a framework is that it works right in the browser. Here's how to build them from scratch.
4年前
記事のアイキャッチ画像
Introduction to Web Accessibility (A11Y)
Playful Programming's Atom Feed
Accessibility allows as many people to use your product as possible. That, in turn, generates more profit. Here's how to improve it on web.
4年前
記事のアイキャッチ画像
How to Interview Frontend Engineers
Playful Programming's Atom Feed
Interviewing for frontend engineering positions can be difficult. Let's walk through some things you should focus on while interviewing.
4年前
記事のアイキャッチ画像
Python List Comprehension - The Comprehensive Guide
Playful Programming's Atom Feed
Python is a language with broad and powerful APIs. One such API is 'List Comprehensions'. Let's learn to use them to improve your code!
4年前
記事のアイキャッチ画像
+My Advice to Technical Interviewers
Playful Programming's Atom Feed
Interviewing candidates is tough. It just is. Here are just a few of my tips to make your tech recruiting go smoother.
4年前
記事のアイキャッチ画像
Master React Unidirectional Data Flow
Playful Programming's Atom Feed
+Making sure your app's code is structured well is critical. Mastering React Unidirectionality is a huge part of that. Learn how to here.
4年前
記事のアイキャッチ画像
Rust Enums, Matching, & Options API
Playful Programming's Atom Feed
Rust allows you to build super-fast and flexible applications. Let's build one leveraging enums, pattern matching, and the Options API.
4年前
+
記事のアイキャッチ画像
WebDev 101: How to use npm and Yarn
Playful Programming's Atom Feed
You've heard a lot about Node, NPM, and Yarn - but aren't sure what they are. Let's introduce them in-depth and answer questions about them!
4年前
記事のアイキャッチ画像 +
Living off the iPad as an Engineer
Playful Programming's Atom Feed
Tips on how to get yourself a proper development environment on the iPad to fully exploit its potential.
4年前
記事のアイキャッチ画像
The accidentally sliced CRTP base
Playful Programming's Atom Feed
+
Some time ago, I received a bug report that, in short, said "your class does not work with CRTP". I was very confused bythis statement. First a sh...
4年前
記事のアイキャッチ画像
React Refs: The Complete Story
Playful Programming's Atom Feed
React Refs are an immensely powerful, yet often misunderstood API. Let's learn what they're capable of, and how they're usually misused.
4年前
記事のアイキャッチ画像
Package Font Files on NPM for Angular Usage
Playful Programming's Atom Feed
Do you use custom fonts that you want to share with multiple apps? Learn how to distribute those fonts on NPM and consume them in Angular!
4年前
記事のアイキャッチ画像
Adding Cathage Dependencies into React Native
Playful Programming's Atom Feed
CocoaPods is a great dependency manager, but some need Carthage still. Let's walk through how to integrate Carthage with React Native!
4年前
記事のアイキャッチ画像
How Computers Speak: Assembly to AST +
Playful Programming's Atom Feed
Have you wondered how programming languages are able to be ran on your hardware? This article explains how your code is processed and ran
4年前
記事のアイキャッチ画像
What do file extensions do?
Playful Programming's Atom Feed
A file extension isn't the only way a file is inditified, so what does it do?
5年前
記事のアイキャッチ画像
Autogenerate Changelogs and Manage Releases using Conventional Commit
Playful Programming's Atom Feed
Whether creating changelogs or just keeping track of git tags, releases matter. Learn how to automate your release process with conventional-commits!
5年前
記事のアイキャッチ画像
Better Angular Form Components with ngModel and formControl Implementation
Playful Programming's Atom Feed
Some components make controlling their state easier with 'formControl' and 'ngModel'. Let's see how we can build our own!
5年前
記事のアイキャッチ画像
Pointers and References in C/C++
Playful Programming's Atom Feed
An overview of how pointers and references function in C/C++
5年前
記事のアイキャッチ画像
Write Simpler Tests - 5 Suggestions for Better Tests
Playful Programming's Atom Feed
+Writing tests is a big skill for any engineer, but we often over-complicate them. Let's simplify our tests for better testing overall!
5年前
記事のアイキャッチ画像
Virtual Memory Overview
Playful Programming's Atom Feed
An overview of how operating systems give processes their own address space.
5年前
記事のアイキャッチ画像
Writing better tests for Angular with Angular Testing Library
Playful Programming's Atom Feed
A simple explination of writing better tests for Angular applications and setting up Angular Testing Library
5年前
記事のアイキャッチ画像
Setup Android Studio Emulator for AMD Ryzen CPUs
Playful Programming's Atom Feed
While the Android Emulator isn't confined to Intel CPUs anymore, it can be tricky to setup for AMD Ryzen CPUs. Let's explain how to do so.
5年前
記事のアイキャッチ画像
Chess Knight Problem: a quick and dirty solution in JavaScript
+Playful Programming's Atom Feed
I present a quick and dirty solution to a common interview question where the solution is not nearly as complex as it may first appear.
5年前
記事のアイキャッチ画像
Keeping API Keys Secret in React Apps
Playful Programming's Atom Feed
Save yourself money by hiding your API keys from prying eyes and nasty bots.
5年前 +
記事のアイキャッチ画像
Draw under the Android NavBar Using React Native
Playful Programming's Atom Feed
Android allows you to draw content under the navigation bar. It's a neat effect! Let's add that to our React Native apps.
5年前
記事のアイキャッチ画像
Data Storage Options for React Native
Playful Programming's Atom Feed
React Native contains multiple different ways you can persist data for your application. Let's look at the choices and their pros and cons.
5年前
記事のアイキャッチ画像
The Ultimate Windows Development Environment Guide
Playful Programming's Atom Feed
Many developers like MacOS or Linux for development environments, but don't know that Windows has plenty to offer. Become a Windows pro!
5年前
記事のアイキャッチ画像
Networking 101: UDP & TCP
Playful Programming's Atom Feed
If networking is analogous to physical mail, then let's take a look at the letters being sent themselves. Let's dive into UDP and TCP
5年前
記事のアイキャッチ画像
What is Server Side Rendering (SSR) and Static Site Generation (SSG)?
Playful Programming's Atom Feed
An explanation of what server-side rendering is, what static site generation is, and how you can utilize them in React, Angular, or Vue!
5年前
記事のアイキャッチ画像
Building an Angular Blog With Scully
Playful Programming's Atom Feed
NuxtJS and Gatsby allow you to make SSG-enabled blogs, but Angular doesn't have an equivalent... Until now. Let's build a blog with Scully!
5年前
記事のアイキャッチ画像
Networking 101: A Basic Overview of Packets and OSI
Playful Programming's Atom Feed
You use networking every day - even to read this! Let's dive into explaining how we send data across a network and what the OSI model is.
5年前
記事のアイキャッチ画像
How to Pick Tech Stacks For New Projects
Playful Programming's Atom Feed
I often get asked "How do you pick a tech stack for your projects?". The answer is: outline what questions you should be asking early on.
5年前
記事のアイキャッチ画像
Making a Slack Bot using NodeJS and MongoDB
Playful Programming's Atom Feed +
Join us as we teach you how to create a Slack bot from scratch using their Node SDK and MongoDB for persistence
5年前
記事のアイキャッチ画像
Debugging NodeJS Applications Using Chrome
Playful Programming's Atom Feed
Learn how to interactively debug your NodeJS applications using a GUI-based debugger built into Chrome.
5年前
記事のアイキャッチ画像
Integrating Native Android Code in Unity
Playful Programming's Atom Feed
Have you ever wanted to run native Java and Kotlin code from your mobile game written in Unity? Well, you can! Let's see how.
5年前
記事のアイキャッチ画像
Change the Host File of an Android Emulator
Playful Programming's Atom Feed
In order to test web applications with Android properly, you may need to edit the Android Emulator network host file. Here's how to do so.
5年前
記事のアイキャッチ画像
Introduction to HTML, CSS, and JavaScript
Playful Programming's Atom Feed
Introduction to the underlying concepts of HTML, CSS, and JavaScript and how they work together.
5年前
記事のアイキャッチ画像
Web Fundamentals: Understanding the DOM
Playful Programming's Atom Feed
In our eight chapter, we learn how the browser internally handles HTML and CSS to show the user webpages on-screen.
+5年前
記事のアイキャッチ画像
How Binary and Hexadecimal Work: An introduction to non-decimal number systems
Playful Programming's Atom Feed
Learn how to convert decimal to binary and hexadecimal, how CSS colors are calculated, and how your computer interprets letters into binary.
5年前
記事のアイキャッチ画像
Introduction to TypeScript — What is TypeScript?
Playful Programming's Atom Feed
An introduction and explanation of what TypeScript is, is not, and what it's used for
5年前
記事のアイキャッチ画像
Hard grids & baselines: How I achieved 1:1 fidelity on Android
Playful Programming's Atom Feed
Testing the limits of `firstBaselineToTopHeight` and `lastBaselineToBottomHeight` to deliver a perfect result.
5年前
記事のアイキャッチ画像
TypeScript Intermediates - Type Generics
Playful Programming's Atom Feed
An introduction to the type generic functionality in TypeScript
5年前
記事のアイキャッチ画像
Introduction to Android: Contexts, Intents, and the Activity lifecycle
Playful Programming's Atom Feed
A basic overview of the main components of an Android app and how they interact with each other and the Android system
5年前
記事のアイキャッチ画像
Joining Freenode IRC: A Guide
Playful Programming's Atom Feed
Basic (but detailed) instructions for setting up a Freenode IRC account through various clients
5年前
記事のアイキャッチ画像
Continuous Integration with Travis CI for Android
Playful Programming's Atom Feed
An in-depth tutorial explaining how to set up Travis CI to deploy signed builds to Google Play. Among other things
5年前
記事のアイキャッチ画像
Angular Templates — From Start to Source
Playful Programming's Atom Feed
+Learn how templates work in Angular. From the basics to being able to read Angular source code and write your own structural directives
6年前
記事のアイキャッチ画像
Uttering Hello — The Site's First Post
Playful Programming's Atom Feed
An introduction to Unicorn Utterances, including a mission statement and general roadmap
6年前
記事のアイキャッチ画像
When performance guarantees hurts performance - std::visit
Playful Programming's Atom Feed
The performance of came up in a discussion, andmyfirst thought was that from reading generated assembly code, it's a jump table, so it should be...
6年前
記事のアイキャッチ画像
How to speak at a conference
Playful Programming's Atom Feed
A former colleague of mine recently described the steps to speak at a conference as: Write a proposal and (optionally) a talk outline. Get accepted...
6年前
記事のアイキャッチ画像
DRY multicomparisons
+Playful Programming's Atom Feed
Now and then, I find myself writing something like if (x == a || x == b || x == c) ... , and every time the repetitionof x == annoys me. A number ...
7年前
記事のアイキャッチ画像
Angular Route Guards For Authorization In A Web And Mobile Application
Playful Programming's Atom Feed
+Learn how to use Angular route guards for authenticating & authorizing access to certain child and parent routes.
7年前
記事のアイキャッチ画像
Performance of flat maps
Playful Programming's Atom Feed
A flat map is a data structure that maps a key to a value, and that stores the data in a compact flat memory structureto get better cache hit rate...
8年前
記事のアイキャッチ画像
constexpr quicksort in C++17
Playful Programming's Atom Feed
So I've written about compile time quick sort twicebefore ( 2011 and 2015 ,) but now when C++17support is becoming available, I thought I'd try i...
8年前
記事のアイキャッチ画像
Higher order functions as an enabler for lazy evaluation
Playful Programming's Atom Feed
Yesterday's post about Generating lambdas for clarity and performance showed how to make use of higher order functions to improve clarity while giv...
8年前
記事のアイキャッチ画像
Generate lambdas for clarity and performance +
Playful Programming's Atom Feed
Higher order functions , functions that operate on other functionsor returns functions, are familiar to those who have had some experience with fu...
8年前
記事のアイキャッチ画像
Serializing structs with C++17 structured bindings
Playful Programming's Atom Feed
+Serializing data in C++ is a surprisingly difficult problem. There are many libraries for it with varying degrees offinesse, power and ease of use...
8年前
記事のアイキャッチ画像
strings as types with c++17 constexpr lambdas
Playful Programming's Atom Feed
Recently I stumbled upon a question by @arne_mertz of Simplify C++ fame (if you don't read that blog, start now!) about using string literals asty...
8年前
記事のアイキャッチ画像
Succinct and helpful C++ template compilation errors
Playful Programming's Atom Feed
We've all experienced them, the long and unhelpful compilation errors from templates, usually referring to some internalheader you didn't even kno...
9年前
記事のアイキャッチ画像
A flexible lexicographical comparator for C++ structs
Playful Programming's Atom Feed
We've all hand crafted comparison operators for structs with many members, and we've all cursed the tedium. It's allright for equality comparison,...
9年前
記事のアイキャッチ画像
Cache optimizing a priority queue
Playful Programming's Atom Feed
I must begin with saying that if you found this because you have a performance problem, you should almost certainly lookelsewhere. It is highly un...
10年前
記事のアイキャッチ画像
Performance observations on a C++ vector of lambdas
Playful Programming's Atom Feed +
Edit 2015-Jun-7: The source code is available on GitHub When writing unit tests, you typically don't care much about execution speed, but compile t...
10年前
記事のアイキャッチ画像
Compile time quicksort in idiomatic modern C++
Playful Programming's Atom Feed
A contender for the most useless program ever written just got a much needed overhaul. In2011 I wrote about compile time quick sort as a challenge...
+
10年前
記事のアイキャッチ画像
Sequence Control with the Trompeloeil C++ Mocking Framework
Playful Programming's Atom Feed
As previously introduced ,the Trompeloeil C++ framework is a new mocking framework for C++14. If you'renot at all familiar with Trompeloeil , you...
10年前
記事のアイキャッチ画像
Introducing the Trompeloeil C++ Mocking framework
Playful Programming's Atom Feed
Trompeloeil is a new mocking framework for C++, aimed at ease of use withoutsacrificing expressive power. In arts, trompeloeil is intended to mock...
10年前
記事のアイキャッチ画像
Asserting compilation errors in C++
Playful Programming's Atom Feed
Sometimes when crafting an interface, we want to ensure that some illegal constructs leads to compilation errors. Afterall, a good interface is ea...
10年前
記事のアイキャッチ画像
strings as types
Playful Programming's Atom Feed
As odd as it may seem, I have more than once felt the need to express a string literal as a unique type which can beused as a any class. As an exa...
12年前
記事のアイキャッチ画像
Compile time messages in C++
Playful Programming's Atom Feed
At times it's desirable to give a message at compile time. Sounds cheezy, eh? Well read on and find out. As an example of the cheezy kind, the comp...
13年前
記事のアイキャッチ画像
Exploring time keeping in ISO C++ 2011
Playful Programming's Atom Feed
A lot has been written about new features coming in the 2011 revision of ISO C++. One that has received surprisinglylittle attention is the <chron...
13年前
記事のアイキャッチ画像
Compile time quick sort using C++ variadic templates
Playful Programming's Atom Feed
Edit June 4th 2015: This article is very dated. Read this revisiting article for a far better solution C++ is a strange language. In many ways it's...
13年前
\ No newline at end of file diff --git a/blogs/d865414250c00696073eca9f2de56164/index.html b/blogs/d865414250c00696073eca9f2de56164/index.html new file mode 100644 index 000000000000..d1f494471361 --- /dev/null +++ b/blogs/d865414250c00696073eca9f2de56164/index.html @@ -0,0 +1,27 @@ +ECMAScript Dailyのフィード|JSer.info Watch List RSS

ECMAScript Daily

フィード

記事のアイキャッチ画像
ECMAScript proposal updates @ 2024-12
ECMAScript Daily
The changes of proposal’s status @ 105th meeting of Ecma TC39ECMA-262New ProposalsProposal Stage Sync Imports 1 Stabilize 1 Updated ProposalsProposal From To Immutable ArrayBuffers 1 2 Error.isError 2.7 3 ECMA-402New ProposalsProposal Stage More Currency Display Choices 2 Updated ProposalsProposal From To Intl.DurationFormat 3 4 This diff is generated by ECMAScript Proposal Diff Tool.AgendaAgendasBabelbabel/proposals: Tracking the status of Babel’s implementation of TC39 proposalsOther proposal’s statustc39/proposals: Tracking ECMAScript ProposalsRelated servicesECMAScript Proposal Diff Tooltc39/dataset: The automate track tc39 proposals
2ヶ月前
記事のアイキャッチ画像
ECMAScript proposal updates @ 2024-10
ECMAScript Daily
+The changes of proposal’s status @ 104th meeting of Ecma TC39ECMA-262New ProposalsProposal Stage Immutable ArrayBuffers 1 Array.zip and Array.zipKeyed 1 Updated ProposalsProposal From To Promise.try 3 4 Import Attributes 3 4 RegExp Modifiers 3 4 Sync Iterator helpers 3 4 JSON Modules 3 4 Atomics.pause 2.7 3 Error.isError 2 2.7 Iterator Sequencing 2 2.7 Extractors 1 2 Structs: Fixed Layout Objects and Some Synchronization Primitives 1 2 iterator chunking 1 2 ECMA-402New ProposalsProposal Stage Representing Measures 1 Updated ProposalsNo DataThis diff is generated by ECMAScript Proposal Diff Tool.AgendaAgendasBabelbabel/proposals: Tracking the status of Babel’s implementation of TC39 proposalsOther proposal’s statustc39/proposals: Tracking ECMAScript ProposalsRelated servicesECMAScript Proposal Diff Tooltc39/dataset: The automate track tc39 proposals
4ヶ月前
記事のアイキャッチ画像
Inside ECMAScript: JavaScript Standard Gets an Extra Stage - The New Stack
ECMAScript Daily
ECMAScript Proposal Stage 2.7
5ヶ月前
記事のアイキャッチ画像
ECMAScript proposal updates @ 2024-07
ECMAScript Daily
The changes of proposal’s status @ 103rd meeting of Ecma TC39ECMA-262New ProposalsProposal Stage Propagate active ScriptOrModule with JobCallback Record 2 Unordered Async Iterator Helpers 1 Updated ProposalsProposal From To RegExp.escape 2.7 3 Atomics.pause 1 2.7 Time Zone Canonicalization 2 3 ECMA-402New ProposalsNo DataUpdated ProposalsNo DataThis diff is generated by ECMAScript Proposal Diff Tool.AgendaAgendasBabelbabel/proposals: Tracking the status of Babel’s implementation of TC39 proposalsOther proposal’s statustc39/proposals: Tracking ECMAScript ProposalsRelated servicesECMAScript Proposal Diff Tooltc39/dataset: The automate track tc39 proposals
6ヶ月前
記事のアイキャッチ画像
Release ES2024 · tc39/ecma262
ECMAScript Daily
ES2024 released!
7ヶ月前
記事のアイキャッチ画像
ECMAScript proposal updates @ 2024-06
ECMAScript Daily
The changes of proposal’s status @ 102th meeting of Ecma TC39ECMA-262New ProposalsNo DataUpdated ProposalsProposal From To Joint Iteration 2 2.7 “Discard” (void) Bindings 1 2 Deferring Module Evaluation 2 2.7 Iterator Sequencing 1 2 ESM Phase Imports 1 2 Promise.try 2.7 3 RegExp.escape 2 2.7 Error.isError 1 2 ECMA-402New ProposalsNo DataUpdated ProposalsNo DataThis diff is generated by ECMAScript Proposal Diff Tool.AgendaAgendasBabelbabel/proposals: Tracking the status of Babel’s implementation of TC39 proposalsOther proposal’s statustc39/proposals: Tracking ECMAScript ProposalsRelated servicesECMAScript Proposal Diff Tooltc39/dataset: The automate track tc39 proposals
8ヶ月前
記事のアイキャッチ画像
tc39/proposal-structs: JavaScript Structs: Fixed Layout Objects
ECMAScript Daily
struct syntax proposal
10ヶ月前
記事のアイキャッチ画像
tc39/proposal-signals: A proposal to add signals to JavaScript.
ECMAScript Daily
Signal Proposal
10ヶ月前
記事のアイキャッチ画像
+ECMAScript proposal updates @ 2024-04
ECMAScript Daily
The changes of proposal’s status @ 101st meeting of Ecma TC39ECMA-262New ProposalsProposal Stage Signals 1 Strict Enforcement of ‘using’ 1 Updated ProposalsProposal From To Dynamic Code Brand Checks 1 3 Math.sumPrecise 1 2.7 Redeclarable global eval-introduced vars 2 3 Error.isError -1 1 Promise.try 2 2.7 New Set methods 3 4 Duplicate named capture groups 3 4 ECMA-402New ProposalsNo DataUpdated ProposalsNo DataThis diff is generated by ECMAScript Proposal Diff Tool.AgendaAgendasBabelbabel/proposals: Tracking the status of Babel’s implementation of TC39 proposalsOther proposal’s statustc39/proposals: Tracking ECMAScript ProposalsRelated servicesECMAScript Proposal Diff Tooltc39/dataset: The automate track tc39 proposals
10ヶ月前
記事のアイキャッチ画像
Release ES2024 Candidate February 2024 · tc39/ecma262
ECMAScript Daily
ECMAScript 2024 Candidate.ArrayBuffer.prototype.resizeArrayBuffer.prototype.transferRegExp v flag.Promise.withResolversObject.groupBy/Map.groupByAtomics.waitAsyncString.prototype.isWellFormed/String.prototype.toWellFormed
1年前
記事のアイキャッチ画像
ECMAScript proposal updates @ 2024-02
ECMAScript Daily
The changes of proposal’s status @ 100th meeting of Ecma TC39ECMA-262New ProposalsProposal Stage ESM Phase Imports 1 Redeclarable global eval-introduced vars 2 Micro and mini waits 1 iterator chunking 1 Iterator unique 1 Improved Escapes for Template Literals 1 Function and Object Literal Decorators 1 “Discard” (void) Bindings 1 Updated Proposals🆕 Stage 2.7 is introduced in add a new testing stage by michaelficarra · Pull Request #37 · tc39/process-documentProposal From To ShadowRealm 3 2.7 Promise.try 1 2 Joint Iteration 1 2 Uint8Array to/from Base64 2 3 ArrayBuffer transfer 3 4 ECMA-402New ProposalsNo DataUpdated ProposalsNo DataThis diff is generated by ECMAScript Proposal Diff Tool.AgendaAgendasBabelbabel/proposals: Tracking the status of Babel’s implementation of TC39 proposalsOther proposal’s statustc39/proposals: Tracking ECMAScript ProposalsRelated servicesECMAScript Proposal Diff Tooltc39/dataset: The automate track tc39 proposals
1年前
記事のアイキャッチ画像
tc39/faq
ECMAScript Daily
ECMAScript FAQ
1年前
記事のアイキャッチ画像
ECMAScript proposal updates @ 2023-11
ECMAScript Daily
+The changes of proposal’s status @ 99th meeting of Ecma TC39ECMA-262New ProposalsProposal Stage Math.sum 1 Module sync assert 1 Updated ProposalsProposal From To Array Grouping 3 4 Promise.withResolvers 3 4 Withdraw Proposalstc39/proposal-extended-numeric-literals: Extensible numeric literals for JavaScript Withdrawing custom numeric literal suffixes - Google スライドtc39/proposal-operator-overloading Withdrawing user-defined operator overloading - Google スライドECMA-402New ProposalsNo DataUpdated ProposalsNo DataThis diff is generated by ECMAScript Proposal Diff Tool.AgendaAgendasBabelbabel/proposals: Tracking the status of Babel’s implementation of TC39 proposalsOther proposal’s statustc39/proposals: Tracking ECMAScript ProposalsRelated servicesECMAScript Proposal Diff Tooltc39/dataset: The automate track tc39 proposals
1年前
記事のアイキャッチ画像
Operator Overloading and Extensible Numeric Literals withdrawn, per 2… · tc39/proposals@223cd3a
ECMAScript Daily
https://github.com/tc39/proposal-operator-overloading withdrawn.
1年前
記事のアイキャッチ画像
Jack-Works/proposal-json-tryParse: JSON.canParse
ECMAScript Daily
ECMAScript Proposal: try-catch + JSON.parse()
1年前
記事のアイキャッチ画像
+After six years, move Float16Array to Stage 3.
ECMAScript Daily
The proposer explains why this article Float16Array Proposal has recently advanced to Stage 3. (in Japanese)
1年前
記事のアイキャッチ画像
TC39-TG4 Source Map specifition.
ECMAScript Daily
TC39-TG4(task group) to standardize source maps.
1年前 +
記事のアイキャッチ画像
ECMAScript proposal updates @ 2023-09
ECMAScript Daily
+The changes of proposal’s status @ 98th meeting of Ecma TC39ECMA-262New ProposalsProposal Stage Stable Formatting 1 Locale Extensions 1 Iterator Sequencing 1 Joint Iteration 1 Negated in and instanceof operators 1 Updated ProposalsProposal From To RegExp.escape 1 2 Resizable and growable ArrayBuffers 3 4 ECMA-402New ProposalsNo DataUpdated ProposalsNo DataThis diff is generated by ECMAScript Proposal Diff Tool.AgendaAgendasBabelbabel/proposals: Tracking the status of Babel’s implementation of TC39 proposalsOther proposal’s statustc39/proposals: Tracking ECMAScript ProposalsRelated servicesECMAScript Proposal Diff Tooltc39/dataset: The automate track tc39 proposals
1年前
\ No newline at end of file diff --git a/blogs/da313b63ef29a574ba9accf3ed82fc0e/index.html b/blogs/da313b63ef29a574ba9accf3ed82fc0e/index.html new file mode 100644 index 000000000000..f5716a436882 --- /dev/null +++ b/blogs/da313b63ef29a574ba9accf3ed82fc0e/index.html @@ -0,0 +1,15 @@ +web.dev: Blogのフィード|JSer.info Watch List RSS

web.dev: Blog

https://web.dev/blog/

Our latest news, updates, and stories for developers

フィード

記事のアイキャッチ画像
CSS scrollbar-color and scrollbar-gutter are Baseline Newly available
はてなブックマークアイコン 6
web.dev: Blog
+CSS scrollbar-color and scrollbar-gutter have landed in all major browser engines, making it Baseline Newly available.
7日前
記事のアイキャッチ画像
Ruby on Rails on WebAssembly, the full-stack in-browser journey
はてなブックマークアイコン 1
web.dev: Blog
Ruby on Rails' famous blog in 15 minutes now runs right in your browser thanks to WebAssembly.
8日前
記事のアイキャッチ画像
January 2025 Baseline monthly digest
はてなブックマークアイコン 1
web.dev: Blog
In its first edition, this Baseline monthly digest covers happenings in Baseline at both Google and the web developer community in January 2025.
9日前
記事のアイキャッチ画像
New to the web platform in January
web.dev: Blog
Discover some of the interesting features that have landed in stable and beta web browsers during January 2025.
10日前
記事のアイキャッチ画像
Announcing the Web AI Acceleration Fund
web.dev: Blog
Published: January 24, 2025 We're thrilled to announce the initial launch of the Web AI Acceleration Fund,a new initiative from Chrome aimed at fostering AI innovation and adoptionwithin the open web ecosystem. Building on the success of our
15日前
記事のアイキャッチ画像
Interop 2024 brings more features to Baseline
web.dev: Blog
Discover the features that became Baseline Newly available through Interop 2024.
17日前
記事のアイキャッチ画像
Build local and offline-capable chatbots
web.dev: Blog
+Published: January 13, 2024 There are so many amazing projects you can build with AI, with classicmachine learning models and newer large language models (LLMs). With LLMs,computers can generate new content, write summaries, analyze text for
1ヶ月前
記事のアイキャッチ画像
New to the web platform in December
web.dev: Blog
Discover some of the interesting features that have landed in stable and beta web browsers during December 2024.
2ヶ月前
記事のアイキャッチ画像
Baseline 2024: more tools to help web developers
web.dev: Blog
web-features dataset, Web Platform Status dashboard, Baseline status widget and more! Take a look back on Baseline in 2024.
2ヶ月前
記事のアイキャッチ画像
What do the State of CSS and HTML surveys tell us?
web.dev: Blog
A look at the survey results from the State of HTML and State of CSS surveys.
2ヶ月前
\ No newline at end of file diff --git a/blogs/deb5104964bf1e599a9a68c318c4db5a/index.html b/blogs/deb5104964bf1e599a9a68c318c4db5a/index.html new file mode 100644 index 000000000000..b495b5a84ae5 --- /dev/null +++ b/blogs/deb5104964bf1e599a9a68c318c4db5a/index.html @@ -0,0 +1,34 @@ +とろろこんぶろぐのフィード|JSer.info Watch List RSS

とろろこんぶろぐ

https://oisham.hatenablog.com/

かけだしR&Dフロントエンジニアの小言

フィード

記事のアイキャッチ画像
コードレビューbotをローカルでお試しする方法
とろろこんぶろぐ
概要 Open AIのプロンプトを活用して自前でコードレビューbotを用意してみたので、備忘のためやったことを書き残しておきます。 きっかけ: GitHub Actions のワークフローが動かない GitHub で利用できる Code Review 用のワークフローが GitHub Actions のマーケットプレイスで提供されています。 github.com github.com ただし残念ながらうまく動作しませんでした。 具体的にはワークフロー自体は動作するものの、コードレビューはされませんでした。特にログも出力されないので原因はよく分かっていませんが、以下の注意事項が関係しているのかな…
6ヶ月前
記事のアイキャッチ画像
グリッドレイアウト内の要素の横幅の決まり方と三点リーダーを表示させる方法をきちんと理解する +
とろろこんぶろぐ
はじめに Web 開発における CSS のグリッドレイアウトで構成された要素に対して、三点リーダー表示がうまくいかないケースがありました。 今回グリッドレイアウトにおけるグリッドアイテム(グリッドトラック)の横幅の決まり方を勉強したので、備忘のために記事に残しておきます。 サンプルコードはこちらに載せています。 Grid+Ellipsis_example - StackBlitz 三点リーダーはどのように表示するか? まず、今回対象とする三点リーダーを表示する方法を以下に記載します。 overflow: hidden; text-overflow: ellipsis; white-space:…
6ヶ月前
記事のアイキャッチ画像
App Router移行時に0.01%の確率でCSR遷移が404エラーになる
とろろこんぶろぐ
+概要 Pages Router から App Router 移行時に一部既存の画面での CSR 遷移が 404 エラーになりました。 この件について調査したので、記事にしてまとめておきます。 前提 今回発生したバグの内容の再現環境の特徴として、以下が挙げられます。 Next v13.5.6 Base path の設定あり App Router と Pages Router が共存している Base Path について Base Path の設定は next.config.js に以下のような記載があると、 module.exports = { basePath: '/base', } /pag…
10ヶ月前
記事のアイキャッチ画像
react-testing-library の `act` と `waitFor` を使うべきタイミング
とろろこんぶろぐ
+はじめに react-testing-library を使うと React アプリケーションのコンポーネントの挙動をテストすることができます。 詳しくは公式ドキュメントを読んでください。 https://github.com/testing-library/dom-testing-library testing-library.com ただ、react-testing-library は若干厄介なところがあり、 state の更新や非同期な処理が含まれる挙動をテストしたい場合に、 React と react-testing-library の挙動を理解していないとテストが思ったように動作しない…
1年前
記事のアイキャッチ画像
Langchain の要約API load_summarize_chain (Map-Reduce) 詳解
とろろこんぶろぐ
+はじめに GPT 系で要約を実施するために、 Langchain の API (load_summarize_chain の map_reduce オプション ) を利用する機会がありました。そのために周辺の記事などを少し眺めてみる機会があったのですが、適切な解説記事がなかったため今回執筆してみることにしました。 筆者は LLM や生成 AI 、ましてや機械学習、ディープラーニング、そもそも Python にも詳しいわけではないため、一部事象を誤解していたり、間違った解説をしている可能性があります。 ご容赦いただくとともに、間違っている点についてはご指摘いただけると幸いです。 前提 LLM (…
1年前
記事のアイキャッチ画像
Next js v14 で考える開発チームの事業的貢献
とろろこんぶろぐ
+はじめに 今年の 2023年5月に Next.js の v13.4 がリリースされ App Router が Stable になり Vercel 推奨の実装方式となりました。 さらに10月 Next Conf にて、 Next.js v14 がリリースされ App Router を代表する新機能である Server Actions が Stable になりました。 App Router はこれからのWeb開発の未来を担うフレームワークになっていくことが予想されており注目度の高い技術です。一方、これまでの Pages Router からの変更点の多さ、機能の興味深さ、設計の複雑さ、動作の不安定さ…
1年前
記事のアイキャッチ画像
GraphQL 成熟度モデル
とろろこんぶろぐ
+記事の概要 この記事は、Meta 社 relay.dev チームの Jordan Eldredge 氏の Tweet で紹介された GraphQL 成熟度モデル (GraphQL maturity model) を個人的な見解を加えながら和訳した記事です。 jordaneldredge.com GraphQL を実装する上で、どの程度 GraphQL を使いこなせているか判断するための参考になれば幸いです。 実際の成熟度モデルの和訳 最初の Tweet 私は、GraphQLの利点がまだ十分には理解されていないと思っています。ほとんどの組織では、GraphQL の提供する価値を捉えきれていません…
2年前
記事のアイキャッチ画像
msw が Service Worker に依存する時代が終わっていた話
とろろこんぶろぐ
+概要 msw はいつの間にかモックツールとしてデファクトスタンダードになりました。 github.com Mock Service Worker という名の通り、Service Worker を利用して、アプリが API サーバーとやりとりするリクエスト/レスポンスをモックすることができるツールです。 ただ、ふと気がついたら Service Worker なしでモックできるようになっていたので、その小ネタを書きます。 この記事は Recruit Engineers Advent Calendar 2022 の9日目の記事です。 adventar.org Node でも使える msw ご存じの方…
2年前
記事のアイキャッチ画像
保守性の担保のために仕様を整理する方法
とろろこんぶろぐ
+はじめに リリースされたプロダクトをエンハンス開発していく上で、保守性を保ち続けることがとても大事なのは言うまでもありません。 特に複雑な要件は実現するために難解なロジックを書く必要があります。 このことから 要件の複雑さと保守性はトレードオフになりがち です。 保守性を保つ方法はさまざまです。 例えば、可読性を高めるような書き方をした上でコメントを残したり、 Lintやテストなどツールを使ったりなどです。 しかし、この記事では書き方やツールではなく、 そもそも複雑になりそうな仕様を整理し要件から取り外すこと で保守性を保つ取り組みを紹介します。 この記事は Recruit Engineers…
2年前
記事のアイキャッチ画像
Zod のスキーマが使えるAPIクライアントZodios を紹介したい
とろろこんぶろぐ
+概要 TypeScriptでフロントエンド開発をしているとバックエンドのAPIを呼び出す際に、APIのパラメータ、レスポンスの型付けをしたくなります。 僕は最近この型付けにZodを使い、APIクライアントにはZodiosというライブラリを使っています。 github.com この記事では、Zodios でZodのスキーマ定義から型安全なAPIクライアントを作る方法を紹介します。 他のやり方 Types定義 純粋にパラメータとレスポンスの type を Type Alias で定義し、fetch やaxios などの素のAPIクライアントに型付けするやり方です。 APIのパスと、パラメータ、レス…
2年前
記事のアイキャッチ画像
GraphQL / TypeScript 参考リンク一覧
とろろこんぶろぐ
+概要 GraphQL の理解を進める上で参考になったものを載せます。 React.js, TypeScript, Relay が使われるプロダクトを想定しています。 コンセプト GraphQL 公式 GraphQL とは、を正確に知るための公式ドキュメントです。 graphql.org GraphQLとクライアントサイドの実装指針 GraphQL とはどういうものかが読みやすくまとめられています。 GraphQLとクライアントサイドの実装指針.md · GitHub GraphQL との向き合い方 2022 年版 2022 年現在における GraphQL の特徴がスライドでわかりやすくまとめら…
2年前
記事のアイキャッチ画像
男性育休の問題の本質
とろろこんぶろぐ
+概要 男性育休を取りづらいという話になるとき、おおよそ「他に取った人がいないから」とか「現場が取れる雰囲気じゃないから」とか、フワッとした理由だけ述べられるケースが散見されます。男性が育児に参加してこなかったから理解がないだけ、という話に片づけられがちです。 その問題の本質に向き合わずに「男性育休を必須化しよう」という話が出ているので、現場から見ると現実と乖離しているように感じるのだと思います。 男性育休が取りづらい問題の背景には、もちろん男性が育児に参加してこなかったことも関係しているとは思いますが、僕は育児どうこうよりも問題視していることがあるので、それを書きたいと思います。 問題の本質は…
2年前
記事のアイキャッチ画像
Web エンジニアが育休をもらった話
とろろこんぶろぐ
+概要 1ヶ月間育児休業(無給)を取得しました。 育児休業を取るに至った経緯や取り方、また育児休職期間どのような生活を送っていたか記事にして残しておこうと思います。 本投稿に技術的な内容はありません。 また家庭や子供による部分が大きく個人差がありまくるので、参考程度に読んでください。 育児休業とは 育児休業とは、子を養育する労働者が法律に基づいて取得できる休業のことである。育休とも称される。女子に対するあらゆる形態の差別の撤廃に関する条約の第11条は育児休業の取得による解雇と差別を禁止している。 育児休業 - Wikipedia 産前産後休暇は女性に限った休暇ですが、育児休業は男性でも取得できま…
3年前
記事のアイキャッチ画像
React 時代に選ぶ GraphQL
とろろこんぶろぐ
+概要 先日新規の Web サービス開発でフロントエンド側の技術選定を行いました。 利用する技術の中で GraphQL を提案した際に、RESTful な API で呼び出す方法と比較して納得感がないという意見があがりました。 そこで、なぜ、どういうときに GraphQL を選定すべきだと思うか、文章にして自分なりにまとめておこうと思います。 前提 構成が BFF か BE かで意見は大きく変わりません。 例えば BFF として利用されるケースでは、バックエンド側には BE チームとマイクロサービス的な API が存在しており、 BFF として GraphQL を配置するようなケースです。Gra…
3年前
記事のアイキャッチ画像
1ヶ月お休みをもらってやってみたこと
とろろこんぶろぐ
+会社から1月の1ヶ月間公式にお休みを頂きました。 やってみたことを挙げていきます。 自身の備忘録で、技術的な話はほぼ出てこないので、読んでもらっても基本得るものはないと思います。 ただ、もしかしたら誰かの何かに役立つかもしれないので、書き残しておきます。 前提 自分:会社員。エンジニア。 妻:会社員。妊娠後期。 結婚しています。 夫婦ともに在宅ワークをしています。 妻は妊娠しており、春頃出産予定です。 両実家が遠く現在は二人のみで賃貸マンションに住んでいます。 時期が近づけば妻実家にて里帰り出産予定です。 専業主夫業 まず一番大きな時間をかけたのは専業主夫業です。 炊事、洗濯、掃除、買い物等、…
3年前
記事のアイキャッチ画像
Next.js にコントリビューションする方法
とろろこんぶろぐ
+はじめに Next.js を使ったことがある人はたくさんいると思いますが、 コントリビュートしたことがある人は少ないのではないでしょうか? Next.js は Vercel がメンテしてくれていますが、 OSS なのでコントリビューションできます。 この記事では、 Next.js に PR がマージされるまでに僕がやったことを紹介します。 実際の修正内容は詳しく述べません。 修正が取り込まれるまでの流れを紹介し、 「全然大したことしてないじゃん、僕でもできそう」と思ってもらえることがゴールです。 Next.js github.com またこの記事は Recruit Advent Calenda…
3年前
記事のアイキャッチ画像
【GCP】GCE/GKEを利用したWebサーバーを公開するまで
とろろこんぶろぐ
+概要 GCP 上で Web サーバーを公開するまでにやったことを忘れないようにメモしておく。 Web サーバーは、 アプリケーション(Node.js) DB (Postgresql) で構築される。 やることまとめ アプリケーションをローカルで開発する アプリケーションをコンテナ化しておく ローカルで DB を立てる(on docker) ローカルで DB + アプリケーションを dockerize し動作を確認する(docker-compose) GCE で DB を構築する GKE でアプリケーションをデプロイする アプリケーションから DB を接続するためにファイアウォールを設定する G…
4年前
記事のアイキャッチ画像
2021 HackDay フロントエンド開発振り返り
とろろこんぶろぐ
+2021 HackDay Yahoo 主催のハッカソン HackDay 2021 に参加しました。 https://hackday.jp/ 開催日: 2021年03月20日 12:00 - 2021年03月21日 12:00 場所: オンライン 結果: 27日なのでまだ。 作ったモノ 「ぎょうれつや」 オンラインで行列に並んだり、自分で行列を作ることができるサービス。 Twitter でログインすると行列にならんだり作れたりする 並ぶ時にコメントできて、みんなのコメントを眺めることができる レコメンド機能でツイートや並んだ行列からおすすめの行列を提案してくれる gyoretsuya.mocch…
4年前
記事のアイキャッチ画像
2020年振り返り
とろろこんぶろぐ
+はじめに すでに2021年がはじまってしまいましたが、気が向いたので去年を振り返ってみます。 本業 本業では1年間同じWebサービスの開発を継続して行いました。 一昨年の10月から開発を開始したサービスを昨年の2月にリリースし、 今も継続して開発を続けています。 ここまで長い間、リリースしてからも継続して 1つのサービスに携わる経験ははじめてなので嬉しく思っています。 技術的な話では、自由度が高い職場なのでAMPやSXG, Next.jsなどの モダンでチャレンジングな技術に触れながら、楽しく働けています。 職責的な話では、立場がメンバーからリーダー職になりました。 初期リリース後は開発業務で…
4年前
記事のアイキャッチ画像
next.js x amp-mustache x storybook の罠
とろろこんぶろぐ
+はじめに この記事は Recruit Engineers Advent Calendar 2020 の18日目の記事です。 adventar.org 17日目は mic_psm さんの KubernetesとIstioを使ったDX改善 - 後ろを向いて後退します でした。 本記事の内容に入る前に、 本記事は複合的な条件が重なった際に表出する問題に注目したとてもニッチな内容なので、 Next.js や AMP を利用するケースが必ず起こりうるような問題ではないことにご注意ください。 Next.js と AMP オプションを使った Web アプリケーションに Storybook を導入した際に躓い…
4年前
記事のアイキャッチ画像
Gatsby.js で AMP 化するときの注意点
とろろこんぶろぐ
+Gatsby.js React.js + GraphQL ベースで簡単に静的サイトが作れるフレームワーク。 WordPress よりも軽量で柔軟で開発者初心者でも扱いやすく、 markdown を書くだけでオリジナルのブログが簡単に作れるため流行ってきています。 www.gatsbyjs.org 実際に使ってみると確かにほとんど自分でコードを書かなくてもサンプルは揃っているし、 デザインテンプレートも充実しているのですぐにブログを公開することができます。 しかし markdown で書く場合は、 markdown to html が自動的に行われてしまうので、 実際のブログ記事本文に対して C…
5年前
記事のアイキャッチ画像
画像をタイル上に並べる方法
とろろこんぶろぐ
+概要 サイズの異なる画像をタイル上に並べる際に、 column-gap と column-count が使えるということを知ったのでメモ。 タイル上と言っているのはこんな感じ↓の画像の配置のこと。 本記事の内容は下記のページの焼き直し。 css-tricks.com HTML + JS 下記は 100px から 400px までのランダムな大きさの画像を 25枚並べているだけ。 <div id="photos" class="photo"></div> function getRandomSize(min, max) { return Math.round(Math.random() * (m…
5年前
記事のアイキャッチ画像
HTML+CSSで右上に三角のラベルをつける方法
とろろこんぶろぐ
+概要 あるコンポーネントの右上にラベルやバッジをつけるHTML/CSSの書き方を学んだので備忘。 もっと良い方法がある場合は教えて欲しい。 サンプルは以下のようなもの。 HTML HTMLでは親のDOM(class: badge)に、 - 三角形を描くDOM(class: triangle)と、 - その上に表示するラベルを描くDOM(class: label) をそれぞれ用意する。 子要素をそれぞれ before, after の擬似要素で用意しても書けそう。 必要以上にDOMを増やしたくない場合はその方がいいかも。 <div class="badge"> <span class="tria…
5年前
記事のアイキャッチ画像
アジャイル開発の本質とは何なのか
とろろこんぶろぐ
+はじめに アジャイルサムライをはじめ、アジャイルやスクラムなどに関する記事や文献を読み、アジャイル開発について理解を深めたので、これまでの経験等を含めて備忘もこめて理解したことと考えた内容を書き起こしておく。 アジャイルサムライ――達人開発者への道作者:JonathanRasmusson,西村直人,角谷信太郎出版社/メーカー: オーム社発売日: 2017/07/14メディア: Kindle版 アジャイル開発の本質とは何か? アジャイル開発はウォーターフォール開発とは異なり、仕様の検討から設計、開発、リリースまでを行うサイクルを短く何回も繰り返すものである。この理解は間違いではないが、このことだ…
5年前
記事のアイキャッチ画像
JSConf JP 2019 参加報告
とろろこんぶろぐ
+はじめに 昨日今日と JSConf JP 2019 に参加してきたので、聴講したセッションの内容を紹介します。 本記事は Recruit Engineers Advent Calendar 2019 1日目の記事です。 JSConf JP 2019 とは JSConf JP は世界的な JavaScript Conference である JSConf の日本開催です。昨年まで日本Node.jsアソシエーションがNode学園祭として開催していた大規模JavaScript イベントが、Node.js に限らず JavaScript に関する内容のお祭りとして変化を遂げ、今年からJSConf JP …
5年前
記事のアイキャッチ画像
Chrome Dev Summit 2019 参加報告
とろろこんぶろぐ
+Chrome Dev Summit 2019 とは Chrome Dev Summit is an annual conference where developers can learn about the latest tools and updates coming to the Google Chrome browser. Chrome Dev Summit は、開発者がGoogle Chrome ブラウザに関する最新のツールやアップデートについて学ぶことができる年に一度のカンファレンスです。 developer.chrome.com Google I/O よりも小規模だが、Web 系…
5年前
記事のアイキャッチ画像
制約と誓約
とろろこんぶろぐ
Nihonbashi.js で登壇した AMP 開発のつらみを発表した。 そのときのスライド。 speakerdeck.com
5年前
記事のアイキャッチ画像
GCP の Cloud Function にアクセス制限をつける
とろろこんぶろぐ
GCP の Cloud Function は誰でも呼び出せる GCP の Cloud Function で HTTP 関数を作成すると、デフォルトでは誰でもアクセスできてしまう。 (9/25現在。今後変わるらしい。) アクセス制限をつける 自身のアカウントに cloudfunctions/admin 権限がついていることを確認(そうでないと、未認証の呼び出しを許可するチェックボックスを操作できない)。また、呼び出す側のサービスアカウントに cloudfunctions/invoker 権限がついていることを確認。 gcloud の CLI からアクセス制限かけられないので、GCPのwebページ…
5年前
記事のアイキャッチ画像
next.js v8 と v9 で amp 化の動作の違い
とろろこんぶろぐ
Next.js で AMP ページを作る Next.js では簡単に AMP ページを開発することができる。 Next.js v8 での方法 withAmp の HoC が用意されているので、関数でコンポーネントをはさみこむ。 import { withAmp } from ‘next/amp’ function Home() { return <p>Welcome to Next.js.</p> } export default withAmp(Home) Next.js v9 での方法 {amp: true} の config を export する。 export config = {a…
5年前
記事のアイキャッチ画像
amp-validator chrome extension は複数回リクエストが走る
とろろこんぶろぐ
AMP Validator のChrome 拡張 Chrome 拡張で AMP validator が提供されている。 chrome.google.com 閲覧しているページに AMP 版のページがあるかわかったり、 開発している AMP ページが AMP-valid かどうか判断できる。 しかし、リクエストが多発する... next.js で getInitialProps で console.log する amp ページを作り、chrome からアクセスする。 getInitialProps [ warn ] [ info ] ready on http://localhost:3000 …
5年前
\ No newline at end of file diff --git a/blogs/df7eda6d27dada466cbf6669d1cacdae/index.html b/blogs/df7eda6d27dada466cbf6669d1cacdae/index.html new file mode 100644 index 000000000000..12b114ae5b58 --- /dev/null +++ b/blogs/df7eda6d27dada466cbf6669d1cacdae/index.html @@ -0,0 +1,78 @@ +記事 on OSSTechブログのフィード|JSer.info Watch List RSS

記事 on OSSTechブログ

フィード

記事のアイキャッチ画像
+OpenAM を活用し Entra ID 認証で学認のサービスを利用する
記事 on OSSTechブログ
+0. はじめに OpenAM14.5 では学術認証フェデレーション「学認 (GakuNin)」との連携機能を強化し、学認IdP として運用しやすくなりました。特に、送信属性同意機能や、SP の自動登録、属性値のスクリプトによる生成など、Shibboleth IdP が持つ機能と同等の機能を強化しています。OpenAM は一つのバージョンを長期にサポートすることにより、バージョンアップを気にせずに長期間運用いただけます。また、ソフトウェアを RPM パッケージで提供しており、同梱の Tomcat を含めシステム全体を RPM コマンドなど O.S.と同等の Linux スキルで運用とサポートが可能な製品となっています。以上のように OpenAM 単体で 学認IdP として構築可能ですが、Microsoft Entra ID(以降 Entra ID) を利用している組織では、学認IdP として構築した OpenAM と Entra ID を連携することで Entra ID へサインインで GakuNin RDM などの学認サービス の利用が可能となります。0.1. OpenAM 単体で 学認IdP 機能を持つ認証基盤を構築した構成例 OpenAM のアダプティブリスクや OTP/FIDO2 などの多様な認証機能を組み合わせ、OpenAM 単独で 学認IdP 機能に加えてSAML / OpenID Connect / WS-Federation / 代理認証機能の対応により、広くクラウドサービス、オンプレミスアプリケーションの認証基盤となります。0.2. Entra ID と OpenAM を連携した認証基盤の構成例 OpenAM は Entra ID のユーザー認証を利用し、学認サービス、クラウドサービス、オンプレミスアプリケーションの認証基盤となります。
6ヶ月前
+記事のアイキャッチ画像
GitlabのARM用CI Runnerの構築方法
記事 on OSSTechブログ
+GitlabでのARM CI Runner の構築手順 大まかな手順は以下のとおりです。 SDカードにOSを書き込む ブートローダーの書き換え SSDにOSの書き込み gitlab runner のインストール 今回利用した機材 今回利用した機材は以下のとおりです。Rock5B(16GB)https://shop.iothonpo.com/product/rock-5b/ Rock5B用メタルケースhttps://shop.iothonpo.com/product/rock5b-metal-case/ SSD(1TB)https://www.amazon.co.jp/dp/B09KZBHWZ9 PD対応AC電源ケーブルhttps://www.amazon.co.jp/gp/product/B0CTJDZQ17 SDカードへのOSの書き込み フラッシュツールのインストール 適当なイメージ書き込みツールを利用し、SDカードにOSを書き込みます。 今回は、定番の balena etcher を利用しました。https://etcher.balena.io/ OSイメージのダウンロード Rock5Bは標準ではnvmeブートが行えません。 販売代理店の情報を参考にしながら、まずはSSDブートを可能にするため、適当なOSを利用し、nvmeからのブートが可能なブートイメージを書き込みます。https://shop.iothonpo.com/product/rock5b-metal-case/ 今回は、Rock5Bの開発元から提供されている、debianのOSイメージを利用します。GitHub radxa-build/rock-5b https://github.com/radxa-build/rock-5b/releases/tag/b39 ウィンドウシステムは何でも構いませんが、今回はXFCEを利用しました。https://github.com/radxa-build/rock-5b/releases/download/b39/rock-5b_debian_bullseye_xfce_b39.img.xz EtcherでSDカードにOSイメージを書き込みます 上記でダウンロードしたイメージを、SDカードに書き込みますOSの起動 作成したmicroSDカードをROCK 5Bの裏の +
8ヶ月前
記事のアイキャッチ画像
チームのふりかえりの改善
記事 on OSSTechブログ
+Unicorn Cloud ID Manager (以下UCIDM) の開発チームのふりかえりについて紹介します。UCIDM チームのふりかえり UCIDM の開発は2022年11月から始まり、本稿執筆時点で1年半の間、課題管理を土台にした イテレーション開発 を採用して取り組んでいます。アジャイル開発という用語が生まれる以前からあった手法ですが、昨今の雰囲気ではアジャイル開発の一種とみなしてよいでしょう。イテレーションという2-4週間程度の期間を区切って開発を繰り返す、タイムボックス方式で開発します。スクラム開発に慣れている方向けに言えばスプリントとほぼ同じものと捉えてもらっても構いません。UCIDM 開発では2週間のイテレーション6つ (3ヶ月) を機能開発に、2つ (1ヶ月) を QA テスト期間として合計8イテレーション (4ヶ月) を1回の開発期間としています。補足として、UCIDM の開発チームはほぼフルリモートワークで開発しています。メンバー全員が顔をあわせるのは月に2日あるかないかです。本稿ではイテレーション開発の詳細については踏み込まず、それはまた別の記事で書きます。ふりかえりなくして成長 (改善)なし私は何度も機会がある度にチームにこの言葉を啓蒙しています。昨今さまざまな開発をうまくまわすためのプラクティスが共有されるようになりました。うまく機能している開発チームはふりかえりを当たり前にしていると思います。しかし、私が過去に働いてきた、いくつかの会社/チームの経験則で言えば、日本の会社ではふりかえりをやらない、もしくはやっても形骸化しているところが多かったです。ふりかえりが形骸化している組織でよく起きるのは「みんながんばった」で済ませることです。実際はそんなことはなくて、一部の開発者に大きな負担を強いていたり、組織としての意思決定やプロセスに課題があったとしても、ふりかえりで議論したりはせず、なかったことにするケースがあります。とくに課題の規模が大きかったり煩雑度が高いほど思考停止してスルーされがちです。先送りとも呼びます。これは責任を取りたくないという日本人のメンタリティと相性がよいからではないかと私は考えています。マネージャーとしてチームビルディングでやることの1つに、このチームの開発プロジェクトで起きるすべての事象に対する責任はマネージャー +
1年前
記事のアイキャッチ画像
チームで「テックブログを読む会」を始めました
記事 on OSSTechブログ
+Unicorn Cloud ID Manager (以下UCIDM) の開発チームで新たに始めた取り組みがあります。2023年末、とあるイベントに私が参加したときにそういった読書会?勉強会?があることを知って、1ヶ月ほど外部イベントに参加して実地でイベント運営を学び、1月後半から社内版イベントを企画してチームメンバーとやり始めました。これはとてもよいイベントだと私は考えていて定期開催してチームに根付かせようと考えています。テックブログを読む会のオリジナル サイボウズ社の西原さんが本イベントについて記事を書いています。オリジナルのイベントの主旨や運営は次になります。ブログを見つけて読んで感想書いてそれを肴に交流する会を30分でやりきっています 実際にどんなイベントなのか 本稿を読むよりも、実際にイベントに参加して一緒にやってみる方が手っ取り早いかもしれません。準備なしのたった30分のイベントです。たまにお休みしているときもありますが、ほぼ毎週月曜日の18:30から開催しています。記事を読む時間も含めて30分なのですから、ほとんどの人にとって忙しくて参加できない、時間をとれないといったことはないと思います。いきなりイベントへ行って、訳も分からずやってみて、そこで得た所感がすべてです。テックブログ一気読み選手権 社内版テックブログを読む会のやり方 このイベントの導入は半ば強引に私が進めました。当初メンバーから開発の時間が少なくなることへの懸念の声もありました。私自身、同期的なチームイベント (要は会議) をなるべく減らしたい方です。開発者の懸念もわかります。また別の記事で書きますが、UCIDM チームは開発の定例会議を隔週で1時間しか行っていません。残りの時間をすべて開発に割り当てています。この会議時間の少なさは昨今のアジャイル系の開発方法論においては特殊な方だと思います。そんな私が会議時間を増やそうと提案しているのですから、これはちょっとした事件です。このイベントには価値があるということを、コミュニティイベントや勉強会に15年以上参加してきた私の直感に訴えるものがあります。たった30分のイベントなのに価値がある。価値のあることだけを30分に凝縮している。このイベントを企画するには多くの試行錯誤を経て洗練されていることが伺えます。UCIDM チームでは「テックブログを読む +
1年前
記事のアイキャッチ画像
SvelteKit アプリケーションの組み込みへの考察
記事 on OSSTechブログ
+先日 SvelteKit のコンパイルの仕組み について調査しました。そのときに Vite というビルドツールによって ES モジュールをインポートする形でページが構成されていることもわかりました。Vite の バックエンドとの統合 というドキュメントには従来のバックエンドに Vite アプリケーションを組み込む方法について説明されています。SvelteKit アプリケーションも Vite アプリケーションの1つです。エンドポイントのパスやエントリーポイントを調整することで組み込みできないか?というのが本稿の主題です。マイクロフロントエンドの動機づけ 考察を始める前に マイクロフロントエンド というキーワードもよくみかけるので一緒にみておきましょう。マイクロサービスのフロントエンド版という、大雑把な理解でもそれほど間違っていないと思えますが、メルカリ社の記事がわかりやすかったので紹介します。フロントエンドエンジニアは Micro Frontends の夢を見るか この記事ではマイクロフロントエンドを成立させるために3つの原則があると説明されています。技術: それぞれのチームの技術が他のチームに影響を与えない コードやルール: コードは共有せず、コーディングルールも独立している デプロイ: チームがそれぞれ独立してデプロイできる Microservices と大きく違うのは、Micro Frontends では UI や ビルド、バンドルという概念と、最終的に相当数の Microservices を1つの画面に組み上げる必要があるという点です。そして、マイクロサービスとマイクロフロントエンドの大きな違いの1つとして API を介して協調するマイクロサービスとは異なり、マイクロフロントエンドは1つの画面を組み上げるというところを言及しています。後述しますが、これは本稿でも実際にやってみてかなり難しいというのがわかってきました。もともと私が SvelteKit アプリケーションを組み込みできないかと考えたのは、カスタムテンプレートという要件に対して、機能とデザインという目的の違うアプリケーションを別々に管理できた方が開発にとって都合がよいと考えたからでした。マイクロフロントエンドはまさにそういった概念と相性がよさそうに思います。SvelteKit アプリケーションのレンダ +
1年前
記事のアイキャッチ画像
SvelteKit はどのようにコンパイルしているのか?
記事 on OSSTechブログ
+フロントエンドの技術選定 によって Svelte と SvelteKit を使って管理画面を作ることに決めました。Unicorn Cloud ID Manager (以下UCIDM) の管理画面を SvelteKit を使って開発しています。UCIDM のフロントエンドのアーキテクチャ BFF (Backend For Frontend) サーバーに Node.js を配置し、サーバーサイドレンダリングを採用したフロントエンドを提供しています。マイクロサービスでは一般的なアーキテクチャだと思います。エンドユーザー (ブラウザ) は BFF サーバーに対して認証を行い、BFF サーバーが UCIDM API サーバーと認証します。エンドユーザーは透過的に UCIDM API サーバーが返す情報を参照できますが、直接 UCIDM API とは通信できません。これはセキュリティを担保する上での考慮であったり、将来 UCIDM API 以外にもバックエンドサービスを提供するような場合においても、BFF サーバーがその差異を吸収できるというメリットがあります。そして、この構成をとるためには SvelteKit のサーバーサイドレンダリングの機能が必要となります。カスタムテンプレート エンドユーザーがフロントエンドの画面構成、レイアウト、テーマなどをちょっとカスタマイズしたいという要件があります。SvelteKit アプリケーションのどこにフックすべきかを検討しています。シンプルな実装 もっとも簡単なフックポイントとしては、エンドユーザーが編集した HTML をサーバーサイドから返し、ブラウザ側でそのまま流用してレンダリングする方法です。Svelte では {@html …} というテンプレート構文のタグがあり、このタグを使うと任意の内容を表示できます。<div class="blog-post"> <h1>{post.title}</h1> {@html post.content} </div> 一方でこのタグには注意事項があります。任意の HTML を挿入できるトレードオフとしてセキュリティ上の懸念があります。ドキュメントには次の注記があります。Svelte は HTML を注入する前に式をサニタイズしません。データが信頼できないソースから来る場合、それをサニタイズする必要 +
1年前
記事のアイキャッチ画像
go-ldap へのコントリビューション
記事 on OSSTechブログ
+これまでもバックエンドに Go 言語を用いて製品開発していることをブログに書いてきました。先日その製品のプレスリリースを行いました。新製品発表、クラウド対応ID管理製品を新たに提供開始Unicorn Cloud ID Manager (以下UCIDM) という製品名になります。またこの機会に UCIDM タグ も付けました。製品開発の過程で調査した技術情報や開発の話題などをフィルターできます。本稿はその製品開発の裏話の1つとして、github.com/go-ldap/ldap (以下go-ldap) というライブラリへコントリビューションしたことを紹介します。go-ldap は Go で LDAP プロトコルの通信を行うクライアントライブラリです。go-ldap という名前は organization 名でライブラリ名は ldap になります。Awesome Go などをみると、go で実装されたライブラリ名に go- という接頭辞を付けることはよくあります。そのため、ここでは ldap ライブラリのことを go-ldap という organization 名で呼称するようにします。LDAP プロトコルを指しているのか ldap ライブラリを指しているのか、混同しないようにという意図になります。UCIDM のシステム概要 唐突ですが、オンプレミス版の UCIDM システム構成の概要図が次になります。この真ん中の方に Agent と呼ばれるモジュールがあります。Agent は内部向けディレクトリサービスにある OpenLDAP や Active Directory (以下AD) といった LDAP サーバーからエントリーを取得して UCIDM の API サーバーに連携する役割を担っています。大前提として Agent は LDAP プロトコルで OpenLDAP や AD サーバーと通信しなければなりません。LDAP プロトコルの機能を使って変更を検知して ID 連携できる必要があります。
1年前
記事のアイキャッチ画像
SELinux有効でlogrotateによるログのローテートに失敗した話
記事 on OSSTechブログ
+SELinux が有効な環境で OpenAM のログに対してのログのローテートが行われていませんでした。/var/log/messageに以下のエラーが出力されていました。/var/log/message Jun 13 00:00:05 alma9sp2 systemd[1]: Starting Rotate log files... Jun 13 00:00:05 alma9sp2 logrotate[45638]: error: cannot allocate memory [readConfigFile():1806] Jun 13 00:00:05 alma9sp2 logrotate[45638]: error: found error in file openam, skipping cannot allocate memoryはメモリを確保できない旨を示すメッセージです。 しかし、サーバーのメモリは不足しておらず他のログのローテートは成功していました。 (もしメモリ不足であれば、他の処理でも失敗するはずです。)logrotate が失敗したのは SELinux が原因だったのですが、どうしてcannot allocate memoryのメッセージが出力されたのかを調べました。logrotate が失敗した環境 OS は AlmaLinux9 で SELinux が有効な環境です。 logrotateの設定ファイルでログローテートの対象として指定している先はシンボリックリンクです。SELinuxが有効 # getenforce Enforcing logrotateのバージョン # rpm -qa logrotate logrotate-3.18.0-8.el9.x86_64 エラーとなったlogrotateの設定ファイル(openam) /opt/osstech/var/lib/tomcat/data/openam/openam/stats/* /opt/osstech/var/lib/tomcat/data/openam/openam/debug/* { rotate 100 daily su tomcat tomcat notifempty missingok copytruncate olddir old dateext compress nod +
2年前
記事のアイキャッチ画像
Docker とは何か?
記事 on OSSTechブログ
+バックエンドに Go 言語を用いて製品開発をしています。Go 言語で開発されたアプリケーションはコンテナイメージとしてパッケージングされ、システムは複数のコンテナを組み合わせて稼働します。当初は docker cli を用いたスクリプトで運用していました。製品開発を進めていくうちにコンテナイメージの取得やコンテナの制御に、自分たちの要件にあわせた運用ツールがあるとよいように思えてきました。Docker は Go 言語で開発されていると聞いたことがある人も多いでしょう。github.com/docker にあるリポジトリなどを参照してみるとわかります。私たちは Go 言語でアプリケーションを開発しているので運用ツールも Go 言語で開発することは都合がよいように思いました。実際にそうだと開発してみた後でも思います。しかし、コンテナの運用ツールを開発するにあたり、自分たちが必要とする機能を提供するコンポーネントはどれなのか?何を/どこを調べればよいのか?といった質問に答えるには、いくらか Docker やコンテナ標準化の歴史的経緯や背景を理解しておく必要がありました。本稿では、Docker のコンポーネントを使ってツールを作ろうとしたときに調査した内容を踏まえて、現時点における Docker とは何なのか?を考えてみたいと思います。Docker Engine のリリースノート Docker Engine 23.0 release notes から読んでいきます。2023-02-01 に 23.0.0 というメジャーバージョンがリリースされました。それまでは 20.10.x というバージョン体系だったので大きく変わったことが伺えます。私が関心のある内容を1つ取り上げると Buildx とBuildKit がデフォルトのビルダーになったそうです。RPM で docker-ce をインストールするときに docker-buildx-plugin も要求されるようになりました。Buildx を使うと複数アーキテクチャ向けのビルドができます。バージョン体系の変更について次のように書いてあります。Starting with the 23.0.0 release, Docker Engine moves away from using CalVer versioning, and s +
2年前
記事のアイキャッチ画像
学認 × OpenAM
記事 on OSSTechブログ
+0. はじめに 学認連携の新規接続やシステム更改をされる際、多様な認証方式と認証連携方式を兼ね備えた 「OpenAM」の導入もご検討いただけると、様々な利点を感じていただけると思います。もし本記事をお読みくださったら、ベンダ候補として弊社も加えていただけますと嬉しいです。1. 概要 学認を含めた大学様のシングルサインオン系として、これまでもShibbolethとOpenAMとを併用(連携)、 という形で導入いただくことが数多くありました。学認との認証連携接続はShibbolethが担い、 Shibbolethでは実現できないような「レガシーアプリとの認証連携接続」や「複雑な認証フローの実現」を OpenAMが担う、という形です。もちろん今後も併用の形を採ることも可能ですが、OpenAMは直近のエンハンスにて 「学認との接続・運用に必要となる機能」を搭載しましたので、今後はOpenAMのみを導入いただく形も 可能となります。下図のようにOpenAM単独での導入でも、学認・各種クラウドサービス・ レガシーアプリに対し、強力な認証機能によるセキュアなシングルサインオン(SSO)系を実現できます。 2. 学認との接続・運用に必要となる機能の搭載 学認と認証連携するにあたっては、SAMLプロトコルにより認証連携するというだけでなく、学認特有の機能への 対応が必要となります。OpenAMは、この学認との接続・運用に必要となる機能を製品標準機能として搭載しました。具体な機能群は、以下の表の通りです。機能 説明 Shibbolethでの相当機能 送信属性同意機能 SAMLアサーション送信前に、SPに送信する属性についてユーザーに同意してもらう機能 Attribute Release Consent に相当 メタデータ自動更新機能 学認が提供するメタデータから 、SP 証明書などの変更を自動的に読み込んで反映する機能 metadata-providers.xml および reload-metadata.sh に相当 SPへの送信値の生成機能 ユーザーデータに無い値を動的に生成して SP へ送信できる機能 attribute-resolver.xml に相当 SPデフォルト設定定義機能 SP作成時に適用する共通設定を定義できる機能 relying-party.xml の Default +
2年前
記事のアイキャッチ画像
フロントエンドの技術選定
記事 on OSSTechブログ
+ある製品開発で管理画面を作ることになりました。その際にフロントエンドの技術に疎いプロジェクトマネージャーが技術選定から始める必要がありました。基本的に誰がやっても技術選定は難しいです。選定の成否は決めた時点では分からないからです。フロントエンドに詳しいメンバーがチームにいれば委譲したり、メンバーがなんらかの技術に精通していればその技術を選択するという考え方もあります。しかし、残念ながら、私たちのチームではそういう状況にありませんでした。そこで覚悟を決めて、分からないなら分からないなりに1から調査して技術選定を行うことにしました。本稿では、主に次の内容について説明します。どのように技術選定を進めたか どのような調査を行ったか 最終的にどういう視点で技術を選定したか 昔ながらのテンプレートを使ったサーバーサイドレンダリングは生き残れるか 私が引き継ぎをうけたとき、前任者がプロトタイプとして実装していた管理画面の要素技術は次の2つでした。text/template UIkit go 言語で実装した http サーバーのサーバーサイドで html のテンプレートをたくさん書き、コンポーネントに UIkit を使ってプロトタイプ実装していました。私は UIkit についてよく知りませんが、一昔前は私も同じような構成でテンプレートと jQuery でシンプルな管理画面を作ったりしていました。jQuery 本体の開発はまだ続いていますし、後述する Stack Overflow の調査でも少なくない割合の開発者がまだ利用していることも確認できます。しかし、私は最初からこの旧来のやり方を踏襲してフロントエンド開発を進めることは考えていませんでした。それは次の理由からになります。最近のフロントエンド開発において主流のスタイルではない 新しい開発スタイルを取り入れて他プロジェクトでも再利用できるようにしたい メンバーが新しい技術や知識を学ぶきっかけにしたい 単純に旧来のやり方を否定しているというわけではなく、新規開発におけるプロダクトの保守コスト、メンバーの育成や採用なども考慮しました。総合判断としてもモダンなフロントエンド開発の技術に挑戦する方がよいだろうと考えました。定例ミーティングで既存のプロトタイプを引き継がないことを共有して承認を得たものの、流行りのフロントエンド技術として何を +
2年前
記事のアイキャッチ画像
mod_auth_mellon で複数のIdPと連携する
記事 on OSSTechブログ
+はじめに mod_auth_mellon は複数のIdPと連携することが出来ます。今回は複数IdPと連携する手順を解説します。私は以前mod_auth_mellonを使ってみたという 記事を書きましたが、このときは IdP は一つでした。 IdP が一つの環境では未認証の状態で mod_auth_mellon にアクセスすると IdP にSAMLリクエストを送ります。mod_auth_mellon が複数のIdPと繋ぐ場合 複数のIdPと繋ぐ場合、mod_auth_mellon はユーザーがアクセスしてきた際にどの IdP に SAMLリクエストを送れば良いかわかりません。 そのため一度ディスカバリーサービスに遷移させ、ディスカバリーサービスでどの IdP を利用するか決めてもらい、 mod_auth_mellonはディスカバリーサービスで決まった IdP へSAMLリクエストを送るというシーケンスになります。このようにmod_auth_mellonで複数の IdP と連携する場合はどの IdP にSAMLリクエストを送るかを決めてもらうディスカバリーサービスが必要です。 ディスカバリーサービスは何らかの手段で利用する IdP を決め、 mod_auth_mellon に戻す機能が必要となります。ディスカバリーサービスを提供するプロダクトとして Shibboleth Discovery Service がありますが、 必ずしもアプリケーション環境を準備しなくても利用可能です。 本記事では単純な HTML の Form タグで IdP のリスト画面を表示し、ユーザーにIdPを決めてもらう構成で構築します。構成 複数IdPと連携する構成を示します。mod_auth_mellon(SAML SP) OpenAM(IdP1) Shibboleth IdP(IdP2) ディスカバリーサービス(ただのHTMLファイル) 一つの mod_auth_mellon で OpenAM と Shibboleth IdP の2つの IdP と連携するシステムを構築します。 事前準備として mod_auth_mellon は構築済みで、個別に一つの IdP としてOpenAM と Shibboleth IdP とは連携が出来ている状態とします。
2年前
記事のアイキャッチ画像
2021年9月に学認Shibboleth IdP構築技術ガイドの問題として公開された内容の解説
記事 on OSSTechブログ
+はじめに 2021年9月に学認Shibboleth IdP構築技術ガイドの問題として公開された内容を解説します。【注意喚起】 学認Shibboleth IdP構築技術ガイドJetty版の設定例の問題につきまして https://www.gakunin.jp/ml-archives/upki-fed/msg01425.html Jetty にはクライアントIPアドレスを通信の接続元ではなくリクエストHTTPヘッダーから取得する http-forwaded モジュールがあります。 これは構成を把握して利用しないと偽装されてしまう可能性があります。 Jettyに限らず、socket以外からIPアドレスを取得する場合は仕様を把握して使いましょうというお話です。構成 問題を把握するためIPアドレスを表示するJSPを配置して何が起こるのかを解説します。Apache + Jetty の構成 Apache で 443(HTTPS) を Listen Jetty で 8080(HTTP) を Listen 検証のため意図的に Jetty は 0.0.0.0:8080 でListenし、別のサーバーからもアクセス可としています。 Jetty は 9.4.48.v20220622 で検証しています。 Apache では ProxyPass で Jetty に HTTP通信で接続します。 ProxyPass / http://127.0.0.1:8080/ Webアプリケーション JettyにクライアントIPアドレスを表示する JSP を配置します。 <%@ page contentType="text/html; charset=UTF-8"%> <html> <head><title>GET IP</title></head> <body> ipAddress:[<%=request.getRemoteAddr()%>] </body> </html> サーバーのIPアドレスは 192.168.48.2 利用者のIPアドレスは 172.16.17.21 この構成で利用者が「Apache経由でJSPにアクセス」、「直接Jettyにアクセス」ではJSPの結果で表示される画面のIPアドレスは次のとおりです。Apache経由 -> 127. +
3年前
記事のアイキャッチ画像
突然「スマホアプリも認証サーバと連携して」と言われたら
記事 on OSSTechブログ
+1. はじめに 上司やお客様から突然「スマホアプリも認証サーバ(Webベースのシングルサインオン系)と連携して」と言われた場合、どうしますか? まずはWeb上で情報を探す、、、としても、シングルサインオンの分野はアプリ開発自体に比べると関わっている人が少なく、情報が中々見つけづらいものかなと思います。というところで本記事では、おすすめ実現案やら試してみた結果やらを書いてみます。 もし記事をお読みくださったら、認証系製品(認証サーバ&クライアント側モジュール製品)のベンダ候補として、弊社(OSSTech株式会社)も加えていただけますと嬉しいです。2. おすすめ実現案 さて、、どんな感じでスマホアプリでも認証サーバと認証連携できるようにしましょうか。多くの場合、認証サーバ(シングルサインオンサーバ)は、複雑&多様な認証を実施できるようなWebインタフェースを用意してくれてます。そして、スマホの方ではアプリ本体とブラウザとを連携する仕組みがあります。これら状況を踏まえ、『アプリ本体とブラウザとを連携させ、ブラウザから先は普通のWebアプリの認証連携と同じにする』という実現案をおすすめします。 (凄く凄く頑張れば、スマホアプリのコード内にて認証画面を実現して認証サーバとの通信を制御して…、なんてこともできるのかも知れませんが。。コスト的にもセキュリティ的にも、そちらはお勧めしません。)『スマホアプリとブラウザとを連携させ、ブラウザから先は普通のWebアプリの認証連携と同じにする』を図にすると、以下のようなイメージです。なお、弊社(OSSTech株式会社)で扱っている製品名も例示しています;-)そもそも普通のWebアプリの認証連携とは…?については、過去記事群(特にこちら)にて記していますので、必要に応じてお読みいただければ幸いでございます。3. 試してみた 理屈としては上記のような案で実現可能、、とは思いつつ実際試してみたことはなかったので、今回試してみました。 スマホ上でのアプリ/ブラウザ連携にはいくつか方法があるようなので、いくつかメジャーなパターンと思われるものをピックアップして試してみます。結果はこんな感じです。# 試したパターン FIDO2/WebAuthn対応 ブラウザからアプリへの戻り方 備考 1 iOS x アプリ"上"ブラウザ(WKWebView) × プ +
3年前
記事のアイキャッチ画像
OpenLDAP 2.5のlloadd機能
記事 on OSSTechブログ
+はじめに OpenLDAP 2.5の新機能となるlloaddの機能について紹介します。lloaddは、LDAP用のロードバランサーとして実装されたOpenLDAPのモジュールで、受け取ったLDAPリクエストを複数のLDAPサーバーに振り分けて、LDAPサーバーの負荷分散を行うことが可能です。lloaddとマルチマスターのLDAP2台を組み合わせた場合の処理の流れは下図のようになります。lloaddの設定 今回は1号機をロードバランサー、2号機と3号機でマルチマスター構成にします。OpenLDAPの1号機はlloadd機能のみを利用するために、 1号機のslapd.confに下記のパラメーターを設定します。本記事ではbackend-serverに2号機と3号機の2台のLDAPサーバーを指定していますので、 1号機のロードバランサーは2号機と3号機にリクエストを振り分けるようになります。slapd.confmoduleload lloadd.la backend lload # The Load Balancer manages its own sockets, so they have to be separate # from the ones slapd manages (as specified with the -h "URLS" option at # startup). listen "ldap://:1389" # Enable authorization tracking feature proxyauthz # Specify the number of threads to use for the connection manager. The default is 1 and this is typically adequate for up to 16 CPU cores.
3年前
記事のアイキャッチ画像
個人用開発環境サーバーのセットアップ
記事 on OSSTechブログ
+サーバーセットアップ インストールメディアの作成 書き込みソフトのインストール etcherをインストールします https://www.balena.io/etcher/インストールディスクをダウンロードarchlinux-x86_64.iso をダウンロード https://ftp.jaist.ac.jp/pub/Linux/ArchLinux/iso/latest/ etcher で、インストールイメージをUSBメディアに書き込みます。 etcherの操作 Flash from file からダウンロードしたISOファイルを選択 USBドライブを選択 flash を選択 終了したらドライブをサーバーに挿してUSBブート 今回のサーバーは起動時にDEL連打でUEFIシェルに入れました UEFIシェルの設定 Secure boot を無効化します Arch Linuxのインストール パーティション構成 OSSTechでは、ドライブを暗号化することになっているので、パーティションの暗号化も行いますEFIブートパーティションは暗号化されません EFIパーティション(/boot配下)にパスワード等の重要なファイルを置かないように気をつけてください。 LUKS on LVM でファイルシステムを構成します ブロックデバイスを暗号化してからLVM(論理パーティション)を作成します パーティションレイアウト パーティションは以下のように構成しますSSD 容量 パーティション 512MB /boot (EFI) 残り / HDD 容量 パーティション すべて /vault SSDのフォーマット gdiskを利用し、パーティションを作成しますgdisk /dev/nvme0n1 既存のパーティションをすべて削除します。Command (? for help): d No partitions GPT でパーティショニングします。MBRは2TBまでしか認識できないので、今どきはGPTでパーティショニングする必要があります。Command (? for help): o This option deletes all partitions and creates a new protective MBR.
3年前
記事のアイキャッチ画像
OpenLDAP 2.4とOpenLDAP 2.5のログの差分
記事 on OSSTechブログ
+はじめに OpenLDAP 2.4とOpenLDAP 2.5のログの差分について紹介します。OpenLDAP 2.4までのログと比較すると、bind_ssfと時間情報が追加されています。検証環境 OpenLDAP 2.5(AlmaLinux 9.0)OpenLDAP 2.4(CentOS 8)ログの比較 OpenLDAP 2.4とOpenLDAP 2.5を用意して、LDAP操作後のログを比較しました。検証環境のloglevelはstatsです。bind_ssf、qtime、etimeが追加されています。bind_ssfbind方式のssf1qtime操作が行なわれるまでキューに入っていた時間etime操作の処理時間qtimeとetimeのイメージ図を下図に示します。各リクエストを実行した際にOpenLDAP 2.4とOpenLDAP 2.5が出力するログの形式を掲載します。bind OpenLDAP 2.4BIND dn="cn=Manager,dc=example,dc=com" mech=SIMPLE ssf=0 RESULT tag=97 err=0 text= OpenLDAP 2.5BIND dn="cn=Manager,dc=example,dc=com" mech=SIMPLE bind_ssf=0 ssf=0 RESULT tag=97 err=0 qtime=0.000004 etime=0.000031 text= ldapsearch OpenLDAP 2.4SRCH base="dc=example,dc=com" scope=2 deref=0 filter="(uid=testuser)" SEARCH RESULT tag=101 err=0 nentries=1 text= OpenLDAP 2.5SRCH base="dc=example,dc=com" scope=2 deref=0 filter="(uid=testuser)" SEARCH RESULT tag=101 err=0 qtime=0.
3年前
記事のアイキャッチ画像
突然「Webアプリを認証連携(SAML/OpenID Connect)対応して」と言われたら
記事 on OSSTechブログ
+0. はじめに 上司やお客様から突然「Webアプリを認証連携(SAML/OpenID Connect)対応して」と言われた場合、どうしますか?いずれ弊社(OSSTech株式会社)のような専門ベンダに連絡するとしても、その前に、ベースの知識を得ておくためにWeb上で情報を探してみるのではないでしょうか。認証連携(SAML/OpenID Connect)の仕様については既に多くのウェブページで解説されてますが、実現のための検討観点についてはあまり情報がないかも…という印象です。というところで本記事では、Webアプリを認証連携(SAML/OpenID Connect)対応されるエンジニアの皆様を意識し、検討時にベース知識を得るための情報源となるべく執筆します。もし記事をお読みくださったら、ベンダ候補として弊社も加えていただけますと嬉しいです。1. そもそも認証連携(Federation)とは? 「認証サーバによってユーザが認証されたら、アプリとしても認証済みとして扱うよう連携する」、ということです。認証連携のための標準仕様として SAML や OpenID Connect があり、既に広く普及してきています。1つの認証サーバに対して複数のアプリを認証連携で繋げた場合、そのシステム全体はシングルサインオン環境となります。シングルサインオンの文脈で既に解説している記事シリーズを書いていますので、必要に応じてご参照ください。(突然「シングルサインオン(SSO)を検討して」と言われたら 第1回、第2回、第3回、第4回、第5回)Webアプリを認証連携対応することで、大きくは以下のようなメリットを享受できます。# 項目 説明 1 認証の強化 アプリ自体で認証方式を様々用意しなくても、連携先の認証サーバを利用することで、多要素認証などの強固な認証を利用できる。 2 販売機会増 標準仕様(SAML, OpenID Connect)での認証連携接続を前提としたシングルサインオン環境が普及しており、これが受注要件であった場合に販売機会を得られる。 2. 検討項目 認証連携対応を実施すると決まったら、どのように検討を進めたら良いでしょうか。大枠としては、以下のような項目を検討する必要があります。検討が難しい項目もあるかもしれませんが、ざっくりとでも予め検討しておくと、その後弊社のような専門ベン +
3年前
記事のアイキャッチ画像
社内用コーヒーの淹れ方
記事 on OSSTechブログ
+はじめに 社内用にコーヒー粉がありますが、難易度が高いという問題が報告されているため、マニュアル化を行い品質の均一化を図ります。道具の所在 コーヒー粉はキャニスターに入れて保管されています。赤い缶を開けて利用してください。ドリップ用ペーパーはポットの近くにありますが、なくなっていた場合流しの上の棚の一番上の段にあります。準備 コーヒーデカンタ(一旦溜めとくポット)、コーヒーカップ、ドリッパーを洗います。 ポットに水を入れ、お湯を沸かします。ポットの水位線まで水を入れてください。 この水はコーヒーを入れるのに利用しないため、必ず水道水で行ってください。 コーヒーデカンタの上に、コーヒードリッパーをセットします。ペーパーの端の接着されている部分(「/////」のようになっている箇所)を折り、ドリッパーにセットします。セットする際、折りたたまれている部分を逆向きに折ることで開き、ドリッパーにフィットするよう曲げます。 メタルフィルターを利用する場合、ドリップペーパーは不要です。 ドリッパーにセットされたペーパーフィルターにコーヒー粉を入れる前に、紙に沸かしたお湯をすべてそそぎます。紙の保管状態が万全でないため、熱湯消毒や汚れ落としのため必要です。 新たにコーヒーを入れる用のお湯を沸かします。コーヒーカップに、ドリッパーと紙のセットを移し、コーヒーデカンタに溜まったお湯を注ぎます。器具の温度を上げることと、熱湯消毒が目的です。 お湯が落ちきったら準備完了です。コーヒーのドリップ 準備の手順で、空になったコーヒーデカンタにドリッパーをセットし、コーヒー粉を入れます。150mlあたり計量スプーン1杯が標準量です。気分に応じて増減させてください。 ドリッパーを横から小突き、粉を平らにします。お湯が側面に当たるとそのままペーパーフィルターを通過し、お湯が混ざるため、平らに均して側面にお湯が行きにくくします。 くぼみを作る場合、やりすぎるとお湯が当たらない粉ができ、分量より薄くなるので注意してください。 正確にコーヒーを入れる場合、タイマーを開始しドリップにかける時間を均一化します。お湯をドリッパーの側面に接しない程度に注ぎます。蒸らす場合、このタイミングで20秒程度待ちます。蒸らした場合、粉の状態が安定し、日が経っていていても出来が安定しやすいです。作りたい濃さに応じて、ドリッパー +
4年前
記事のアイキャッチ画像
OpenAMにSAMLアサーションを複数送ってみた
記事 on OSSTechブログ
+はじめに Lasso の脆弱性はSAMLアサーションが複数存在した時の署名検証の不備でした。 OpenAM は Lasso を使っていませんので Lasso の脆弱性は当てはまりませんが、 SAML の SP として動作することが出来ます。 OpenAM の実装としてSAMLアサーションが複数送られてきた場合どのような挙動(仕様)なのかを調べてみました。結論 OpenAMには Lasso の脆弱性(CVE-2021-28901)にあたる問題はありませんでした。OpenAM はSAMLアサーションが複数送られてくることを許容する 複数送られてきたSAMLアサーションの全ての署名を検証する 一つでも「署名されていない」「署名の検証に失敗」すればエラーとする 複数のSAMLアサーションが存在しても、使用するアサーションは一つ 最初に有効と判定したアサーションのみを使ってアカウントのマッピングを行う 検証内容 以下の内容の検証を実施しました。OpenAM を SAML SP として構築(SAML2認証モジュールを使用) SAMLアサーションが2つ存在するSAMLレスポンスを受けった場合のOpenAMの挙動を確認する パターン1 -> 署名あり、署名なしの順 パターン2 -> 署名なし、署名ありの順 パターン3 -> 署名あり、署名ありの順 パターン1,パターン2のケース どちらも Federation ログに以下のエラーが出力されて認証失敗となりました。libSAML2:06/10/2021 07:27:40:748 AM UTC: Thread[https-jsse-nio-8443-exec-9,5,main]: TransactionId[ffdf7b49-66f5-4463-ac45-32022fb927b5-1587] ERROR: SAML2Utils.verifyResponse:WantAssertionsSigned is true but some or all assertions are not signed パターン3 OpenAMでエラーとならず、認証に成功しました。ソースコードで確認する 検証で実際の動作は確認出来たので、ソースコードでも確認してみます。 コードは該当箇所のみ抜粋します。全部を見たい方はOpenAMコンソーシアムのソースコードで +
4年前
記事のアイキャッチ画像
Lasso 脆弱性(CVE-2021-28091)のmod_auth_mellonへの影響
記事 on OSSTechブログ
+はじめに 先日 Lasso の脆弱性CVE-2021-28091が公開されました。 Lasso は SAML などのフェデレーションプロトコルを実装したライブラリで、SAML SP として動作するApacheモジュールの mod_auth_mellon はこのライブラリを使用しています。 Lasso で見つかった脆弱性が mod_auth_mellon で影響するか確認した所、脆弱性を突いた攻撃は成立しないことがわかりました。 どうして攻撃は成立しないのか解説します。Lassoの脆弱性CVE-2021-28091 今回発見された Lasso の脆弱性は次のように公開されています。Fix signature checking on unsigned response with multiple assertionsWhen AuthnResponse messages are not signed (which is permitted by the specifiation), all assertion’s signatures should be checked, but currently after the first signed assertion is checked all following assertions are accepted without checking their signature, and the last one is considered the main assertion.
4年前
記事のアイキャッチ画像
IIS に Shibboleth SP をインストールする
記事 on OSSTechブログ
はじめに IIS に Shibboleth SP をインストールする手順を紹介します。IIS 上に環境変数を表示するコンテンツを準備して、 Shibboleth SP でそのコンテンツを保護対象とします。 IdP で認証完了したらコンテンツにアクセス可能となり、 IdP から受け取った値を表示することを実現します。環境および前提事項 Windows 2019 Server の IIS を使用 IIS はインストール済みで HTTPS でアクセス出来るようにしておきます。 「役割の追加」で「アプリケーション開発」の 「.NET」 を選択しておきます。 この記事では https://win2019.example.co.jp/ で IIS にアクセス出来る構成です。 自分の環境で実施する際は win2019.example.co.jp を読み替えて実施ください。 Shibboleth SP V3 を使用 SAML の IdP は構築済み Shibboleth SPと連携する SAML IdP は構築済みとします。 この記事では OpenAM を SAML IdP とします。 事前準備 事前準備として環境変数を表示するコンテンツを準備します。secureフォルダにファイルを作成 IIS のドキュメントルート直下に secure というフォルダを作成し、 ディレクトリ内にenv.aspxという名前のファイルを作成します。ファイルの中身は以下のようにします。<% @ Page Language="C#" %> <html><body> <% Response.
4年前
記事のアイキャッチ画像
突然「多要素認証/二要素認証を検討して」と言われたら
記事 on OSSTechブログ
+0. はじめに 上司やお客様から突然「多要素認証/二要素認証を検討して」と言われた場合、どうしますか? いずれ弊社(オープンソース・ソリューション・テクノロジ株式会社)のような専門ベンダに連絡するとしても、その前に、ベースの知識を得ておくためにWeb上で情報を探してみるのではないでしょうか。多要素認証/二要素認証の基本的な考え方については既に多くのウェブページで解説されてますが、実現のための検討観点についてはあまり情報がないかも…という印象です。というところで本記事では、SE様のように多要素認証/二要素認証を導入なさる側の皆様を意識し、 導入検討時にベース知識を得るための情報源となるべく執筆します。 もし記事をお読みくださったら、ベンダ候補として弊社も加えていただけますと嬉しいです。1. 検討観点1:どのような多要素認証にするか 多要素認証の一要素目は従来と同様パスワードによる認証だとして(必ずしもパスワードでなくてもよいですが。)、二要素目としてどのような認証を実現すると良いでしょうか。弊社OpenAMで既に用意されているものから代表的なものを挙げるだけでも結構あります。# 二要素目認証に使えるもの 説明 1 クライアント証明書による認証 あらかじめユーザ端末にクライアント証明書を入れておき、認証時にユーザ端末から認証サーバへクライアント証明書&署名が送付される。認証サーバは証明書&署名を検証することで正しいユーザであることを確認する。 2 送付されたワンタイムパスワードで認証(SMS, LINE, email) ユーザが所有するSMS, LINE, emailアカウント宛てに、認証サーバがワンタイムパスワードを送付する。このワンタイムパスワードの入力をもって正しいユーザであることを確認する。 3 ワンタイムパスワード生成器と連動した認証 ハードウェアまたはソフトウェア(Google Authenticatorなど)のワンタイムパスワード生成器をユーザに所持してもらい、生成用の鍵を認証サーバとあらかじめ共有しておく。生成器に表示されたワンタイムパスワードの入力をもって正しいユーザであることを確認する。 4 FIDO2/WebAuthn(HOT!!) FIDO2仕様に準拠したデバイス(Windows, Android, iOS, 専用USBデバイス, etc...) +
4年前
記事のアイキャッチ画像
突然「シングルサインオン(SSO)を検討して」と言われたら-第5回
記事 on OSSTechブログ
+1. はじめに === この記事は、以前Qiitaに挙げていたものの再掲です ===1.1 前回までのあらすじ 本記事シリーズでは、SE様のようにシングルサインオン(SSO)を導入なさる側の皆様を意識し、 SSOのベース知識を得るための情報源となるべく執筆していきたいと思います。 もし記事をお読みくださったら、ベンダ候補として弊社も加えていただけますと嬉しいです。第1回 本シングルサインオン解説シリーズの位置づけ なぜシングルサインオン化すべきか 第2回 シングルサインオン化のための大まかな要件定義 第3回 シングルサインオンの仕組みの代表的な例 第4回 認証方法の種類や選択検討 1.2 今回のお題 今回は、「アプリとの認証連携方法の種類や選択検討」について記していきます。2. アプリとの認証連携方法の種類 2.1 認証連携方法とは 本記事シリーズの第2回にて大まかな要件定義について書いてましたが、この3点目がアプリとの認証連携方法でした。 以下は、第2回の図の再掲です。アプリとの認証連携方法とは、「アプリをシングルサインオンの対象とするために行う、SSOサーバとの連携接続の方法」ということです。以下、代表的な認証連携方法として「標準仕様に基づく認証連携」「エージェントによる認証連携」「代理認証による認証連携」に分けて記していきます。2.2 標準仕様による認証連携 アプリとSSOサーバ間の認証連携方法には、SAMLやOpenID Connectといった標準仕様が定められたものがあります。動作としては、本記事シリーズの第3回のフロー図で記したものが代表例です。標準仕様の認証連携を行うにあたっては、アプリ側が標準仕様に応じた動作をする必要があります。 現在は各種言語のライブラリやApacheモジュールなどが利用できるため、敷居は高くありません。2.3 エージェントによる認証連携 標準仕様による方法以外にも、SSOサーバベンダから提供されるエージェントをアプリ側に組み込むことで、認証連携を実現できることがあります。 (アプリに成り代わってSSOサーバと連携するので、エージェントによる連携方法と呼ばれます。)大枠の動作としては、標準仕様に基づく認証連携の場合と変わりありません。なお、エージェントをアプリサーバに組み込む場合を「エージェント方式」と呼び、別のサーバにエージェン +
4年前
記事のアイキャッチ画像
Shibboleth IdP で ScriptedAttribute を利用する方法
記事 on OSSTechブログ
+Shibboleth IdP でのスクリプトによる属性生成 概要 Shibboleth IdP では、SPへの属性送出の際、スクリプトによる生成機能があります。 公式のドキュメントはありますが(https://wiki.shibboleth.net/confluence/display/IDP4/ScriptedAttributeDefinition)、ドキュメントをみても肝心のJavascriptエンジン部分に対する説明がなく、使い方がよくわかりません。 今回は、スクリプトによる生成を行う際の、処理の記載方法について記載します。設定箇所 attribute-resolver.xmlで指定します。※ attribute-filter.xml でもスクリプト処理を組み込むことができますが、こちらは送出の制限を組み込むべき定義であるため、送出属性の生成処理はattribute-filter.xmlに記載するべきではありません。設定方法 送出する際の属性名の指定 以下の行で、送出する属性の属性名を指定します。 今回の場合は、“eduPersonPrincipalName” の値を生成する指定です。<AttributeDefinition id="eduPersonPrincipalName" xsi:type="ScriptedAttribute"> ... </AttributeDefinition> スクリプトの処理であることは、「xsi:type」に"ScriptedAttribute"を指定することで指定します。生成の際に元にする値の指定 以下の行で、入力属性の属性名を指定します。以下の指定の場合、「ref=“myLDAP”」でデータストアで指定された “myLDAP” のデータベースからの情報取得を行います。<InputDataConnector ref="myLDAP" attributeNames="eduPersonPrincipalName uid" /> attributeNamesでは、指定したデータストアから取得する属性の値をスペース区切りで指定します。 今回の場合は、データストア上の"eduPersonPrincipalName", “uid"が取得されます。値の生成処理の指定 スクリプト処理の記載方法 実際の処理は以下のように記載します。処理部 +
4年前
記事のアイキャッチ画像
突然「シングルサインオン(SSO)を検討して」と言われたら-第4回
記事 on OSSTechブログ
+1. はじめに === この記事は、以前Qiitaに挙げていたものの再掲です ===1.1 前回までのあらすじ 本記事シリーズでは、SE様のようにシングルサインオン(SSO)を導入なさる側の皆様を意識し、 SSOのベース知識を得るための情報源となるべく執筆していきたいと思います。 もし記事をお読みくださったら、ベンダ候補として弊社も加えていただけますと嬉しいです。第1回 本シングルサインオン解説シリーズの位置づけ なぜシングルサインオン化すべきか 第2回 シングルサインオン化のための大まかな要件定義 第3回 シングルサインオンの仕組みの代表的な例 1.2 今回のお題 今回は、認証方法の種類や選択検討について記していきます。2. 認証方法の種類 2.1 認証方法とは 本記事シリーズの第2回にて大まかな要件定義について書いてましたが、この2点目が認証方式でした。 以下は、第2回の図の再掲です。認証方法とは、「アクセスしてきたユーザが確かにそのユーザであることを認定するための方法」ということです。 認証方法には様々なものがあり、以下に「個別の認証方法」「SSOサーバ間連携による認証」「認証方法の組み合わせ利用」に大別して記していきます。2.2 個別の認証方法 認証方法は、旧来からのID/Passwordによる認証から、最新のFIDO2/WebAuthnまで、様々なものがあります。 以下、代表的な認証方法を記します。# 認証方法 説明 備考 1-1 ID/Password ID/Passwordの入力による認証を実施。 - 1-2 ワンタイムパスワード:送付型 別ルートでユーザにワンタイムパスワードを送付し、その入力による認証を実施。通常、ID/Passwordの認証と組み合わせて利用される。 別ルートとしては、email、SMS、LINE等がある。 1-3 ワンタイムパスワード:生成器連動型 ユーザが保持しているワンタイムパスワード生成器と連動し、生成されたワンタイムパスワードの入力により認証を実施。通常、ID/Passwordの認証と組み合わせて利用される。 生成器としては、Google Authenticator等のスマホアプリや専用小型デバイスがある。 1-4 Windows統合認証(DesktopSSO) Active DirectoryやSambaによって組織内 +
4年前
記事のアイキャッチ画像
突然「シングルサインオン(SSO)を検討して」と言われたら-第3回
記事 on OSSTechブログ
+1. はじめに === この記事は、以前Qiitaに挙げていたものの再掲です ===1.1 前回までのあらすじ 本記事シリーズでは、SE様のようにシングルサインオン(SSO)を導入なさる側の皆様を意識し、 SSOのベース知識を得るための情報源となるべく執筆していきたいと思います。 もし記事をお読みくださったら、ベンダ候補として弊社も加えていただけますと嬉しいです。第1回 本シングルサインオン解説シリーズの位置づけ なぜシングルサインオン化すべきか 第2回 シングルサインオン化のための大まかな要件定義 1.2 今回のお題 今回は、シングルサインオンの仕組みの代表的な例、について書いていきたいと思います。2. シングルサインオンの仕組みの代表的な例 2.1 なぜ理解しておくべきか 本記事シリーズの第1回から、「シングルサインオン化のためには、SSOサーバを導入し、 各アプリがSSOサーバと認証連携することで実現する」という形の図を出していました。 以下は、第1回の図の再掲です。ただ、一言で「認証連携」と書いてきましたが、どのような仕組みで実現されているのでしょうか。 この全体的な仕組みを知らないままですと、SSOサーバのベンダとの会話の効率や、 個別技術要素の理解の効率が悪くなってしまったりするかもしれません。そこで今回は、シングルサインオン実現のための仕組みについて、代表的な例を記していきたいと思います。 (実際はいくつかの仕組みがありますが、1つ代表的な例を知っておくことで、他の仕組みも理解しやすくなると思います。)2.2 シングルサインオンの仕組みの代表的な例 シングルサインオンの仕組みの代表的な例について、以下の簡易シーケンス図にて記していきます。[1] ユーザがWebアプリAを使うため、ブラウザを用いてアプリAのURLでアクセスします。[2] アプリAは、ブラウザから送付されてきたCookieなどからアプリAとしての認証状態をチェックし、まだ認証済みでなければSSOサーバへリダイレクトします。 (リダイレクトではなく、同等の「自動POSTするコンテンツ」を返すこともあります。)[3] SSOサーバは、ブラウザから送付されてきたからCookieなどからSSOサーバとしての認証状態をチェックし、まだ認証済みでなければ認証画面を返します。 (ここではID/PWの入力 +
4年前
記事のアイキャッチ画像
突然「シングルサインオン(SSO)を検討して」と言われたら-第2回
記事 on OSSTechブログ
+1. はじめに === この記事は、以前Qiitaに挙げていたものの再掲です ===1.1 前回までのあらすじ 本記事シリーズでは、SE様のようにシングルサインオン(SSO)を導入なさる側の皆様を意識し、 SSOのベース知識を得るための情報源となるべく執筆していきたいと思います。 もし記事をお読みくださったら、ベンダ候補として弊社も加えていただけますと嬉しいです。第1回 本シングルサインオン解説シリーズの位置づけ なぜシングルサインオン化すべきか 1.2 今回のお題 今回は、大まかな要件定義について書いていきたいと思います。2. シングルサインオン化のための大まかな要件定義 詳細な要件定義については、SSOサーバのベンダ(弊社のような!)を呼んでからの実施でも良いと思います。 しかしその前に、大まかな要件について予め確認できていると、以後の専門ベンダとの会話もスムーズになります。 (要件に合わないベンダを呼んでしまってお互い不幸な時間を過ごしてしまう、、なんていうリスクも減らせます。)SSOの要件を検討するにあたっては、複数の要素が絡み合って、纏めることが難しい場合もあるかもしれません。 が、ここではひとまず大まかに要件を把握すると割り切り、「ユーザ」「認証方法」「アプリとの認証連携方法」という3つの視点に大別してざっくり検討する、という想定で書いてみます。[1] ユーザ 「ユーザ」という視点の要件定義項目として、以下のようなものが考えられます。# 項目 説明 備考 1-1 ユーザの種類 「社内ユーザ/社外ユーザ」「ユーザの所属グループ」というようなユーザの種類のことです。例えば、既存アプリ群でID体系が異なっている場合は、名寄せ後の制御などを検討する必要があります。また、ユーザの種類に応じて利用できるアプリが異なる場合は、認可制御を検討する必要があります。 どのような制御が可能かはSSOサーバ製品毎に異なってきますので、まずは存在するユーザ種類を把握した上でSSOサーバのベンダと会話するのが良いです。 1-2 アクティブユーザの人数 最大でどの程度の人数のユーザがログインする可能性があるのか、という点です。 SSOサーバのメモリ容量といったサイジングに影響します。 1-3 スループット 最大でどの程度のスループットを処理できる必要があるのか、という点です。 サーバ +
4年前
記事のアイキャッチ画像
突然「シングルサインオン(SSO)を検討して」と言われたら-第1回
記事 on OSSTechブログ
+1. はじめに === この記事は、以前Qiitaに挙げていたものの再掲です ===1.1 本記事シリーズの位置付け 上司やお客様から突然「シングルサインオン(SSO)を検討して」と言われた場合、どうしますか? いずれ弊社(オープンソース・ソリューション・テクノロジ株式会社)のような専門ベンダに連絡するとしても、 その前に、ベースの知識を得ておくためにWeb上で情報を探してみるのではないでしょうか。シングルサインオン(SSO)という分野は、アプリ開発の分野に比べると関わっている人が 少ないということもあり、初めての人向けの纏まった&最新化された情報というのは 中々見つけづらいものかな…と思っています。 少なくとも、私がシングルサインオンを扱い始めた際は、わりと苦労しました。というところで本記事シリーズでは、SE様のようにシングルサインオンを導入なさる側の皆様を意識し、 ベース知識を得るための情報源となるべく執筆していきたいと思います。 もし記事をお読みくださったら、ベンダ候補として弊社も加えていただけますと嬉しいです。1.2 今回のお題 まずは何より、お客様や社内の皆様に意義を語る必要があったりしますよね。 というわけで、この第1回目の記事では、なぜシングルサインオン化すべきかについてざっくり書いてみます。2. なぜシングルサインオン化すべきか Before ⇒ After の形で、なぜシングルサインオン化すべきかを書いてみます。2.1 Before(シングルサインオン化されていないと…) シングルサインオンする前の姿、つまりユーザが各アプリケーションへ個別にサインオンする形は、様々な視点で問題があります。# 視点 内容 1 ユーザビリティ アプリ毎にログイン作業をするのはユーザにとって負担になる。アプリ毎に異なるパスワードポリシだったりするとさらに辛いことに…。 2 セキュリティ アプリケーション毎にログイン処理を開発した場合、その分セキュリティ脆弱性の存在可能性も増えてしまう。仮に1つのアプリの脆弱性でパスワードが漏洩し、それが他アプリへのリスト攻撃の引き金になったりすると酷い状況に…。 3 コスト アプリケーション毎にログイン処理を開発した場合、その分開発やメンテナンスコストがかかる。上記したようなセキュリティ問題を発生させないための開発・テストのためには高い +
4年前
記事のアイキャッチ画像
LDAPクライアントプログラミングは怖くない(Java編)
記事 on OSSTechブログ
+1. はじめに === この記事は、以前Qiitaに挙げていたものの再掲です ===前回記事では、.NET/Visual BasicでLDAPクライアントプログラミングをする場合の事前準備やコード例を記しました。 今回はJava編を書いていきます。2. 準備するもの Javaの開発環境…は当たり前なので詳述しません。LDAPに直接関連して事前準備すべきもの…については、前回記事にて記載しましたのでそちらを参照してください。(今回も同じLDAP情報を事前入手した、という仮定とします。) ここで、LDAPS時の証明書が止むを得ず自己署名証明書だったりした場合は、Javaのトラストストアに証明書を格納して、Javaプログラム実行時にそのトラストストアを参照するよう設定してください。3. LDAPクラアイントプログラミングしてみる 前回記事で書いた .NET/Visual BasicでLDAPデータを読み書きするコードを、Javaに移植してみます。3.1 プログラム JavaでLDAPクライアントプログラミングするにあたり、標準ライブラリだけで見ても javax.naming.directory 系と javax.naming.ldap 系が存在します。どちらを使っても実現できますが、今回は前者を使うことにします。 さて、ごりごりっとコード書きましょう。こんな感じ。// 本記事ではimport分は省略します public class LDAPClientTest {public static void main(String[] args) throws NamingException { //------------- // Connect //------------- Hashtable<String, String> env = new Hashtable<String, String>(); env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); env.put(Context.PROVIDER_URL, "ldaps://ldapserver.mydomain.test:636"); env.put(Context.SECURITY_AUTHENTICATION, +
4年前
記事のアイキャッチ画像
LDAPクライアントプログラミングは怖くない(.NET編)
記事 on OSSTechブログ
+1. はじめに === この記事は、以前Qiitaに挙げていたものの再掲です ===弊社オープンソース・ソリューション・テクノロジでは、LDAPのサーバ側製品としてOpenLDAPを取り扱ってます。おかげさまで多くのお客様に導入いただき、ユーザ統合管理や統合認証の実現に寄与させていただいてます。 OpenLDAPを導入いただく際にお客様から時々ご質問いただくのが、「LDAPサーバ内のユーザ情報を読み書きするクライアントプログラムを開発したいのだけれど、どうしたら良い?」だったりします。 基本的には「LDAPは標準仕様ですので、仕様に準拠しているクライアントライブラリなどを利用して開発してください。」という回答になりますが…、LDAPクライアントプログラミングって多くの人が経験するものではなく、結果としてWeb上でも情報が少な目になってしまうので、突然担当することになってしまったら不安になってしまうかもしれません。しかし、実はやってみると案外スッと実現できるものなので、やってみた記事を書いてみることにします。いつか、どこかのSEさんが「あぁ、これくらいで動かせるんだー」と安心できる助けとなりますように。 今回は.NET編。次回はJava編ということで書いていきます。2. 準備するもの .NETの開発環境…は当たり前なので詳述せず、ここでは、LDAPに直接関連する事前準備について記します。 基本的に、全てLDAPサーバ側の管理者に問い合わせて情報を得るものです。[1] LDAPサーバ情報 「どうやってLDAPサーバに繋げばいいの?」の情報を得ておきます。 以下の情報が得られたと仮定します。項目 値 サーバ名 ldapserver.mydomain.test プロトコル(LDAP/LDAPS) LDAPS ポート 636 ここで、LDAPSのためのサーバ証明書が止むを得ず自己署名証明書であった場合は、 予め証明書を入手してLDAPクライアント機にインポートしておきましょう。[2] データ操作用アカウント情報 「どのアカウントを使ってLDAPサーバ上のデータ操作したらいいの?」の情報を得ておきます。 以下の情報が得られたと仮定します。項目 値 データ操作用アカウント名 cn=datamaster,dc=ldapserver,dc=mydomain,dc=test パスワード +
4年前
記事のアイキャッチ画像
OpenAMのログをPentaho DIで処理してみる
記事 on OSSTechブログ
+1. はじめに === この記事は、以前Qiitaに挙げていたものの再掲です ===OpenAM 13では、アクセスログや認証ログがCSV形式で出力されます。 プロジェクトによっては、ログに対して以下のような処理が必要とされる場合があります。ログ解析ソフトが読み取れる形式に前処理する必要がある。 特別な解析をしたい。 上記のような処理の実現は、弊社ではなくてシステム全体纏めのSIer様の領域ですが、「OSSのデータ処理ツールが既にいくつも存在するから、それを使えば楽なのでは…」と思う場面が何度かありましたので、こんな風にできるよという紹介記事を書いてみます。 今回取り上げるデータ処理ツールとしては、Pentaho DI(Data Integration)とします。2. 実施 2.1 前提など 前提として、弊社版のOpenAM 13のログを利用することとします。 また、今回実施したい処理のシチュエーションとしては、「各人が過去に何回ログインしたかを知りたい」とします。扱うログは、今回は認証結果を扱うので「authentication.csv」が対象となります。デフォルトでは、/opt/osstech/var/lib/tomcat/openam/openam/log/authentication.csv に出力されています。 データの内容は以下のようなもので、1行目にラベルがあり、2行目以降に認証の成否情報が出力されていきます。2.2 Pentaho DIのダウンロード&インストール Pentaho DIは、以下のサイトからダウンロードして利用できるOSSです。 https://sourceforge.net/projects/pentaho/files/latest/download (Apache License 2.0) 今回は、バージョン8.1.0.0-365を利用します。Pentaho DI は Javaプログラムなので、パッケージとしてのインストールは必要なく、zipをダウンロードして展開するのみです。Java実行環境(JRE/Java Runtime Environment)は、別途インストールしておく必要があります。2.3 Pentaho DI(の処理設計ツール)を起動 zipを展開した中にあるspoon.sh(Windows環境ならSpoon.bat) +
4年前
記事のアイキャッチ画像
OpenAMでQRコード認証を実現できるか試してみる
記事 on OSSTechブログ
+1. はじめに === この記事は、以前Qiitaに挙げていたものの再掲です ===新入社員のアカウントの初期パスワードは、どのように設定・入力してもらうと良いでしょうか。初期パスワードを設定する際、誕生日にアルファベットを足したものや社員番号など、類推可能なものにするのは危険です。ランダムな文字列にする場合でも、短いものにしてしまうと、ブルートフォースアタックの脅威にさらされてしまうかもしれません。それでは長いランダム文字列にした場合は…、今度は利用開始の障壁になってしまいそうです。解決案として、「長いランダム初期パスワードをQRコード化して送付し、初回ログイン時はQRコードをかざすことで認証してもらう。(その後、強制的にパスワードを変更してもらう)」、というのはどうでしょうか。幸い近年、QRコードを扱うJavascriptライブラリを公開してくださってる、素晴らしい方々がいらっしゃいます。弊社も取り扱っております認証基盤OSS「OpenAM」では色々カスタマイズが可能なので、ライブラリを組み込んでQRコード認証の実現を試してみます。(注: 本記事は、あくまで簡易的に試してみるというものです。実際にご利用される場合は、各自のご責任の下で実施くださいませ。)2. 実施 2.1 OpenAM のインストールと初期設定 まず、OSSTech版のOpenAM 13をインストールして初期設定しておきます。ここは今回の本題ではないので、詳細は割愛します。 (OpenAM 13がお手元にない場合でも、読み取ったQRコードの格納先となるテキストフィールドなりをご用意いただければ、QRコード読み取りのテストは可能です。)次にですが、スマホでもカメラを起動してQRコードを読めるようにするためには、httpsでのアクセスにする必要があるようです。このため、あらかじめhttps化の対応もしておきます。ここも、詳細は割愛します。ここでログイン画面にアクセスしてみると、OpenAMでは初期状態でデータストア認証の画面が出てくるようになってます。普通にIDとパスワードを入れるというものでして、画面例は下図のようになります。 これから、このパスワードのフィールドへの入力を、QRコード読み込み対応にしてみます。2.2 QRコード読み取りライブラリの取り込み QRコード画像を読み取るjavascri +
4年前
記事のアイキャッチ画像
Apacheの REQUEST_URI で勘違いしていた話
記事 on OSSTechブログ
+Apacheの REQUEST_URI で勘違いしていた話 Apache設定時等に出てくる REQUEST_URI の値は QueryString が「含まれるケース」と「含まれないケース」があります。例えば次のようにアクセスしたときに REQUEST_URI の値は「/cgi-bin/env.cgi?test=1」「/cgi-bin/env.cgi」どちらなのかというお話です。http://www.example.co.jp/cgi-bin/env.cgi?test=1 具体的には次のとおりです。QueryString が「含まれるケース」 php や CGI で使用可能な Apache がセットした 環境変数REQUEST_URI 特に設定なし(デフォルト)の場合であり、Apache の設定により QueryString を含めなくすることも出来ます。 QueryString が「含まれないケース」 mod_rewrite で使用する %{REQUEST_URI} mod_setenvif で使用する %{REQUEST_URI} Ifディレクティブ などの expr で使用する %{REQUEST_URI} mod_ssl の環境変数(例: mod_headers では %{REQUEST_URI}s と指定して使用) 調べた経緯 ある時「アクセスURL の拡張子が mp4 以外のときだけに特定の処理を行いたい」という要件がありました。 Ifディレクティブ を使って以下のように出来そうです。<If "%{REQUEST_URI} !~ m!\.mp4$!i"> [やりたい処理] </IF> 私はこの設定の場合 QueryString が含まれたアクセスでは「Ifが真にならない」と思っていました。 しかし、実際に動作確認をしてみると QueryString が含まれたアクセスをしても If が真になり 要件を満たす動作になります。php で 環境変数REQUEST_URI を表示する 一方で CGI や php で Apache がセットする 環境変数REQUEST_URI を表示すると QueryString が含まれます。
4年前
記事のアイキャッチ画像
KVMでvirt-installする時にextra-argsに指定するconsole=tty0 console=ttyS0,115200n8rとは一体何者なのか
記事 on OSSTechブログ
+検証環境 # cat /etc/centos-release CentOS Linux release 7.3.1611 (Core) # uname -r 3.10.0-514.el7.x86_64 疑問 KVMの手順で、ほとんどの場合特に何も説明せず書かれている「–extra-args=“console=tty0 console=ttyS0,115200n8r”」とは一体何なのか。結論 Linuxカーネルのシリアル接続用のパラメータ https://github.com/torvalds/linux/blob/master/Documentation/admin-guide/serial-console.rstそもそもttyとは TeleTYpewriteのことで、標準入出力デバイスの事を指しています。 普段意識して使うことはあまりありませんが、機材にモニタを接続してのログイン、そして今回利用するシリアル接続でのログインの際に作成される、仮想端末の入出力に利用されています。仮想端末は、伝統的に横80文字、縦25列のコンソール画面です。取りうる名前の一式 仮想端末では以下の名称を利用します。(Xは数値)・ttyX ・ttySX ・lpX ・ttyUSBXtty0は今プロセスの実行ユーザーが接続している仮想端末に対するエイリアスです(つまり、利用している仮想端末が変わる可能性があります)。 ttyXは一般的なLinuxでは1~6の値が用意されており、コンソール画面で Alt+F1~F6 のボタンを押すことで利用することができます。 ttyの数は/etc/systemd/logind.confのNAutoVTsで制御可能です。 OSによってはグラフィカルログイン画面まで起動した状態からでも、Ctrl+Alt+F1~F6 のボタンを押すことで利用することができます。 ttyS(数値)はシリアル接続用の仮想端末です。また、lp0というパラレルポート用の仮想端末、ttyUSB0というUSB接続のシリアルデバイス用の仮想端末も用意されています。つまり、疑問の項のtty0 ttyS0は、仮想端末、シリアルデバイス用仮想端末に対して接続するという意味です。0はプロセスが利用している仮想端末ですが、この時点では定義されていないため、適当な空いているものを利用するという意味として扱わ +
4年前
記事のアイキャッチ画像
社員旅行の事
記事 on OSSTechブログ
+はじめに OSSTechブログはMarkdownで記事を書くことができてとっても技術者フレンドリーになっています。 私は非技術者で普段Markdownを使わないので、Markdownに慣れるための習作としてOSSTechの社員旅行のことでも書いてみようかと思います。本当は今年の社員旅行の旅行録的な記事を書くつもりだったんですが中止になったので。。1OSSTechの社員旅行 私は中途でOSSTechに入社していますが、これまでの会社で社員旅行というものを経験したことがありませんでした。社員旅行のイメージは『めんどくさそう』ではありましたが、元々旅行は好きだったのでまぁ楽しめるだろうと思っていました。その期待は大きく裏切られることとなります、良い意味で。OSSTech社員旅行のすごそうなポイント 上述の通り、他社の社員旅行を知らないので当たり前なことも含まれているかもしれないですが、すごいと感じたところを書いていきます。行先は社員が決めるOSSTech社員旅行の戦いは行先を決めるところから始まります。海外と国内を一年ごとに交互に繰り返すのはふんわりと慣例になっているようですが、行先については一切やらせなしの投票で決まります。有志で行きたいところとアピールポイントを記載して、社員が持ち票を投票します。一人あたりの持ち票は社長ですら平等なのです。 上図は去年の投票の様子です。(沖縄に決まりました)行先での旅程も概ね自由行先は決まっても社員旅行のイメージで旅先ではパッケージツアーが組まれていたりなどで自由に過ごせないようなイメージがありますが、OSSTech社員旅行はそうではありません。旅先での旅程も大部分は社員に裁量が与えられています。 沖縄旅行では全員で行動していたのは美ら海水族館に訪れた時だけで、他の時間は数人単位でまとまっていることが多いですが思い思いに過ごしています。海にマリンアクティビティしに行く社員も多くいましたが、私はゴルフしたり、地元の名店的なお店に行ってみたりとマイペースに楽しむことができました。割とグレードの高いホテルにとまる 私は個人旅行ではどちらかというとコストカットに走る傾向があるので、あまり使わないようなホテルに泊まれるのもテンションが上がります。 今ならgo toキャンペーンで行ける人もいるかもしれませんね。2まとめ OSSTechの社員旅行は +
4年前
記事のアイキャッチ画像
OSSTechブログを開設しました。
記事 on OSSTechブログ
+はじめに 会社ホームページの公開と合わせて、OSSTechブログを開設しました。 開設に至るまでの経緯や、ブログの内容について簡単にお知らせします。ブログ開設に至るまでの経緯 元々社員がブログ的な記事を投稿する場としては、Qiitaなどの他社サービスを活用していたりしたのですが、運用していくうちに以下のような課題が見つかりました。他社サービス利用の課題 発信できる情報の制限 弊社がブログ記事で発信したいことは大きく分けると以下の3つです。技術情報発信 採用活動 製品マーケティング、営業活動 他社サービスはその特性上、技術情報発信以外の記事投稿は難しいものもあり、 技術情報の発信にとどまっていました。運営母体に依存する運用 ナレッジコミュニティには色々なサービスがありますが、その時々によって最も見られているサービスは移り変わっていくものかと思います。 しかし、OSSTechとして発信したい内容がサービスの流行の移り変わりで見られる機会が減少するのは少し困ります。 さらに言うとそのサービス自体がクローズしてしまったら、そこに投稿していた記事も永遠に失われてしまいそれはとても困ります。 OSSTechブログの開設 ナレッジコミュニティからオウンドメディアへの切替は特にいいタイミングがなかったのですが、 会社Webページの改定に合わせて検討が進み、この度ブログ開設となりました。上でも触れていますが、技術情報の発信だけでなく、会社の雰囲気が伝わるような記事も投稿されていくと思います、暖かく見守っていただけますと幸いです。OSSTechブログを今後ともよろしくお願いいたします。
4年前
\ No newline at end of file diff --git a/blogs/df8ba2ad38891d81784e2c099cfaeb90/index.html b/blogs/df8ba2ad38891d81784e2c099cfaeb90/index.html new file mode 100644 index 000000000000..4931c82899bd --- /dev/null +++ b/blogs/df8ba2ad38891d81784e2c099cfaeb90/index.html @@ -0,0 +1,12 @@ +The Oxidation Compiler Blogのフィード|JSer.info Watch List RSS

The Oxidation Compiler Blog

https://oxc.rs

A collection of high-performance JavaScript tools written in Rust

フィード

記事のアイキャッチ画像
Oxlint General Availability
The Oxidation Compiler Blog
+We are thrilled to announce that oxlint is now generally available!This milestone signifies our team's ability to promptly address and triage issues.Oxlint is a JavaScript linter designed to catch erroneous or useless code without requiring any configurations by default.How to Use ​At this stage, oxlint is not intended to fully replace ESLint; it serves as an enhancement when ESLint's slowness becomes a bottleneck in your workflow.For faster feedback loops, we recommend running oxlint before ESLint in your lint-staged or CI setup, considering it only takes a few seconds to run on large codebases.To test oxlint in your JavaScript / TypeScript codebase, simply execute the following command at the root directory of your repository:npmpnpmyarnbundenosh$ npx oxlint@latestsh$ pnpm dlx oxlint@latestsh$ yarn dlx oxlint@latestsh$ bunx oxlint@latestsh$ deno run npm:oxlint@latestAlternatively, refer to the installation guide for detailed instructions.Design ​50-100 Times Faster than ESLint ​In re +
1年前
記事のアイキャッチ画像
Oxlint Import Plugin Alpha
The Oxidation Compiler Blog
+We are excited to announce an alpha release for oxlint --import-plugin, a port of eslint-plugin-import.This port aims to resolve all known issues associated with eslint-plugin-import:Performance - execution time exceeding one minute when certain rules are enabledDependency size - 188 dependencies totaling 30MBackwards compatibility - the necessity to support Node.js v4.0.0Dependency compatibility - the need to replace it with eslint-plugin-import-xUpgrading to ESLint v9What's in the release? ​This alpha release is expected to work if your project is in ESM (ECMAScript Modules).If path aliases (e.g. @/foo) is required through tsconfig.compilerOptions.paths,the --tsconfig option can be used:npx oxlint@latest --tsconfig ./tsconfig.json --import-pluginThe rules that are enabled by default via npx oxlint@latest --import-plugin are:defaultnamednamespaceRules that can be enabled selectively via npx oxlint@latest --import-plugin -D rule-name are:no-named-as-defaultno-named-as-default-memberno- +
9ヶ月前
記事のアイキャッチ画像
Oxc Transformer Alpha
The Oxidation Compiler Blog
+We are excited to announce an alpha release for Oxc transform (a.k.a transpile).This release contains three major features:Transforming TypeScript to ESNext.Transforming React JSX to ESNext, with built-in React Refresh.TypeScript Isolated Declarations DTS Emit without using the TypeScript compiler.In this alpha stage, we recommend to experiment with these features to speed up build times.Our benchmark shows:Transform: Oxc is 3x - 5x faster than SWC, uses 20% less memory, and has smaller package size (2 MB vs SWC's 37 MB).Transform: Oxc is 20x - 50x faster than Babel, uses 70% less memory, and is 19 MB smaller, with only 2 npm packages to install vs Babel's 170.React development + React Refresh: Oxc is 5x faster than SWC, 50x faster than Babel.TS isolated declarations .d.ts emit: Oxc is 40x faster than TSC on typical files, 20x faster on larger files.Usage Examples ​oxc-transform npm package ​Vue.js is currently experimentingthe oxc-transform npm package for isolated declarations in its +
4ヶ月前
記事のアイキャッチ画像
Oxlint v0.10 Migration Guide
The Oxidation Compiler Blog
4ヶ月前
\ No newline at end of file diff --git a/blogs/dfc47606b2a9887ba30c5223a7a02839/index.html b/blogs/dfc47606b2a9887ba30c5223a7a02839/index.html new file mode 100644 index 000000000000..297f19cadcee --- /dev/null +++ b/blogs/dfc47606b2a9887ba30c5223a7a02839/index.html @@ -0,0 +1,23 @@ +DebugBear Blogのフィード|JSer.info Watch List RSS

DebugBear Blog

フィード

記事のアイキャッチ画像
Preload Fonts On Your Website For Better Core Web Vitals
DebugBear Blog
In this article we take a look at how preloading fonts can improve Core Web Vital scores. As well as deciding which fonts should be preloaded to avoid bandwidth competition.
1日前
+記事のアイキャッチ画像
Optimizing The Critical Rendering Path
はてなブックマークアイコン 1
DebugBear Blog
+Shortening the critical rendering path can help your website load faster and provide a better user experience. Learn how to identify critical resources and how to optimize them.
3日前
記事のアイキャッチ画像
How To Ensure Text Remains Visible During Webfont Load
DebugBear Blog
In this article we take a look at how web fonts can impact Core Web Vital scores.
5日前
記事のアイキャッチ画像 +
Website Performance Optimization: You Don't Need 20 Tips
DebugBear Blog
Find out how to optimizing your website effectively with automated tooling and request waterfall analysis.
9日前
記事のアイキャッチ画像
How To Audit Core Web Vitals: An In-depth Guide
DebugBear Blog
Need to deliver a Core Web Vitals audit for a website? Learn how to approach the audit process, identify optimizations, and deliver a high-impact audit full of actionable advice.
15日前
記事のアイキャッチ画像
Avoid Large Layout Shifts: 3 Practical Examples
DebugBear Blog
Want to fix CLS issues on your website? Here's a step by step guide of how to debug three common causes of large layout shifts on your website.
16日前
記事のアイキャッチ画像
How To Reduce Unused CSS And Speed Up Your Website
DebugBear Blog
Discover how unused CSS can impact your page speed and explore tools to identify and optimize CSS files effectively
17日前
記事のアイキャッチ画像
What Are Network Latency And Round Trip Time (RTT)?
DebugBear Blog
What is latency and how does it impact website performance? Learn how latency impacts page speed and how Content Delivery Networks can speed up your website.
18日前
記事のアイキャッチ画像
Website Speed Statistics For 2025
DebugBear Blog
How fast is a typical website on desktop versus mobile, and what does this look like across the world? We take a look based on Google's Chrome User Experience Report (CrUX).
19日前
記事のアイキャッチ画像
Avoid Multiple Page Redirects: How Redirects Impact Page Speed
DebugBear Blog
+Multiple page redirects can impact page performance. In this article we'll explore how to identify redirects and their impact. As well as offer solutions to resolve redirects and monitor any regressions.
23日前
記事のアイキャッチ画像
You Might Not Have A Web Performance Problem
DebugBear Blog
Should you optimize your website performance? Maybe you shouldn't, even if you get a poor Performance score on PageSpeed Insights.
24日前
記事のアイキャッチ画像
Why Is Google Field TTFB Worse Than Lighthouse Lab Data?
DebugBear Blog
Why do real users sometimes experience slow page load time when that can't be reproduced in the lab? This article looks at various causes.
1ヶ月前
記事のアイキャッチ画像
How To Preload Your Largest Contentful Paint Image
DebugBear Blog
Learn how to identify your Largest Contentful Paint image and how preloading the image could improve page speed.
1ヶ月前
記事のアイキャッチ画像
How to Reduce Initial Server Response Time
DebugBear Blog
Reduce initial server response time is one of Lighthouse's performance audits, which checks if the browser receives the first byte of the root file within a reasonable time.
1ヶ月前
記事のアイキャッチ画像
How To Interpret Data From Google's Chrome UX Report
DebugBear Blog
+Learn how different sources of CrUX data result in different metric values and how data is delayed by different amounts of time.
1ヶ月前
記事のアイキャッチ画像
How To Use Vue DevTools To Investigate Performance
DebugBear Blog
+Vue Devtools is a vital tool for Vue developers, enabling efficient debugging, improving development workflows, and enhancing overall productivity. It brings several useful features used to investigate performance bottlenecks in Vue applications thanks to live editing, time travel debugging and component inspection.
2ヶ月前
記事のアイキャッチ画像
CPU Throttling In Chrome DevTools and Lighthouse
DebugBear Blog
+Learn how CPU throttling impacts performance and the difference in default configurations for Chrome DevTools and Lighthouse.
2ヶ月前
記事のアイキャッチ画像
What Does The DOMContentLoaded Event Measure?
DebugBear Blog
The DOMContentLoaded event can give you insight into your website performance. Find out how it works and when to use it.
2ヶ月前
記事のアイキャッチ画像
2024 In Review: What’s New In Web Performance?
DebugBear Blog
2024 was a big year for web performance. Here are our favorite features and updates from the past year.
2ヶ月前
記事のアイキャッチ画像
+Caching on a Content Delivery Network (CDN)
DebugBear Blog
Learn about the basics of CDN caching, how it differs from browser caching, and how it can improve your website's performance.
2ヶ月前
\ No newline at end of file diff --git a/blogs/e116dc4be8c876e0001884891ff4e0ee/index.html b/blogs/e116dc4be8c876e0001884891ff4e0ee/index.html new file mode 100644 index 000000000000..403ef099fc17 --- /dev/null +++ b/blogs/e116dc4be8c876e0001884891ff4e0ee/index.html @@ -0,0 +1,19 @@ +Prateek&#39;s Blogのフィード|JSer.info Watch List RSS

Prateek's Blog

フィード

記事のアイキャッチ画像
How to build a React library using TypeScript
Prateek's Blog
A step by step guide to setup a React Library from scratch using TypeScript, and publish it to NPM.
4年前
記事のアイキャッチ画像
Using environment variables with Webpack
Prateek's Blog
+A guide for setting up and using environment variables with Webpack and handling different values for Production and Development environments.
4年前
記事のアイキャッチ画像
Creating a React component library using Storybook 7
Prateek's Blog
Learn how to build a React component library using Storybook 7 and TypeScript, compile it with Rollup and publish it.
4年前
記事のアイキャッチ画像
Integrating reCAPTCHA with Next.js
Prateek's Blog
Check out how you can take advantage of Next.js' API routes to get the most out of CAPTCHA solutions like reCAPTCHA and hCaptcha.
4年前
記事のアイキャッチ画像
JavaScript tips for React Developers
Prateek's Blog
Check out how you can write more efficient, maintainable and clean React code with these simple tips.
4年前
記事のアイキャッチ画像
When should you memoize in React
Prateek's Blog
+Explore why premature optimization can be bad in React and when should you actually use the memoization methods provided by React
4年前
記事のアイキャッチ画像
Supercharge your git workflow with GitLens
Prateek's Blog
Some of my favorite features of the GitLens VSCode extension that can help you optimize your git workflow in VSCode.
4年前
記事のアイキャッチ画像
Why using object spread with reduce probably a bad idea
Prateek's Blog
Explore why using object spread with .reduce() can sometimes significantly affect the performance of your JavaScript apps and libraries.
4年前
記事のアイキャッチ画像
Why you should avoid using state for computed properties
Prateek's Blog
Understand why creating state variables for properties that can be computed is a bad idea, and how you can handle some edge cases when you need to derive your state from props.
4年前
記事のアイキャッチ画像
What is the difference between extends and plugins in ESLint config
Prateek's Blog
Learn how ESLint works, what are the role of plugins and extends keys in your ESLint config and how they make ESLint an extremely configurable and versatile JavaScript Linter.
3年前
記事のアイキャッチ画像
A JavaScript developer’s guide to browser cookies
Prateek's Blog
Learn how browser cookies work and how you can access, manipulate and control their visibiliy across browser with JavaScript.
3年前
記事のアイキャッチ画像
Mastering data fetching with React Query and Next.js
Prateek's Blog
+Learn how React Query simplifies data fetching and caching for you and how it works in tandem with the Next.js pre-rendering methods
3年前
記事のアイキャッチ画像
How JavaScript Classes work under the hood
Prateek's Blog
Learn what prototypes are in JavaScript, what are they used for, what prototype chaining is and how do JavaScript classes work under the hood with these concepts.
3年前
+
記事のアイキャッチ画像
Simplify immutable data structures in useReducer with Immer
Prateek's Blog
Learn how you can simplify deeply nested state updates when using useReducer with Immer.
3年前
記事のアイキャッチ画像
The future of rendering in React
Prateek's Blog
Understand what are the problems with current rendering patterns in React, and how the new rendering patterns introduced with React 18 and future versions of React aim to solve them.
2年前
記事のアイキャッチ画像
+Fine-tuning refs with useImperativeHandle
Prateek's Blog
Understand what refs in React are, how you can use them to manipulate DOM nodes and how you can customize the exposed refs with useImperativeHandle
2年前
記事のアイキャッチ画像
Next.js 13 vs Remix: An In-depth case study
Prateek's Blog
+A detailed comparison of the features Next.js 13 and Remix Run by building a Twitter Clone app in both frameworks.
1年前
\ No newline at end of file diff --git a/blogs/e3671c85941eec8a70ce6159c0b41919/index.html b/blogs/e3671c85941eec8a70ce6159c0b41919/index.html new file mode 100644 index 000000000000..c9f3c04c7733 --- /dev/null +++ b/blogs/e3671c85941eec8a70ce6159c0b41919/index.html @@ -0,0 +1,14 @@ +Lit Blogのフィード|JSer.info Watch List RSS

Lit Blog

https://lit.dev/blog/

Simple. Fast. Web Components.

フィード

記事のアイキャッチ画像
Lightning-fast templates & Web Components: lit-html & LitElement
Lit Blog
Announcing the stable releases of our next-generation web development libraries.
6年前
記事のアイキャッチ画像
LitElement 3.0 & lit-html 2.0: Early Preview Release
Lit Blog
+Preview the next major versions of LitElement and lit-html.
4年前
記事のアイキャッチ画像
Lit 2.0: Meet Lit, all over again!
Lit Blog
New name, new site, new version: smaller, better, faster, and SSR-ready.
4年前
Announcing Lit 2 stable release
Lit Blog
Lit 2: smaller, better, faster, SSR-ready, and ready for production.
3年前
記事のアイキャッチ画像
Watch the Lit 2 release livestream
Lit Blog
+What's new in Lit 2, a big-picture view of Lit usage at Google, and a community panel discussion.
3年前
記事のアイキャッチ画像
Lit 2.1 Release
Lit Blog
New directives, new decorator, new observers package, and task/SSR updates
3年前
記事のアイキャッチ画像
Eleventy + Lit
Lit Blog
Announcing a new Lit Labs Eleventy plugin for static rendering of Lit components
3年前
記事のアイキャッチ画像
Lit on Discord!
Lit Blog
We've launched a brand new Lit Discord server, and here's why you should join it now!
2年前
記事のアイキャッチ画像
Get the lowdown on Lit Labs
Lit Blog
Join us for a virtual event on October 24th 2022 at 10AM PDT to learn all about Lit Labs!
2年前
記事のアイキャッチ画像
Announcing Lit 3.0 Pre-releases
Lit Blog
Get an early look at the upcoming Lit 3.0 release.
2年前
記事のアイキャッチ画像
Lit 3.0 Prerelease 2 and more!
Lit Blog
Today we are publishing the second prerelease of Lit 3.0.
1年前
記事のアイキャッチ画像
Lit Launch Day: Lit 3.0, Labs graduations, a compiler and more!
Lit Blog
We're launching the next major version of Lit
1年前
記事のアイキャッチ画像
Bringing Signals to Lit Labs
+Lit Blog
The new Signals package integrates the TC39 Signals proposal with Lit
4ヶ月前
\ No newline at end of file diff --git a/blogs/e4c6883bd89bfaa0cb68036935d5d6c8/index.html b/blogs/e4c6883bd89bfaa0cb68036935d5d6c8/index.html new file mode 100644 index 000000000000..dc1d3c860ce2 --- /dev/null +++ b/blogs/e4c6883bd89bfaa0cb68036935d5d6c8/index.html @@ -0,0 +1,21 @@ +Bharat Chauhanのフィード|JSer.info Watch List RSS

Bharat Chauhan

フィード

記事のアイキャッチ画像
Creating an image slider in Django using JSON
Bharat Chauhan
<p>How to implement an image slider using JSON in Django</p>
2年前
記事のアイキャッチ画像
How to set up Sentry for Tornado applications
Bharat Chauhan
<p>A quick guide on setting up Sentry error reporting for Tornado applications.</p>
3年前
記事のアイキャッチ画像
django admin - A better, user-friendly ArrayField widget
Bharat Chauhan
<p>How to set up a better, dynamic, user-friendly ArrayField widget in django admin</p>
3年前
記事のアイキャッチ画像
Hiding, obfuscating or encrypting database IDs
Bharat Chauhan
<p>How to hide, obfuscate or encrypt database object ids</p>
4年前
記事のアイキャッチ画像
Centring flex items and allowing overflow scroll
Bharat Chauhan
<p>How to centre flex items and allow scrolling when the content overflows.</p>
4年前
記事のアイキャッチ画像
+How to fetch data or update state when a route changes in React Router
Bharat Chauhan
<p>How to fetch data or update state when a route changes in React Router</p>
6年前
記事のアイキャッチ画像
Adding rotation handles in Interact JS
Bharat Chauhan
<p>How to add rotation handles in Interact JS</p>
6年前
記事のアイキャッチ画像
django - How to edit/manipulate uploaded images on the fly before saving
Bharat Chauhan
<p>How to edit and manipulate uploaded images on the fly before saving in Django</p>
6年前
記事のアイキャッチ画像
django - How to clean up images and temporary files created during testing
Bharat Chauhan
<p>How to clean up images and temporary files created during testing in django</p>
6年前
記事のアイキャッチ画像
django - How to call the child model class from an abstract base class
Bharat Chauhan
<p>How to call the child model class from an abstract base class</p>
7年前
記事のアイキャッチ画像
Serving large files with Tornado safely without blocking
Bharat Chauhan
<p>How to safely serve large files using Tornado in a non-blocking manner.</p>
7年前
記事のアイキャッチ画像
Writing an HTTP server from scratch
Bharat Chauhan
+<p><img alt="Writing an HTTP server from scratch in Python" src="/images/http-speak.png"></p>
7年前
記事のアイキャッチ画像
Making multiple async HTTP requests using Tornado
Bharat Chauhan
+<p>Although I don't like using callbacks for writing async code, but to make multiple HTTP requests and process them asynchronously, I do.</p><p>The advantage of using callbacks in this case over coroutines is that as soon as Tornado …</p>
7年前
記事のアイキャッチ画像
Python testing - How to mock requests during tests
Bharat Chauhan
<p>A Python tutorial for mocking requests during tests.</p> +
7年前
記事のアイキャッチ画像
Python testing - Introduction to mocking
Bharat Chauhan
<p>An introduction to mocking in Python.</p>
7年前
How to integrate haystack search with Django admin
Bharat Chauhan
<p>Recently, I had to integrate Haystack with Django admin so as to be able to perform a full text search just via the admin. Looking around for resources on the internet, I came across <a href="http://django-haystack.readthedocs.io/en/v2.4.1/admin.html">this page</a> in Haystack's …</p>
7年前
記事のアイキャッチ画像
Understanding Tornado fundamentals
Bharat Chauhan
<p>Tornado's documentation is very feeble, or at least I found it so. It doesn't explain certain things in depth. Being new to async programming model, I found many things quite difficult to understand. The documentation also lacks a …</p>
8年前
記事のアイキャッチ画像
Fix the pip error: Couldn't find a version that satisfies the requirement
Bharat Chauhan
<p>How to fix the <code>pip</code> <em>"Couldn't find a version that satisfies the requirement"</em> error.</p>
8年前
記事のアイキャッチ画像
Hello, World!
Bharat Chauhan
<p>The mandatory first post.</p><p>I still remember the day when I first decided to learn programming. I was so sure of which language I will be learning. The <em>inspiration</em> to learn Python as my first programming language came …</p>
8年前
\ No newline at end of file diff --git a/blogs/e607c8a165661f0297905b0a87292c35/index.html b/blogs/e607c8a165661f0297905b0a87292c35/index.html new file mode 100644 index 000000000000..50d0a5b279dd --- /dev/null +++ b/blogs/e607c8a165661f0297905b0a87292c35/index.html @@ -0,0 +1,114 @@ +Remote Synthesis | Blogのフィード|JSer.info Watch List RSS

Remote Synthesis | Blog

https://remotesynthesis.com/

The personal blog of Brian Rinaldi

フィード

記事のアイキャッチ画像 +
What to Expect for Developers in 2024 (My Predictions)
Remote Synthesis | Blog
I make my (not so bold) predictions for 2024 around web development, AI, developer events and DevRel.
1年前
記事のアイキャッチ画像
2024 Year In Review
Remote Synthesis | Blog
+2024 was filled with challenges, but also some exciting moments.
1ヶ月前
記事のアイキャッチ画像
My Predictions for Tech in 2025: Chaos Reigns
Remote Synthesis | Blog
If you are looking to have your spirit lifted, you came to the wrong place because, as I see it, the trend lines almost all point in one depressing direction.
1ヶ月前
記事のアイキャッチ画像
6 Years and 180 (Virtual) Events Later...
Remote Synthesis | Blog
Six years ago this week, I almost accidentally started a community around virtual events for developers.
1年前
記事のアイキャッチ画像
A Web Developer Is...
Remote Synthesis | Blog
PPK responds to his critics.
8年前
記事のアイキャッチ画像
Did We Avoid the Ad Block Apocalypse?
Remote Synthesis | Blog
We may have averted disaster for content publishers, but the experience isn't improving.
8年前
記事のアイキャッチ画像
Ad Blocking on the Rise?
Remote Synthesis | Blog
In other news...perhaps the ad-block apocalypse is still on
8年前
記事のアイキャッチ画像
Some Advanced Jekyll/Liquid Template Techniques
Remote Synthesis | Blog
This stuff was hard - for me at least!
9年前
記事のアイキャッチ画像
There's More Than One Way to Become a Developer
Remote Synthesis | Blog
An overview of the pros and cons of the different education options to become a developer
6年前
記事のアイキャッチ画像
Top 10 Developer Posts of 2016
Remote Synthesis | Blog
Shout-outs to some great content over the past year!
8年前
記事のアイキャッチ画像
The Best Features in ECMAScript 6?
Remote Synthesis | Blog
I interview Axel Rauschmayer at QCon NY.
11年前
記事のアイキャッチ画像
The Best Kept Secret for Free Developer Education
Remote Synthesis | Blog
CFE.dev has hundreds of hours of free sessions for developers.
4年前
記事のアイキャッチ画像
Best Music of 2014
Remote Synthesis | Blog
Some great music was released over the past year.
10年前
記事のアイキャッチ画像
My Top 10 Songs of 2016
Remote Synthesis | Blog
Ten great songs released this year.
8年前
記事のアイキャッチ画像
Best Music of 2015
Remote Synthesis | Blog
Lots of great music released during the year.
9年前
記事のアイキャッチ画像
Best Music of 2017
Remote Synthesis | Blog
A yearly tradition featuring my favorite songs of the year.
7年前
記事のアイキャッチ画像
Best Songs of 2017 So Far
Remote Synthesis | Blog
My favorite music from the first quarter of the year.
8年前
記事のアイキャッチ画像
Is Today the Best Time to be a Developer? No...but We're Getting Better.
Remote Synthesis | Blog
While working as a developer certainly has its rewards, there are some major issues we need to address.
6年前
記事のアイキャッチ画像
Living and Working in a Bizarro World
Remote Synthesis | Blog
Reflecting on trying to go through the normal day to day while the world burns around you.
10日前
記事のアイキャッチ画像
Boston Festival of Indie Games 2014
Remote Synthesis | Blog
My favorite demos from this years Boston Festival of Indie Games.
10年前
記事のアイキャッチ画像
The Content Model of the Web is Broken - Part 2
Remote Synthesis | Blog
Things are not getting any better.
8年前
記事のアイキャッチ画像
Building a (Virtual) Events Site
Remote Synthesis | Blog
What does it take to build and run a site that hosts virtual events? Let's dig into how mine is set up.
1年前
記事のアイキャッチ画像
A Guide to Building Static Sites with Jekyll
Remote Synthesis | Blog
A walkthrough on building our first static site with Jekyll.
10年前
記事のアイキャッチ画像
Building Static Sites with Node.js and Wintersmith
Remote Synthesis | Blog
+How to build your first static site with the Wintersmith generator.
10年前
記事のアイキャッチ画像
Can Machine Learning Potentially Stop Internet Trolls?
Remote Synthesis | Blog
A Google company has been working on an anti-trolling API.
8年前
記事のアイキャッチ画像
Can Web Audio be Useful?
Remote Synthesis | Blog
Tl;dr - yes, it can, if used thoughtfully.
10年前
記事のアイキャッチ画像
Resolve to catch up on some great presentations in 2018! 🎆
Remote Synthesis | Blog
Some great session recordings from last year's events.
7年前
記事のアイキャッチ画像
Changing Roles as a Developer Can Be Scary
Remote Synthesis | Blog
There's so much to learn - where do I even start?
7年前
記事のアイキャッチ画像
5 Common Problems with Technical Articles
Remote Synthesis | Blog
Common mistakes most developers tend to make in their writing.
9年前
記事のアイキャッチ画像
Community is a Tamagotchi
+Remote Synthesis | Blog
Many companies handle community wrong because they focus on outcomes over inputs. Here's some tips on how to think about community.
9ヶ月前
記事のアイキャッチ画像
Comparing Static Site Engines
Remote Synthesis | Blog
A presentation and project for comparing static site generators.
10年前
記事のアイキャッチ画像
How to Write a Great Conference Talk Proposal from Conference Organizers
Remote Synthesis | Blog
Advice and resources from conference organizers on how to create a compelling talk proposal
6年前
記事のアイキャッチ画像
The Content Model of the Web is Broken
Remote Synthesis | Blog
You can't make money off content anymore.
10年前
記事のアイキャッチ画像
The Future of Interaction?
Remote Synthesis | Blog
Will conversational input become the norm?
8年前
記事のアイキャッチ画像
Corporate Culture is Pervasive and Resilient
Remote Synthesis | Blog
And sometimes that's a terrible thing.
8年前
記事のアイキャッチ画像
The Current State of Development
Remote Synthesis | Blog
Mapping the hype cycle of development technologies
8年前
記事のアイキャッチ画像
Dealing with an Unhappy Community
Remote Synthesis | Blog
What happens when your community pushes back?
10年前
+
記事のアイキャッチ画像
The Slow Decline of Email
Remote Synthesis | Blog
You hate it but you can't get rid of it yet.
8年前
記事のアイキャッチ画像
+A Developer Career Doesn't Have to Be Linear
Remote Synthesis | Blog
Tips for finding your unique path in your career development as a developer.
6年前
記事のアイキャッチ画像
Developer Communities You Need to Join Today!
Remote Synthesis | Blog
Learn and share with other developers in these communities!
3年前
記事のアイキャッチ画像
The State of Developer Conferences
Remote Synthesis | Blog
Developer conferences still don't appear to be back at full strength, and that may just be a new reality.
2年前
記事のアイキャッチ画像
Developer Events in Fall 2017
Remote Synthesis | Blog
I'm running a ton of events this Fall.
7年前
記事のアイキャッチ画像
What are the Must Follow Resources for Developers?
Remote Synthesis | Blog
The sites and newsletters for developers that I follow.
7年前
記事のアイキャッチ画像
Don't Let Your Tools Define You as a Developer
Remote Synthesis | Blog
Developers are defining themselves into ever smaller niches and that concerns me.
5年前
記事のアイキャッチ画像
Developers Need to Start Paying Attention to Licenses
Remote Synthesis | Blog
Ignoring licenses can be dangerous. Let's try to understand them.
7年前
記事のアイキャッチ画像
Developing JavaScript in 2017 (Recording)
Remote Synthesis | Blog
Watch Ray and TJ talk ES6/7 and TypeScript
7年前
記事のアイキャッチ画像
Can DevRel Be Done Without Twitter?
Remote Synthesis | Blog
Twitter has been around pretty much since the beginning of developer relations. Are the two permanently linked?
2年前
記事のアイキャッチ画像 +
Enough with the Developer Surveys Already
Remote Synthesis | Blog
Tl;dr - the data is of limited value.
9年前
記事のアイキャッチ画像
The Evolution of Web Content Management
Remote Synthesis | Blog
+A look at the evolution of web content management from the early days of the web to the headless, cloud-based CMS systems of today.
5年前
記事のアイキャッチ画像
Getting Started with Offline Data in Web Apps Pt. 1
Remote Synthesis | Blog
Different options for determining the user's online/offline status and connection speed.
6年前
記事のアイキャッチ画像
Moving from Jekyll to Astro
Remote Synthesis | Blog
After many years it's time to move to a new site generator.
2年前
記事のアイキャッチ画像
+Front-End and Mobile Development Sites to Follow
Remote Synthesis | Blog
Sites worth following for web developers.
8年前
記事のアイキャッチ画像
There's No Such Thing as a Full Stack Developer
Remote Synthesis | Blog
A rant about defining titles with unachievable standards.
7年前
記事のアイキャッチ画像
Full-stack Web Apps Without React
Remote Synthesis | Blog
There are a ton of options for full stack web frameworks that don't use React. Let's explore some of them and why they are each unique.
2年前
記事のアイキャッチ画像
What Netlify's Acquisition of Gatsby Really Means
Remote Synthesis | Blog
It's not about the framework. It's about crossing the streams (of data)
2年前
記事のアイキャッチ画像
Get Started with Static Site Generators
Remote Synthesis | Blog
+A free report on static site development from O'Reilly.
9年前
記事のアイキャッチ画像
Getting Started with Serverless Edge - Exploring the Options
Remote Synthesis | Blog
There are a lot of options when it comes to edge functions, let's explore what they are and how they are different.
2年前
記事のアイキャッチ画像
GitHub Pages Now Support HTTPS - Use It!
Remote Synthesis | Blog
GitHub has finally announced HTTPS support.
7年前
記事のアイキャッチ画像
Is Jamstack Officially Finished?
+Remote Synthesis | Blog
Do recent changes mean the end of the term Jamstack? Unfortunately, it looks like a yes.
2年前
記事のアイキャッチ画像
Goodbye Mobile Dev Weekly
Remote Synthesis | Blog
It's been a fun run over the past 8 years.
3年前
+記事のアイキャッチ画像
Saying Goodbye to Telerik and Progress
Remote Synthesis | Blog
In some personal news, I am moving on to a new role.
5年前
記事のアイキャッチ画像
Heavyweight
Remote Synthesis | Blog
+Learning about yourself through the experience of others.
8年前
記事のアイキャッチ画像
Hostile to Documentation?
Remote Synthesis | Blog
Developers don't like writing documentation.
9年前
記事のアイキャッチ画像
How Static Site Generators Work
Remote Synthesis | Blog
Sure, they seem simple, but are they really?
8年前
記事のアイキャッチ画像
How to Speak at Fluent
Remote Synthesis | Blog
Tips for prospective Fluent Conference speakers.
8年前
記事のアイキャッチ画像
Quick Tips and Tricks for Hugo Development
Remote Synthesis | Blog
A look at some simple but overlooked as well as some advanced techniques for the Hugo static site generator.
6年前
記事のアイキャッチ画像
Promoting Perceived Performance with Prefetching
Remote Synthesis | Blog
A look at two libraries designed to help improve the perceived performance of web apps
6年前
記事のアイキャッチ画像
From Ice Skating to Bootcamp to Full Stack Dev - An Interview with Aimee Knight
Remote Synthesis | Blog
Aimee Knight shares some of what she's learned on her journey from ice skater to full stack developer
7年前
記事のアイキャッチ画像
Why Web App Performance Matters and What to Watch Out For - An Interview with Tammy Everts
Remote Synthesis | Blog
Tammy Everts talks about what performance metrics matter most to developers.
7年前
記事のアイキャッチ画像
From Cordova to Bots to Serverless - An Interview with Brian Leroux
Remote Synthesis | Blog
Brian Leroux previews his upcoming presentation by discussing why he created arc.codes and why serverless matters.
7年前
記事のアイキャッチ画像
Is "GraphQL Mesh" the Next Big Thing?
Remote Synthesis | Blog
GraphQL Mesh is a concept that consolidates the many sources of data an application consumes. Do recent acqisitions mean it's about to take off?
2年前
記事のアイキャッチ画像
Is the Web Really in Trouble?
Remote Synthesis | Blog
An overview of the debate over web versus native.
10年前
記事のアイキャッチ画像
Developers, It's ok Not to be Right About Everything
Remote Synthesis | Blog
Just because we don't solve a problem the same way, doesn't make me wrong.
8年前
記事のアイキャッチ画像
The J in JAMstack Does Not Stand for React (or Angular, Vue, Svelte, etc.)
Remote Synthesis | Blog
Correcting what seems to be a common misconceptions about what makes an app JAMstack
5年前
記事のアイキャッチ画像
What Is the Jamstack in 2021?
Remote Synthesis | Blog
What Jamstack means is evolving. While labels don't help you get your work done, they are also important.
4年前
記事のアイキャッチ画像
What is the Jamstack in 2022?
Remote Synthesis | Blog
Are we at risk of losing sight of what made Jamstack great?
3年前
記事のアイキャッチ画像
What is Jamstack in 2023?
Remote Synthesis | Blog
Yes, it's become extremely vague but the term still retains some value for developers.
2年前
記事のアイキャッチ画像
What is Jamstack in 2024?
Remote Synthesis | Blog
All good things must come to an end and so, most likely, must my annual Jamstack update. But what have we lost in the process?
1年前
記事のアイキャッチ画像
Is JAMstack All Branding and Little Substance?
Remote Synthesis | Blog
Is the JAMstack just fancy buzzword marketing or is there actual substance behind the term? I share my thoughts.
5年前
記事のアイキャッチ画像
Building and Deploying a JAMStack site with Stackbit
Remote Synthesis | Blog
A quick introduction to using the Stackbit service for creating a content-managed JAMStack site
6年前
記事のアイキャッチ画像
The Jamstacked Newsletter has a New Home
Remote Synthesis | Blog
Thanks to Cooper Press for hosting it these recent years. Look for future newsletters through CFE
1年前
記事のアイキャッチ画像
Confused by JavaScript's const? Me too!
Remote Synthesis | Blog
+Constants in JavaScript don't necessarily behave the way you think they would.
6年前
記事のアイキャッチ画像
Jekyll Versus the Competition
Remote Synthesis | Blog
How does Jekyll stack up to other generators? I share my thoughts.
10年前
記事のアイキャッチ画像
Why I am Excited to Join Stackbit!
Remote Synthesis | Blog
Excited to share my new role as a Developer Advocate at Stackbit!
5年前
記事のアイキャッチ画像
Getting Started with Kinvey mBaaS - Pulling Data Anonymously
Remote Synthesis | Blog
The very first step to getting started with the Kinvey mBaaS
7年前
記事のアイキャッチ画像
Getting Started with Serverless Using Kinvey FlexServices
Remote Synthesis | Blog
A guide to developing serverless functions within Kinvey.
7年前
記事のアイキャッチ画像
Getting Started with Kinvey mBaaS - A Simple Vue App
Remote Synthesis | Blog
Converting the previous example to work in a Vue app
7年前
記事のアイキャッチ画像
Knowing Your Blind Spots
Remote Synthesis | Blog +
What you don't know that you don't know can hold you back.
8年前
記事のアイキャッチ画像
Lessons Learned from Having My Identity Stolen
Remote Synthesis | Blog
I am no expert, but here are some things I learned from having my identity stolen this week.
2年前
記事のアイキャッチ画像
A License to Confuse
Remote Synthesis | Blog
More evidence that developers aren't noticing the licenses in the software they use.
7年前
記事のアイキャッチ画像
Lifting Off with Astro 🚀
Remote Synthesis | Blog
Let's take a look at how Astro can help you build apps with less JavaScript and better performance.
2年前
記事のアイキャッチ画像
Markdown is Markup and Other Confusions Around JAMStack
Remote Synthesis | Blog
What makes a site JAMStack? A lot of it is in the M for markup.
5年前
記事のアイキャッチ画像
Adding a Mailing List Subscription with Mailjet and Netlify Functions
Remote Synthesis | Blog
Mailing lists are expensive! Let's get set up on a cheaper option using Mailjet and a serverless function.
1年前
記事のアイキャッチ画像
What Developers Should Know from Microsoft Build
Remote Synthesis | Blog
We're clearly entering a new era for Microsoft and for developers
7年前
記事のアイキャッチ画像
Is the Native Mobile App Ecosystem Worth Saving?
Remote Synthesis | Blog
The app store ecosystem is slowly failing. Is that ok?
9年前
記事のアイキャッチ画像
More Advanced Jekyll/Liquid Template Techniques
Remote Synthesis | Blog
Sometimes Jekyll stuff isn't obvious.
8年前
記事のアイキャッチ画像
Navigating the Buzzwords of Frontend Development
Remote Synthesis | Blog
A guide to commonly used jargon in the frontend and full-stack development world.
9ヶ月前
記事のアイキャッチ画像
The Impact of Negativity Bias
Remote Synthesis | Blog
Why we tend to focus on the bad stuff first.
8年前
記事のアイキャッチ画像
A Fresh Look at Netlify CMS (Part 1)
Remote Synthesis | Blog
Setting up a new site using Netlify CMS
6年前
記事のアイキャッチ画像
A Fresh Look at Netlify CMS (Part 2)
Remote Synthesis | Blog
Configuring an existing site to use Netlify CMS
6年前
記事のアイキャッチ画像
Submitting Netlify Forms Using JavaScript
Remote Synthesis | Blog
Submit a Netlify form asynchronously using JavaScript without jQuery.
5年前
+
記事のアイキャッチ画像
Updating Your Netlify Functions to 2.0
Remote Synthesis | Blog
Netlify Functions 2.0 offer some important improvements, but, to take advantage of them, you'll need to make some simple updates.
1年前
記事のアイキャッチ画像
Understanding OAuth Authorization Flows
Remote Synthesis | Blog
What happens when you authenticate in an application using OAuth 2.0 implicit and PKCE flows.
5年前
記事のアイキャッチ画像
Getting Started with Offline Data in Web Apps Pt. 2
Remote Synthesis | Blog
+Exploring what localStorage is, how it works and how it can be used to store and access data offline.
6年前
記事のアイキャッチ画像
Getting Started with Offline Data in Web Apps Pt. 3
Remote Synthesis | Blog
A guide to getting started with IndexedDB for storing large amounts of complex data offline.
5年前
記事のアイキャッチ画像
The Impact of Bullying
Remote Synthesis | Blog
This is about more than just kids.
8年前
記事のアイキャッチ画像
On The Mobile Web in Mobile Web Weekly
Remote Synthesis | Blog
+Addressing the controversy over the links in Mobile Web Weekly.
8年前
記事のアイキャッチ画像
Thoughts on the Shrinking PC Market
Remote Synthesis | Blog
The PC market just keeps on declining
8年前
記事のアイキャッチ画像
Own Your Home on the Web
Remote Synthesis | Blog
Value the content you create by owning the content you create.
8年前
記事のアイキャッチ画像
Patterns of Development
Remote Synthesis | Blog
Yes, I am old. That gives me some perspective.
10年前
記事のアイキャッチ画像
Picking the Right Speakers for Conferences
Remote Synthesis | Blog
My take on the right process for choosing speakers.
9年前
記事のアイキャッチ画像
+Conforming to JavaScript Code Styles
Remote Synthesis | Blog
A quick tip on integrating Prettier with ESlint in VS Code.
7年前
記事のアイキャッチ画像
On Remote Working
Remote Synthesis | Blog
Living the dream.
8年前
記事のアイキャッチ画像
Resources for First Time Speakers
Remote Synthesis | Blog
Unfortunately, getting the courage to submit is probably the easiest step.
8年前
記事のアイキャッチ画像
+Want to Speak at Conferences in 2019? I'll Help Review Your CFP Submissions
Remote Synthesis | Blog
Need some help with your session abstract for a conference call for papers? I'm here to assist.
6年前
記事のアイキャッチ画像
Grading my 2024 Predictions for Developers
Remote Synthesis | Blog
I wasn't bold and nonetheless I didn't do great. Sheesh.
1ヶ月前
記事のアイキャッチ画像
5 Options for Free Stock Images
Remote Synthesis | Blog
Great options for high quality images.
7年前
記事のアイキャッチ画像
So You Want to Run a Developer Conference
Remote Synthesis | Blog
Some tips and advice based on my experiences running conferences for more than a decade.
5年前
記事のアイキャッチ画像
What I Learned from a Year of Running Free Developer Events
Remote Synthesis | Blog
Running developer events can be tough but rewarding, exhausting but thrilling.
7年前
記事のアイキャッチ画像
Running SSL on localhost
Remote Synthesis | Blog
Some strategies for local testing with SSL
7年前
記事のアイキャッチ画像
Running Great Technical Conferences
Remote Synthesis | Blog
What makes a great technical conference? I share my thoughts.
10年前
記事のアイキャッチ画像
Tips for Running Virtual Meetups and Events
Remote Synthesis | Blog
I share tips and advice from my experiences running online meetups, workshops and events.
+
5年前
記事のアイキャッチ画像
Does the Serverless Edge Live Up to the Hype?
Remote Synthesis | Blog
A lot of promises have been made about the serverless edge. Does it meet them?
2年前
記事のアイキャッチ画像
Should I Build It?
Remote Synthesis | Blog
A look at the ethical dilemmas facing today's developers.
6年前
記事のアイキャッチ画像
Thoughts on the Stack Overflow Developer Survey Results
Remote Synthesis | Blog
Lots of interesting details to unpack
8年前
記事のアイキャッチ画像
Some Things You May Have Missed in the Stack Overflow Developer Survey
Remote Synthesis | Blog
Let's dig into the data a little bit.
7年前
記事のアイキャッチ画像
Some Things You May Have Missed in the Stack Overflow Developer Survey (2019 Edition)
Remote Synthesis | Blog
A quick look at some highlights from the latest edition of StackOverflow's survey
6年前
記事のアイキャッチ画像
Starting Anew
Remote Synthesis | Blog
My blog - starting over from scratch.
11年前
記事のアイキャッチ画像
Thoughts on the State of JS Survey
Remote Synthesis | Blog
A look at the latest edition of the largest JavaScript developer survey.
5年前
記事のアイキャッチ画像
Rising Stars for Static Site Generators in 2016
Remote Synthesis | Blog
Probably not who you're expecting.
8年前
記事のアイキャッチ画像
Working with Static Sites Officially Available from O'Reilly
Remote Synthesis | Blog
If you like the feel of print, you got it.
8年前
記事のアイキャッチ画像
The Constant Stream of Tech Layoffs
Remote Synthesis | Blog
This industry can be brutal.
8年前
記事のアイキャッチ画像
Technical Debt is Not Just Technical
Remote Synthesis | Blog
Many factors can influence technical debt and many of them have nothing to do with code.
6年前
記事のアイキャッチ画像
That Topic Has Already Been Covered!
Remote Synthesis | Blog
Don't let this intimidate you into not sharing!
+7年前
記事のアイキャッチ画像
The Art of the CFP: Getting Your Session Accepted
Remote Synthesis | Blog
The Call for Papers (CFP) process can be a difficult rite of passage for many developers looking to speak at conferences. These tips should help you succeed.
2年前
記事のアイキャッチ画像
The Price Developers Pay for Loving Their Tools Too Much
Remote Synthesis | Blog
Developers are passionate about their tools - sometimes to a fault. There is value in being open to change and new directions.
2年前
記事のアイキャッチ画像
The Web is Boring
Remote Synthesis | Blog
I think the web has lost its luster lately due to a lack of innovation.
10年前
記事のアイキャッチ画像
The Web's Failure as an Information Platform
Remote Synthesis | Blog
The once Information Superhighway has become jammed with ads and lies.
8年前
記事のアイキャッチ画像
TheJam.dev 2024 - A Free, 2-day Virtual WebDev Conference
Remote Synthesis | Blog
We're less than a week away from the best event of the year. Ok, I'm biased, but take a look.
1年前
記事のアイキャッチ画像
Thinking in Jamstack
Remote Synthesis | Blog
One of the more difficult things a new Jamstack developer can face is a change in mind set about when to render content.
4年前
記事のアイキャッチ画像
Tools for Writing and Converting Markdown
Remote Synthesis | Blog
Some useful tools for when you need to convert other formats to Markdown.
10年前
記事のアイキャッチ画像
14 of My Favorite Developer Blog Posts in 2018
Remote Synthesis | Blog
In 2018, we focused on performance, mobile and how tough it can be to be (or become) a dev.
6年前
記事のアイキャッチ画像
Troll Culture Goes Mainstream
Remote Synthesis | Blog
It's more than just Washington.
8年前
記事のアイキャッチ画像
Twitter Tries to Rein in Abuse
Remote Synthesis | Blog
Let's hope this works.
+8年前
記事のアイキャッチ画像
The Continued Failure of the Web as an Information Platform
Remote Synthesis | Blog
Twitter's slow failure is yet another example.
8年前
記事のアイキャッチ画像
Update Fails on ffi Install in Ruby
Remote Synthesis | Blog
Saving you the headaches I had.
8年前
記事のアイキャッチ画像
Using Netlify to the Fullest
Remote Synthesis | Blog
Finally taking advantage of some of the platform's more advanced features.
6年前
記事のアイキャッチ画像
Tips For Running Your First Virtual Conference
Remote Synthesis | Blog
Some tips and things to think about when choosing to run a virtual developer conference based upon my recent experiences.
4年前
記事のアイキャッチ画像
Why are Web Developers Hostile to Audio?
Remote Synthesis | Blog
Web developers refuse to integrate audio in their applications. Why?
10年前
記事のアイキャッチ画像
Knowing the Web's History is Critical to Its Present and Future
Remote Synthesis | Blog
Understanding the history of the web will help guide you to its future.
5年前
記事のアイキャッチ画像
When an SSG Isn't Just an SSG, What Is It?
Remote Synthesis | Blog
Many tools we still call SSGs don't produce static-only content.
3年前
記事のアイキャッチ画像
What is Linkbait?
Remote Synthesis | Blog
A term that has become overloaded.
9年前
記事のアイキャッチ画像
What the Web Owes Flash
Remote Synthesis | Blog
Flash helped make the web what it is today.
8年前
記事のアイキャッチ画像
What's Wrong with the Tech Interview Process?
Remote Synthesis | Blog
There is widespread belief that the tech interview process is broken but little in the way of movement to change it.
5年前
記事のアイキャッチ画像
Which Free Code Editor Is Right For You?
Remote Synthesis | Blog
What's the current state of free code editors?
9年前
記事のアイキャッチ画像
Which Static Site Generator Should You Choose?
Remote Synthesis | Blog
+Which static site generator do I recommend? The simple answer is easy.
9年前
記事のアイキャッチ画像
Working the Writing Muscle
Remote Synthesis | Blog
Ignore it and you lose it!
8年前
記事のアイキャッチ画像
Working with Static Site Generators
Remote Synthesis | Blog
A full book from O'Reilly devoted to building static sites.
8年前
記事のアイキャッチ画像
Tips for Writing for a Tech Audience
Remote Synthesis | Blog
+What makes a good article for a developer audience?
10年前
記事のアイキャッチ画像
3 Tips for Writing Great Tech Posts
Remote Synthesis | Blog
Some broad guidelines for writing technical or code-focused blog posts and articles
6年前
\ No newline at end of file diff --git a/blogs/e8e8dd8e7f96ccbcfb57767d55bc8996/index.html b/blogs/e8e8dd8e7f96ccbcfb57767d55bc8996/index.html new file mode 100644 index 000000000000..f32a4f12e4ca --- /dev/null +++ b/blogs/e8e8dd8e7f96ccbcfb57767d55bc8996/index.html @@ -0,0 +1,92 @@ +The Astro Blogのフィード|JSer.info Watch List RSS

The Astro Blog

https://astro.build/

Astro builds fast content sites, powerful web applications, dynamic server APIs, and everything in-between.

フィード

記事のアイキャッチ画像
What's new in Astro - January 2025
はてなブックマークアイコン 1
The Astro Blog
January 2025 - Starting the year off with a bang!
8日前 +
記事のアイキャッチ画像
Astro 5.2
はてなブックマークアイコン 3
The Astro Blog
+Astro 5.2 is now available! The first minor release of 2025 includes Tailwind 4 support, a new way to access config values in your pages, better trailing slash handling, and support for external redirects.
9日前
記事のアイキャッチ画像
2024 year in review
The Astro Blog
Revisit everything that happened in Astro last year: new feature releases, survey results, Astro Together, and more!
22日前
記事のアイキャッチ画像
What's new in Astro - December 2024
The Astro Blog
December 2024 - Astro 5, State of JS, Google IDX partnership, and more!
1ヶ月前
記事のアイキャッチ画像
Astro 5.1
+The Astro Blog
Astro 5.1 is now available. This includes a new experimental sessions feature, improved caching for images, and new tools for building Astro Actions.
2ヶ月前
記事のアイキャッチ画像
Astro 5.0
The Astro Blog
Astro 5.0 brings exciting new features like the Astro Content Layer for seamless content loading from any source, and Server Islands for effortlessly combining static and dynamic personalized content.
2ヶ月前
+
記事のアイキャッチ画像
Google IDX: Our Official Online Editor Partner
The Astro Blog
We are happy to announce that Google IDX has become Astro’s official online editor partner, donating $10,000 each month towards the ongoing open-source maintenance and development of Astro.
2ヶ月前
記事のアイキャッチ画像
What's new in Astro - November 2024
The Astro Blog
November 2024 - Astro joins Bluesky, Vite 6, and more!
2ヶ月前
記事のアイキャッチ画像
What's new in Astro - October 2024
The Astro Blog
October 2024 - The State of Frontend 2024, Astro Cloudinary, and more!
3ヶ月前
記事のアイキャッチ画像
Astro x Cloudinary SDK
The Astro Blog
We are happy to partner with Cloudinary to launch the Astro x Cloudinary SDK: a comprehensive API for building with images and videos in Astro.
4ヶ月前
記事のアイキャッチ画像
What's new in Astro - September 2024
The Astro Blog
September 2024 - Beta 5.0, Astro Storefront, $100,000 Ecosystem Fund update, and more!
4ヶ月前
記事のアイキャッチ画像
Community Loaders for Astro Content Layer
The Astro Blog
+An overview of some of the early and promising loaders for Astro's Content Layer.
5ヶ月前
記事のアイキャッチ画像
Astro x Hygraph: Content Loader
The Astro Blog
We are excited to announce Hygraph as a launch partner for Astro Content Layer.
5ヶ月前
記事のアイキャッチ画像
Astro x Cloudinary: Content Loader
The Astro Blog
We are happy to announce Cloudinary as a launch partner for the Astro Content Layer API.
5ヶ月前
記事のアイキャッチ画像
Astro x Storyblok: Content Loader
The Astro Blog
+We are excited to announce Storyblok as a launch partner for Astro Content Layer.
5ヶ月前
記事のアイキャッチ画像
Content Layer: A Deep Dive
The Astro Blog
There's a new way to handle content in Astro. Take a deep dive into the Content Layer API, and learn how it can help you build even more kinds of sites using Astro.
5ヶ月前
記事のアイキャッチ画像
Starlight 0.28
The Astro Blog
Meet the latest Starlight features: i18next, on-demand rendering support, sidebar persistence, smart tabs, and more for your docs.
5ヶ月前
記事のアイキャッチ画像
Astro 5.0 Beta Release
+The Astro Blog
The first beta for Astro 5.0 beta is now available for you to try!
5ヶ月前
記事のアイキャッチ画像
The $100,000 Astro Ecosystem Fund Fall Update
The Astro Blog
+Astro — the web framework for building content-driven websites like blogs, marketing, and e-commerce — is giving away $100,000 to support other open-source projects in our ecosystem that improve the lives of Astro users everywhere, every day. Here's an update on the program, including two new grants.
5ヶ月前
記事のアイキャッチ画像
Goodbye Studio, Hello DB
The Astro Blog
+We have decided to wind down Astro Studio and open up Astro DB to connect to any libSQL database, including Turso. Read on to hear what comes next for Astro and Astro DB.
5ヶ月前
記事のアイキャッチ画像
What's new in Astro - August 2024
The Astro Blog
August 2024 - Content Layer API (experimental), Astro Actions, and more!
5ヶ月前
記事のアイキャッチ画像
Astro 4.15
The Astro Blog
Astro 4.15 is now available! This release stabilizes Astro Actions — our solution for fully type-safe backend functions. Also included: support for libSQL remotes in Astro DB, a new timeout option for `client:idle`, and more.
5ヶ月前
記事のアイキャッチ画像
Astro 4.14
The Astro Blog
Astro 4.14 is available now! This release includes the first experimental version of the Content Layer API, experimental support for Intellisense inside content files, and more.
6ヶ月前
記事のアイキャッチ画像
Astro 4.13
The Astro Blog
Astro 4.13 is now available! This release includes stabilized experimental features, logging improvements, and more.
6ヶ月前
記事のアイキャッチ画像
What's new in Astro - July 2024
The Astro Blog
July 2024 - Server islands, Netlify partnership, and more!
6ヶ月前
記事のアイキャッチ画像
Astro 4.12: Server Islands
The Astro Blog
Astro 4.12 is now available! This release includes includes the first experimental release of Server Islands, improvements to pagination and syntax highlighting, and more.
7ヶ月前
記事のアイキャッチ画像
Netlify: Our Official Deployment Partner
The Astro Blog
+We are happy to announce that Netlify has become Astro’s official deployment partner, donating $12,500 each month towards the ongoing open source maintenance and development of Astro.
7ヶ月前
記事のアイキャッチ画像
What's new in Astro - June 2024
The Astro Blog
June 2024 - Celebrating Astro, together!
7ヶ月前
記事のアイキャッチ画像
Astro 4.11
The Astro Blog
Astro 4.11 is out with custom 500 page improvements and Shiki transformers in the Code component.
8ヶ月前
記事のアイキャッチ画像
Astro Together 2024
The Astro Blog
+A look back at our meetup in Montreal
8ヶ月前
記事のアイキャッチ画像
Server Islands
The Astro Blog
Part three of our series on The Future of Astro, covering a new island architecture pattern for dynamic content rendered inside of fast, CDN-cached static pages.
8ヶ月前
記事のアイキャッチ画像
The Astro Content Layer
The Astro Blog
Part two of our series on The Future of Astro, covering our plans for the next evolution of content management in Astro.
8ヶ月前
記事のアイキャッチ画像
Zero-JavaScript View Transitions
The Astro Blog
Part one of our series on The Future of Astro. Browser-native page transitions are now possible with zero JavaScript required.
8ヶ月前
記事のアイキャッチ画像
Astro 4.10
The Astro Blog
Astro 4.10 is out with experimental type-safe environment variables, as well as enhancements to the Container API and Rewrites.
8ヶ月前
記事のアイキャッチ画像
Starlight turns one year old!
The Astro Blog
Discover the latest news from 12 months of Starlight development
8ヶ月前
記事のアイキャッチ画像
What's new in Astro - May 2024
The Astro Blog
May 2024 - Celebrating Astro, together!
8ヶ月前
記事のアイキャッチ画像
Astro 4.9
The Astro Blog
Astro 4.9 is now available! This release includes the long-awaited Container API, stabilized experimental features, and more.
9ヶ月前
記事のアイキャッチ画像
Astro 4.8
The Astro Blog
Astro 4.8 is here! This release includes experimental support for Astro actions and request rewriting, performance improvements, and more.
9ヶ月前
記事のアイキャッチ画像
What's new in Astro - April 2024
The Astro Blog
April 2024 - Passing 10,000,000 downloads on NPM, getting together in Montreal, and more!
9ヶ月前
記事のアイキャッチ画像
Astro 4.7
The Astro Blog
Astro 4.7 is out now! This release includes significant improvements to the API for making toolbar apps, a new way to keep yourself up to date, and more.
9ヶ月前
記事のアイキャッチ画像
Astro 4.6
The Astro Blog
Astro 4.6 is here! This release includes a new manual routing strategy for internationalization, the ability to move the dev toolbar, experimental support for CSRF protection, and more.
10ヶ月前
記事のアイキャッチ画像
What's new in Astro - March 2024
The Astro Blog
March 2024 - Astro DB, Astro Developer Portal and so much more
10ヶ月前
記事のアイキャッチ画像
Migrating 500+ tests from Mocha to Node.js
The Astro Blog
A retrospective of how Astro migrated more than 500 test suites from Mocha to Node.js test runner.
10ヶ月前
記事のアイキャッチ画像
Astro DB: A Deep Dive
The Astro Blog
Yesterday we launched a fully managed SQL database service designed exclusively for the Astro web framework. Let's dive into the implementation details of Astro DB: how it works, why we built it, and why we're adopting libSQL.
1年前
記事のアイキャッチ画像
The Astro Developer Portal
The Astro Blog
Today, we’re launching the Astro Developer Portal, a platform where theme authors can submit, manage, and promote their themes built for Astro.
1年前
記事のアイキャッチ画像
Astro DB
The Astro Blog
Astro DB is here! Astro DB is a fully managed SQL database designed exclusively for Astro. It is fast, lightweight, and ridiculously easy-to-use. +
1年前
記事のアイキャッチ画像
Astro 4.5
The Astro Blog
Astro 4.5 is out! This release includes a new Dev Audit UI, View Transition improvements, Shiki 1.0, multi-CDN asset prefixing, and more!
1年前
記事のアイキャッチ画像
Astro + Volar = 💖
The Astro Blog
Astro relies on the hard work and dedication of several open-source projects, and we are extremely thankful to the maintainers of each and every one. In this article, we'd like to highlight one specific project that made a significant impact to the Astro experience: Volar.
1年前
記事のアイキャッチ画像
What's new in Astro - February 2024
+The Astro Blog
Leap into Astro news with a bonus February day!
1年前
記事のアイキャッチ画像
Astro 4.4
The Astro Blog
Astro 4.4 is now available! This release includes the addition of performance audits for the dev toolbar, performance upgrades, the ability to automatically infer the dimensions of remote images, and more.
1年前
記事のアイキャッチ画像
Astro 4.3
The Astro Blog
Astro 4.3 is out now! This release includes support for domain routing in i18n, better support for relative images in Markdown, a new `ComponentProps` type export, and more.
1年前
記事のアイキャッチ画像
+What's new in Astro - January 2024
The Astro Blog
2023 was a huge year for Astro, and 2024 is already shaping up to be even bigger. Let's dive into the updates!
1年前
記事のアイキャッチ画像
Astro 4.2
The Astro Blog
Astro 4.2 is out now! This release includes two new experimental features to try out, improvements to accessibility rules, and more.
1年前
記事のアイキャッチ画像
Astro 4.1
The Astro Blog
Astro 4.1, our first release of the new year, is here! This release includes new accessibility audit rules, an extended `client:visible` directive, and more.
1年前
記事のアイキャッチ画像
What's new in Astro - December 2023
The Astro Blog
December: last month of the year, a time to reflect on all the amazing things we've shipped, including Astro 4.0!
1年前
記事のアイキャッチ画像
No More Bottlenecks
The Astro Blog
How Thinkmill Reduced Dependencies on Senior Developers with Astro
1年前
+
記事のアイキャッチ画像
Building a community of builders
The Astro Blog
Today, we launch our newest initiative to recognize people in our community who go above and beyond, including our very own maintainers.
1年前
記事のアイキャッチ画像
Slashing Development Costs
The Astro Blog
How WP Engine Lowered Development Costs by Over 50% with Astro’s Starlight
1年前
記事のアイキャッチ画像
Sentry: Our Official Monitoring Partner
The Astro Blog
Sentry is Astro's new official monitoring partner. To celebrate, we're featuring Spotlight, a rich debug overlay from Sentry.
1年前
記事のアイキャッチ画像
Astro 4.0
The Astro Blog
Astro 4.0 is here! New APIs, faster builds, redesigned docs, and a unique new Dev Toolbar for Astro that enhances your local dev environment in new and exciting ways.
1年前
記事のアイキャッチ画像
The $100,000 Astro Ecosystem Fund
The Astro Blog
Astro — the web framework for building content-driven websites like blogs, marketing, and e-commerce — is giving away $100,000 to support other open-source projects in our ecosystem that improve the lives of Astro users everywhere, every day.
1年前
記事のアイキャッチ画像
What's new in Astro - November 2023
The Astro Blog
November: the month of migrating the Astro Docs to Starlight, 3 Starlight minor releases, new view transition events and more! Read more about what's new in Astro this month.
1年前
記事のアイキャッチ画像
Astro 4.0 Beta Release
The Astro Blog
The first Astro 4.0 beta release is now available for you to try out in any existing Astro project! Stay tuned for more information about the upcoming Astro 4.
1年前
記事のアイキャッチ画像
Astro 3.5: i18n Routing
The Astro Blog
Astro 3.5 is out! It includes experimental support for i18n routing, prefetch for speedier page loads, form support with ViewTransitions, image optimization improvements, and more.
1年前
記事のアイキャッチ画像
What's new in Astro - October 2023
The Astro Blog
Another busy month in Astro! From Hacktoberfest to releasing Page Partials. Read up on everything that happened this month in the Astro universe.
1年前
記事のアイキャッチ画像
Astro 3.4: Page Partials
The Astro Blog
+Astro 3.4 is now released with support for page partials, improved image optimization performance, and an early preview of a new dev overlay.
1年前
記事のアイキャッチ画像
Web Pages in Half The Time
The Astro Blog
Why Microsoft Chose Astro to Build Their Fluent 2 Design System Website
1年前
記事のアイキャッチ画像
Astro 3.3: Picture component
The Astro Blog
Astro 3.3 is out with a brand new, experimental Picture component, improved compatibility for syntax highlighting, and package provenance.
1年前
記事のアイキャッチ画像
Astro @ ViteConf 2023
The Astro Blog
+See you at ViteConf! Hear from members of the Astro core team, alongside an amazing lineup of projects from the Vite ecosystem.
1年前
記事のアイキャッチ画像
Astro 3.2: View Transitions improvements
The Astro Blog
Astro 3.2 is out with several improvements to View Transitions, including the ability to control the history stack, and a JavaScript navigation API
1年前
記事のアイキャッチ画像
How Astro does i18n
The Astro Blog
Leading open-source documentation with and for an international community.
1年前
記事のアイキャッチ画像
Astro 3.0
The Astro Blog
+30% faster and more powerful than ever, Astro 3.0 is here! Includes new features and enhancements around View Transitions, Image Optimization, Fast Refresh JSX and more.
1年前
記事のアイキャッチ画像
Vercel: Our Official Hosting Partner
The Astro Blog
Vercel is Astro's new official hosting partner. To celebrate, we're launching new features for Astro users who deploy to Vercel's frontend cloud.
1年前
+
記事のアイキャッチ画像
Release Content Faster
The Astro Blog
How Firebase Cut Blog Publishing From Hours to Minutes with Astro
1年前
記事のアイキャッチ画像
Astro 2.10: Persistent State in View Transitions
The Astro Blog
Persistent UI in View Transitions and our first look at Astro 3.0
2年前
記事のアイキャッチ画像
Astro 2.9: View Transitions (experimental)
The Astro Blog
Astro 2.9 is out with experimental support for View Transitions, allowing smooth page transitions.
2年前
記事のアイキャッチ画像
Content for Everyone
The Astro Blog
How Astro Helped Contenda Build a Content-Sharing Platform in One Month
2年前
記事のアイキャッチ画像
Better Images in Astro
The Astro Blog
A new feature brings built-in image optimization to Astro. Coming in Astro 3.0, you can opt-in to try it yourself in today. Images in Astro have been completely redesigned with more features, faster performance, and a better end-user experience with automatic layout shift prevention.
2年前
記事のアイキャッチ画像
Astro 2.6: Middleware
The Astro Blog
+A handful of experimental features go stable in Astro 2.6 including middleware, hybrid SSR output mode, custom client directives, and CSS inlining. Experimental support for a new redirects API is also introduced.
2年前
記事のアイキャッチ画像
Astro 2.5
The Astro Blog
Data collections • Hybrid rendering • Custom client directives • HTML minification • Parallelized rendering • Polymorphic type helper • More!
2年前
記事のアイキャッチ画像
Astro 2.4
The Astro Blog
Stronger CSS scoping • Code component improvements • Middleware • CSS inlining • More!
2年前
記事のアイキャッチ画像
Astro 2.2
The Astro Blog
CDN support for assets • image() schema helper API change • Much more!
2年前
記事のアイキャッチ画像
CloudCannon announces official support for Astro
The Astro Blog
CloudCannon, a popular Git-based CMS for static site generators, has announced full support for Astro.
2年前
記事のアイキャッチ画像
Astro 2.1
The Astro Blog
Introducing built-in image support • Markdoc integration • Watch mode for astro check • New TypeScript helpers and more!
2年前
記事のアイキャッチ画像
2023 Web Framework Performance Report
The Astro Blog +
A look at how different web frameworks perform in the real world in 2023. Based on real-world, production data from HTTP Archive and Google Chrome.
2年前
記事のアイキャッチ画像
Welcome, World
The Astro Blog
Astro's new look is live! Learn all about our new brand including the design process, our new logo, typeface, color palette, and mascot.
2年前
記事のアイキャッチ画像
WebStorm announces official support for Astro
The Astro Blog
WebStorm, the popular IDE for Javascript by JetBrains, has announced initial support for Astro. Features include syntax highlighting, code completion, refactorings, navigation, intentions, code folding, Emmet support, and correct formatting.
2年前
記事のアイキャッチ画像
Astro Community Awards 2022
The Astro Blog
The Astro Community Awards for 2022 have been announced! These awards recognize the Astro community members who went above and beyond the past year. Read more to find out who was recognized!
2年前
記事のアイキャッチ画像
Unlock New Possibilities with Hybrid Rendering
The Astro Blog
New in Astro 2.0: Hybrid rendering unlocks the best of both worlds—choose between the performance of static pages or the full flexibility of server rendering for each page of your website.
2年前
記事のアイキャッチ画像
Introducing Content Collections: Type-Safe Markdown in Astro 2.0
The Astro Blog
+New in Astro 2.0: Content Collections deliver a better developer experience for working with local content like Markdown and MDX. Powered by TypeScript, your local content is now automatically typed and validated for you against a schema so that you never miss or misspell another frontmatter property name again.
2年前
記事のアイキャッチ画像
Astro 2.0
The Astro Blog
+Astro 2.0 is here! Astro 2.0 is the first major web framework to deliver complete type-safety for Markdown and MDX. Other release highlights include: Hybrid Rendering • Redesigned Error Overlays • Improved Dev Server and HMR • Vite 4.0 • A New Public Roadmap
2年前
記事のアイキャッチ画像
Themes Catalog Updates
The Astro Blog
Announcing the new and improved themes catalog. Now with support for more detailed theme descriptions and paid themes.
2年前 +
記事のアイキャッチ画像
Announcing the Astro Tutorial
The Astro Blog
Wrapping up Astro Docs week with our biggest Docs announcement to date: our first Astro Tutorial.
2年前
記事のアイキャッチ画像
Hacktoberfest with Astro Docs
The Astro Blog
It’s Astro Docs week! See how we hacked Hacktoberfest to celebrate our awesome contributors this October.
2年前
記事のアイキャッチ画像
Astro 1.5.0 Release
The Astro Blog
Introducing: Adapter support for astro preview • Node.js standalone mode • HMR improvements • New API route params
2年前
+
記事のアイキャッチ画像
Astro @ ViteConf 2022
The Astro Blog
See you at ViteConf! We have a ton of speakers from Astro giving talks and appearing on panels, alongside an amazing lineup.
2年前
記事のアイキャッチ画像
+Astro 1.4.0 Release
The Astro Blog
Introducing: Astro.cookies • Strict dependency installation • Better control over style ordering • JSX in Vue components
2年前
記事のアイキャッチ画像
Storyblok Becomes Astro's Official CMS Partner
The Astro Blog
We are happy to announce that Storyblok has become Astro’s exclusive CMS partner, donating $2,500 each month towards the ongoing open source maintenance and development of Astro. +
2年前
記事のアイキャッチ画像
Astro Contributor Awards: September 2022 Edition
The Astro Blog
Every few months, we distribute 100% of our sponsorship funds for an entire month to the standout members of our community. These awards go to recognize the people who go above and beyond to improve Astro in some way, contributing inside and outside of our community.
2年前
記事のアイキャッチ画像
Astro 1.0
The Astro Blog
Astro 1.0 is out now! Astro is a web framework for building fast, content-focused websites. Performance powered by Astro next-gen island architecture. Learn more about Astro 1.0 release, our new website, and what people are saying about Astro.
2年前
記事のアイキャッチ画像
Astro 1.0 Release Update
The Astro Blog
Just announced: The Astro v1.0.0 release date has been pushed back to late July.
3年前
記事のアイキャッチ画像
Vercel launches zero-configuration support for Astro
The Astro Blog
You can now deploy Astro projects to Vercel with ease.
3年前
記事のアイキャッチ画像
Astro on Netlify Edge Functions
The Astro Blog
Announcing support for the new Netlify Edge Functions platform
3年前
記事のアイキャッチ画像
The Astro 1.0 Hackathon is Here
The Astro Blog
4 weeks. Fully remote. 3 awesome Astro categories. $15,000 in prizes. What are you waiting for?
3年前
記事のアイキャッチ画像
Introducing The Astro Showcase
The Astro Blog
Explore beautiful community websites built with Astro.
3年前
記事のアイキャッチ画像
Astro Contributor Day
The Astro Blog
Happy Astro Contributor Day! Who are some of our awesome contributors? Where does Astro's sponsorship 💰 go? How does Astro give back to OSS? Lets get into it!
3年前
記事のアイキャッチ画像
Astro Themes & Integrations
The Astro Blog
Introducing: a growing catalog of themes, components, and integrations to jumpstart your next Astro project.
3年前
記事のアイキャッチ画像
Server-Side Rendering with Astro
The Astro Blog
Announcing experimental support for server-side rendering in Astro
3年前
記事のアイキャッチ画像
Astro 1.0 Beta Release
The Astro Blog
The Astro 1.0 Beta is now available! This release marks the stabilization of all major APIs, with no more major breaking changes planned between now and the official v1.0 release.
3年前
記事のアイキャッチ画像
+Astro Beta Launch Week
The Astro Blog
incoming transmission // attention space cadets...
3年前
記事のアイキャッチ画像
Astro 0.25 Release Notes
The Astro Blog
Introducing: a new integration system • a new "add" command • shiki syntax highlighting • improved CLI build output
3年前
記事のアイキャッチ画像
Astro 0.23 Release Notes
The Astro Blog
Introducing: Dynamic file routes • Automatic XSS protection • two new component directives • vite 2.8 • and more!
3年前
記事のアイキャッチ画像
Scaling Astro to 10,000+ Pages
The Astro Blog
A new experimental flag in Astro build enables building sites with tens of thousands of pages.
3年前
記事のアイキャッチ画像
Announcing The Astro Technology Company
The Astro Blog
The Astro Technology Company has formed to support the Astro open source project and build a better platform for web developers everywhere.
3年前
記事のアイキャッチ画像
Astro 0.21
The Astro Blog
Astro v0.21.0 is finally here!
3年前
記事のアイキャッチ画像
Astro 0.21 Preview: Vite + WASM = ⚡️
The Astro Blog
Get a sneak preview of what is next for Astro, including our new Vite build engine and WASM-powered Go compiler.
3年前
記事のアイキャッチ画像
Astro Demo Day September Edition
The Astro Blog
Astro September Demo Day was today and we had 4 amazing talks, including one with big announcements on the future direction of Astro.
3年前
記事のアイキャッチ画像
Introducing the Astro REPL
The Astro Blog
The power of Astro, right in your browser.
3年前
記事のアイキャッチ画像
Netlify Becomes Astro's Official Hosting Partner
The Astro Blog +
We are happy to announce that Netlify has become Astro’s first corporate sponsor and exclusive hosting partner, donating $2,500 each month towards the ongoing open source maintenance and development of Astro.
3年前
記事のアイキャッチ画像
Astro 0.19
The Astro Blog
Introducing: Next.js-inspired dynamic routing • Astro.resolve() • client:only components • translations • and more!
3年前
記事のアイキャッチ画像
Astro 0.18 Release
The Astro Blog
Introducing: Responsive partial hydration • Solid.js support • Lit SSR support • Named slots • Global style support • and more!
4年前
記事のアイキャッチ画像
+Introducing Astro: Ship Less JavaScript
The Astro Blog
We're excited to announce Astro as a new way to build static websites and deliver lightning-fast performance without sacrificing a modern developer experience.
4年前
\ No newline at end of file diff --git a/blogs/e985f655c00c68f4eb7353ab5b8261fb/index.html b/blogs/e985f655c00c68f4eb7353ab5b8261fb/index.html new file mode 100644 index 000000000000..03efb26ad773 --- /dev/null +++ b/blogs/e985f655c00c68f4eb7353ab5b8261fb/index.html @@ -0,0 +1,430 @@ +Marmelab blogのフィード|JSer.info Watch List RSS

Marmelab blog

フィード

記事のアイキャッチ画像
Handling Relationships in React Admin
Marmelab blog
Learn how React Admin can help you manage relational models, from simple to complex relationships like many-to-many.
2日前
記事のアイキャッチ画像
Best Open Source CRM for 2025
Marmelab blog
A developer-friendly comparison of the best self-hosted CRMs for small businesses. Compare flexibility, integrations, and ease of use.
5日前
記事のアイキャッチ画像
Beyond Buttons: Using AI Agents To Augment Web Apps
Marmelab blog
How to integrate LLM-based features into existing web apps? One of the keys is to allow an iterative approach via a conversational UI.
8日前
記事のアイキャッチ画像
How to build a CMS with React-Admin
Marmelab blog
Many applications require a user interface to manage and edit content. This post demonstrates how to create a basic headless CMS using PostgreSQL, React-Admin, and Supabase.
15日前
記事のアイキャッチ画像
DevFest Dijon 2024: Retour sur les bancs de la fac
Marmelab blog
Voici un résumé de nos sujets préférés durant le plus gros événement de la tech dijonnais
22日前
記事のアイキャッチ画像
React-admin: January 2025 Update
Marmelab blog
We've released two minor versions of react-admin v5 since the fall. Read on to learn about the new features and improvements we've added to the library.
1ヶ月前
記事のアイキャッチ画像
The Secret to Reliable AI Agents: Mastering Eval
Marmelab blog
While AI agents can be built in days, it takes weeks to find the best configuration to optimize cost, speed, relevancy, etc. Eval tools and frameworks are the key ingredients for this optimization phase.
2ヶ月前
記事のアイキャッチ画像
Who Needs Human Code Reviews When We Have AI?
Marmelab blog
+We automated proofreading our blog articles with a GitHub action leveraging an LLM. It even reviewed this very article!
2ヶ月前
記事のアイキャッチ画像
Un regard sur le Devfest Strasbourg 2024
Marmelab blog
Marmelab était au Devfest Strasbourg 2024. Voici ce qu'on en a pensé et ce qu'on y a découvert.
2ヶ月前
記事のアイキャッチ画像
Tech, Maroille, et bière. Marmelab était à la DevFest Lille !
Marmelab blog
Marmelab était à la conférence lilloise et vous raconte les conférences qui ont marqué leur esprit.
2ヶ月前
記事のアイキャッチ画像
Google OAuth in React: A Beginner’s Guide to Authentication
Marmelab blog
How to use Google Identity Services as the authentication provider in a React application, a step-by-step tutorial.
3ヶ月前
記事のアイキャッチ画像
API Platform Admin: The Ultimate Admin Generator For PHP
Marmelab blog
+
Watch the conference talk to discover how API Platform Admin can help you easily create powerful admin interfaces for PHP applications, without needing JavaScript knowledge.
3ヶ月前
記事のアイキャッチ画像
PostgREST: Revolutionizing Web Development with Instant APIs
Marmelab blog
+PostgREST has been around for a long time, but many web developers still haven't discovered how it can simplify their workflow.
3ヶ月前
記事のアイキャッチ画像
Behind the Code of Atomic CRM
Marmelab blog
Join François and Thor Schaeff from Supabase as they explore the technical journey of building Atomic CRM, the tools used, and the benefits of open-source development.
3ヶ月前
記事のアイキャッチ画像
useContextSelector: Speeding Up React Apps With Large Context
Marmelab blog
Tips and tricks to optimize the performance of your React app
4ヶ月前
記事のアイキャッチ画像
LLMs Are the CPUs of the AI Era
Marmelab blog
LLMs share similarities with CPUs but bring unique challenges like slower speeds and probabilistic behavior. To effectively use LLMs, we need new programming approaches, specialized developers, and adjustments in our educational system.
4ヶ月前
記事のアイキャッチ画像
+Le bestiaire des longs formulaires
Marmelab blog
Étapes, accordéons, onglets ou sommaire : quelle est la meilleure structure pour optimiser les longs formulaires ?
4ヶ月前
記事のアイキャッチ画像
React-admin: October 2024 Update
Marmelab blog
+We've released two minor versions of react-admin v5 since the summer. Read on to learn about the new features and improvements we've added to the library.
4ヶ月前
記事のアイキャッチ画像
Shape Up: Should You Change Your Agile Methodology?
Marmelab blog
Stop Running in Circles and Ship Work that Matters: It is the promise of this methodology that we are going to explore in greater depth.
4ヶ月前
+記事のアイキャッチ画像
Quel CDN d'images choisir en 2024 ?
Marmelab blog
Un CDN d'image accélère le chargement des pages web. Mais il y a tellement d'offres que l'on s'y perd. Nous avons pris le temps de sélectionner et de tester les meilleurs.
5ヶ月前
記事のアイキャッチ画像 +
GreenFrame Update: Easier Scenarios, Env Vars, and Improved Security
Marmelab blog
GreenFrame 2.0 is here! It's never been easier to measure and reduce your website's carbon footprint.
5ヶ月前
記事のアイキャッチ画像
Introducing Atomic CRM: the Open-Source Toolkit for Personalized Solutions
Marmelab blog
Every company has unique CRM needs, but custom solutions are costly. We built Atomic CRM—an open-source framework for custom CRMs—to tackle this challenge.
5ヶ月前
記事のアイキャッチ画像
Adding Voice Recognition To A Web App
Marmelab blog
+Speech-to-Text is becoming a common feature, and modern tooling makes it easier to implement. Read how we built an Aqua clone using Cloudflare Workers AI, OpenAI Whisper, and Vue3.
5ヶ月前
記事のアイキャッチ画像
DotJs 2025: Rediscovering JavaScript's Future
Marmelab blog
From the stunning venue to the captivating talks and valuable networking opportunities, the conference exceeded our expectations.
6ヶ月前
記事のアイキャッチ画像
5 Serious Games To Better Know Each Other
Marmelab blog
During this 10th edition of #play14, we have filled up on workshops to help you with your team building, and here are 5 more.
6ヶ月前
記事のアイキャッチ画像
4 Serious Games To Improve Collaboration
Marmelab blog
This year marked a special edition as #play14 celebrated its 10th anniversary. Here are four serious games you can use to improve team collaboration.
6ヶ月前
記事のアイキャッチ画像
Optimizing AI for Qwant: From Prototype to Production
Marmelab blog
+Marmelab partnered with Qwant to transform a promising AI prototype into a robust, production-ready agent. Discover how our expertise in AI evaluation and agile methodologies ensured a seamless and efficient deployment.
7ヶ月前
記事のアイキャッチ画像
Building An AI Assistant at the Edge
Marmelab blog
+Cloudflare recently launched Workers AI that provides machine learning model inference at the edge. This article explains how we built a simple AI Assistant using Nuxt and Llama 3 8B on Workers AI.
7ヶ月前
記事のアイキャッチ画像
Comment j'ai remplacé mon patron par une IA
Marmelab blog
Vous voudriez inverser la relation hiérarchique avec votre manager ou votre patron ? Voici une méthode facile et rapide ;) .
7ヶ月前 +
記事のアイキャッチ画像
Introducing React-Admin V5
Marmelab blog
After 6 months of hard work, the new major version of React-admin is here!
8ヶ月前
記事のアイキャッチ画像
Bpifrance et GreenFrame : Retour d’expérience
Marmelab blog
Nous avons interviewé Calange Favreau, responsable Cloud chez Bpifrance, qui est utilisateur de GreenFrame et engagé dans une démarche de réduction de son empreinte carbone numérique.
8ヶ月前
記事のアイキャッチ画像
MiXiT 2024 : La conférence Tech, Crêpes, et Éthique
Marmelab blog
+On a adoré la conférence lyonnaise sur la tech et sur ce qu'il y a autour. Voici nos talks préférés et les liens vers les rediffusions.
8ヶ月前
記事のアイキャッチ画像
Using AI To Autofill Forms With Wikipedia
Marmelab blog
Discover how AI can automate form completion from external sources, making data entry quick and efficient.
8ヶ月前
記事のアイキャッチ画像
GSAP In Practice: Avoid The Pitfalls
Marmelab blog
From SVG inconsistencies to resetting ScrollTrigger animations smoothly, or even FOUC prevention, we share practical solutions for GSAP pitfalls.
8ヶ月前
記事のアイキャッチ画像
Using React-Admin With React Native
Marmelab blog
React-admin can be used to build native mobile applications, which can also run on web browsers, thanks to its headless architecture.
9ヶ月前
記事のアイキャッチ画像
A State Management Tour: Atomic State With Jotai
Marmelab blog
I try to simplify my state management approach using an atomic tool, jotai
9ヶ月前
記事のアイキャッチ画像
React Paris 2024
Marmelab blog
If you missed React Paris 2024, here is a summary of the talks I found the most interesting.
9ヶ月前
記事のアイキャッチ画像
We don't talk about Bruno (The API Client)
Marmelab blog
Bruno is an innovative open-source IDE for APIs you won't be able to live without.
9ヶ月前
記事のアイキャッチ画像
Comment organiser sémantiquement les gros formulaires ?
Marmelab blog
L'expérience utilisateur sur les longs formulaires est un défi ergonomique. Découvrez les bonnes pratiques pour améliorer l'UX des grands formulaires.
9ヶ月前
記事のアイキャッチ画像
Highlight Search Terms In Page Content
Marmelab blog
+Leverage the CSS Custom Highlight API to highlight words within a larger body of text. This technique is compatible with all JS frameworks.
10ヶ月前
記事のアイキャッチ画像
LIT: A Lightweight Library For Building Web Components
Marmelab blog
To explore the LIT framework, I built a framework-agnostic accordion component that I managed to reuse in React and Vue.
10ヶ月前
記事のアイキャッチ画像
Trigger Animations On Scroll With GSAP
Marmelab blog
The GSAP ScrollTrigger plugin facilitates scroll-based animations like parallax scrolling and slide-in panels. Learn how to use it to create engaging user experiences.
10ヶ月前
Synchronize Backend and Frontend Types With tRPC
Marmelab blog
Experience seamless type synchronization across the stack with tRPC, freeing developers from tedious manual typing tasks.
10ヶ月前
記事のアイキャッチ画像
SnowCamp 2024 : Les talks à ne pas manquer
Marmelab blog +
Nous avons assisté à cette très bonne conférence tech généraliste. Voici nos talks préférés.
10ヶ月前
記事のアイキャッチ画像
GSAP Basics: Dive into Web Animations
Marmelab blog
GSAP is a powerful and open-source JS animation library. Here are the essentials to get you started.
10ヶ月前
記事のアイキャッチ画像
Cut Through The Noise: AI-Curated News Digests
Marmelab blog
With so many sources of information available, it's easy to become overwhelmed by information overload. Let's use AI to select and summarize the most relevant articles.
1年前
記事のアイキャッチ画像
OpenTelemetry in Practice: Instrumenting JavaScript Apps for Tracing
Marmelab blog
We've enabled OpenTelemetry on some of our Node.js APIs and their React client, and it was surprisingly easy. The full-stack traces let us debug faster. This hands-on guide explains how to do it.
1年前
記事のアイキャッチ画像
React Admin March 2024 Update
Marmelab blog
AG Grid, Versioning, Date inputs, improved providers, new themes, a new demo, Daisy UI, Cognito... and a YouTube channel!
1年前
記事のアイキャッチ画像
Automate Your Workflow With Git Hooks
Marmelab blog
+Git Hooks and Husky can be used to check the quality of your code, automate repetitive tasks or standardize commit messages.
1年前
記事のアイキャッチ画像
Build Type-Safe SQL Queries With Kysely
Marmelab blog
From database to query results, the Kysely query builder embraces strong typing with TypeScript.
1年前
記事のアイキャッチ画像
Write JavaScript Shell Scripts With Bun
Marmelab blog
JS developers can now write shell scripts with good performance with Bun Shell. This promising tool is still under development.
1年前
記事のアイキャッチ画像
Demystifying Monitoring: From Basics to OpenTelemetry
Marmelab blog
How to make sure that our application works well and catch any problem ASAP? Discover monitoring, from basic concepts to OpenTelemetry, a very promising open-source project.
1年前
記事のアイキャッチ画像
New client-side hooks coming to React 19
Marmelab blog
Data fetching and form handling are about to get easier in React, and not just in SSR apps.
1年前
記事のアイキャッチ画像
Continuous Migration: Keeping Users Uninterrupted
Marmelab blog
Struggling with disruptive app migrations? Discover a systematic strategy that enables progressive migration while maintaining a consistent and uninterrupted user interface.
1年前
記事のアイキャッチ画像
Documentation: The Key Enabler For Open-Source Success
Marmelab blog
Why investing in documentation pays off, and how to write great documentation, based on our experience with react-admin.
1年前
記事のアイキャッチ画像
Crystal clear reviews using Conventional Comments
Marmelab blog
If you've ever struggled when writing or reading a review, here's a way to simplify this essential process.
1年前
記事のアイキャッチ画像
The View Transition API: A New Way to Animate Page Transitions
Marmelab blog
A new, experimental API has landed on chromium-based browsers. It allows us to have better control of the transition between two pages.
1年前
記事のアイキャッチ画像
Optical Character Recognition on Handwritten Documents
Marmelab blog
+What is the state of the art in OCR of handwritten historical documents? We tested Open Source libraries and Cloud-based solutions, met researchers in the domain, and learned a lot in the process.
1年前
記事のアイキャッチ画像
Selling Open-Source Products Requires Sales & Marketing Skills
Marmelab blog
+In our journey to monetize a popular open-source project, we realized that mere engineering skills weren't sufficient. Acquiring sales and marketing expertise was essential to make our project profitable.
1年前
記事のアイキャッチ画像
Using React-Admin With Your Favorite UI Library
Marmelab blog
+The core of react-admin is UI-agnostic. This article explains how to build a react-admin application with Tailwind CSS and Daisy UI.
1年前
記事のアイキャッチ画像
From Open-Source Project to Marketable Product
Marmelab blog
How can you sell something that is free? We explain how we turned react-admin, a popular open-source project, into a profitable product.
1年前
記事のアイキャッチ画像
Displaying Test Screenshots in GitHub Actions
Marmelab blog
Build a CI workflow (GitHub or GitLab) to turn the screenshots taken after an e2e test failure (Cypress, Playwright) into CI artifacts.
1年前
記事のアイキャッチ画像
Anatomy Of A Profitable Open-Source Project
Marmelab blog
We open the books of react-admin, a profitable open-source project generating almost €1M in revenue. We hope this will assist other open-source developers in building their businesses.
1年前
記事のアイキャッチ画像
Turning Open-Source Into Profit: Our Journey
Marmelab blog
We’ve generated almost €1M with react-admin, an open-source developer tool. How did we do it? Here is our story, and it’s open-source, too.
1年前
記事のアイキャッチ画像
Milestones: The Secret Trick To Better Dependency Management
Marmelab blog
Milestones link code changes directly to specific release versions, boosting project clarity.
1年前
記事のアイキャッチ画像
Can You Fall In Love With An AI?
Marmelab blog
In the movie "Her", the hero falls in love with an AI. This is no longer science fiction: I managed to recreate the voice chat experience.
1年前
React Admin v4 Advanced Recipes: Creating a Record Related to the Current One
Marmelab blog
This practical tutorial shows how to use the routing and a custom button to improve user experience.
1年前
記事のアイキャッチ画像
+React Admin October 2023 Update
Marmelab blog
What? Another super-long article about react-admin updates? But when am I supposed to read this?
1年前
記事のアイキャッチ画像
Interview : LODEX, un outil open-source au service de la recherche
Marmelab blog
+Comment se passe le un projet de développement web avec Marmelab ? Nous avons interviewé Camille de Salabert et Nicolas Thouvenin de l'Inist CNRS pour en savoir plus sur leur expérience.
1年前
記事のアイキャッチ画像
React-Admin Authentication Using Active Directory
Marmelab blog
This tutorial will show you, step by step, how to configure a React-Admin application to use Azure Active Directory as an authentication provider.
1年前
記事のアイキャッチ画像
The current state of WASI in containers space
Marmelab blog
WASI takes more and more place in containers, but can we use it?
1年前
Building AI-Augmented Apps With React-Admin
Marmelab blog
Add AI superpowers to your web apps with the new PredictiveTextInput and SmartRichTextInput components.
1年前
記事のアイキャッチ画像
How Marmelab Transformed Accor's IT Architecture to Boost Revenue and Customer Experience
Marmelab blog
The largest hotel group in Europe approached us to assist in resolving delivery and performance issues with their mobile app development.
2年前
記事のアイキャッチ画像
Building a Kanban Board With React
Marmelab blog
How to develop a Trello-like board where users can drag and drop cards, using react and react-admin.
2年前
記事のアイキャッチ画像
React-Admin vs Refine: Feature Comparison
Marmelab blog
What is the best React framework for your next project? Make an informed decision with this detailed benchmark.
2年前
Internationalization with Polyglot.js and NestJS
Marmelab blog
See how to manage translation with Polyglot.js and a NestJS backend, and take advantage of interpolation and pluralization!
2年前
記事のアイキャッチ画像
React Admin June 2023 Update
Marmelab blog
Infinite pagination, dark mode, ReferenceOneInput, zero-config server-side validation, auto-saving forms, TreeInput, create-react-admin, and much more!
2年前
記事のアイキャッチ画像
Tech, Crêpes, et Éthique. Marmelab était à MiXiT !
Marmelab blog
La conférence lyonnaise sur la tech mais surtout sur ce qu'il y a autour.
2年前
記事のアイキャッチ画像
Building Artificial Consciousness With GPT-3
Marmelab blog
Meet Molly, a conversational agent with an inner monologue, who gives the illusion of consciousness.
2年前
記事のアイキャッチ画像
Is React Having An Angular.js Moment?
Marmelab blog
React Server Components, while innovative, risk causing division in the React community due to their potential to undermine Single-Page App architecture.
2年前
記事のアイキャッチ画像
+Convert GIF to WebM Files to Reduce the Carbon Footprint of Your Website
Marmelab blog
Reducing the size of the video assets of the React Admin documentation certainly is a simple way to reduce its carbon footprint. But this comes with some challenges. Hence, we've built a CLI tool to make the process easier.
2年前
記事のアイキャッチ画像
User-Centric Testing using React Testing Library
Marmelab blog
Learn how to use Vitest and React Testing Library to write unit and integration tests for a Search Component.
2年前
記事のアイキャッチ画像
Porting React-Admin to Solid
Marmelab blog
Is Solid.js mature enough to build complex web apps? What are the core differences with React? To answer these questions, we developed solid-admin. Let's dive in!
2年前
+
記事のアイキャッチ画像
Des pratiques commerciales open-source ?
Marmelab blog
Les développeurs et facilitateurs partagent souvent ici leurs secrets de fabrication. Les commerciaux, jamais. Il est temps de réparer cette injustice.
2年前
記事のアイキャッチ画像
Building A Custom Tags Selector With React-Admin
Marmelab blog
How react-admin data provider hooks streamline the development of complex components.
2年前
記事のアイキャッチ画像
What Is The Carbon Footprint Of Data Centers?
+Marmelab blog
My key takeaways about an academic conference held last month at Loria, where I learned about the carbon footprint of data centers and its impact.
2年前
記事のアイキャッチ画像
Reducing Our Impact: Marmelab's Pursuit of a Smaller Carbon Footprint
Marmelab blog
Our agency emits 2.2tCO2e per employee per year, less that half of the sector average. And we're actively working to reduce our carbon footprint.
+
2年前
記事のアイキャッチ画像
Let's Play Poker (Planning)
Marmelab blog
Building a collaborative Planning Poker Application with no server using peerJS.
2年前
記事のアイキャッチ画像
Using AI To Pilot A Racing Car With The Voice
Marmelab blog
We built a handless game with TensorFlow and JavaScript to learn how to integrate AI into web applications.
2年前
記事のアイキャッチ画像
Creating Custom Form Layouts With React Admin
+Marmelab blog
React Admin is a very convenient tool to create fully-featured forms quickly. Let's have a look at how to customize a form layout to improve its readability and the user experience.
2年前
記事のアイキャッチ画像
How Marmelab Helped iad Boost Transparency and Recruitment with Customizable Income Prediction Tool
Marmelab blog
+IAD disrupts traditional real estate by fostering independent consultants and enhancing their experience with a Marmelab-created revenue simulator.
2年前
記事のアイキャッチ画像
Building A Graphical User Interface in the Terminal using Go
Marmelab blog
For my onboarding at Marmelab, I built the Labyrinth game with a command line interface using Go and GOCUI.
2年前
記事のアイキャッチ画像
React Admin March 2023 Update
Marmelab blog
DataProvider callbacks, Count components, OAuth support, Custom Resource routes, and many more new features to discover in the last 2 releases.
2年前
記事のアイキャッチ画像
Using Copilot to Review Code And Fund Open-Source Projects
Marmelab blog
What if we could use AI to spot bugs, suggest improvements, and pay open-source developers for their work?
2年前
記事のアイキャッチ画像
Introducing Acme Refrigerator HelpDesk, A New React-Admin Demo
Marmelab blog
+The best way to learn react-admin is by looking at existing apps. Here is a new one to learn from.
2年前
記事のアイキャッチ画像
Are No-Code Tools A Good Choice For Developers?
Marmelab blog
Developers often use low-code tools like react-admin to increase their development speed. But what about no-code tools? How far can they get and are they nice to use?
2年前
+
記事のアイキャッチ画像
React Without useEffect
Marmelab blog
useEffect is the hardest part of React - and the most error-prone. What if we could build entire React apps without this hook? It's possible - but you need a framework.
2年前
記事のアイキャッチ画像
Rive: Animate Web UIs with State Machines
Marmelab blog
Rive helps you create animations with state-machine
2年前
記事のアイキャッチ画像
Marmelab Celebrates 10 Years Of Digital Innovation
Marmelab blog
+A decade of designing and developing web and mobile apps for clients: Let's look back on 10 years of exploration, sharing, and caring.
2年前
記事のアイキャッチ画像
EdgeDB, A New Competitor In The Database Area
Marmelab blog
How EgdeDb differs from other databases, does it compete, does it works? Let's check this.
2年前
記事のアイキャッチ画像
useAsyncEffect: The Missing React Hook
Marmelab blog
Introducing a new React hook that allows you to run asynchronous side effects in a simple way.
2年前
記事のアイキャッチ画像
Securely Managing Database Secrets With Vault
Marmelab blog
In this post, I will show how to setup the root and user credentials for a Postgres database in a truly secure way, leveraging a secret management system.
2年前
記事のアイキャッチ画像
How To Implement Web Login In A Private NPM Registry
Marmelab blog
NPM v9 is now using Web Login as its default authentication type. Let's see how it works and what it takes to implement it in a private registry.
2年前
記事のアイキャッチ画像
Multi-Tenant Single-Page Apps: Dos and Don'ts
Marmelab blog
How can you implement multitenancy in React, Vue, Svelte, or any other frontend framework?
2年前
+
記事のアイキャッチ画像
React Admin December 2022 Update
Marmelab blog
Configurable components, Edit in dialog, useInfiniteGetList, Discord server, better inputs documentation, and many more new features to discover in the last 3 releases.
2年前
記事のアイキャッチ画像
Building a B2B app with Strapi and React-Admin
Marmelab blog
Combining a backend-as-a-service and a low-code tool lets you develop web apps super fast
2年前
記事のアイキャッチ画像
Au coeur du Volcamp
+Marmelab blog
On a assisté à la conférence Volcamp en Auvergne, inflitrés au coeur du domaine du groupe LavaJUG. Voici ce qu'on en a retenu
2年前
記事のアイキャッチ画像
GreenFrame Is Open-Source
Marmelab blog
The best developer tool to measure the carbon footprint of websites is now free to use.
2年前
記事のアイキャッチ画像
Niji & GreenFrame, exemple d'un partenariat réussi
Marmelab blog
Niji a sponsorisé le support de Kubernetes dans GreenFrame, notre outil d'analyse de l'empreinte carbone des sites web.
2年前
記事のアイキャッチ画像
Writing A React-Admin Data Provider For Offline-First Applications
Marmelab blog
Can we use react-admin with only client-side storage? Leveraging LocalForage, which uses InnoDB and is not limited in size, react-admin becomes the ideal tool for offline-first web applications.
2年前
記事のアイキャッチ画像
+Copilot Made Me An Augmented Programmer
Marmelab blog
Programming with AI-powered assistants like GitHub Copilot feels like being in a science fiction movie - for better and for worse.
2年前
記事のアイキャッチ画像
React-admin, Now On Discord
Marmelab blog
The new place to discuss react-admin, ask questions, and get help.
2年前
+
記事のアイキャッチ画像
Create a CRUD API In Minutes With PostgREST
Marmelab blog
PostgREST lets developers expose a REST API based on an existing database with almost no code. Let's discover how setup this tool!
2年前
記事のアイキャッチ画像
Convertir un projet Docker Compose en Kubernetes, partie 2
Marmelab blog
Découvrons les fonctionnalités clés de K8s avec notre application fraîchement migrée.
2年前
記事のアイキャッチ画像
React I Love You, But You're Bringing Me Down
Marmelab blog
+We've come a long, long way together. You changed. Where do we go from here?
2年前
記事のアイキャッチ画像
Convertir un projet Docker Compose en Kubernetes, partie 1
Marmelab blog
Kubernetes n'est pas si complexe d'utilisation qu'on le dit. Voyons en douceur comment migrer depuis docker-compose.
2年前
記事のアイキャッチ画像
React Admin September 2022 Update
Marmelab blog
Since version 4.0, react-admin released many great features both in the open-source and enterprise editions. References and Forms, in particular, have received many upgrades.
2年前
記事のアイキャッチ画像
IA: Comment se faire battre par sa propre création
Marmelab blog
Pendant mon intégration chez Marmelab, j'ai développé un algorithme pour jouer à Abalone. Il est (vraiment) imbattable.
2年前
記事のアイキャッチ画像
Les ~10 préceptes de la revue de code
+Marmelab blog
Faire des revues de code, c'est bien, mais comment bien les faire?
2年前
記事のアイキャッチ画像
LorrainJS: la librairie qui parle Lorrain
Marmelab blog
Découvrez les prototypes JavaScript, les expressions régulières, et la publication de package npm grâce à une librairie que personne, personne n'a jamais demandée
3年前
記事のアイキャッチ画像
How Caritas Uses React-Admin To Accelerate Their Intranet Development
Marmelab blog
Interview of Alex, head of web dev at Caritas, and Cornelius, PO.
3年前
記事のアイキャッチ画像
React-admin Reached 20,000 Stars On GitHub
Marmelab blog
We've managed to build a sustainable open-source project! This is a dream come true.
3年前
記事のアイキャッチ画像
Installing React-Admin In A Remix App
Marmelab blog
+A step-by-step example explaining how to use React-Admin inside a Remix app, and how to configure it to use Supabase as the data provider.
3年前
記事のアイキャッチ画像
A State Management Tour: Proxy State With Valtio
Marmelab blog
I try to simplify my state management approach using a proxy based tool, Valtio
3年前
記事のアイキャッチ画像
De la programmation orientée objet à la programmation fonctionnelle
Marmelab blog
Lors de mon intégration, venant du monde de Java, j'ai dû apprendre à utiliser des concepts de la programmation fonctionnelle.
3年前
記事のアイキャッチ画像
Deploying A Web App With Docker And AWS Fargate
Marmelab blog
A step-by-step guide, with screenshots, that I built during my integration challenge
3年前
記事のアイキャッチ画像
React-admin Enterprise Edition, Now In V4
Marmelab blog
+
RBAC, editable datagrid, many-to-many relationships, realtime, calendar, audit log, site search, and more: the private modules are now available for the latest version of react-admin.
3年前
記事のアイキャッチ画像
Rendre Les Scripts Bash Lisibles Par Un Dev JS
Marmelab blog
Vous êtes dev JS ? Vous en avez assez de ne pas savoir lire les oneliners bash ? Alors en voiture !
3年前
+
記事のアイキャッチ画像
Déployer un site statique client-side via Amazon S3
Marmelab blog
Un guide pas à pas pour tirer parti des services AWS pour son site internet
3年前
記事のアイキャッチ画像
Introducing React-admin V4
Marmelab blog
After over 6 months of development, we are excited to introduce the new major version of react-admin.
3年前
記事のアイキャッチ画像
React-admin V4: Switching Form Library
Marmelab blog
+We replaced react-final-form with react-hook-form. Why did we make the switch and what does it change for you?
3年前
記事のアイキャッチ画像
React-admin V4: Build Your Own Framework
Marmelab blog
If you had to write a framework for single-page apps, chances are you would probably build something close to react-admin v4.
3年前
記事のアイキャッチ画像
React-admin V4: Goodbye, Redux!
Marmelab blog
The most important difference between react-admin v3 and v4 lies under the hood. React-admin v4 no longer uses Redux for state management - without changing the developer API.
3年前
記事のアイキャッチ画像
React-admin V4: Persistent Preferences
Marmelab blog
The new major version introduces a new set of features centered around User Experience and preferences.
3年前
記事のアイキャッチ画像
Digital Carbon Footprint: The Current State of Measuring Tools
Marmelab blog
Benchmarking the CO2 emissions estimated by GreenIT Analysis, Website Carbon, Digital Beacon, GreenFrame, Ecograder, and PageSpeed Insight on the same website, weather.com.
3年前
記事のアイキャッチ画像
React-admin V4: No More Props Injection
Marmelab blog
The new major version of react-admin improves developer experience a great deal thanks to one simple trick.
+3年前
記事のアイキャッチ画像
Implementing Path-Finding On A Hexagonal Board
Marmelab blog
Board games present unexpected programming challenges, and I learned many lessons by trying to detect the winner of a simple - yet very interesting - game of Hex.
3年前
記事のアイキャッチ画像
Bull: Traitements asynchrones en Node.js
Marmelab blog
Retour sur la mise en place d'un système de workers en tâche de fond sur une application web pour le CNRS
3年前
記事のアイキャッチ画像
+Comment réduire l’empreinte écologique d’un service numérique ?
Marmelab blog
Une démarche outillée pour mettre en oeuvre une stratégie "Green Tech".
3年前
記事のアイキャッチ画像
Why You Should Upgrade To Material-UI V5
Marmelab blog
The latest version of the React component library boosts the developer experience when writing custom styles.
+3年前
記事のアイキャッチ画像
Dessiner un logo en LOGO, c'est possible ?
Marmelab blog
Peut-on faire du beau code avec un vieux language périmé ? La seule façon de le savoir, c'est d'essayer !
3年前
記事のアイキャッチ画像
How We Write For The Web
Marmelab blog
Everybody writes at Marmelab. Here is our secret sauce for publishing one good article per week for the past 9 years.
3年前
記事のアイキャッチ画像
How to Run React-Admin On Next.Js
Marmelab blog
+React-admin is designed for single-page-apps, but can also run with an SSR framework like Next.js
3年前
記事のアイキャッチ画像
Réduire l'empreinte carbone d'un site web en pratique : le cas lemonde.fr
Marmelab blog
Les équipes du Monde nous ont chargé de réduire les émissions de CO2 liées à l'utilisation de leur site de 30%. Pari tenu ?
3年前
+
記事のアイキャッチ画像
Intégration: dépasser la peur de l'échec
Marmelab blog
Dans l'innovation, l'échec fait partie du quotidien. C'est l'un des premiers apprentissages des nouveaux arrivants chez Marmelab.
3年前
記事のアイキャッチ画像
Media Websites: 70% of the Carbon Footprint Caused by Ads and Stats
Marmelab blog
Website editors, here is a tool and guide to reduce your environmental impact
3年前
記事のアイキャッチ画像
Decarbonization In The Media Industry: GreenFrame Helps France.TV To Reduce Its Digital Emissions
Marmelab blog +
GreenFame, the carbon leak detector for websites, is now being used to tackle the new challenges caused by the transformation in the media industry.
3年前
記事のアイキャッチ画像
Un dev chez les Product Owners
Marmelab blog
J'ai participé à la conférence 'School of product' avec un regard de développeur, voici ce que j'en retiens.
3年前
記事のアイキャッチ画像
Marmelab Welcomes Aníbal To The React-Admin Core Team
Marmelab blog
The React-admin team expands, with a new developer joining us from Montevideo, Uruguay
3年前
Sites médias : 70% de l'empreinte carbone vient des pubs et des stats
Marmelab blog
Editeurs de sites web, voici un outil et des recettes pour réduire votre impact environnemental
3年前
記事のアイキャッチ画像
Building A Retro React-Admin Theme For Fun And Profit
Marmelab blog
While waiting for the react-admin of the future, let's discover the react-admin of the past.
3年前
記事のアイキャッチ画像
Speed up the loading of your pages by using variable fonts
Marmelab blog
+Each font variant (bold, medium, etc.) requires an additional file, which slows down navigation. Except if you use variable fonts!
3年前
記事のアイキャッチ画像
A Brighter Future For The Web? Exploring Solid
Marmelab blog
The current web is not what Tim Berners-Lee expected it to become, and he wants to fix it. He came up with a solution called Solid. Is it usable yet? Let's find out!
3年前
記事のアイキャッチ画像
We've sold 10,000$ Worth Of Ether And Donated It All To Charities
Marmelab blog
Back in 2016, we mined 5 ethers to test the blockchain technology. This year, we've sold the remaining ether and donated the revenue to charities, because we don't want to speculate on global warming.
3年前
記事のアイキャッチ画像
Vers la sobriété numérique, la conférence
Marmelab blog
J'ai eu l'honneur d'ouvrir le Forum PHP 2021 à Paris avec une conférence de vulgarisation sur les enjeux de la Green Tech. Si vous l'avez ratée, la vidéo est en ligne !
3年前
記事のアイキャッチ画像
Improving User Experience With A Mouse In A CLI Application
Marmelab blog
I used the blessed library to add mouse interactions to a terminal app, and it improved the user experience a lot.
3年前
記事のアイキャッチ画像
How To Become A React-admin Grandmaster In 237 Easy Steps
+Marmelab blog
I gave a talk about advanced react-admin tips at this year's API Platform Conference in Lille, France. Here is the video of the talk.
3年前
記事のアイキャッチ画像
On a terminé le FALL CHALLENGE 2021
Marmelab blog
Notre petite équipe à défendu l'honneur de Marmelab sur l'escape game organisé par CodinGame.com
3年前
記事のアイキャッチ画像
Using ESI elements with Next.js
Marmelab blog
How we used Edge-Side Includes in a React.js application to boost the performance of a Server-Side Rendered application.
3年前
記事のアイキャッチ画像
Marmelab souhaite la bienvenue à Anthony et Alexandre
Marmelab blog
Nous accueillons simultanément deux nouveaux développeurs full-stack. Voici leurs cursus.
3年前
記事のアイキャッチ画像
Using An SQLite Database Live In React-Admin
Marmelab blog
To use a database in a web app, we have to build an API. But what if we could use a database directly from the browser?
3年前
記事のアイキャッチ画像
Discovering Rust by Playing the Quoridor Board Game
Marmelab blog
To learn a new language, nothing beats practice. We've used Rust to redevelop a game that we already built in many other languages. Here are our impressions.
3年前
記事のアイキャッチ画像
React Admin Enterprise Edition - September 2021 Update
Marmelab blog
In the past 6 months, the Enterprise Edition got 2 new private modules: ra-audit-log, and ra-rbac. ra-preferences now also features no-code components.
3年前
Onboarding chez Marmelab: Une symfony en une semaine
Marmelab blog
Apres avoir développé un jeu en python, voici comment j'ai créé son api avec Symfony.
3年前
記事のアイキャッチ画像
React Admin September 2021 Update
Marmelab blog
From 3.15 to 3.18, React-admin introduced tons of improvements, including a better sidebar, quick choice creation, and many List additions.
3年前
記事のアイキャッチ画像
Testing React.js Hooks And Components: The Missing Piece
Marmelab blog
Leveraging storybook and testing-library makes integration tests a piece of cake - and I don't need more.
3年前
記事のアイキャッチ画像
Overriding the Create-React-App Webpack Configuration Without Ejecting
Marmelab blog
Create-React-App is a great tool to bootstrap React apps, but it can be quite painful when you need fine-grained control over the Webpack configuration.
4年前
記事のアイキャッチ画像
Towards Digital Sustainability, A Keynote
Marmelab blog
I had the pleasure to give a talk about how developers impact climate change at the SymfonyWorld Online 2021 conference. Here is the full-length video.
4年前
記事のアイキャッチ画像
+Behold the Power of Laziness With Functional Programming
Marmelab blog
To finish the exploration of functional programming with the Checkoid internals, let's combine a synchronous Validator with asynchronous one with a lazy Promise... that is also a Monad.
4年前
記事のアイキャッチ画像
I Tested React Server Components And I'm Not A Fan (Yet).
Marmelab blog
+React Server Components are an upcoming feature of the React framework. I wanted to form my own opinion about them. Spoiler: It's mixed
4年前
記事のアイキャッチ画像
Marmelab Helps Broadcom Build A Customizable Developer Portal
Marmelab blog
Broadcom leveraged react-admin to boost and enhance their API Management offering with API Hub, which provides an enriched API consumer-facing user experience
+4年前
記事のアイキャッチ画像
Become a {javascript} ninja with Ninja Coder
Marmelab blog
Recruiters ask everywhere for Ninja developers. We've built the perfect IDE for such developers, using Machine Learning and Pose detection.
4年前
記事のアイキャッチ画像
Introducing Atomic CRM, A New React-Admin Demo
Marmelab blog
React-admin isn't just for admins. Check out how we used it to build a complete CRM solution.
4年前
記事のアイキャッチ画像
+GreenFrame: Calculating The Impact of Cache on MediaWiki Carbon Emissions
Marmelab blog
I have compared several configurations of a MediaWiki server, respectively with and without cache, and we found that caches play a major role in the energy footprint reduction.
4年前
記事のアイキャッチ画像
Retour d'une intégration partie 2/2 : Le pentago en Go et React Native
Marmelab blog +
Retour d'expérience sur mes deux dernières semaines d'intégration chez marmelab où j'ai développé une IA en Golang puis une application mobile en React native du jeu Pentago.
4年前
記事のアイキャッチ画像
Comment contrôler le temps dans un container Docker
Marmelab blog
+Pour stabiliser des tests dépendant de la date, on peut changer la date d'un container. Mais est-ce que ce pouvoir n'est pas trop dangereux ?
4年前
記事のアイキャッチ画像
GreenFrame.io: What is the carbon footprint of a web page?
Marmelab blog
We've made Argos, our tool for measuring the environmental impact of web apps, available for public web pages, for free.
4年前
記事のアイキャッチ画像
React-Admin April 2021 Update
Marmelab blog
With react-admin 3.13 and 3.14, developer productivity continues to increase, and new developers should get up and running faster than before.
4年前
記事のアイキャッチ画像
FOSS interview : React-admin avec Gildas
Marmelab blog
Dans cette vidéo, Gildas nous parle du projet open-source React-admin
4年前
記事のアイキャッチ画像
Onboarding chez Marmelab : 5 semaines pour faire un jeu - Semaine 1
Marmelab blog
+Pendant 5 semaines j'ai développé un jeu en python, créé son api avec symfony, fait son IA en Go, écrit sa version mobile en react-native et publié une version web avec nextjs. Voici ce que je retiens de la première semaine.
4年前
記事のアイキャッチ画像
Retour d'une intégration partie 1/2 : Le pentago en Python et Symfony
Marmelab blog
+Retour d'expérience sur mes deux première semaines d'intégration chez marmelab ou j'ai développé, d'abord en Python puis en Symfony, le jeu Pentago.
4年前
記事のアイキャッチ画像
Marmelab souhaite la bienvenue à Guillaume et Clément
Marmelab blog
Nous accueillons presque en même temps deux développeurs full-stack expérimentés. Qui sont-ils?
4年前
+記事のアイキャッチ画像
FOSS interview : stretch-discord avec Maxime et Pierre
Marmelab blog
Dans cette vidéo, Maxime et Pierre nous parlent du projet open-source stretch-discord
4年前
記事のアイキャッチ画像
Argos: Comparing the Energy Consumption of Two Web Stacks
Marmelab blog
Does an app in Node.js/Rails consume more energy than the same app in Vanilla.js+WebComponents/React.js? We've used Argos, our energy footprint calculator, to find out.
4年前
記事のアイキャッチ画像
FOSS interview : comfygure avec Kevin
Marmelab blog
Dans cette vidéo, Kevin nous parle du projet open-source comfygure
4年前
記事のアイキャッチ画像
Tests d'intégration en Node.js: de Supertest à Frisby.js
Marmelab blog
+Pourquoi et comment tester des APIs web ? Quels outils nous facilitent la tâche, et quels sont leurs limites ?
4年前
記事のアイキャッチ画像
Validator assemble! Functors in Action
Marmelab blog
In this new functional programming tutorial, I'll explain how Functors can help us assemble validator functions to validate complex data structures like objects.
4年前
記事のアイキャッチ画像
React Admin Enterprise Edition - February 2021 Update
Marmelab blog
In the past 3 months, the Enterprise Edition got 3 new private modules: ra-search, ra-calendar, and ra-enterprise, in addition to saved queries in ra-preferences.
4年前
記事のアイキャッチ画像
React Admin February 2021 Update
Marmelab blog
React-admin 3.10, 3.11 and 3.12 introduce tons of improvements, including server-side validation, keyboard navigation, and optimistic mutations
4年前
記事のアイキャッチ画像
Histoire d'une migration chez Arte, partie 3/3 : action
Marmelab blog
Comment nous avons mis en œuvre une migration continue
4年前
記事のアイキャッチ画像
The True Power Of Monoids: How To Combine Validators
Marmelab blog
Come and see monoids in real-life, in this tutorial explaining how to combine validator functions like lego pieces.
4年前
記事のアイキャッチ画像
Histoire d'une migration chez Arte, partie 2/3 : la mise en place
Marmelab blog
Comment nous avons préparé un chantier de migration continue
4年前
記事のアイキャッチ画像
Histoire d'une migration chez Arte, partie 1/3 : le contexte
Marmelab blog
Pourquoi nous nous sommes lancés dans un chantier de migration continue
4年前
記事のアイキャッチ画像
Marmelab souhaite la bienvenue à Pascal
Marmelab blog
+Doté d'un profil mixte dev / produit / innovation, mâtiné d'une formation en RSE, Pascal est une recrue de choix pour notre équipe de facilitateurs !
4年前
記事のアイキャッチ画像
React Admin v3 Advanced Recipes: Managing User Profile
Marmelab blog
React-admin doesn't offer a feature that you need? No problem, it's just React! This practical tutorial update shows how to allow users to edit their profile in React-admin v3.
4年前
記事のアイキャッチ画像
Alleviate the health problems of sitting all-day
Marmelab blog
As developers, we're sitting most of the day. Let's see what we do at Marmelab to counter the effects of the sitting position.
4年前
記事のアイキャッチ画像
Argos: Measure The Carbon Footprint Of Software, Improve Developer Practices
Marmelab blog
We've built a tool measuring the energy consumption of web apps to help reduce the environmental impact of developers. See how it works in this preview.
4年前
記事のアイキャッチ画像
Comment ARTE a simplifié le développement multi-plateforme à l’aide d’une API orientée front
Marmelab blog
Voici la vidéo de la conférence que nous avons donnée au Forum PHP 2020.
4年前
記事のアイキャッチ画像
Introducing Checkoid, An Input Validation Library Built With Composition In Mind
Marmelab blog
+We've built a simple and powerful validation library that allows to combine validator like lego pieces.
4年前
記事のアイキャッチ画像
Plugging React-Admin To Google Sheets
Marmelab blog
React-admin pretends it can connect to any backend using a custom data provider. I decided to challenge this statement. How far did I go?
4年前
記事のアイキャッチ画像
Sunsetting PHP Faker
Marmelab blog
I am the lead developer of a popular PHP library. I can't maintain it anymore or give it away, so I'm archiving the project.
4年前
記事のアイキャッチ画像
React Admin Enterprise Edition - October 2020 Update
Marmelab blog
Accordion and Wizard Forms, Edit in dialog, Dual List Input, and Content Locks will make you more productive with react-admin.
4年前
記事のアイキャッチ画像
Into The Labyrinth With x3dom
Marmelab blog
+What if you could create a 3D Labyrinth game with only HTML tags? That's the promise of x3dom, which I explore in practice in this tutorial
4年前
記事のアイキャッチ画像
React Admin October 2020 Update
Marmelab blog
React-admin 3.7, 3.8 and 3.9 introduce TypeScript support, Filter Sidebar, User Menu Improvements, and ListContext
4年前
記事のアイキャッチ画像
Gagner l'estime des futurs développeurs en rédigeant des ADR
Marmelab blog
Les Architecture Decision Records (ADR) répondent à la question: Pourquoi a-t-on mis ça en place déjà ?
4年前
記事のアイキャッチ画像
Building A Chat Application Using SvelteJS and SSE
Marmelab blog
What's better than vanillaJS? Maybe SvelteJS, especially to add high-level features to your web pages!
4年前
記事のアイキャッチ画像
Developers Can Save The Planet, Part II: The Solution +
Marmelab blog
How can developers design, code, and host software to minimize their carbon footprint? How reliable are these practices?
4年前
記事のアイキャッチ画像
Developers Can Save The Planet, Part I: The Problem
Marmelab blog
How much CO2 do I emit on a typical day with my digital activities? Are the developers responsible for climate change?
4年前
記事のアイキャッチ画像
React Admin v3 Advanced Recipes: Creating a Record Related to the Current One
Marmelab blog
React-admin doesn't offer a feature that you need? No problem, it's just React! This practical tutorial shows how to use the routing and a custom button to improve the user experience.
4年前
記事のアイキャッチ画像
Changing The Look And Feel Of React-Admin Without JSX
Marmelab blog
Learn how to customize the theme of a react-admin application without rewriting everything
4年前
記事のアイキャッチ画像
Introducing React-Admin Enterprise Edition
Marmelab blog
Buy additional modules on top of the OSS version, and professional support by Marmelab experts to streamline your react-admin development.
4年前
記事のアイキャッチ画像
Handling JWT in Admin Apps the Right Way
+Marmelab blog
The best practice regarding JWT storage is to use memory rather than local storage. But it comes with numerous challenges. Let's see how to tackle these in the case of a react-admin application.
5年前
記事のアイキャッチ画像
Marmelab est lauréat du Challenge Sobriété Numérique 2020
Marmelab blog
+Notre projet: améliorer l'impact environnemental de react-admin et d'API Platform Admin, deux framework open-source très utilisés.
5年前
記事のアイキャッチ画像
Building A Web Application In 15 Minutes Using StrapiJS And NextJS
Marmelab blog
Hands-on with StrapiJS, an Headless CMS that allows to separate data and display.
5年前
+
記事のアイキャッチ画像
React Admin 3.6: Easier Customization Of Edit and Create Views
Marmelab blog
Three minor releases in the last three months: it's about time we look at the new features!
5年前
記事のアイキャッチ画像
Modsir : Un modèle SIR pour simuler l'épidémie de COVID
Marmelab blog
Modsir19 est un produit visant à modéliser et prévoir l’évolution de la pandémie Covid19 et ses conséquences sur l’occupation hospitalière. Marmelab a embarqué dans l'équipe pour 2 sprints de conception et développement des interfaces utilisateurs.
5年前
記事のアイキャッチ画像
Gremlins.js 2: The New Batch
Marmelab blog
We've modernized the code of Gremlins.js, our monkey testing library for frontend apps. It's now super easy to detect memory leaks in your JavaScript code.
5年前
記事のアイキャッチ画像
Nettoyage de printemps de nos projets open-source
Marmelab blog
+On trouve plus de 200 dépôts publics sur notre compte Github. Est-ce à dire que nous maintenons plus de 200 projets open-source ? Non, un petit nettoyage s'imposait...
5年前
記事のアイキャッチ画像
Marmelab souhaite la bienvenue à Jérémie
Marmelab blog
Pour la première fois de son existence, Marmelab se dote d'un commercial. Et pas des moindres.
5年前
記事のアイキャッチ画像
Marmelab recrute en télétravail
Marmelab blog
Le confinement nous a appris que nous savons collaborer en télétravail. Nous pouvons donc recruter partout en France !
5年前
記事のアイキャッチ画像
React Admin v3 Advanced Recipes - Adding Related Records Inline With Custom Forms
Marmelab blog
Learn how to migrate to react-admin v3 with this tutorial for a common feature in admin forms.
5年前
記事のアイキャッチ画像
OpenAPI : un contrat pour vos API.s
Marmelab blog
+La spécification OpenAPI permet d'écrire le contrat du service fourni par une API REST. Mais comment écrire un tel contrat et à quoi va-t-il servir ?
5年前
記事のアイキャッチ画像
Goridor: The Gopher Rest
Marmelab blog
My integration period at marmelab continues with the Go implementation of the Quoridor board game.
5年前
記事のアイキャッチ画像
Usine partagée : des visières contre le Covid-19
Marmelab blog
Des volontaires Marmelab ont développé en un week-end une plateforme de commande de visières à usage médical.
5年前
記事のアイキャッチ画像
OpenAPI dans la jungle du REST
Marmelab blog
HATEOAS, JSON-LD, JSON API, HAL, Hydra ... La liste des acronymes de spécification liées au REST est longue. Quelle est la place d'OpenAPI dans cette liste ?
5年前
記事のアイキャッチ画像
React Admin 3.3: Faster Navigation And Reduced Footprint Thanks To Application Cache
Marmelab blog
Save up to 50% scripting time and a lot of bandwidth in your react-admin applications
5年前
記事のアイキャッチ画像
Quoridor: Coffee time for the mouse
Marmelab blog
Second part of my feelings about my integration period at marmelab.
5年前
記事のアイキャッチ画像
Star Wars Agile Retrospectives: The Starfish and the Death Star
Marmelab blog
We at the empire didn't do a great job with the Death Star. Let's use the Agile methodology to improve our process through a Retrospective.
5年前
記事のアイキャッチ画像
Programming A Space Invader In OCaml and OpenGL: Lessons Learned
Marmelab blog
After a first experience with ReasonML, I wanted to check if its parent language, OCaml, was also that good. It took me an entire game to form a clear opinion.
5年前
記事のアイキャッチ画像
Le temps réel avec GraphQL: Facile ou pas facile?
Marmelab blog
Mettre à jour des données en temps réel sur une application GraphQL, un défi? Une seule façon de le savoir: créons un prototype de sondage en temps réel.
5年前
記事のアイキャッチ画像
Getting The Ball Rolling With DeviceMotion
Marmelab blog
There are two relatively new APIs in the browser: DeviceMotion and DeviceOrientation. Let's see how to use them to detect the device motion and orientation.
5年前
記事のアイキャッチ画像
Why and How We Made Our Website Privacy Friendly
Marmelab blog
Today is International Data Privacy Day, so we made some changes on our website to protect your privacy.
5年前
記事のアイキャッチ画像
Mocking an API with Polly.js
Marmelab blog
It is never easy to set up functional tests involving calls to an external API. Polly.js is a useful tool to know when you need to mock calls to an API.
5年前
記事のアイキャッチ画像
+Amnesty International: Taking advantage of the Lean Startup methodology to prove ourselves wrong
Marmelab blog
The ideas we had for the urgent actions application were just assumptions. We tested them with the help of the Build-Measure-Learn feedback loop, and were quite surprised with the results.
5年前
記事のアイキャッチ画像
Quixo en React isomorphic avec Next.js
Marmelab blog
+Dernière semaine d'intégration pour développer une application React rendue côté serveur et la déployer !
5年前
記事のアイキャッチ画像
Marmelab Helps WALLIX Prototype A Zero Knowledge App For Session Management
Marmelab blog
To build a zero-knowledge web application for managing a cluster of security proxies, we've had to push modern browsers to their limits
5年前
記事のアイキャッチ画像
React Admin v3.1: Make Your Own Admin
Marmelab blog
Easier theming, new components, and fine-tuned capabilities make react-admin suitable for even more projects.
5年前
記事のアイキャッチ画像
Quixo sur mobile grâce à React-native !
Marmelab blog
Nouvelle semaine d'intégration et nouvel objectif : pouvoir jouer à Quixo sur mobile !
5年前
記事のアイキャッチ画像
Build Your Own Design System With StencilJS
Marmelab blog
+Design Systems are an increasingly common practice in web development. Let's study how to do ours with StencilJS
5年前
記事のアイキャッチ画像
Si Darwin avait raison, l'agilité fonctionne par hasard
Marmelab blog
Voici la vidéo de la conférence de 45 minutes sur Modern Agile que j'ai donnée à Agile France et au Forum PHP 2019.
5年前
記事のアイキャッチ画像
Au secours, mon poste ne démarre plus !
Marmelab blog
On connaît tous ce collègue qui, un matin, s'est retrouvé face à un écran noir. La plupart du temps, il suffit d'appeler le service support de l'entreprise. Mais chez nous, chaque dévelopeur est responsable de sa machine. Voilà comment nous gérons ça.
5年前
記事のアイキャッチ画像
React Admin v3: Improved Developer Experience Thanks to React Hooks
Marmelab blog
After 7 months of hard work, version 3.0 stable is finally here!
5年前
記事のアイキャッチ画像
Web Worker à l'école des sorciers
Marmelab blog
Découverte de la magie des web workers à travers React.
5年前
記事のアイキャッチ画像
Faker 1.9: The Best Faker Data Generator... Yet
Marmelab blog
We've published a new version of the popular PHP library Faker. The next one will be a major version, with breaking changes.
5年前
記事のアイキャッチ画像
Le server-side rendering sans framework: pas si dur!
Marmelab blog
Comment configurer une appli React Apollo pour faire du SSR avec code splitting et hot reload
5年前
記事のアイキャッチ画像 +
Jouer seul à Quixo grâce à un bot en Golang
Marmelab blog
J'entame ma 3ème semaine d'intégration chez Marmelab. A la fin de cette semaine, je devrai pouvoir jouer seul à Quixo grâce à une IA en Golang
5年前
記事のアイキャッチ画像
Quoridor: Playing A Maze Game On The Console With Python
+Marmelab blog
First part of my feelings about my integration period at marmelab.
5年前
記事のアイキャッチ画像
Using Firebase for Backend-as-a-Service: Pros and Cons
Marmelab blog
On a short project, we decided to use Firebase, a Rapid Application Development service, to save time. Was it a good choice?
5年前
記事のアイキャッチ画像
React Admin v3: Zoom in the UI Changes
Marmelab blog
The react-admin user interface for lists and forms has seen a few tweaks to improve usability and visual consistency.
5年前
記事のアイキャッチ画像
React Admin v3: Zoom in the Data Layer
Marmelab blog
Querying the Data Provider with React hooks is such a joy that it should suffice to motivate you to upgrade.
5年前
記事のアイキャッチ画像
React Admin v3: Zoom in the Styling Layer
Marmelab blog
+Material-ui handles most of the styling and theming of react-admin v3.
5年前
記事のアイキャッチ画像
React Admin v3: Zoom in the i18n Layer
Marmelab blog
This is a great example of how we use dependency injection in React.
5年前
記事のアイキャッチ画像
React Admin v3: Zoom in the Authentication Layer
Marmelab blog
The developer experience was our main concern for designing the new react-admin version. See how it applies to the auth logic.
5年前
記事のアイキャッチ画像
+Amnesty International: Designing the Experience
Marmelab blog
From solution to problem, the work we did for Amnesty is a great example of how we design digital products
5年前
記事のアイキャッチ画像
Marmelab souhaite la bienvenue à Matthieu
Marmelab blog
L'équipe de développeurs marmelab continue de s'étoffer avec le renfort d'un nouveau profil très expérimenté.
5年前
記事のアイキャッチ画像
CouchDB, The Open-Source Cloud Firestore Alternative?
Marmelab blog
How to develop an offline-first, real time React app using a NoSQL database, in practice.
5年前
記事のアイキャッチ画像
Load Testing Node.js App with Flood.io
Marmelab blog
We tried a new product that helped us load test an app before a critical event in production. This post explains how we did and how flood.io helped us.
5年前
記事のアイキャッチ画像
Helping Amnesty International Target a New Audience
Marmelab blog
The pen is mightier than the sword... Can we get a smartphone to be as mighty? Read the story of how Marmelab helped AI to invent a new form of activism.
5年前
記事のアイキャッチ画像
Créer son propre loader Webpack
Marmelab blog
Webpack permet d'ajouter des étapes supplémentaires au processus de compilation des projets JS. C'est plus difficile quand le projet utilise `create-react-app`. Voici la solution.
5年前
記事のアイキャッチ画像
Ma seconde semaine d'intégration: Jouons à deux avec Symfony
Marmelab blog
+C'est ma deuxième semaine chez Marmelab. Pour mon parcours d'intégration, je dois développer le jeu Quixo en PHP avec le framework Symfony, et coder un mode multijoueur.
6年前
記事のアイキャッチ画像
WebAuthn: Server and Client-Side Strong Auth Library For JavaScript
Marmelab blog
Browsers support a new WebAuthn standard to facilitate strong authentication. We've open-sourced a library to facilitate its implementation.
6年前
記事のアイキャッチ画像
Symfony for Quarto in Allegro! My third integration week at Marmelab.
Marmelab blog
How I made Quarto a pleasant game with a Symfony graphical user interface, and learned a lot in the process.
6年前
Quixo, le morpion de l'intégration: Un jeu en python sur console
Marmelab blog
Récit de ma première semaine d'intégration et du défi que j'ai du relever: développer un jeu de Quixo en 4 jours.
6年前
記事のアイキャッチ画像
Marmelab souhaite la bienvenue à Pierre
Marmelab blog
Un nouveau développeur full-stack vient renforcer notre équipe.
6年前
記事のアイキャッチ画像
On apprend quoi pendant un stage chez Marmelab?
Marmelab blog
J'ai côtoyé pendant 8 semaines les équipes de pilotage et de développement de Marmelab. J'ai découvert tout un tas de pratiques qui m'ont étonnées, je vous les présente !
6年前
記事のアイキャッチ画像
Releasing Comfygure 1.0
Marmelab blog
Two years after the initial release, we're finally publishing a stable version of comfygure! Read on to see what's new in our open-source configuration storage.
6年前
Agile Lean Ireland 2019: The Conference You Wish You Had Gone To
Marmelab blog
In the middle of Dublin, and with an impressive line-up of speakers, this agile conference was really worth the trip.
6年前
記事のアイキャッチ画像
+Créer et publier une application web sur Linux grâce aux snaps
Marmelab blog
Les stores d'application facilitent la distribution et la mise à jour des applications. Grâce aux snaps, c'est aussi possible sur Ubuntu.
6年前
記事のアイキャッチ画像
The Innovator's Dilemma: How Can You Loose When You Seem to Be Winning?
Marmelab blog
+If you want to understand what true disruptive innovation is and go further than the buzzword: Read that book.
6年前
記事のアイキャッチ画像
Build Augmented Reality Applications With React-Native
Marmelab blog
Do you need to do native development to get native AR performance on mobile?
6年前
記事のアイキャッチ画像
Property Based Testing in Javascript
Marmelab blog
Want to be more confident with your code? Property Based Testing can automatically generate data to test your code
6年前
記事のアイキャッチ画像
What Can React Developers Learn From The Vue.Js Ecosystem?
Marmelab blog
For the first time, marmelab developers attended the European VueJs conference. Read on to discover what we learned!
6年前
記事のアイキャッチ画像
Supplying your own Defaults to React Admin
Marmelab blog
+You don't agree with some of our design decisions? No problem, just supply your own and keep your code DRY!
6年前
記事のアイキャッチ画像
Functional Programming in JavaScript, Part 4: The Art of Chaining Different Monads
Marmelab blog
It is a bad practice to chain one monad with a monad of another type. Read on to understand why, and how to chain monads the right way.
6年前
記事のアイキャッチ画像
React-admin 2.8: Query Component, Data Loss Protection, Top Bar Customization, And More
Marmelab blog
Highlights of the new features introduced by version 2.7 and 2.8
6年前
記事のアイキャッチ画像 +
React Has Built-In Dependency Injection
Marmelab blog
Developers coming from other frameworks sometimes look for a dependency injection system, but fail to find it. It's right before their eyes.
6年前
記事のアイキャッチ画像
React Admin Advanced Recipes: User Profile
Marmelab blog
React-admin doesn't offer a feature that you need? No problem, it's just React! This practical tutorial shows how to allow users to edit their profile.
6年前
記事のアイキャッチ画像
First-class End-to-end Testing on Meteor
Marmelab blog
How to setup cypress e2e tests on a meteor app
6年前
+記事のアイキャッチ画像
Comment mettre en place les migrations avec Hasura
Marmelab blog
Hasura est un serveur GraphQL pour PostgreSQL. Lorsque le modèle de données change, comment passer l'info à Hasura pour mettre à jour l'API?
6年前
記事のアイキャッチ画像
How To Improve Postgres Performance: Our Tips and Tricks
Marmelab blog
We recently had to investigate and optimize a large PostgreSQL database. Here is a what we did to remove the bottlenecks.
6年前
記事のアイキャッチ画像
React Admin Advanced Recipes: Creating and Editing a Record From the List Page
Marmelab blog
Don't want to show a full new page to edit or create records? This tutorial shows how to display those forms in a drawer or a dialog from the List page.
6年前
記事のアイキャッチ画像
User Stories Are Overrated
Marmelab blog
Trying to fit every requirement into a user story leads to backlog aberration. We should only use User Stories when trying to capture user value.
6年前
記事のアイキャッチ画像
HTTPS In Development: A Practical Guide
Marmelab blog
Why and how to setup HTTPS certificates, with or without reverse proxy, in a JavaScript development environment.
6年前
記事のアイキャッチ画像
Building a Timeline With React, Storybook, Material-UI, and React-Admin
Marmelab blog
When customer requirements can't be addressed by react-admin out of the box, it's time to use pure React. As this tutorial shows, it's quite straightforward, and react-admin never gets in the way.
6年前
記事のアイキャッチ画像
React-admin 2.6: Datagrid Improvements, UI Polish, and Better Styling
Marmelab blog
Thanks to the hard work of more than a dozen developers, 2019 starts with a new react-admin release. Read on to see the highlights.
6年前
記事のアイキャッチ画像
Twelve-Factor Applications: How Do You Validate Your Configuration?
Marmelab blog
When we deliver our code as docker images, how do we ensure that their configuration is correct?
6年前
記事のアイキャッチ画像
Minutes of DotJS 2018
Marmelab blog
We attended the DotJS 2018 conference in Paris. We saw several awesome talks worth watching. Read on for details!
6年前
記事のアイキャッチ画像
Vous aimez les legos ? React est fait pour vous !
Marmelab blog
Voici la vidéo de la conférence de 45 minutes que j'ai donnée à BlendWebMix 2018. J'y partage les bonnes pratiques React.js que nous avons apprises grâce à react-admin.
6年前
+
記事のアイキャッチ画像
Marmelab permet aux entreprises clientes d'Harmonie Mutuelle d'ajuster leurs dépenses grâce à une DataViz
Marmelab blog
Une idée à forte incertitude, plein de risques techniques, le tout dans un grand groupe : ce projet est un candidat idéal pour l'approche marmelab.
6年前
記事のアイキャッチ画像
A Developer's Diary: Building A Notes Taking App in Shell
Marmelab blog
I'm used to recording all the little things I learn from day to day as a developer. Since I didn't find the right note-taking tool to integrate in my daily routine, I coded it. Read on to see what I learned in the process.
6年前
記事のアイキャッチ画像
Devfest Nantes 2018: Retour sur la première conférence tech de la saison
Marmelab blog
Marmelab a rejoint Palo IT à l'autre bout de la France pour découvrir la conférence Devfest. Découvrez notre sélection des sessions les plus marquantes.
6年前
記事のアイキャッチ画像
React Multipass Render Pattern
Marmelab blog
Making components allowing to quickly build interfaces while remaining customizable
6年前
記事のアイキャッチ画像
React-admin 2.4: Field Guessers, Aside, DateTimeInput, Better Accessibility... and TypeScript!
Marmelab blog
React-admin, our client-side admin GUI running on top of REST and GraphQL APIs, gets a bunch of new features to further improve the developer experience. Click to check the highlights.
6年前
記事のアイキャッチ画像
+Découverte du langage Go pour ma deuxième semaine d'intégration : Go Go Quarto Ranger !
Marmelab blog
Nouveau sprint d'intégration à Marmelab sur le jeu du Quarto : Réaliser une IA capable de battre un humain
6年前
記事のアイキャッチ画像
How to Create a Carousel and a Wizard Form With React and CSS-in-JS
Marmelab blog
+A wizard form is like a carousel: it's a series of slides. Implementing it in React is a great way to learn about state, transitions, and CSS-in-JS.
6年前
記事のアイキャッチ画像
Hacktoberfest 2018: Come Contribute To OSS With Us!
Marmelab blog
Like every year, Marmelab is joining the Hacktoberfest. Come with us to celebrate open-source software and try to win a nice t-shirt.
6年前 +
記事のアイキャッチ画像
Functional Programming in JavaScript, Part 3: Introduction to Functors and Monads
Marmelab blog
`Functors` and `Monads` may sound frightening, they are powerful concepts that can help developers on a day-to-day basis.
6年前
記事のアイキャッチ画像
React-admin 2.3: Better UI, User Menu, Tree Shaking, Tree List, and more!
Marmelab blog
This new release of react-admin, our client-side admin GUI running on top of REST and GraphQL APIs, should be called a 3.0 since it brings so many new things. But, by virtue of SemVer and backwards changes, it's just a 2.3.
6年前
記事のアイキャッチ画像
Agile Integration: Passing On Culture to Newcomers in 5 Weeks
Marmelab blog
We believe that the commonly used onboarding processes are broken. We invented a new way to welcome new collaborators, help them learn our tools and methods, and find their place in our organization. Let's fix onboarding together!
6年前
記事のアイキャッチ画像
+React Admin Advanced Recipes - Adding Related Records Inline With Custom Forms
Marmelab blog
React-admin allows to initialize a form to create a new resource related to the current one inside the main form. Here is how.
6年前
記事のアイキャッチ画像
React-admin 2.2 Is Out With Export, Clone, And More
Marmelab blog
+Export button, Dense AppBar, callback side effect, error page, clear Button on inputs, clone button... There are so much enhancements in this release that you'd better read the article.
6年前
記事のアイキャッチ画像
Jouer pour mieux travailler : Le Quarto
Marmelab blog
Première semaine chez Marmelab ; premier projet ; premières sueurs ; premières découvertes ; et surtout : premières étoiles dans les yeux
7年前
記事のアイキャッチ画像
Automating Accessibility and Performance Testing with Puppeteer and AxeCore
Marmelab blog
To make sure your site is accessible and fast, check it during the continuous integration process. Here is how to do it in practice.
7年前
記事のアイキャッチ画像
Marmelab souhaite la bienvenue à Julien M
Marmelab blog
Fort de dix ans de développement chez un éditeur de logiciels pour les professionnels de santé, Julien s'est décidé à faire le grand saut et vient de rejoindre Marmelab.
7年前
記事のアイキャッチ画像
DotAI 2018: Machine Learning for Humans
Marmelab blog
I attended a few weeks ago my first conference about machine learning. As a developer with almost no experience in this field, I learned a lot without getting lost in the mathematical meanders associated with this topic. Here is my feedback.
7年前
記事のアイキャッチ画像
+React Admin Advanced Recipes: Creating a Record Related to the Current One
Marmelab blog
React-admin doesn't offer a feature that you need? No problem, it's just React! This practical tutorial shows how to use the routing and a custom button to improve the user experience.
7年前
記事のアイキャッチ画像
React-admin 2.1 Is Out
Marmelab blog
+The first minor version since 2.0 improves the developer experience, based on the feedback we've received. It's never been so fun to develop admin GUIs with React!
7年前
記事のアイキャッチ画像
Managing State in React: Redux or not Redux?
Marmelab blog
Redux is a fantastic tool for managing state in React.js, but is it suitable for all situations? Probably not.
7年前
記事のアイキャッチ画像
Lean from the Trenches: Managing Large Scale Projects with Kanban
Marmelab blog
How Henrik Kniberg facilitated a 60 persons project with agile methodologies
7年前
記事のアイキャッチ画像
Get Rid Of Toxic Bugs On Your Apps With Detox!
Marmelab blog
End-to-end tests are common in the browser land, much less for native apps. A good solution is Detox, a gray box E2E testing framework for mobile apps.
7年前
記事のアイキャッチ画像
Site Reliability Engineering: Google's Secret Sauce For High Availability And Happy Ops
Marmelab blog
Developers have a lot to learn from the book "Site Reliability Engineering - How Google Runs Production Systems", starting with time management and blameless retrospectives.
7年前
記事のアイキャッチ画像
Admin-on-rest Becomes React-admin, and Gets a Major 2.0 Release
Marmelab blog
+Material-ui 1.0, CSS-in-JS, undo button, bulk actions, and much more: Building admin GUIs with React has never been easier.
7年前
記事のアイキャッチ画像
M&M's: Agile Retrospective For Gloutons
Marmelab blog
We've experimented an alternative way to liberate our retrospectives, using food. The results are delicious!
7年前
記事のアイキャッチ画像
Functional Programming in JavaScript, Part 2: The Monoid
Marmelab blog
What do number addition, string concatenation, array concatenation, and function composition have in common? They are all monoids, and they have very interesting properties.
7年前
記事のアイキャッチ画像 +
"Confessions of a Public Speaker", a Fun and Inspiring Guide for Giving Better Talks!
Marmelab blog
As a seasoned speaker, I decided to go one step further by reading feedbacks from professionals. Scott Berkun is one of them, and his book brought me to very precious and practical insights about how to thrill the crowds. Here is a book review of this must-read book.
7年前
記事のアイキャッチ画像
#play14 Luxembourg 2018: The Serious Games Unconference Turns 5
Marmelab blog
What can you expect from a two day conference for agile coaches and practitioners who really want to play? Games!
7年前
記事のアイキャッチ画像
Enjoy Painless Typing With ReasonML!
Marmelab blog
+ReasonML is one of the hypest language of the moment, and in my opinion, it's for good reasons. Let's discover this language together.
7年前
記事のアイキャッチ画像
Finding And Fixing Node.js Memory Leaks: A Practical Guide
Marmelab blog
An introduction to memory debugging, from identifying causes to fixing leaks, using Chrome DevTools, and illustrated by simple examples
7年前
記事のアイキャッチ画像
Customer Story: 1859 Cloud, or How a Fintech Can Help Charities
Marmelab blog
We've been working with 1859 for more than 3 years to build an innovative investment club, powered by a mobile app and a full-fledge admin. Read on to learn more about this customer story.
7年前
記事のアイキャッチ画像
Using NVIDIA GPU within Docker Containers
Marmelab blog
Diving into machine learning requires some computation power, mainly brought by GPUs. Let's start our machine learning journey by configuring Docker to use NVIDIA GPU.
7年前
記事のアイキャッチ画像
Functional Programming in JavaScript, Part 1: The Unit
Marmelab blog
This gentle introduction to functional programming explains pure functions, currying, and composition. Easy peasy!
7年前
記事のアイキャッチ画像
The Lean Startup : This Book Isn't Actually About Startups
Marmelab blog
+"Don't judge a book by its cover"... neither should you by its title. I read "The Lean Startup" by Eric Ries, and you should read it too. It's all about innovation.
7年前
記事のアイキャッチ画像
Automating accessibility testing with Selenium Webdriver and AxeCore
Marmelab blog
To make sure your site is accessible, you'd better add a check for accessibility in your continuous integration process. Here is how.
7年前
記事のアイキャッチ画像
Convert An Image Into An ASCII Art Masterpiece With Pure JavaScript
Marmelab blog
This tutorial leverages the FileReader and Canvas APIs to demonstrate the browser image manipulation capabilities
7年前
記事のアイキャッチ画像
School Of PO, retour sur la conférence
Marmelab blog
Compte-rendu de la première conférence dédiée aux agilistes et aux Product Owners, qui s'est déroulée à Paris le 13 février dernier
7年前
記事のアイキャッチ画像
+Admin-on-rest 1.4: Winter Changes
Marmelab blog
This new version fixes many bugs, including long standing issues, and introduces a couple new features
7年前
記事のアイキャッチ画像
Understanding Recursion, Tail Call and Trampoline Optimizations
Marmelab blog
In order to understand recursion, you must understand recursion.
7年前
+
記事のアイキャッチ画像
Le jeu du Taquin en React et React Native
Marmelab blog
Compte-rendu des quatrième et cinquième semaines de mon intégration chez Marmelab, au cours desquelles j'ai développé une application et un client web en React
7年前
記事のアイキャッチ画像
EventDrops, The Time Series Data Visualization, Gets a Major Performance Boost
Marmelab blog
After several months of hard work, we are pleased to release a new version (1.0) of EventDrops, the d3.js dataviz for time series. On the menu: blazing fast performances, simplified configuration, and healthier foundations for easier maintenance!
7年前
記事のアイキャッチ画像
La blockchain, quand l'individu sert au collectif... malgré lui
Marmelab blog
Une vidéo de 40 minutes sans langue de bois, avec des exemples concrets et plein de dessins pour enfin tout comprendre à la blockchain
7年前
記事のアイキャッチ画像
Configurable Artifacts: Deploy Code Like a Pro
Marmelab blog
Configurable artifacts are a deployment method used to ship code to various environments in a single build. Read on to learn how to better automate your deployment.
7年前
記事のアイキャッチ画像
BlendWebMix 2017
Marmelab blog
Nous étions à la conférence BlendWebMix à Lyon cette année, entre autres pour y présenter GraphQL. Voici ce que nous en avons retenu.
7年前
記事のアイキャッチ画像
Réussir une rétrospective agile
Marmelab blog
Pour le premier apéro agile de Nancy, je présentais les fondamentaux de la rétrospective agile, tels que présentés dans le livre "Agile Retrospectives". Voici 5 étapes simples pour améliorer le processus du travail en commun.
7年前
記事のアイキャッチ画像
Le jeu du Taquin en php (framework Symfony)
Marmelab blog
Compte rendu de ma troisième semaine d'intégration chez Marmelab : développement d'un client web en php (framework Symfony), basé sur l'api 15 puzzle
7年前
記事のアイキャッチ画像
+Comprendre la mécanique des jeux grâce au livre Game storming
Marmelab blog
En plus d'être une compilation de plus de 90 jeux sérieux et activités de facilitation, Game Storming nous livre la mécanique des jeux sérieux.
7年前
記事のアイキャッチ画像
Let's cook some Crystal!
Marmelab blog
+In the jungle of new programming languages, Crystal is one of the most popular ones, but also the most mysterious. Let's take a look at it.
7年前
記事のアイキャッチ画像
Minutes of DotJS 2017
Marmelab blog
We attended the DotJS 2017 conference in Paris. We saw several awesome talks worth watching. Read on for details!
7年前
記事のアイキャッチ画像
How To Implement Material Design Motion with React.js
Marmelab blog
Mobile web apps need sophisticated animations to feel native. This tutorial lists the good practices to implement such animations, illustrated by a concrete example.
7年前
記事のアイキャッチ画像
Le jeu du Taquin en go
Marmelab blog
Compte rendu de ma seconde semaine d'intégration chez Marmelab : développement d'un jeu du Taquin en GO et d'un algorithme de suggestion de coups
7年前
記事のアイキャッチ画像
Learning Jest Through Practice
Marmelab blog
+Jest is a Javascript testing framework highlighting three main features: no configuration, improved performance, and easy mocking. Are they marketing promises, or reality? Let's verify it by testing Jest on a basic React project.
7年前
記事のアイキャッチ画像
Introducing Comfygure, A Configuration Manager For Easy Deployments
Marmelab blog
Store and deploy settings across development, test, and production environments, using an encrypted key-value store.
7年前
記事のアイキャッチ画像
Le jeu du Taquin en python
Marmelab blog
Compte rendu de ma première semaine d'intégration chez Marmelab : développement d'un jeu du Taquin en Python, en ligne de commande
7年前
Marmelab souhaite la bienvenue à Adrien
Marmelab blog
Ingénieur doté d'un an et demi d'expérience en C# et angular.js, Adrien nous rejoint au bureau de Nancy. Mais qui est-il vraiment ?
7年前
記事のアイキャッチ画像
Running React Router v4, Redux Saga, SSR and Code Splitting together
Marmelab blog
Code splitting and server-side rendering are two ways of making a React app fast. Let's put them together in practice, with Redux, Sagas and React Router V4.
7年前
記事のアイキャッチ画像
Elixir GenServer Explained to Redux Developers
Marmelab blog
+GenServer is the cornerstone of a lot of Elixir distributed apps. If know Redux, you'll easily understand its strengths
7年前
記事のアイキャッチ画像
The Agile Setup: How Marmelab Bootstraps Projects In 2 Weeks
Marmelab blog
At Marmelab, each new project starts by a two weeks setup phase. Here is our recipe to start soon.
7年前
記事のアイキャッチ画像
Retour sur une année en télétravail à plein temps
Marmelab blog
On trouve beaucoup d’articles de blog sur le « full time remote jobs », moins sur le télétravail à plein temps. Si les entreprises en France s’ouvrent petit à petit, journée par journée au télétravail, le travail à plein temps à distance est moins courant. Pourtant c’est possible et c’est efficace.
7年前
記事のアイキャッチ画像
New Website Design
Marmelab blog
The marmelab.com website is now more mobile friendly, and provides a better reading experience on the blog. It's also more up to date in terms of design.
7年前
記事のアイキャッチ画像
Admin-on-rest 1.3: Summer Changes +
Marmelab blog
New features: Permissions handling, layoutless custom routes, refresh by action, custom validator messages, not found pages. And a big announcement!
7年前
記事のアイキャッチ画像
Real-Time Resource Locking Using Websockets and Navigation
Marmelab blog
+Real time and locking often go hand in hand with complexity. This post explains how to deal with it the easy way.
7年前
記事のアイキャッチ画像
Dive Into GraphQL Part V: Should You Use GraphQL?
Marmelab blog
Lessons learned from GraphQL development: developer experience, benefits and concerns. Is GraphQL a must have, or is it overkill?
7年前
記事のアイキャッチ画像
Dive Into GraphQL Part IV: Building a GraphQL-powered mobile application With React
Marmelab blog
Client-side GraphQL is easier than client-side REST because the tools are better. But the additional features (caching, optimistic UI) bring some complexity. Overall, what is the GraphQL frontend developer experience?
7年前
記事のアイキャッチ画像
Dive Into GraphQL Part III: Building a GraphQL Server With Node.js
Marmelab blog
In this tutorial, you'll learn the best practices of server-side GraphQL development, based on real-life experience. Covers the basics plus scalability, logging, unit tests, and modularity.
7年前
記事のアイキャッチ画像
Dive Into GraphQL Part II: Anatomy of a GraphQL Query
Marmelab blog
A gentle introduction full of examples and tips for GraphQL, the new way to build web services for mobile.
7年前
記事のアイキャッチ画像
Dive Into GraphQL Part I: What's Wrong With REST?
Marmelab blog
REST was a great idea, but with modern usage scenarios, it's become slow, expensive, and cumbersome. Do we need to replace it?
7年前
記事のアイキャッチ画像
Dive Into GraphQL
Marmelab blog
Beyond marketing, and because I believe that, in web development, there is no one-size fits all tool, I want to help developers answer this simple question: Is GraphQL a good fit for my next project?
7年前
記事のアイキャッチ画像
Introducing Json GraphQL Server
Marmelab blog
Start a GraphQL Server based on your data in 30 seconds. No need to learn about Schema syntax or npm modules.
8年前 +
記事のアイキャッチ画像
Admin-on-rest 1.1 and 1.2: Focus On The New Features
Marmelab blog
We release a minor version of admin-on-rest, the React admin GUI for REST APIs, every month. Here is a summary of the new features introduced during the past 2 months.
8年前
記事のアイキャッチ画像
Introducing aor-permissions: Customize Admin-on-rest based on user permissions
Marmelab blog
Admin interfaces are often multi-user, with custom permissions or roles per user. As this is a fairly common usecase, we decided to offer a well integrated solution for it in admin-on-rest.
8年前
記事のアイキャッチ画像
USI 2017: The Talks You Should Watch +
Marmelab blog
I've been to the USI conference in Paris for the third time. As usual, talks were inspirational and related to technology, leadership, and creativity. Read on to get my takeaways.
8年前
記事のアイキャッチ画像
Augmented Reality With HTML5: What Can Mobile Web Browsers Do?
Marmelab blog
+Augmented Reality seems to be cpu intensive, hard to develop, and reserved to native technologies. Yet HTML5 and JS can provide an equivalent user experience. Read on to see how we developed a mobile app to help you draw (or tattoo) whatever you want.
8年前
記事のアイキャッチ画像
Animate your world with ThreeJS and TweenJS
Marmelab blog
+When the time comes to animate a 3D scene in the browser with ThreeJS, do you prefer manual or declarative animation?
8年前
記事のアイキャッチ画像
5e édition du Printemps Agile de Caen
Marmelab blog
Jusqu'à présent, la ville de Caen était réputée pour sa scène rock (The Lanskies, Cannibale, Grand Parc) et electro (Baadman, Superpoze, Fakear). Mais elle risque également de le devenir pour son dynamisme autour de l'agilité.
8年前
記事のアイキャッチ画像
Admin-on-rest now supports GraphQL backends
Marmelab blog
Admin-on-rest, the frontend framework for admin interfaces based on React.js and Material Design, isn't only about REST. Read on to see how to plug it to a GraphQL backend.
8年前
記事のアイキャッチ画像
Minutes of React Europe 2017
Marmelab blog
We just came back from the React Europe Paris conference, a huge event where we saw the React ecosystem shaping of future of web and mobile development. Read on to see what we learned, loved, and laughed at.
8年前
記事のアイキャッチ画像
Marmelab développe un CMS Web Sémantique pour le CNRS
Marmelab blog
Bilan d'un projet réussi pour le CNRS, mêlant Node.js, React.js, MongoDB, Docker, Material Design, et un processus de développement agile.
8年前
記事のアイキャッチ画像
Internationalizing a React Application using Polyglot
Marmelab blog +
Following an Internationalization tutorial is generally quite straightforward. But what about implementing it in a real-world application? Here is a tested solution using context and provider.
8年前
記事のアイキャッチ画像
SG: Un moteur à effet pour JavaScript
Marmelab blog
Dans le post précédent, je vous ai parlé des générateurs et de leur fonctionnement. Aujourd'hui je vais vous parler de leur exécution et de ce qu'ils peuvent accomplir.
8年前
記事のアイキャッチ画像
We attended the first dot AI conference.
Marmelab blog
It's the first time there's a dot conference around AI theme. And since we always try to discover what’s behind new trends and technologies, we were there!
8年前
記事のアイキャッチ画像
Specifiers and artists, ou l'importance de la communication verbale
Marmelab blog
Et maintenant la Rolls Royce des serious games agiles, utilisée dans la plupart des formations et sessions de découverte de l'agilité.
8年前
記事のアイキャッチ画像
Admin-on-rest 1.0 Stable is out +
Marmelab blog
Finally, admin-on-rest gets the stable grade! Read on to see what's new in this new release, the first major achievement of a project started eight months ago.
8年前
記事のアイキャッチ画像
GitHub Oauth Authentication for SPA Without Server
Marmelab blog
+You don't need a server with a 100% uptime just to use the GitHub authentication. Here is a cheap and easy solution using AWS Lambda.
8年前
記事のアイキャッチ画像
Troubleshooting Continuous Integration, or How to Debug Tests That Fail on CI, but Pass Locally
Marmelab blog
+If you're using a Continuous Integration server, sooner or later a build will fail on the CI, but pass on your development machine. There are several ways to troubleshoot such failures - but relaunching the CI build isn't one of them.
8年前
記事のアイキャッチ画像
Le jeu Awalé en isomorphique avec Next.js
Marmelab blog
Retour d'expérience sur Next.js
8年前
記事のアイキャッチ画像
Conditional Babel Configuration: Introducing Babel env
Marmelab blog
After being stuck for a few hours because of some Babel configuration issues in an isomorphic app, we finally discovered the Babel `env` property. It allows to apply some sort of conditional configuration, depending on a given environment variable.
8年前
記事のアイキャッチ画像
Le jeu Awalé en React Native
Marmelab blog
Retour d'expérience sur le développement d'une application mobile Android avec React Native
8年前
記事のアイキャッチ画像
How I Found a Vulnerability Leaking User Credentials in Red Hat's Ravello Systems
Marmelab blog
I found the credentials of a Red Hat solution architect and was able to log into their Ravello Systems account. Can this teach us something about security?.
8年前
記事のアイキャッチ画像
Comprendre les générateurs en JavaScript
Marmelab blog
Les générateurs sont une fonctionnalité introduite dans ES6 qui permet de créer des fonctions spéciales avec la capacité de mettre en pause leur exécution en retournant un résultat intermédiaire.
8年前
記事のアイキャッチ画像
Play14: Practicing Serious Games with Talented People Is a Great Way to Learn
Marmelab blog
+I've only spent a day at #play14 Luxembourg 2017, but I've learned so much that I recommend it warmly. If you're looking at a way to improve your soft skills through games, this unconference is a must.
8年前
記事のアイキャッチ画像
Découvrir les service workers
Marmelab blog
+Un outil de plus dans la panoplie des développeurs web ? Les services workers offrent bien plus que la simple possibilité de rendre une application disponible hors-ligne. Voyons ça en pratique.
8年前
記事のアイキャッチ画像
Développement d'un bot Awale pour Slack
Marmelab blog
Nouveau challenge pour Maxime: développer un bot awale avec Go et Symfony.
8年前
記事のアイキャッチ画像
admin-on-rest 0.9 is out
Marmelab blog
Time for our monthly release: admin-on-rest, the React admin GUI for REST APIs, becomes responsive, and gets a handful of new features. Read on to see them in detail.
8年前
記事のアイキャッチ画像
Introducing Sedy, the Serverless GitHub Bot That Fixes Typos for you
Marmelab blog
To facilitate typo fixes and simple code reviews, Sedy brings the power of the sed Linux command to Github comments.
8年前
記事のアイキャッチ画像
admin-on-rest: Meet the demo
Marmelab blog
+Admin-on-rest, the React admin GUI for REST APIs, is approaching 1.0. But what can it do for you? A video and a live demo will give you a taste of its delightful features.
8年前
記事のアイキャッチ画像
Agility to the rescue of slipping tasks!
Marmelab blog
When we develop web or mobile apps, sometimes a User Story takes much more than estimated. What can we learn from that?
8年前
記事のアイキャッチ画像
The Maze, jeu collaboratif hautement immersif
Marmelab blog
The Maze est un des meilleurs jeux de mise en situation "grandeur nature", où les équipes doivent traverser un labyrinthe matérialisé par un quadrillage au sol.
8年前
記事のアイキャッチ画像
Taking Picture From Webcam Using Canvas
Marmelab blog
Taking a picture from a browser using the webcam is not trivial as it may seem. It requires a low supported API and some canvas manipulation. Here is the missing how-to.
8年前
記事のアイキャッチ画像
admin-on-rest 0.8 is out
Marmelab blog
Admin-on-rest, the React admin GUI for REST APIs, hits its last 0.X version before the stable release. With translations, image input, authentication, and easier customization, admin-on-rest is getting very close to the 1.0 milestone.
8年前
記事のアイキャッチ画像
Vous avez dit Awalé ?
Marmelab blog
Le jeu Awalé en python, première semaine d'intégration.
8年前
記事のアイキャッチ画像
Marmelab souhaite la bienvenue à Maxime
Marmelab blog
Maxime a cinq ans d'expérience en .Net et nous rejoint dans le bureau de Nancy. Découvrez le visage du nouveau développeur marmelab.
8年前
Npm (or Yarn) Install within a Docker Container, the Right Way
Marmelab blog
Docker is awesome. Yet, it brings some common pitfalls, especially when you need to handle file permissions correctly, or need to use SSH. Here are some solutions to counter these issues.
8年前
記事のアイキャッチ画像
React is Slow, React is Fast: Optimizing React Apps in Practice
Marmelab blog
React is slow - just like other frontend frameworks. But if you care about performance, it's fairly easy to make any React application super fast. Here is how.
8年前
記事のアイキャッチ画像
Comment l'Etat se modernise grâce au Lean Startup
Marmelab blog
Marmelab était présent à la conférence Lean Kanban France édition 2016. Une session nous a particulièrement marqué : Des startups dans l'Etat.
8年前
記事のアイキャッチ画像
ng-admin 1.0 is out!
Marmelab blog
The first stable version of ng-admin, the AngularJS-powered admin GUI for RESTful APIs, is finally out. After almost three years of development, we are proud to release the 1.0 version, ready for production.
8年前
記事のアイキャッチ画像
Le processus d'initialisation des projets chez Marmelab
Marmelab blog
Chez Marmelab, chaque démarrage projet est précédé d'une phase d'initialisation. Voici la recette.
8年前
記事のアイキャッチ画像
admin-on-rest 0.7 is out
Marmelab blog
Admin-on-rest, the React admin GUI for REST APIs, gets about one new major release per month. Here are the highlights of versions 0.6 and 0.7, the last of which was just released.
8年前
記事のアイキャッチ画像
Comment exploiter la base SIRENE des entreprises de France en SQL
Marmelab blog
Depuis le 1er janvier 2017, la base SIRENE des entreprises de France est en Open Data. Mais comme Excel ne sait pas charger un CSV de 8 Go, il va falloir faire appel à SQL. Voici la recette.
8年前
記事のアイキャッチ画像
End-to-end Testing For Single-Page Apps With No Server
Marmelab blog
+Setting up Selenium for e2e tests isn't hard, but requires an HTTP server to serve the HTML and JS files that you want to test. What if you could avoid this complexity?
8年前
記事のアイキャッチ画像
Minutes of DotJS 2016
Marmelab blog
We attended to the DotJS 2016 at Paris two weeks ago. Here is our feedback about this event.
8年前
記事のアイキャッチ画像
React Isomorphique en pratique
Marmelab blog
Cette semaine, c'est un projet plutôt atypique qui m'attend. Le développement d'un jeu d'Othello dans le navigateur et tout cela en Isomorphique et avec React. L'occasion de découvrir un principe encore assez peu répandu.
8年前
記事のアイキャッチ画像
Retour d'expérience sur le développement d'un chatbot en Node.js avec serverless
Marmelab blog
Nous avons développé un coach virtuel pour arrêter de fumer par SMS. En fait, un chatbot utilisant Node.js et serverless. Nous avons beaucoup appris au passage. Ce post est le condensé de nos apprentissages.
8年前
記事のアイキャッチ画像
Chez Marmelab, le développement web est gratuit pour les associations !
Marmelab blog
Nous avons tous besoin de trouver du sens dans ce que nous faisons. Nous choisissons de donner de notre temps pour les associations. Découvrez pourquoi nous le faisons, et comment postuler, dans cet article.
8年前
記事のアイキャッチ画像
Npm Tips and Tricks
Marmelab blog
All Node.js developers know the npm install command to grab their favorite dependencies. What about the lesser known npm commands?
8年前
記事のアイキャッチ画像
Othello mobile en React Native
Marmelab blog
Après Othello dans le terminal et Othello sur Facebook, c'est au tour d'Othello mobile (android) de passer sur le devant de la scène grâce à React Native et Redux.
8年前
記事のアイキャッチ画像
Reversi bot: Go et Symfony en action
Marmelab blog
Après une première version jouable dans le terminal, voici la version Facebook messenger du célèbre jeu d'Othello. Au programme, un serveur de bot sous Symfony 3 et une intelligence artificielle en GO !
8年前
記事のアイキャッチ画像
For Charities, Web Development is Free at Marmelab
Marmelab blog
We all need a sense of purpose in do. We choose to give some of our time to charity. Read on to understand why, and how to apply.
8年前
記事のアイキャッチ画像
La ferme des animaux agiles, une version française par Marmelab
Marmelab blog
Le comic strip 'pigs & chicken', couramment utilisé dans les formations agiles pour décrire les rôles dans Scrum est devenu un jeu. Explication.
8年前
記事のアイキャッチ画像
admin-on-rest 0.5 is out
Marmelab blog
+The development of admin-on-rest, the React admin GUI for REST APIs, continues at a fast pace: we've shipped one release per month for the past two months. Read on to see what's new.
8年前
記事のアイキャッチ画像
Un jeu d'Othello dans le terminal avec Python
Marmelab blog
Première semaine d'intégration, premier challenge, un jeu d'Othello développé en Python entièrement jouable dans le terminal
8年前
+
記事のアイキャッチ画像
Marmelab souhaite la bienvenue à Julien
Marmelab blog
Julien est Lead Developer, et il vient renforcer l'équipe de développement de marmelab à Nancy. Gageons que son exigence de qualité collera avec les valeurs de marmelab !
8年前
記事のアイキャッチ画像
Marmelab s'amuse : the Team Responsibility Game
Marmelab blog
Toute l'équipe a participé au Serious Game appelé Team Responsibility Game. Petite leçon de vivre ensemble.
8年前
記事のアイキャッチ画像
+WebSocket-based app with Django Channels and React
Marmelab blog
Let's explore how to manage WebSocket with Django Channels and React with a concrete project!
8年前
記事のアイキャッチ画像
Using Saga To Accumulate And Deduplicate Redux Actions
Marmelab blog
+While developing a React component for admin-on-rest, I stumbled upon a fun use case that demonstrates the power of redux-saga. Read on to see if Saga can help you, too.
8年前
記事のアイキャッチ画像
Moments d'invention : Retour sur une rencontre
Marmelab blog
L'intelligence collective au service de la cité : et le numérique dans tout ça ? Deux jours à Nancy pour inventer ensemble.
8年前
記事のアイキャッチ画像
Marmelab joins the Hacktober Fest 2016!
Marmelab blog
Marmelab has always been keen on open-source. Sharing knowledge and tools is one of our main mottos. That's why we decided to take part in the Hacktober Fest 2016!
8年前
Jeu mobile en React Native : retour d'expérience
Marmelab blog
Episode 2 ! Reprendre les concepts de développement du web pour faire du natif avec une codebase presque partagée... React native réinvente la façon de faire du cross-plateforme, ou presque !
8年前
記事のアイキャッチ画像
Custom Route Component For React Router
Marmelab blog
Sometimes in complex React applications, groups of pages follow the same pattern. React router can be tweaked to offer a custom Route component, and avoid repetition.
8年前
記事のアイキャッチ画像
Puissance 4 multi-joueur : retour d'expérience
Marmelab blog
Première semaine parmi les équipes marmelab, premier challenge de la période d'intégration, 4 jours pour mettre au point un serveur de jeu puissance 4.
8年前
記事のアイキャッチ画像
Marmelab souhaite la bienvenue à Florian
Marmelab blog
Un nouveau développeur rejoint notre bureau de Nancy. Mieux qu'un développeur, un Software Craftsman ! Découvrez le parcours de notre nouvelle recrue.
8年前
記事のアイキャッチ画像
Introducing admin-on-rest, the React Admin GUI for REST APIs
Marmelab blog
If you like ng-admin, you will love admin-on-rest. We've built up on two years of experience with frontend admin frameworks to design and develop a powerful React app.
8年前
記事のアイキャッチ画像
Update a Single Page App on Code Change Without Draining The Battery
Marmelab blog
Each time you change the code of a SPA in production, connected users should be invited to refresh. If that seems easy to achieve, the simplest solution (AJAX polling) is also the worst, at least on mobile.
8年前
Résoudre le jeu snake, deuxième essai: ES6 et ReactJS
Marmelab blog
Après un premier essai de résolution du jeu snake en Python, marmelab me lance sur une version JavaScript, avec un nouvel algorithme. Bilan de mes découvertes.
8年前
記事のアイキャッチ画像
+Restful.js: Review of an open-source project
Marmelab blog
The truth about the lifecycle of the not well maintained restful.js
9年前
記事のアイキャッチ画像
La blockchain expliquée aux développeurs web, 3ème partie : la vérité sur la blockchain
Marmelab blog
+Au-delà des fantasmes sur la blockchain, on ne la comprend vraiment qu'après l'avoir essayée. Notre vision est qu'il s'agit d'une solution très bancale à un problème très rare. Etes-vous sûr(e) d'avoir vraiment besoin d'une blockchain ?
9年前
記事のアイキャッチ画像
Minutes of AWS Summit Paris 2016
Marmelab blog
We attended to the AWS Summit 2016 at Paris two weeks ago. Here is our feedback about this cloud-focused event.
+
9年前
記事のアイキャッチ画像
The Blockchain Explained to Web Developers, Part 3: The Truth
Marmelab blog
Beyond the buzz around the blockchain, there are many things that you only discover after trying to use it, and that make the blockchain a very impractical solution to a very rare problem. Are you sure you need a blockchain?
9年前
記事のアイキャッチ画像
Résoudre le jeu snake, premier essai: Pathfinding et Python
Marmelab blog
Mon premier défi : 5 jours pour dompter un serpent avec un autre. Est-il possible de résoudre le jeu Snake en python avec un algorithme simple de recherche de chemin?
9年前
記事のアイキャッチ画像
The Blockchain Explained to Web Developers, Part 2: In Practice
Marmelab blog
How hard is it to build a decentralized ad server on top of the Ethereum blockhain? How does it look like? Get practical advice based on our experience building a real life project with the blockchain.
9年前
記事のアイキャッチ画像
La blockchain expliquée aux développeurs web, partie 1: la théorie
Marmelab blog
Tout le monde en parle mais personne n'y comprend vraiment grand chose. Allez, on essaie de vous expliquer ce que c'est, comment ça marche, et à quoi ça sert.
9年前
記事のアイキャッチ画像
#play14 Luxembourg Third Edition: A Network Is Born
Marmelab blog
March 2016. Third edition of #play14, unconference about facilitation, innovation, change management and happiness through games. Here is what happened.
9年前
記事のアイキャッチ画像
The Blockchain Explained to Web Developers, Part 1: The Theory
Marmelab blog
It sounds exciting but it's complicated. Read on to understand the what, the how and the why of blockchains.
9年前
記事のアイキャッチ画像
Lean Startup, day 18: Determining The Break-Even Point
Marmelab blog
How do you write a financial business plan and determine the moment where your startup will make money? How much can an average SaaS business make? Here is a step-by-step introduction to the simple math involved early financial forecasts for startups.
9年前
記事のアイキャッチ画像
End to End (e2e) Testing React Apps With Selenium WebDriver And Node.js is Easier Than You Think
Marmelab blog
Testing single-page-apps using a browser is a must. Selenium can look intimidating, but it's really easy to use - once you handle asynchronous commands the right way.
9年前
記事のアイキャッチ画像
Lean Startup Adventure, day 17: Understanding The Minimum Viable Product
Marmelab blog
When it's time to go public, design the first version of your product as an experimentation to make sure you reached a product-market fit.
9年前
記事のアイキャッチ画像
Lean Startup Adventure, day 16: Pivot
Marmelab blog
Time for a pivot! Let's write a new Business Model based on what we've learned with the demo and the customer interviews.
9年前
記事のアイキャッチ画像
Lean Startup Adventure, day 15: Learn
Marmelab blog
After experimenting through a demo, and gathering data on our most risky assumption, it's time to draw conclusions.
9年前 +
記事のアイキャッチ画像
EventDrops 0.2 is out!
Marmelab blog
After a long delay, EventDrops 0.2 has finally been released. It includes a full code reworking, metaballs and an interactive demo. Check it out!
9年前
記事のアイキャッチ画像
Marmelab Javascript Boilerplate: deux jours de gagnés à chaque démarrage projet
Marmelab blog
Voici le modèle de nos projets JavaScript full-stack. Le meilleur des technologies actuelles (React, Redux, Koa.js, ng-admin) mêlé aux bonnes pratiques dictées par l'expérience. Et c'est open-source !
9年前
記事のアイキャッチ画像
Lean Startup, day 14: Customer Acquisition
Marmelab blog
All we did from now did not result to clear desire from customers.
9年前
記事のアイキャッチ画像
Self-Documented Makefile
Marmelab blog
+Good projects are automated projects. But documenting all those Make targets in a README file doesn't make much sense, when you can make the Makefile auto-documented.
9年前
記事のアイキャッチ画像
Lean Startup, day 13: The Teaser Video
Marmelab blog
Screencasts make great demos. But how can you film a product that doesn't exist yet?
9年前
記事のアイキャッチ画像
Lean Startup, day 12: How to Find a Product Name
Marmelab blog
To publish a demo, a product needs a name. The final name will probably change, so you shouldn't invest more than 1 hour to find a name at that point.
9年前
記事のアイキャッチ画像
Is it snobbery to want a real console on Windows?
Marmelab blog
Sometimes you have to code on Windows: this can be because of a personal challenge, or because you lost a bet, or because you don't have a choice. And it can be a bit painful when you are used to a powerful terminal. But some good solutions exist, as we'll see.
9年前
記事のアイキャッチ画像
Lean Startup, day 11: The Demo
Marmelab blog
Building an MVP is expensive. To maximize learning, you can take a smaller step, and build a demo first. Our demo is going to be a landing page.
9年前
記事のアイキャッチ画像
Lean Startup, day 10: Build-Measure-Learn explained
Marmelab blog
+To continue learning we now have to build things. Enter Experiments, the Build-Measure-Learn loop.
9年前
記事のアイキャッチ画像
Lean Startup, day 9: Benchmarking Existing Solutions
Marmelab blog
A great way to learn where to go is to look at what the competitors do. This exercise is called competitive benchmark. Let's see this in practice with Admin-as-a-service.
9年前
記事のアイキャッチ画像
Lean Startup Adventure, day 8: designing Personas
Marmelab blog
How we designed our Persona from the problem interviews results.
9年前
記事のアイキャッチ画像
Lean Startup Adventure, day 7: Second Problem interview with Adista
Marmelab blog
For the second Problem interview, we chose to meet Gilles Caumont, the President of Adista.
9年前
記事のアイキャッチ画像
Marmelab aide Canal+ à fluidifier sa relation client grâce à une application mobile
Marmelab blog
Retour sur le développement d'une application mobile iOS et Android pour le compte de la Direction des Services Client de Canal+.
9年前
記事のアイキャッチ画像
Lean Startup Adventure, day 6: Problem interview with CloudScreener
Marmelab blog
+For our first run into the Problem Interview, we chose to speak with Anthony Sollinger and Nicolas Drouet from CloudScreener
9年前
記事のアイキャッチ画像
Marmelab souhaite la bienvenue à Kevin
Marmelab blog
Vous pensiez qu'un pythoniste n'a pas sa place chez marmelab? La preuve du contraire avec Kevin!
9年前
記事のアイキャッチ画像
Lean Startup Adventure, day 5: Designing a Problem Interview
Marmelab blog
How to test assumptions as early as possible with zero investment? Let's ask customers directly!
9年前
記事のアイキャッチ画像
Webpack HTML plug-in in a nutshell
Marmelab blog
How to use Webpack HTML plug-in to leverage your template usage? And an extra bonus: how to generate a whole static website using only Webpack.
9年前
記事のアイキャッチ画像
Lean Startup Adventure, day 4: Risky Business
Marmelab blog
Not all business assumptions are equal. In a Lean Startup process, we must identify the most risky assumptions to test them first.
9年前
記事のアイキャッチ画像
Lean Startup Adventure, day 3: The Business Model
Marmelab blog
Are you familiar with the Business Model Canvas and the Lean Canvas? We used one of them to describe our business idea.
9年前
記事のアイキャッチ画像
Lean Startup Adventure, day 2: The Idea
Marmelab blog
How does a product idea come up? How can you say if it's an idea worth following?
9年前
記事のアイキャッチ画像
A Lean Startup Adventure
Marmelab blog
We've run a Lean Startup experiment in 2015. We learned a lot. This is the first post of a series to share these learnings.
9年前
記事のアイキャッチ画像
A Better File Structure For React/Redux Applications
Marmelab blog
+Most Redux tutorials encourage a directory structure which I find hard to cope with in large projects. I suggest an alternative directory structure, grouping files by domain
9年前
記事のアイキャッチ画像
Ma session découverte de l’agilité par le jeu au ForumPHP comme si vous y étiez (ou presque)
Marmelab blog
Session de découverte de l'agilité, au travers des Serious games, dans le cadre des 10 ans du ForumPHP.
9年前
記事のアイキャッチ画像
Meteor with Webpack, React and Redux in Practice
Marmelab blog
Making Meteor works with Webpack, React and Redux: Reactivity everywhere !
9年前
記事のアイキャッチ画像
Lean Kanban France 2015
Marmelab blog
Here is my report of Lean Kanban France 2015, the 4th parisian edition of this great 2-days conference, which I attended a few days ago.
9年前
記事のアイキャッチ画像
De Python à PHP 7 : L'algorithme du jeu Dobble
+Marmelab blog
Pour ma première semaine chez marmelab, j'ai dû reproduire le jeu Dobble en PHP, non sans mal !
9年前
記事のアイキャッチ画像
ng-admin 0.9: embedded lists, templates everywhere, new documentation
Marmelab blog
Each new ng-admin release brings a lot of features and help developers build more sophisticated admin interfaces, faster. Version 0.9 is no exception - it's probably the most ambitious release ever. Read on to see what's new. +
9年前
記事のアイキャッチ画像
How-to dump your Docker-ized database on Amazon S3?
Marmelab blog
Using Docker in staging or production environment is great. But what about your data backups? Here is a how-to tutorial to dump your dockerized databases on Amazon S3.
9年前
記事のアイキャッチ画像
ng-admin: Meet the new demo
Marmelab blog
To showcase the possibilities of ng-admin, we needed a more complete demo. How about a complete e-commerce administration? Introducing Posters Galore, your new favorite poster shop.
9年前
記事のアイキャッチ画像
ng-admin 0.8 Is Out!
Marmelab blog
The development of ng-admin, the client-side admin GUI running on top of any REST API, continues at a steady pace. Read on to see the ton of new features coming in v0.8.
9年前
記事のアイキャッチ画像
Importing a Modeled Mesh From Blender to Three.js
Marmelab blog
In this Three.js tutorial, we are going to see how to import a modeled mesh from Blender to our scene, animating it with some basic rotations.
10年前
記事のアイキャッチ画像
Jest, The React.js Unit Testing Framework, In Practice
Marmelab blog
+Jest is the de facto unit testing framework for ReactJS project. It is provided and used by Facebook themselves. You will see how and why we use it on the react-admin project, the difficulties we met, and some useful tips for setting it up correctly.
10年前
記事のアイキャッチ画像
L'itération agile : entre SSII et agence, un nouveau mode de prestation informatique
Marmelab blog
+Alors que la plupart des sociétés de service continuent à vendre le plus de jours.homme possible, marmelab a choisi de vendre un package plus ambitieux. Il est aussi plus risqué. Qu'est-ce qu'il contient ? A qui s'adresse-t-il ? Et est-ce que ça marche ?
10年前
記事のアイキャッチ画像
DotScale 2015 Conference Summary
Marmelab blog
On Monday, I attended the DotScale 2015, one of the DotConferences series. Here are my impressinos about the talks. +
10年前
記事のアイキャッチ画像
Minutes of PHP Tour 2015
Marmelab blog
Two weeks ago, we attended the PHP Tour 2015, organized by AFUP in Luxembourg. Here is a summary of each talk we saw.
10年前
記事のアイキャッチ画像
Setup Webpack on an ES6 React app with SASS
Marmelab blog
Webpack is really a great JavaScript bundler, allowing to turn messy and numerous JavaScript into a single minified and optimized script. Yet, we missed a good getting started tutorial. Here is one, using ES6 React app with SASS.
10年前
記事のアイキャッチ画像 +
Awesome REST: a List of Developer Resources for Building REST API
Marmelab blog
marmelab is glad to show you a list of useful REST resources to help developers in creating or consuming RESTful API.
10年前
記事のアイキャッチ画像
+Ng-admin 0.7: Configurable Menus, Batch Actions, CSV Export, And More
Marmelab blog
Continuing on the path of a feature-complete admin generator, the latest release of nf-admin offers much awaited features and many stability improvements.
10年前
記事のアイキャッチ画像
Mon premier défi : un Dobble generator en TDD
Marmelab blog
+Générer un jeu de 55 cartes avec 8 symboles uniques par carte, où chaque paire de carte n'a qu'un seul symbole en commun (oui, c'est Dobble), le tout en TDD avec ES6. Facile&nbsp;? Pas si facile.
10年前
記事のアイキャッチ画像
Marmelab souhaite la bienvenue à Gildas
Marmelab blog
Un nouveau développeur web expérimenté, doublé d'un architecte logiciel, vient de rejoindre marmelab. Il est aussi très fort en Parkour.
10年前
記事のアイキャッチ画像
FakeRest: Patch XMLHttpRequest to fake a REST server based on JSON data
Marmelab blog
How do you manage E2E testing of webapps relying on RESTful web services? Instead of setting up a server with test data, why not do it directly in the browser? FakeRest allows to do backend-less e2e testing.
10年前
記事のアイキャッチ画像
Using Ng-admin with postgREST
Marmelab blog
PostgREST is a lightning fast RESTful API on top of any PostgreSQL database. Ng-admin can plug to any RESTful API. What if we connected the two?
10年前
記事のアイキャッチ画像
Transpiling EcmaScript6 code to ES5 using Babel
Marmelab blog
During more than a week, we worked hard to introduce some EcmaScript6, the future of JavaScript, to ng-admin. Here is how we transpiled our code to ES5, to ensure every browser understands our code.
10年前
記事のアイキャッチ画像
+Restful.js: A Framework Agnostic JS Client for RESTful APIs
Marmelab blog
Do you know Restangular, the Angular.js service that simplifies common GET, POST, DELETE, and UPDATE requests with a minimum of client code? It's excellent, except that it's Angular-only. We have developed a similar library in pure JavaScript. With no framework dependency, you can use it anywhere, especially in your React single-page applications.
10年前
記事のアイキャッチ画像
Marmelab souhaite la bienvenue à Yann
Marmelab blog
Marmelab se renforce en pilotage de projet agile grâce à l'arrivée de Yann, coach agile et scrummaster très expérimenté et très chaleureux
10年前
記事のアイキャッチ画像
Ng-admin 0.6: Adding Support for Custom Types
Marmelab blog
+Less than a month after the previous release, ng-admin 0.6 is here with a better configuratino API and the ability to add custom types
10年前
記事のアイキャッチ画像
NgAdminGeneratorBundle: Create a JavaScript Admin Panel and a REST API for Symfony2 Apps in Minutes
Marmelab blog
+One of our mottos at marmelab is <em>convention over configuration</em>. Here is an example of how we apply this philosophy, using Symfony2, Stan Lemon's REST bundle, ng-admin, and a brand new bundle called `NgAdminGeneratorBundle`.
10年前
記事のアイキャッチ画像
Ng-admin 0.5 Is Out, and It's Compatible With Your API
Marmelab blog
+We've been hard at work during the past two months, making ng-admin even more configurable. It can now consume RESTful APIs in any format thanks to a powerful mapping engine, and you can completely theme it to your colors.
10年前
記事のアイキャッチ画像
Playing with websockets in Go
Marmelab blog
Go is quite good for asynchronous tasks. So, let's experiment it with websockets, creating a (basic) collaborative text editor, GollabEdit.
10年前
記事のアイキャッチ画像
[Video] ArchitectureTree: Visualize Software Architectures In Your Browser
Marmelab blog
You don't need a drawing app to create a software map anymore. Meet ArchitectureTree, a visualization combining d3.js and Angular.js for demanding architects.
10年前
記事のアイキャッチ画像
Silex Multifetch: Multiplex Requests To Your PHP API Into A Single HTTP call
Marmelab blog
Batch requests is a common practice to minimize API response time. We're publishing a new library to make it possible on web services written in PHP.
10年前
記事のアイキャッチ画像
Microrest.php: Generate A RESTful API On Top Of Any Relational Database, Powered By PHP And Silex
Marmelab blog
If you have a database, you're not far from also having a REST API. All it takes is a PHP microserver written in Silex, a description of your model written in YAML... and 5 minutes of your time.
10年前
記事のアイキャッチ画像
Admin GUIs in the Microservices Era: Introducing ng-admin Multi Backend
Marmelab blog
Following microservices leads to a virtuous architecture, but to a nightmare for human users. What if we could do something about it, using a web application dedicated to backend administration?
10年前
記事のアイキャッチ画像
Marmelab: 2 years of Open-Source
Marmelab blog
We've been producing open-source code on GitHub for the past 2 years. Guess what? Some of it is really good!
10年前
記事のアイキャッチ画像
Two days to write my first Protractor tests on the ng-admin AngularJs module
Marmelab blog
+Protractor is the de facto standard for end-to-end tests on AngularJS applications. I spent two days bootstraping it on ng-admin project.
10年前
記事のアイキャッチ画像
ng-admin 0.4: Eating our own dog food
Marmelab blog
We're releasing a new version of ng-admin, introducing a nicer GUI, a nicer config API, and tons of new features. Read on to learn what's new.
10年前
+
記事のアイキャッチ画像
Creating JSON Web Token in JavaScript
Marmelab blog
One of the best way to secure an API is JSON Web Tokens. As understanding a concept passes by experimenting it, here is a post describing how to forge such a token in JavaScript.
10年前
記事のアイキャッチ画像
DotJS 2014: Big stars don't make a great event
Marmelab blog
The DotJs conference took place on november 17th in Paris. Many great JavaScript evangelists were announced, but I expected their presentations to be much more interesting.
10年前
記事のアイキャッチ画像
+Big changes in ng-admin 0.3: Introducing views
Marmelab blog
ng-admin can now differentiate your field for each type of view. For the occasion, we're releasing a new version.
10年前
記事のアイキャッチ画像
Bilan du Forum PHP 2014: Le PHP, langage de l'innovation ?
Marmelab blog
+Le PHP est-il un langage de choix pour relever le défi de l'innovation ? Compte-rendu sélectif de ce qu'en a dit la communauté PHP réunie au Beffroi de Montrouge le 23 et 24 octobre dernier.
10年前
記事のアイキャッチ画像
We're retiring gaudi
Marmelab blog
Making an orchestration tool for Docker containers was a good idea, until Docker bought another one
10年前
記事のアイキャッチ画像
Introducing koa-multifetch, a Node.js middleware for REST APIs
Marmelab blog
We've built a middleware for the koa framework. It allows to multiplex several requests to a REST API in a single HTTP request. Read on to learn its usage.
10年前
記事のアイキャッチ画像
Une commande tree plus efficace grâce au Go
Marmelab blog
Peut-on facilement et rapidement améliorer la classique commande `tree` grâce au langage Go ? Nancy étant dans les cartons, c'est Paris qui s'y colle pour cette journée de Hackday.
10年前
記事のアイキャッチ画像
Marmelab déménage!
Marmelab blog
Près de deux ans après son emménagement dans les locaux d'ARTEM, marmelab vient d'emménager dans un nouveau local.
10年前
記事のアイキャッチ画像
Une console plus graphique avec node.js et d3.js
Marmelab blog
+"Afficher graphiquement l'occupation disque d'un répertoire dans la console en Javascript" : l'énoncé du problème est très motivant. Mais après 5 jours à en tenter l'implémentation, peut-on dire que node.js et d3.js sont utilisables pour des rendus graphiques dans un terminal ? Oui. Mais ...
10年前
記事のアイキャッチ画像
ng-admin Update: Callback Field Type, Easier Customization
Marmelab blog
+Last week, I've been working on ng-admin to introduce new field types and allow application customization
10年前
記事のアイキャッチ画像
[Video] MobileInsight : une semaine avec Angular.js, Ionic et PhoneGap
Marmelab blog
Retour d'expérience sur le développement d'une application mobile hybride, basée sur le service SensioLabsInsight, avec Angular.js, Ionic et PhoneGap
10年前
+
記事のアイキャッチ画像
Du PHP au Go: une semaine pour réaliser un produit fonctionnel
Marmelab blog
Quels enseignements tirer d'une semaine de découverte du langage Go par un PHPiste.
10年前
記事のアイキャッチ画像
Marmelab souhaite la bienvenue à Alexis
Marmelab blog
Alexis vient apporter ses 11 ans d'expérience dans le développement web aux projets d'innovation des clients de marmelab. Vous allez voir de quel bois il se chauffe !
10年前
記事のアイキャッチ画像
+ng-admin: Add an AngularJS admin GUI to any RESTful API
Marmelab blog
Why spend time redeveloping an admin backend using PHP if you already have a RESTful API? Introducing ng-admin, an admin generator written entirely in JavaScript, supporting relationships, smart field types, and much more.
10年前
記事のアイキャッチ画像
Seamlessly Run Composer On HHVM Inside Docker: Introducing make-docker-command
Marmelab blog
Single purpose containers for composer, bower, compass or capistrano are possible, but hard to manipulate. Read on to see how we use GNU make to seamlessly run any command line tool inside Docker.
10年前
記事のアイキャッチ画像
Fibonacci sequence generator in Go
Marmelab blog
Is it possible to develop generators in Golang? Sure! Here is an elegant way based on Fibonacci sequence.
10年前
記事のアイキャッチ画像
One New Tech Per Project
Marmelab blog
At marmelab, we don't wait until a customer asks us to test a new piece of technology to use it. All our projects rely on at least one piece of technology we've never used before. Read on to see our benefits vs risk evaluation of this dangerous practice.
10年前
記事のアイキャッチ画像
Resolving Action Dependencies: Comparing JavaScript and Go implementations
Marmelab blog
Go routines are ridiculously powerful. I realized it while adding new features to gaudi. Check out how I leverage their power to outperform a JavaScript implementation by far.
10年前
Create a Full Stack Magento Environment With gaudi
Marmelab blog
E-commerce websites with heavy traffic often require load balancers, memcache, and master/slave MySQL replication. gaudi helps to build this kind of architecture in minutes.
11年前
記事のアイキャッチ画像
[Screencast] Build a working SF2 web application using 3 docker containers in 2 minutes
Marmelab blog
Using gaudi's visual configuration builder, setting up a multi-container development environment from scratch is more than painless: it's fun. Make sure you watch this amazing video!
11年前
記事のアイキャッチ画像
PHPCR Browser: Edit Support and Better Performance
Marmelab blog
The PHPCR Browser, initially released in late 2013, has been completely rewritten to improve performance and reliability, and to add support for tree edition.
11年前
記事のアイキャッチ画像
ArcheoloGit: Visualize Code Age and Dev Activity
Marmelab blog
How I used d3.js to help detect potentially dangerous code in a large codebase
11年前
+
記事のアイキャッチ画像
Gaudi News: gaudi.io, apt-get install gaudi, ambassadors, and more!
Marmelab blog
Gaudi, the dev environment builder for Docker, has gotten lots of love lately. Read on to see all the new features we've added to improve your development workflows.
11年前
記事のアイキャッチ画像
Running Symfony CMF With Gaudi
Marmelab blog
Symfony CMF is a new Content Management Framework based on Symfony 2. This project won the Symfony Open-Source Application Award 2013, and is used at marmelab for a project with more than 900K documents. Symfony CMF requires several third-party components...
11年前
記事のアイキャッチ画像
Create Gaudi's File Easily With A Web App
Marmelab blog
Last week I released <a href="https://github.com/marmelab/gaudi">Gaudi</a>, an architecture builder for all your applications. Gaudi uses a configuration file (called <code>.gaudi.yml</code>) to create <a href="http://www.docker.io">Docker</a> containers for each component you need.
11年前
記事のアイキャッチ画像 +
Introducing Gaudi: An Architect for Multi-Component Applications
Marmelab blog
Web applications often use a lot of different components, such as MySQL, ElasticSearch, or Redis. Installing, running and maintaining theses servers can waste a lot of our time.
11年前
記事のアイキャッチ画像
My First Assignment: a PHPCR Browser
Marmelab blog
I’ve just finished my master degree in IT at TELECOM Nancy, and my internship at INRIA. I was wondering if I preferred to continue studying in thesis, or to start looking for a job.
11年前
記事のアイキャッチ画像
+Converting the Symfony Stopwatch Component from PHP to Zephir
Marmelab blog
During the last HackDay at&nbsp;<a href="http://marmelab.com/">Marmelab</a>, I wanted to give&nbsp;<a href="http://zephir-lang.com/">Zephir</a>&nbsp;a try. Zephir is a new language which eases the creation of C extensions for PHP.
11年前
記事のアイキャッチ画像
Marmelab souhaite la bienvenue à Robin
Marmelab blog
Fraîchement diplômé de l'Ecole d'Ingénieurs Telecom Nancy, Robin Bressan a rejoint l'équipe mi novembre pour renforcer nos capacités de développement.
11年前
記事のアイキャッチ画像
My First Assignment: Creating an Elastica Adapter for the Sonata Admin list view
Marmelab blog
Just like every marmelab recruit, my first weeks are spent working on various new technologies (Node.js, ElasticSearch, MongoDb, etc) with real use cases.
11年前
記事のアイキャッチ画像
Marmelab souhaite la bienvenue à Daphné
Marmelab blog
+Deux ans et demi en agence web (chez Nurun Nancy) ont permis à Daphné de s'aguerrir sur de nombreux projets pour des grands comptes de l'énergie, de la cosmétique, de l'alimentation pour nourrissons.
11年前
記事のアイキャッチ画像
How To Use Docker To Run PHPUnit Tests In Parallel
Marmelab blog
+Ahoy sailor ! Let me tell you the story of <a href="http://www.docker.io/">Docker</a>, the LinuX Container (LXC) manager that you&#39;ve dreamt of for a long time.
11年前
記事のアイキャッチ画像
Marmelab souhaite la bienvenue à Jérôme
Marmelab blog
Après une longue expérience dans les médias, Jérôme Macias a rejoint marmelab à la fin du mois d'août.
+11年前
記事のアイキャッチ画像
Using Connected Objects To Keep Your Job
Marmelab blog
We keep hearing about the Internet of Things. The basic idea is simple, everyday objects (like a watch or even a toothbrush) will soon be connected to Internet, and will be able to communicate with each other.
12年前
記事のアイキャッチ画像
Building Sophisticated WebApps For Mobile: A Bumpy Ride
Marmelab blog
For the past couple weeks, we've been working on a prototype mobile WebApp built in HTML5 and d3.js. The purpose was to test the performance of d3.js on mobile browsers.
12年前
記事のアイキャッチ画像
Comment se passe un premier projet agile ? Interview d'Anthony Sollinger, CloudScreener.com
Marmelab blog
Après un premier projet agile (Scrum, Lean Startup) réalisé par marmelab, nous avons demandé à Anthony Sollinger, co-fondateur de <a href="http://cloudscreener.com">CloudScreener.com</a>, de partager ses impressions.
12年前
記事のアイキャッチ画像
Integrating Raphael.js With Backbone.js
Marmelab blog
Client-side MVC frameworks usually bind model elements with DOM elements. But for more graphical applications, the view layer cannot be restricted to div and span tags.
12年前
記事のアイキャッチ画像
Inline Text Editing With Raphaël.js
Marmelab blog
You can easily do inline editing in pure HTML, but how about enabling the same feature in SVG, and making it available on all major browsers?
12年前
記事のアイキャッチ画像
CloudScreener, le comparateur d'offres Cloud, sort son mode expert
Marmelab blog
CloudScreener.com, le site de diagnostic et comparaison de cloud computing développé par marmelab pour le compte de la startup CloudScreener, vient de sortir sa cinquième itération.
12年前
記事のアイキャッチ画像
Lancement de CloudScreener, le comparateur d'offre cloud pour les PME
Marmelab blog
+Nous sommes fiers d'annoncer la mise en ligne de notre premier site, <a href="http://www.cloudscreener.com">cloudscreener.com</a>, développé par marmelab pour la société CloudScreener.
12年前
記事のアイキャッチ画像
Pour la fin des contrats au forfait
Marmelab blog
Beaucoup de contrats au forfait se finissent mal pour le client. C’est que le forfait délègue le risque tout en le cachant. Heureusement, il y a une alternative. +
12年前
\ No newline at end of file diff --git a/blogs/eb2e7afbe2a4371dea05cd41698920d6/index.html b/blogs/eb2e7afbe2a4371dea05cd41698920d6/index.html new file mode 100644 index 000000000000..8dece5ea0f55 --- /dev/null +++ b/blogs/eb2e7afbe2a4371dea05cd41698920d6/index.html @@ -0,0 +1,38 @@ +Sindre Sorhus — Blogのフィード|JSer.info Watch List RSS

Sindre Sorhus — Blog

https://sindresorhus.com

Full-Time Open-Sourcerer & Aspiring Rebel

フィード

記事のアイキャッチ画像
Supercharge + Setapp = ❤️
Sindre Sorhus — Blog
My Supecharge app is now available on Setapp.
1ヶ月前
記事のアイキャッチ画像
New App: Default Browser
Sindre Sorhus — Blog
Switch default browser from your menu bar
1ヶ月前
記事のアイキャッチ画像
New App: App Buddy
Sindre Sorhus — Blog
Helper for my apps
4ヶ月前
記事のアイキャッチ画像
New App: Supercharge
Sindre Sorhus — Blog
Elevate your Mac experience
+
4ヶ月前
記事のアイキャッチ画像
New App: Scratchpad
Sindre Sorhus — Blog
Quick notes, always available
5ヶ月前
記事のアイキャッチ画像
The Micro-Benchmark Fallacy
Sindre Sorhus — Blog
It's a trap.
6ヶ月前
記事のアイキャッチ画像
New App: Menu Bar Spacing
Sindre Sorhus — Blog
Customize the gap between menu bar items
7ヶ月前
記事のアイキャッチ画像
New App: Online Check
Sindre Sorhus — Blog
Online status in your menu bar
8ヶ月前
記事のアイキャッチ画像
New App: Week Number
Sindre Sorhus — Blog
The current week number in your menu bar
9ヶ月前
記事のアイキャッチ画像
New App: Icon Preview
Sindre Sorhus — Blog
Preview your app icon and menu bar icon
10ヶ月前
記事のアイキャッチ画像
New App: Floating Clock
Sindre Sorhus — Blog
The missing clock for Apple Vision Pro
1年前
記事のアイキャッチ画像
New App: Doodle Draw
Sindre Sorhus — Blog
Quick and easy drawing pad
1年前
記事のアイキャッチ画像
New App: Second Clock
Sindre Sorhus — Blog
Show a second clock for a different time zone in your menu bar
1年前
記事のアイキャッチ画像
New App: Memo Widget
Sindre Sorhus — Blog
Sticky notes on your Home Screen, Lock Screen, and desktop
1年前
+記事のアイキャッチ画像
Goodbye, Node.js Buffer
Sindre Sorhus — Blog
It's time to move from Buffer to Uint8Array.
1年前
記事のアイキャッチ画像
New App: AI Actions
Sindre Sorhus — Blog
+
AI actions for the Shortcuts app
1年前
記事のアイキャッチ画像
New App: One Task
Sindre Sorhus — Blog
Conquer one task at a time
1年前
記事のアイキャッチ画像
New App: Menu Bar Calendar
Sindre Sorhus — Blog
A monthly calendar, one click away
1年前
記事のアイキャッチ画像
New App: Day Progress
Sindre Sorhus — Blog
Time remaining today in your menu bar
2年前
記事のアイキャッチ画像
Empathy in Open Source
Sindre Sorhus — Blog
Open source is not just about code, it's about people.
2年前
記事のアイキャッチ画像
New App: Camera Preview
Sindre Sorhus — Blog
Preview your webcam and take photos
+
2年前
記事のアイキャッチ画像
New App: Command X
Sindre Sorhus — Blog
Cut and paste files in Finder
2年前
記事のアイキャッチ画像
New App: QuickGPT
Sindre Sorhus — Blog
Easy access to ChatGPT
2年前
記事のアイキャッチ画像
New App: Ask AI
Sindre Sorhus — Blog
Use ChatGPT right on your watch
2年前
記事のアイキャッチ画像
New App: Aiko
Sindre Sorhus — Blog
AI-powered audio transcription
2年前
記事のアイキャッチ画像
New App: Hyperduck
Sindre Sorhus — Blog
Send links from your iOS & visionOS devices to your Mac
2年前
記事のアイキャッチ画像
New App: Spaced
Sindre Sorhus — Blog
Organize your menu bar items into groups
2年前
記事のアイキャッチ画像
New App: Amazing AI
Sindre Sorhus — Blog
Generate images from text using Stable Diffusion
2年前
記事のアイキャッチ画像
New App: Randa
Sindre Sorhus — Blog
Generate random numbers
2年前
記事のアイキャッチ画像
New App: Today
Sindre Sorhus — Blog
Today’s schedule in your menu bar
2年前
記事のアイキャッチ画像
New App: Plain Text Editor
Sindre Sorhus — Blog
Simple distraction-free notepad
2年前
記事のアイキャッチ画像
New App: Quick Launch
Sindre Sorhus — Blog
Open websites, apps, and shortcuts from your Lock Screen
2年前
記事のアイキャッチ画像
New App: Any Text
Sindre Sorhus — Blog
Put text on your Lock Screen, Home Screen, and desktop
2年前
記事のアイキャッチ画像
New App: Favorites Widget
Sindre Sorhus — Blog
Contacts on your Lock Screen, Home Screen, and desktop
2年前
記事のアイキャッチ画像
New App: Velja
Sindre Sorhus — Blog
Powerful browser picker +
3年前
記事のアイキャッチ画像
New App: Folder Peek
Sindre Sorhus — Blog
Put folders in your menu bar
3年前
記事のアイキャッチ画像
New App: Pure Paste
Sindre Sorhus — Blog
Paste as plain text by default
3年前
記事のアイキャッチ画像
New App: One Thing
Sindre Sorhus — Blog
Put a single task or goal in your menu bar
3年前
記事のアイキャッチ画像 +
New App: Speediness
Sindre Sorhus — Blog
Check your internet speed
3年前
記事のアイキャッチ画像
New App: Actions
Sindre Sorhus — Blog
Additional actions for the Shortcuts app
3年前
記事のアイキャッチ画像
New App: Pandan
Sindre Sorhus — Blog
Time awareness in your menu bar
4年前
記事のアイキャッチ画像
New App: System Color Picker
Sindre Sorhus — Blog
+The familiar color picker supercharged
4年前
記事のアイキャッチ画像
New App: UTC Time
Sindre Sorhus — Blog
Show the time in UTC in the menu bar or a widget
4年前
記事のアイキャッチ画像
Issue Bumping
Sindre Sorhus — Blog
4年前
記事のアイキャッチ画像
New App: Photo Widget
Sindre Sorhus — Blog
Photos on your home screen and desktop
4年前
記事のアイキャッチ画像 +
New App: Shareful
Sindre Sorhus — Blog
Give the macOS share menu superpowers
4年前
記事のアイキャッチ画像
New App: Recordia
Sindre Sorhus — Blog
Quickly record audio
4年前
記事のアイキャッチ画像
New App: Pasteboard Viewer
Sindre Sorhus — Blog
Inspect the system pasteboards
5年前
記事のアイキャッチ画像
New App: Plash
Sindre Sorhus — Blog
Make any website your desktop wallpaper
+
5年前
記事のアイキャッチ画像
New App: Dato
Sindre Sorhus — Blog
Menu bar calendar and world clocks, plus fullscreen meeting notifications
6年前
記事のアイキャッチ画像
Small Focused Modules
Sindre Sorhus — Blog
Make small focused modules for reusability and to make it possible to build larger more advanced things that are easier to reason about.
6年前
記事のアイキャッチ画像
New App: Gifski
Sindre Sorhus — Blog
Convert videos to high-quality GIFs
7年前
記事のアイキャッチ画像
New App: Black Out
Sindre Sorhus — Blog
Hide sensitive parts of an image
7年前
記事のアイキャッチ画像
New App: HEIC Converter
Sindre Sorhus — Blog
+Convert HEIC images to JPEG or PNG
7年前
記事のアイキャッチ画像
New App: Lungo
Sindre Sorhus — Blog
Prevent your Mac from going to sleep
8年前
記事のアイキャッチ画像
New App: Battery Indicator
Sindre Sorhus — Blog
Remaining battery time in your menu bar
8年前
記事のアイキャッチ画像
New App: Blear
Sindre Sorhus — Blog
Transform photos into blurry wallpapers
10年前
\ No newline at end of file diff --git a/blogs/ec6ccb467d145c3f37f79e4b020bccf4/index.html b/blogs/ec6ccb467d145c3f37f79e4b020bccf4/index.html new file mode 100644 index 000000000000..c500895f8d12 --- /dev/null +++ b/blogs/ec6ccb467d145c3f37f79e4b020bccf4/index.html @@ -0,0 +1,280 @@ +Robin Wieruch - Freelance Web Developerのフィード|JSer.info Watch List RSS

Robin Wieruch - Freelance Web Developer

https://www.robinwieruch.de

Freelance Web Developer for React.js, Next.js and Node.js. Based in Berlin, German/English speaking. Consulting/Freelancing for Web Development project: Code Audits/Reviews, Workshops, Training, Implementation ...

フィード

記事のアイキャッチ画像
Monorepos in JavaScript & TypeScript
はてなブックマークアイコン 41
Robin Wieruch - Freelance Web Developer
+
A tutorial how to use a monorepo architecture in frontend JavaScript and TypeScript with tools like npm/yarn/pnpm workspaces, Turborepo/NX/Lerna, Git Submodules, ...
5日前
記事のアイキャッチ画像
+Vite with TypeScript
Robin Wieruch - Freelance Web Developer
How to upgrade Vite to TypeScript from JavaScript ...
9日前
記事のアイキャッチ画像
LangChain: Structured Output with JavaScript
Robin Wieruch - Freelance Web Developer
How to: Structured Output in JavaScript with LangChain. A step by step example on how to use structured data in JavaScript with LangChain ...
12日前
記事のアイキャッチ画像
LangChain: Streaming in JavaScript with React.js & Next.js
Robin Wieruch - Freelance Web Developer
How to: Streaming in JavaScript with LangChain. A step by step example on how to stream data in JavaScript with LangChain ...
18日前
記事のアイキャッチ画像
LangChain: OpenAI in JavaScript with React.js & Next.js
Robin Wieruch - Freelance Web Developer
How to: OpenAI in JavaScript with LangChain. A step by step example on how to use the OpenAI API in JavaScript with LangChain ...
1ヶ月前
+
記事のアイキャッチ画像
React Folder Structure in 5 Steps [2025]
Robin Wieruch - Freelance Web Developer
React Folder Structure in 2025 for large React projects. The guide walks you through a file structure from small to large project ...
1ヶ月前
記事のアイキャッチ画像
Mac Setup for Web Development [2025]
Robin Wieruch - Freelance Web Developer
How I set up my new M1 MacBook Pro as a web developer in 2025 for web development ...
1ヶ月前
記事のアイキャッチ画像
React Router 7: Search Params (alias Query Params)
Robin Wieruch - Freelance Web Developer
+How to: Search Params in React Router 7. A example on Search Params (also called Query Params) with React Router ...
1ヶ月前
記事のアイキャッチ画像
React Router 7: Descendant Routes
Robin Wieruch - Freelance Web Developer
How to: Descendant Routes in React Router 7. A step by step example on Descendant Routes with React Router ...
1ヶ月前
記事のアイキャッチ画像
React Router 7: Nested Routes
Robin Wieruch - Freelance Web Developer
How to: Nested Routes in React Router 7. A step by step example on Nested Routes with React Router ...
1ヶ月前
記事のアイキャッチ画像
React Router 7 Lazy Loading
Robin Wieruch - Freelance Web Developer
How to: React Router 7 Lazy Loading: code-splitting at route level helps you lazy-load just the things that are needed by the user, which dramatically improves the performance ...
1ヶ月前
記事のアイキャッチ画像
React Router 7: Authentication
Robin Wieruch - Freelance Web Developer
+You will learn how to use authentication in React Router 7 by authenticating a user by login (sign in) and logout (sign out) ...
1ヶ月前
記事のアイキャッチ画像
React Router 7: Example
Robin Wieruch - Freelance Web Developer
A brief React Router 7 example to get you started ...
1ヶ月前
記事のアイキャッチ画像
React Router 7: Redirect
Robin Wieruch - Freelance Web Developer
How to: Redirect in React Router 7 by using the declarative Navigate component or the programmatic useNavigate Hook ...
1ヶ月前
記事のアイキャッチ画像
+React Router 7: Private Routes (alias Protected Routes)
Robin Wieruch - Freelance Web Developer
How to use Private Routes in React Router 7 (alias Protected Routes) by using conditions (e.g. authentication, permissions, roles) to authorize users for guarded pages ...
1ヶ月前
記事のアイキャッチ画像
React Router 7 Tutorial
Robin Wieruch - Freelance Web Developer
+React Router 7 tutorial: setup, hooks, nested routes, dynamic routes, programmatic navigation, active links, layout routes, index routes and more. A step by step React tutorial for beginners ...
1ヶ月前
記事のアイキャッチ画像
React Function Components
Robin Wieruch - Freelance Web Developer
Everything you need to know about React Function Components, also known as React Functional Components. Here you will learn React Function Components by example with step by step ...
2ヶ月前
記事のアイキャッチ画像
React Form Validation
Robin Wieruch - Freelance Web Developer
How to validate forms in React without a form library on the server and the client ...
2ヶ月前
記事のアイキャッチ画像
React Tech Stack [2025]
Robin Wieruch - Freelance Web Developer
Popular React Tech Stack for Full-Stack Applications in 2025 to create your product (i.e. SaaS) ...
2ヶ月前
記事のアイキャッチ画像
React Data Fetching Patterns
Robin Wieruch - Freelance Web Developer
+Data fetching patterns for React components across Client and Server Components ...
2ヶ月前
記事のアイキャッチ画像
Feature-based React Architecture
Robin Wieruch - Freelance Web Developer
How to create a feature-based React architecture that allows large scale applications ...
2ヶ月前
記事のアイキャッチ画像
React and FormData
Robin Wieruch - Freelance Web Developer
Learn how to handle FormData in React when submitting it with a (Server) Action to the server ...
3ヶ月前
記事のアイキャッチ画像
Freelance Web Developer: Charge by Time, not Value
+Robin Wieruch - Freelance Web Developer
Freelance Developers have to rate their services by time or by value. Here I, as a freelance React developer, want to argue in favor of charging by time ...
3ヶ月前
記事のアイキャッチ画像
How to (not) reset a form after a Server Action in React
Robin Wieruch - Freelance Web Developer
+Learn how not to reset a form after a erroneous server action in React. In other words, how to opt-out of the default form reset behavior in React ...
3ヶ月前
記事のアイキャッチ画像
About Me
Robin Wieruch - Freelance Web Developer
Freelance React Developer for React and Next.js in JavaScript/TypeScript from Berlin (German/English). Consulting & Freelancing for Web Development: Full-Stack Applications, Code Audits & Reviews, Workshops, Training, MVPs ...
3ヶ月前
+
記事のアイキャッチ画像
Authentication in Next.js
Robin Wieruch - Freelance Web Developer
Learn how to roll your own authentication in Next.js ...
3ヶ月前
記事のアイキャッチ画像
Authentication in JavaScript & TypeScript
Robin Wieruch - Freelance Web Developer
Learn how to roll your own authentication in JavaScript & TypeScript ...
3ヶ月前
記事のアイキャッチ画像
How to fetch data with React Hooks
Robin Wieruch - Freelance Web Developer
Learn the fundamentals about data fetching in client-side React with React Hooks ...
4ヶ月前
記事のアイキャッチ画像
How to Drag and Drop in React
Robin Wieruch - Freelance Web Developer
A tutorial about using Drag and Drop in React by example for a vertical list (later horizontal list) with @hello-pangea/dnd as DnD library ...
4ヶ月前
記事のアイキャッチ画像
How to create a React Dropdown
Robin Wieruch - Freelance Web Developer
How create a React Dropdown component by example. The HTML select element displays a menu ...
4ヶ月前
記事のアイキャッチ画像
Types of React Components [2024]
Robin Wieruch - Freelance Web Developer
+There are many types of React Components that make it difficult for React beginners. This tutorial goes through each React Component Type by example ...
4ヶ月前
記事のアイキャッチ画像
How to fetch data in React [2024]
Robin Wieruch - Freelance Web Developer
There are different ways to fetch data in React from a remote API. In this guide we want to explore all the options available for data fetching in React ...
5ヶ月前
記事のアイキャッチ画像
Search Params in Next.js for URL State
Robin Wieruch - Freelance Web Developer
How to use Search Params in Next with useSearchParams und SearchParams from React Server Components and Client Components for URL state ...
5ヶ月前
記事のアイキャッチ画像
React is (becoming) a Full-Stack Framework
Robin Wieruch - Freelance Web Developer
React with Server Components and Server Actions is becoming a full-stack framework. This article reflects on the evolution of React and its impact on full-stack development ...
6ヶ月前
記事のアイキャッチ画像
Data Fetching with Server Actions in Next.js
+Robin Wieruch - Freelance Web Developer
Can I fetch data with Server Actions in Next.js? There are different ways to fetch data. Normally Server Actions are used to mutate data, but ...
7ヶ月前
記事のアイキャッチ画像
React Form Button
Robin Wieruch - Freelance Web Developer
Learn how to trigger a server action with a form button without using a Client Component in React ...
7ヶ月前
記事のアイキャッチ画像
Extra Arguments for Server Actions in React Forms
Robin Wieruch - Freelance Web Developer
Learn how to pass extra arguments to server actions in React forms (or Next.js forms) using hidden form fields or binding the arguments to the server action ...
7ヶ月前
JavaScript Rounding Errors (in Financial Applications)
Robin Wieruch - Freelance Web Developer
Learn about rounding errors in JavaScript and how to avoid them in financial applications. Why is 0.1 + 0.2 not equal to 0.3 in JavaScript when working with floating-point numbers?
7ヶ月前
記事のアイキャッチ画像
+React Form with Loading State (Pending Action)
Robin Wieruch - Freelance Web Developer
Learn how to add a loading state to React forms when using actions. Show a loading spinner while the form is submitting ...
8ヶ月前
記事のアイキャッチ画像
Server Actions in Next.js
Robin Wieruch - Freelance Web Developer
Learn how to use Server Actions in Next.js in React Server Components to create a full-stack application ...
10ヶ月前
記事のアイキャッチ画像
Seeding a Database with Prisma (TypeScript)
Robin Wieruch - Freelance Web Developer
Learn how to seed a database with Prisma in a TypeScript application ...
1年前
記事のアイキャッチ画像
Next.js with Prisma and SQLite
Robin Wieruch - Freelance Web Developer
Learn how to use Prisma with SQLite in a Next.js application ...
1年前
記事のアイキャッチ画像
Next.js Forms with Server Actions
Robin Wieruch - Freelance Web Developer
+How to use Forms in Next.js with React Server Components (RSC), Server Actions in Next's App Router by using useFormState and useFormStatus. Learn about form validation, form reset, form feedback (field errors and toast messages) while using progressive enhancement and caching ...
1年前
記事のアイキャッチ画像
React Trends in 2024
Robin Wieruch - Freelance Web Developer
React Trends in 2024 which should be on your watchlist. A walkthrough of the state of React ...
1年前
記事のアイキャッチ画像
How to start a React Project in 2024
Robin Wieruch - Freelance Web Developer
A list of React starter kits (Vite, Next, Astro) which help developers to start a React project in 2024 ...
1年前
記事のアイキャッチ画像
React Libraries for 2024
Robin Wieruch - Freelance Web Developer
Discover the essential React libraries for 2024! Navigate the vast ecosystem effortlessly with this curated list. Empower your React projects with these powerful tools for seamless development of large-scale applications ...
1年前
記事のアイキャッチ画像
Web Development Setup for Beginners
Robin Wieruch - Freelance Web Developer
+
A minimal web developmment setup for beginners who want to start their career as web developers ...
1年前
記事のアイキャッチ画像
How to learn a JavaScript Framework
Robin Wieruch - Freelance Web Developer
+How to learn React, Vue, Angular or any other framework? For many developers this question pops up every day. The article should give actionable guidance on how to escape the analysis paralysis and how to get from consuming to producing by following a simple learning framework ...
1年前
記事のアイキャッチ画像
How to setup React.js on MacOS
Robin Wieruch - Freelance Web Developer
+A step by step guide on how to setup React.js on MacOS. You will install Visual Studio Code, Node.js, NPM, Git, Prettier and create-react-app for building React applications with Mac OS ...
1年前
記事のアイキャッチ画像
How to setup React.js on Windows
Robin Wieruch - Freelance Web Developer
A step by step guide on how to setup React.js on Windows for your PC. You will install Visual Studio Code, Node.js, NPM, Git, Prettier and create-react-app for building React applications with Windows ...
1年前
記事のアイキャッチ画像
Freelance React Developer
Robin Wieruch - Freelance Web Developer
Freelance React Developer for React and Next.js in JavaScript/TypeScript from Berlin (German/English). Consulting & Freelancing for Web Development: Full-Stack Applications, Code Audits & Reviews, Workshops, Training, MVPs ...
1年前
記事のアイキャッチ画像
How to learn React
Robin Wieruch - Freelance Web Developer
How to learn React and how to become a React developer. A step by step guide on how to learn React, on how to get started, and how to commit yourself every day ...
1年前
記事のアイキャッチ画像
How to learn React in 2024
Robin Wieruch - Freelance Web Developer
Learning React in 2024 as a library or framework is not an easy decision. Whether to learn React with Next.js as a framework ...
1年前
記事のアイキャッチ画像
Migrate to Vite from Create React App (CRA)
Robin Wieruch - Freelance Web Developer
How to migrate to Vite from Create React App (CRA) with environment variables, testing, SVG, ESLint, TypeScript ...
2年前
記事のアイキャッチ画像
Full-Stack TypeScript with tRPC and React
Robin Wieruch - Freelance Web Developer
How to use tRPC with React for full-stack type safety with TypeScript ...
2年前
記事のアイキャッチ画像
Vite with ESLint
Robin Wieruch - Freelance Web Developer
How to use ESLint in Vite with vite-plugin-eslint for a better code style linting ...
2年前
記事のアイキャッチ画像
10 Web Development Trends in 2023
Robin Wieruch - Freelance Web Developer
Web Development Trends in 2023 which should be on your watchlist. A walkthrough of the state of JS ...
2年前
記事のアイキャッチ画像
React Cross Fade for Material UI (MUI)
Robin Wieruch - Freelance Web Developer
A React Cross Fade component for Material UI (MUI) ...
2年前
記事のアイキャッチ画像
React Testing Library Tutorial
Robin Wieruch - Freelance Web Developer
Learn how to use React Testing Library in this tutorial. You will learn how to test your React components step by step with unit and integration tests ...
2年前
記事のアイキャッチ画像
React Component with TypeScript
Robin Wieruch - Freelance Web Developer
Learn how to use TypeScript for a React component by example for type safe props and a type safe render ...
2年前
記事のアイキャッチ画像
TypeScript with Node.js
Robin Wieruch - Freelance Web Developer
A TypeScript with Node.js setup which helps you with tsc (TypeScript compiler), ts-node (on the fly compilation), @types/node, and nodemon ...
2年前
記事のアイキャッチ画像
React Nested Dropdown for Material UI (MUI)
Robin Wieruch - Freelance Web Developer
A React Dropdown component for Material UI (MUI) with a nested menu ...
2年前
記事のアイキャッチ画像
React Dropdown for Material UI (MUI)
Robin Wieruch - Freelance Web Developer
A React Dropdown component for Material UI (MUI) ...
2年前
記事のアイキャッチ画像
How to create a React Select
Robin Wieruch - Freelance Web Developer
How create a React Select component by example. The HTML select element displays a menu ...
2年前
記事のアイキャッチ画像
TypeScript: Type Guards
Robin Wieruch - Freelance Web Developer
How to use type guards in TypeScript. You will learn how to check for types (and interfaces) by using user defined type guards ...
2年前
記事のアイキャッチ画像 +
Vitest with React Testing Library
Robin Wieruch - Freelance Web Developer
Learn how to use React Testing Library with Vitest in Vite. React Testing Library is a popular testing library for writing tests in React applications ...
2年前
記事のアイキャッチ画像
TypeScript: Generics
Robin Wieruch - Freelance Web Developer
How to use generics in TypeScript. You will learn how to create a arrow function which uses a generic type to infer the type for the parameter from the passed argument ...
2年前
記事のアイキャッチ画像
How to use Forms in React
Robin Wieruch - Freelance Web Developer
How to use Forms in React by example. You will learn how to create a form template in a React functional component with validation to submit data ...
2年前
+
記事のアイキャッチ画像
TypeScript: React useState Hook
Robin Wieruch - Freelance Web Developer
How to use React's useState Hook with TypeScript by automatically inferring the type or by manually using type assertion ...
3年前
記事のアイキャッチ画像
TypeScript: React useRef Hook
Robin Wieruch - Freelance Web Developer
How to use React's useRef Hook with TypeScript for using a ref ...
3年前
記事のアイキャッチ画像
Embrace the Grind
Robin Wieruch - Freelance Web Developer
Embrace the grind is about the intersection of entrepeneurship and gaming ...
3年前
記事のアイキャッチ画像
React Element vs Component
Robin Wieruch - Freelance Web Developer
What are React Elements, Components, and Instances? A step by step explanation for a better ...
3年前
記事のアイキャッチ画像
Web Applications 101
Robin Wieruch - Freelance Web Developer
Everything you need to know about web applications in modern web development. You will learn about traditional websites, full-stack web applications, client-side and server-side rendering/routing, single-page applications, code splitting, APIs, microservices, static site generation ...
3年前
記事のアイキャッチ画像
React "as" Prop
Robin Wieruch - Freelance Web Developer
Using the "as" prop in React, also called "component" or "variant" prop, enables React developers to combine semantics with aesthetics in a flexible way ...
3年前
記事のアイキャッチ画像
React Batching
Robin Wieruch - Freelance Web Developer
+Learn about batching in React. Batching means that multiple state updates are batched as one update + render operation for an improved performance ...
3年前
記事のアイキャッチ画像
React Higher-Order Components (HOCs)
Robin Wieruch - Freelance Web Developer
+A comprehensive tutorial about Higher-Order Components in React. Higher-Order Components, known as HOCs, are often a difficult to understand pattern in React.js. The article gives you a gentle introduction, how to use HOCs in an elegant way, how to abstract reusable logic and how to use recompose ...
3年前
記事のアイキャッチ画像
How to create a React Button
Robin Wieruch - Freelance Web Developer
How create a React Button component by example. The HTML button element uses onClick ...
3年前
記事のアイキャッチ画像
React: How to create a Custom Hook
Robin Wieruch - Freelance Web Developer
How to create a custom hook in React. A step by step tutorial which walks you through an example ...
3年前
記事のアイキャッチ画像
+Local Storage in React
Robin Wieruch - Freelance Web Developer
Learn how to use the local storage in React to store state by using a React Hook called useLocalStorage ...
3年前
記事のアイキャッチ画像
React Hook: Get Scrollbar Width
Robin Wieruch - Freelance Web Developer
+A custom React hook by example to get the width of the scrollbar ...
3年前
記事のアイキャッチ画像
React Hook: useLocalStorage
Robin Wieruch - Freelance Web Developer
How to store state in local storage in React by using a custom useLocalStorage hook ...
3年前
記事のアイキャッチ画像
React Hook: Detect Click outside of Component
Robin Wieruch - Freelance Web Developer
How to detect a click outside of a React component by creating a custom hook for it ...
3年前
記事のアイキャッチ画像
React Hook: Detect Scroll Direction
Robin Wieruch - Freelance Web Developer
A React hook by example that checks the scroll direction -- in a vertical direction, but potentially also in a horizontal direction ...
3年前
記事のアイキャッチ画像
How to use Props in React
Robin Wieruch - Freelance Web Developer
+Everything you need to know about props in React. How to pass props to components, how to set default props, how to know the difference between props and state, and how to pass components or functions as props, ...
3年前
記事のアイキャッチ画像
How to: React Table with fixed Column
Robin Wieruch - Freelance Web Developer
How to use React Table Library with a fixed column. Also called a sticky column, can be enabled in React Table with ...
3年前
記事のアイキャッチ画像
Creating a REST API with Express.js and PostgreSQL
Robin Wieruch - Freelance Web Developer
A Node.js with Express and PostgreSQL tutorial to learn step by step how to create a REST API for CRUD operations which can be consumed by a client application ...
3年前
記事のアイキャッチ画像
Setup PostgreSQL with Sequelize in Express
Robin Wieruch - Freelance Web Developer
A tutorial on how to setup PostgreSQL for Express.js in a Node.js application. It comes with the database installation and how to connect it to Express with Sequelize as ORM. You can choose to use another ORM, if you want to ...
3年前
記事のアイキャッチ画像
How to use Prettier with ESLint
Robin Wieruch - Freelance Web Developer
How to combine Prettier and ESLint for VSCode, Sublime, or any other IDE/editor. You will get to know the ESLint Prettier Rules that are needed to get you started ...
3年前
記事のアイキャッチ画像
How to use ESLint in VSCode
Robin Wieruch - Freelance Web Developer
+How to install ESLint for VS Code (Visual Studio Code). Install ESLint, configure it per project, and use a local .prettierrc file ...
3年前
記事のアイキャッチ画像
How to use Prettier in VS Code
Robin Wieruch - Freelance Web Developer
How to install Prettier for VS Code (Visual Studio Code). Install Prettier, configure it globally to format on save, add further Prettier configuration on a global level, and use a local .prettierrc file ...
3年前
記事のアイキャッチ画像
React: Event Bubbling and Capturing
Robin Wieruch - Freelance Web Developer
Event bubbling in React explained with examples. You will learn how to prevent events from bubbling, how to capture events before the bubbling, and how to access the target and currentTarget ...
3年前
記事のアイキャッチ画像
React Hook: Check if Overflow
Robin Wieruch - Freelance Web Developer
A React hook by example that checks if an element's content has overflow (scroll) ...
3年前
記事のアイキャッチ画像
How to create a React Radio Button
+Robin Wieruch - Freelance Web Developer
How to use a radio button in React by example and how to create a React Radio Component ...
3年前
記事のアイキャッチ画像
React Router: Redirect with Higher-Order Component
Robin Wieruch - Freelance Web Developer
A reusable higher-order component to redirect with React Router ...
3年前
記事のアイキャッチ画像
Image from React Component (JPG or PNG)
Robin Wieruch - Freelance Web Developer
How to generate an image from a React component by extracting it as JPG or PNG ...
3年前
記事のアイキャッチ画像
PDF from React Component
Robin Wieruch - Freelance Web Developer
How to print a PDF from a React component and download it as PDF by generating ...
3年前
記事のアイキャッチ画像
Conditional ClassName in React
Robin Wieruch - Freelance Web Developer
How to use conditional classnames in React with JSX and the HTML class attribute (clsx) ...
4年前
記事のアイキャッチ画像
How to: React Tree Table
Robin Wieruch - Freelance Web Developer
How to create a React Tree, a React Tree View, or a React Tree List by using React Table Library ...
4年前
記事のアイキャッチ画像
How to: React Table with Select
Robin Wieruch - Freelance Web Developer
How to use React Table Library with Select by using its useRowSelect plugin for selecting single or multiple rows in a table by checkbox or row click ...
4年前
記事のアイキャッチ画像
How to: React Table with Double Click
Robin Wieruch - Freelance Web Developer
How to use React Table Library with a double click on a row ...
4年前
記事のアイキャッチ画像
Conditional Hooks in React
Robin Wieruch - Freelance Web Developer
Is it possible to use conditional React Hooks in React components? Technically no. However, in this example I want to show you how to use a Hook ...
4年前
記事のアイキャッチ画像
Freelance React Developer Checklist
Robin Wieruch - Freelance Web Developer
How do I start freelancing as a React developer? This checklist helps freelancers and companies hiring freelancers to negotiate the details of the project ...
4年前
記事のアイキャッチ画像
How to: React Table with Search
Robin Wieruch - Freelance Web Developer
How to use React Table Library with search. If you want to search your table data ...
4年前
記事のアイキャッチ画像
How to: React Table with Pagination
Robin Wieruch - Freelance Web Developer
How to use React Table Library with Pagination by using its usePagination plugin for pages in a table ... +
4年前
記事のアイキャッチ画像
How to useContext in React
Robin Wieruch - Freelance Web Developer
A tutorial about React's useContext hook by example for React's Context. The useReducer helps you to access React's Context in any function component below your Context Provider ...
4年前
記事のアイキャッチ画像
How to: React Table with Theme
Robin Wieruch - Freelance Web Developer
How to use React Table Library with Theme to style your table ...
4年前
記事のアイキャッチ画像
How to: React Table with fixed Header
+Robin Wieruch - Freelance Web Developer
How to use React Table Library with a fixed header. Also called a sticky header, can be enabled in React Table with ...
4年前
記事のアイキャッチ画像
How to: React Table with Sort
Robin Wieruch - Freelance Web Developer
How to use React Table Library with Sort by using its useSort plugin for sorting columns in a table by column header click. A table sort ...
4年前
+
記事のアイキャッチ画像
React Table with server-side Data
Robin Wieruch - Freelance Web Developer
React Table with server-side data with examples for pagination (paging), search (searching), sort (sorting), filter (filtering), ...
4年前
記事のアイキャッチ画像
How to: React Table with Resize
Robin Wieruch - Freelance Web Developer
How to use React Table Library with column resizing. On a column, use the resize property with optional min width configuration ...
4年前
記事のアイキャッチ画像
React Context Injection
Robin Wieruch - Freelance Web Developer
+Context Injection in React is a useful pattern for reusing shared UI components on different pages but with page specific information ...
4年前
記事のアイキャッチ画像
How to create a React Table Component
Robin Wieruch - Freelance Web Developer
A step by step tutorial on how to create a React table component with React Table Library ...
4年前
記事のアイキャッチ画像
Using a indeterminate React Checkbox
Robin Wieruch - Freelance Web Developer
How to create an indeterminate checkbox in React with hooks, also known under the name tri state checkbox. By example you will learn how to use the indeterminate state ...
4年前
記事のアイキャッチ画像
How to create a React Checkbox
Robin Wieruch - Freelance Web Developer
How to use a checkbox in React by example, how to create a React Checkbox component, and how to change its value with the onChange event handler ...
4年前
記事のアイキャッチ画像
How to: React Table with Filter
Robin Wieruch - Freelance Web Developer
+How to use React Table Library with filter. If you want to filter your table data ...
4年前
記事のアイキャッチ画像
API Design for a React Tree Table
Robin Wieruch - Freelance Web Developer
On how to create an asynchronous tree table in React with lots of data and its API decisions I had to make along the way ...
4年前
記事のアイキャッチ画像
Styled Components Best Practices
Robin Wieruch - Freelance Web Developer
A comprehensive list of Styled Components Best Practices for React developers ...
4年前
記事のアイキャッチ画像
Are React class components going away?
Robin Wieruch - Freelance Web Developer
Are React class components going away in favor of React Hooks? Modern React with Hooks kinda deprecated React class components ...
4年前
記事のアイキャッチ画像
React useReducer with Middleware
Robin Wieruch - Freelance Web Developer
Learn how to use React's useReducer Hook with a middleware (and afterware) by using a custom hook for the reducer ...
4年前
記事のアイキャッチ画像
How to useEffect in React
Robin Wieruch - Freelance Web Developer
A tutorial about React's useEffect hook by example for side-effects and lifecycle management in React function components ...
4年前
記事のアイキャッチ画像
Mediator Component in React
Robin Wieruch - Freelance Web Developer
Large components in React drive developers mad. By using so-called mediator components in React, you can simplify complex React component
4年前
記事のアイキャッチ画像
React useEffect only on Update
+Robin Wieruch - Freelance Web Developer
How to use React's useEffect Hook only on update. Learn about a custom hook to run useEffect only on update and not on mount (first render) ...
4年前
記事のアイキャッチ画像
React useEffect only Once
Robin Wieruch - Freelance Web Developer
How to use React's useEffect Hook only Once. Learn about a custom hook to run useEffect only once if it meets a condition and afterward never again ...
4年前
記事のアイキャッチ画像
How to React with Webpack 5 - Setup Tutorial
Robin Wieruch - Freelance Web Developer
A React with Webpack 5 and Babel tutorial for beginners where you will learn step by step how to set up a React project with Webpack from scratch ...
4年前
記事のアイキャッチ画像
How to use SVG Icons as React Components
Robin Wieruch - Freelance Web Developer
A walkthrough on how to use SVG Icons in React applications. SVGR + Webpack are the perfect fit to make it happen...
4年前
記事のアイキャッチ画像
+How to Advanced Webpack 5 - Setup Tutorial
Robin Wieruch - Freelance Web Developer
A step by step tutorial on how to set up an advanced Webpack 5 application. It comes with Babel 7, development and production build, automations, and source maps ...
4年前
記事のアイキャッチ画像
How to use Images with Webpack 5 - Setup Tutorial
Robin Wieruch - Freelance Web Developer
+The tutorial walks you through a Webpack with Images setup to load an image as local asset to your JavaScript applications ...
4年前
記事のアイキャッチ画像
How to use Fonts with Webpack 5 - Setup Tutorial
Robin Wieruch - Freelance Web Developer
The tutorial walks you through a Webpack with Fonts setup to load a font as local asset to your JavaScript applications ...
4年前
記事のアイキャッチ画像
How to use ESLint in Webpack 5 - Setup Tutorial
Robin Wieruch - Freelance Web Developer
The tutorial walks you through a Webpack with ESLint setup to improve the code style of your JavaScript applications ...
4年前
記事のアイキャッチ画像
How to Webpack 5 with Babel - Setup Tutorial
Robin Wieruch - Freelance Web Developer
A step by step tutorial on how to integrate Babel into Webpack to access powerful JavaScript features (ES6, ES7, ES8, ES9) from the future ...
4年前
記事のアイキャッチ画像
How to CSS with Webpack 5 - Setup Tutorial
Robin Wieruch - Freelance Web Developer
+Learn how to use CSS in a Webpack powered JavaScript application ...
4年前
記事のアイキャッチ画像
How to SASS with Webpack 5 - Setup Tutorial
Robin Wieruch - Freelance Web Developer
Learn how to use SASS in a Webpack powered JavaScript application ...
4年前
How to PostCSS with Webpack 5 - Setup Tutorial
Robin Wieruch - Freelance Web Developer
Learn how to use PostCSS in a Webpack powered JavaScript application ...
4年前
記事のアイキャッチ画像
How to React Router with Webpack 5
Robin Wieruch - Freelance Web Developer
+Learn how to use React Router in a Webpack powered JavaScript application ...
4年前
記事のアイキャッチ画像
How to Webpack 5 - Setup Tutorial
Robin Wieruch - Freelance Web Developer
A Webpack 5 tutorial that walks you through your first JavaScript application setup with Webpack. Bonus: You will add Babel to enable advanced JavaScript features ...
4年前
記事のアイキャッチ画像
How to JavaScript - Setup Tutorial
Robin Wieruch - Freelance Web Developer
A JavaScript tutorial that walks you through your first JavaScript project's setup. Afterward, you can decide whether you want to continue with it as backend or frontend application ...
4年前
記事のアイキャッチ画像
Why React Hooks over HOCs
Robin Wieruch - Freelance Web Developer
There are advantages of using React Hooks over Higher-Order Components (HOC) which I want to show you by example ...
4年前
記事のアイキャッチ画像
How to mock data in React with a fake API
Robin Wieruch - Freelance Web Developer
+Learn how to mock data for your React application with a fake API which mocks REST APIs (or other kinds of asynchronous calls) if there is no backend yet and you need to fake it till you make it ...
4年前
記事のアイキャッチ画像
JavaScript fake API with Mock Data
Robin Wieruch - Freelance Web Developer
Learn how to mock data with a fake API in JavaScript for mocking REST APIs (or other kinds of asynchronous calls) if there is no backend yet and you need to fake it till you make it ...
4年前
記事のアイキャッチ画像
React Native Navigation Tutorial
Robin Wieruch - Freelance Web Developer
A tutorial about navigation in React Native. Teaches you about how to navigate from page to page, how to use drawer, switch, and tab navigations, and how to apply it for authentication ...
4年前
記事のアイキャッチ画像
React Hooks Tutorial
Robin Wieruch - Freelance Web Developer
A comprehensive tutorial about React Hooks, why React uses Hooks, what Hooks are available, and how to use Hooks in React for state management and side-effects in React function components ...
4年前
記事のアイキャッチ画像
+React useState with Callback
Robin Wieruch - Freelance Web Developer
If you have used setState before, you may be missing a callback function for the useState hook. This tutorial explains how to implement it with useEffect ...
4年前
記事のアイキャッチ画像
How to use Expo with React Native
Robin Wieruch - Freelance Web Developer
A tutorial about how to get started with React Native using Expo ...
5年前
記事のアイキャッチ画像
How to useMemo in React
Robin Wieruch - Freelance Web Developer
A tutorial about React's useMemo hook by example for performance optimizations in React function components ...
5年前
記事のアイキャッチ画像
How to useCallback in React
Robin Wieruch - Freelance Web Developer
A tutorial about React's useCallback hook by example for performance optimizations in React function components ...
5年前
記事のアイキャッチ画像
How to create a REST API with Oak in Deno
Robin Wieruch - Freelance Web Developer
+A comprehensive Oak with Deno tutorial for REST APIs. Learn how to set up a REST API with Oak's Router in Deno to manage RESTful resources with CRUD operations ...
5年前
記事のアイキャッチ画像
Getting started with Oak in Deno
Robin Wieruch - Freelance Web Developer
A comprehensive Oak with Deno tutorial for beginners. Learn what makes Oak unique with its context, middleware, and routes with Oak's Router ...
5年前
記事のアイキャッチ画像
How to handle errors in Express
Robin Wieruch - Freelance Web Developer
Learn about error handling in Express applications with Express middleware to handle errors ...
5年前
記事のアイキャッチ画像
How to use React memo
Robin Wieruch - Freelance Web Developer
Learn how to use React memo for performance optimizations of your React components ...
5年前
記事のアイキャッチ画像
Environment Variables in Deno
Robin Wieruch - Freelance Web Developer
+Learn how to use environment variables in Deno with .env and dotenv for sensitive data (e.g. API keys, credentials) which shouldn't be visible in version control (e.g. Git) ...
5年前
記事のアイキャッチ画像
How to get started with Deno Tutorial
Robin Wieruch - Freelance Web Developer
A comprehensive Deno tutorial for beginners. Learn what makes Deno unique in comparison to Node.js ...
5年前
記事のアイキャッチ画像
How to countBy in JavaScript
Robin Wieruch - Freelance Web Developer
Learn how to countBy in JavaScript without Lodash but just using vanilla JavaScript to count objects by property ...
5年前
記事のアイキャッチ画像
How to groupBy in JavaScript
Robin Wieruch - Freelance Web Developer
Learn how to groupBy in JavaScript without Lodash but just using vanilla JavaScript to group objects by property ...
5年前
記事のアイキャッチ画像
Replace all occurrences of a string in JavaScript
Robin Wieruch - Freelance Web Developer
+Learn how to replace all occurrences of a string in JavaScript with replaceAll and replace with a regular expression and a global flag ...
5年前
記事のアイキャッチ画像
Callback Functions in JavaScript
Robin Wieruch - Freelance Web Developer
Learn about callback functions in JavaScript, how to use callback functions and how to create a callback functions yourself ...
5年前
記事のアイキャッチ画像
Async/Await without Try/Catch Block in JavaScript
Robin Wieruch - Freelance Web Developer
Learn how to use async await without a try catch block in JavaScript ...
5年前
記事のアイキャッチ画像
Custom Errors in JavaScript
Robin Wieruch - Freelance Web Developer
Learn about custom errors in JavaScript, how to create a new custom error and how to extend errors from third party libraries and APIs ...
5年前
記事のアイキャッチ画像
Computed Properties in React
Robin Wieruch - Freelance Web Developer
+There are no computed properties in React. However, deriving values from state is a common implementation in React too ...
5年前
記事のアイキャッチ画像
How to update state from props in React
Robin Wieruch - Freelance Web Developer
Learn how to initialize state from props and how to update state from props for rare edge cases where your state of a component depends on its incoming props ...
5年前
記事のアイキャッチ画像
How to manage React State with Arrays
Robin Wieruch - Freelance Web Developer
Learn how to manipulate arrays in React state by using JavaScript array methods such as concat, map and filter. Whereas vanilla JavaScript is used for the arrays, React is only used to set the new state in the end ...
5年前
記事のアイキャッチ画像
How to use GraphQL in Gatsby
Robin Wieruch - Freelance Web Developer
Learn how to work with GraphQL in Gatsby more efficient with these tips about creating dynamic pages, GraphQL fragments, and static vs page queries ...
5年前
記事のアイキャッチ画像
Update an Item in a List in React
Robin Wieruch - Freelance Web Developer
Learn how to update an item in a list in React with React's state. It's a common task to change an item in an array in ...
5年前
記事のアイキャッチ画像
Add an Item to a List in React
Robin Wieruch - Freelance Web Developer
Learn how to add an item to a list in React with React's state. It's a common task to add an item to an array in ...
5年前
記事のアイキャッチ画像
Remove an Item from a List in React
Robin Wieruch - Freelance Web Developer
Learn how to remove an item from a list in React with React's state. It's a common task to delete an item from an array in ...
5年前
記事のアイキャッチ画像
How to CSS Style in React
Robin Wieruch - Freelance Web Developer
Learn styling in React with CSS, CSS Modules (CSS-in-CSS), Styled Components (CSS-in-JS), Tailwind CSS (Utility first CSS), and inline styles ...
5年前
記事のアイキャッチ画像
Creating a REST API with Express.js and MongoDB
+Robin Wieruch - Freelance Web Developer
A Node.js with Express and MongoDB tutorial to learn step by step how to create a REST API for CRUD operations which can be consumed by a client application ...
5年前
記事のアイキャッチ画像
Setup MongoDB with Mongoose in Express
Robin Wieruch - Freelance Web Developer
+A tutorial on how to setup MongoDB for Express.js in a Node.js application. It comes with the database installation and how to connect it to Express with Mongoose as ORM. You can choose to use another ORM, if you want to ...
5年前
記事のアイキャッチ画像
How to setup MongoDB on MacOS
Robin Wieruch - Freelance Web Developer
+A installation guide for a MongoDB on MacOS setup for having a NoSQL database available on your OS. It comes with everything that's needed to connect a Node.js application to your database in JavaScript ...
5年前
記事のアイキャッチ画像
How to use React Ref
Robin Wieruch - Freelance Web Developer
Learn everything about React refs and JSX's ref attribute with React's useRef Hook and the infamous callback refs for DOM operations and instance variables ...
5年前
記事のアイキャッチ画像
How to setup PostgreSQL on MacOS
Robin Wieruch - Freelance Web Developer
A installation guide for a PostgreSQL on MacOS setup for having a SQL database available on your OS. It comes with everything that's needed to connect a Node.js application to your database in JavaScript ...
5年前
記事のアイキャッチ画像
How to create a REST API with Express.js in Node.js
Robin Wieruch - Freelance Web Developer
A Node.js with Express tutorial to learn how to create a REST API for CRUD operations which can be consumed by a client application ...
5年前
記事のアイキャッチ画像
+How to setup Express.js in Node.js
Robin Wieruch - Freelance Web Developer
A Node.js with Express tutorial to learn how to setup a Node.js application step by step from scratch ...
5年前
記事のアイキャッチ画像
The minimal Node.js with Babel Setup
Robin Wieruch - Freelance Web Developer
+A common sense minimal Node.js setup guide which uses Babel and Nodemon: Whereas Babel with the Babel Cli is used for enabling recent JavaScript language features, Nodemon is used for keeping your node process up and running ...
5年前
記事のアイキャッチ画像
Why I stopped using Microservices
Robin Wieruch - Freelance Web Developer
As a solo developer working on my side-projects, I used Microservices for my last project. It didn't turn out well and here is why ...
5年前
記事のアイキャッチ画像
How to Micro Frontend with React
Robin Wieruch - Freelance Web Developer
This tutorial shows an example how to create a micro frontend architecture for React with Webpack ...
5年前
記事のアイキャッチ画像 +
GraphQL resolver testing
Robin Wieruch - Freelance Web Developer
Learn how to test GraphQL resolvers with Jest. More advanced resolvers will have authorization and permission checks which may return errors, so make sure to test these too ...
5年前
記事のアイキャッチ画像
GraphQL resolver middleware
+Robin Wieruch - Freelance Web Developer
Learn how to set up a GraphQL middleware with resolvers handling authorization and permissions ...
5年前
記事のアイキャッチ画像
The Road to React [Book 2022]
Robin Wieruch - Freelance Web Developer
+The Road to React book is your way to learn React.js by building a real world application. It's a huge tutorial where you will learn all the fundamentals in plain React before you dive into more advanced topics in React with Redux. Along the way, you will learn everything about JavaScript ES6 ...
5年前
記事のアイキャッチ画像
Node.js Testing with Jest
Robin Wieruch - Freelance Web Developer
+How to get started with testing in Node.js with Jest. This setup tutorial shows you how to use Jest as test runner and assertion library for Node.js projects ...
5年前
記事のアイキャッチ画像
How to Docker Compose
Robin Wieruch - Freelance Web Developer
Everything I have learned about Docker Compose for creating Docker images and multiple Docker containers as services with various purposes for one application ...
5年前
記事のアイキャッチ画像
Docker Cheatsheet
Robin Wieruch - Freelance Web Developer
All the Docker commands I am using for developing applications with Docker: list all Docker images, list all Docker containers, stop Docker container or remove all Docker containers ...
5年前
記事のアイキャッチ画像
How to Docker with React
Robin Wieruch - Freelance Web Developer
A short walkthrough on how to use Docker with React in a development environment. We will cover how to dockerize your first React app ...
5年前
記事のアイキャッチ画像
How to Docker with create-react-app
Robin Wieruch - Freelance Web Developer
A short walkthrough on how to use Docker with create-react-app in a development environment. We will cover how to dockerize your first React app ...
5年前
記事のアイキャッチ画像
How to Docker with Node.js
Robin Wieruch - Freelance Web Developer
A short walkthrough on how to use Docker with Node.js in a development environment. We will cover how to dockerize your first Node.js application ...
5年前
+
記事のアイキャッチ画像
How to install Docker on MacOS
Robin Wieruch - Freelance Web Developer
A short walkthrough on how to install a Docker setup on Mac / MacOS. When I had to install Docker myself, I wrote everything down that's needed for the setup ...
5年前
記事のアイキャッチ画像
How to use Postgres with Docker
Robin Wieruch - Freelance Web Developer
How to set up Postgres inside of Docker with docker-compose by example ...
5年前
記事のアイキャッチ画像
React Internationalization with i18n
Robin Wieruch - Freelance Web Developer
+A React tutorial about internationalization in React with i18n for translating texts to many languages for your React application ...
5年前
記事のアイキャッチ画像
How to test Firebase with Jest
Robin Wieruch - Freelance Web Developer
Learn how to test Firebase functions from database and authentication with Jest. Jest allows you to mock Firebase and its functions for integration and unit testing ...
5年前
記事のアイキャッチ画像
Babel Module Resolver with Jest
Robin Wieruch - Freelance Web Developer
How to use Jest with Babel Module Resolver for aliases that are defined in your .babelrc file ...
5年前
記事のアイキャッチ画像
Babel Module Resolver with TypeScript
Robin Wieruch - Freelance Web Developer
How to use TypeScript with Babel Module Resolver for aliases that are defined in your .babelrc file ...
5年前
記事のアイキャッチ画像
React Conditional Rendering
Robin Wieruch - Freelance Web Developer
+Everything you need to know about conditional rendering in React. Learn about ternary operators, switch case, and if else statements in JSX to conditionally render elements in React ...
5年前
記事のアイキャッチ画像
React Event Handler
Robin Wieruch - Freelance Web Developer
Learn about event handler in React and how to use them for onClick (button), onChange (input) events ...
5年前
記事のアイキャッチ画像
const vs let, and var in JavaScript
Robin Wieruch - Freelance Web Developer
What's the difference between var, let and const in JavaScript? A walkthrough by example on the drawbacks of var and how let and const are used in modern JavaScript ...
5年前
記事のアイキャッチ画像
JavaScript: Import & Export
Robin Wieruch - Freelance Web Developer
JavaScript import and export are used to share code across folders and files. This walkthrough shows common use cases and how to apply import and export statements ...
5年前
記事のアイキャッチ画像
A NPM Crash Course
Robin Wieruch - Freelance Web Developer
+A crash course for using npm on the command line. You will learn how to initialize a npm project, how to install and uninstall node packages, and which files are associated with npm in your project ...
5年前
記事のアイキャッチ画像
JavaScript Variable Tutorial for Beginners
Robin Wieruch - Freelance Web Developer
Everything you need to know about JavaScript variables if you are just starting out with JavaScript ...
5年前
記事のアイキャッチ画像
How to React Range
Robin Wieruch - Freelance Web Developer
In this React component tutorial, we will build a React Range Component that can be used horizontally as example, but can be extended to be used vertically too ...
5年前
記事のアイキャッチ画像
How to React Slider
Robin Wieruch - Freelance Web Developer
In this React component tutorial, we will build a React Slider Component with a Range that can be used horizontally as example, but can be extended to be used vertically too ...
5年前
記事のアイキャッチ画像
Webpack Code Splitting for your Library
Robin Wieruch - Freelance Web Developer
A walkthrough on how to use code splitting for your library to reduce your bundle size by giving multiple entry points to your JavaScript library ...
5年前
記事のアイキャッチ画像
How to test Axios in Jest by Example
Robin Wieruch - Freelance Web Developer
How to mock Axios in Jest by example for mocking get and post requests, for mocking network errors like a 404, and for testing Axios in React and Enzyme ...
5年前
+
記事のアイキャッチ画像
How to use CSS Modules in React
Robin Wieruch - Freelance Web Developer
How to set up CSS Modules in React with Webpack or Create React App. Everything you need to know to get started with CSS Modules in React ...
5年前
記事のアイキャッチ画像
How to use React Context
Robin Wieruch - Freelance Web Developer
React Context is a powerful feature for passing props down the component tree without the need to tell components in between about them. React Context creates a Provider and Consumer component for tunnelling React components ...
5年前
記事のアイキャッチ画像
How to use React State
Robin Wieruch - Freelance Web Developer
Everything you need to know about React State. From simple state to complex state, local state to global state, State in React Components to State with Hooks, over to external state management solutions like Redux ...
5年前
記事のアイキャッチ画像
JavaScript Naming Conventions
Robin Wieruch - Freelance Web Developer
+Introduction to JavaScript Naming Conventions for differen data types and data structures in JS. Learn more about how to name private methods, global vairbales, or a constant variable ...
5年前
記事のアイキャッチ画像
JavaScript Variable with Question Mark
Robin Wieruch - Freelance Web Developer
The question mark after a JavaScript variable declaration is used as shorthand conditional operator to assign a variable conditionally. It's called ternary operator ...
5年前
記事のアイキャッチ画像
Reasons to learn Redux as a JavaScript Developer
Robin Wieruch - Freelance Web Developer
Redux greatly shaped how we develop modern JavaScript applications nowadays. Here I want to give a walkthrough on all the mindset changes we went through as JavaScript developers ...
5年前
記事のアイキャッチ画像
How to deploy a GitHub Webhook in Node.js
Robin Wieruch - Freelance Web Developer
By Example: How to deploy a GitHub Webhook to DigitalOcean for an automatic deployment of websites/web application ...
5年前
記事のアイキャッチ画像
How to use Babel Module Resolver
Robin Wieruch - Freelance Web Developer
By Example: You will learn how to use Babel Module Resolver for your JavaScript application to convert absolute/relative paths to aliases. We will also cover ESLint ...
5年前
記事のアイキャッチ画像
How to test React-Redux connected Components
Robin Wieruch - Freelance Web Developer
+By Example: How to unit test React-Redux connected components? By getting full control over your Redux store, testing whether every dispatched action from a React component reaches the Redux isn't too difficult ...
5年前
記事のアイキャッチ画像
How to Git as a Team
Robin Wieruch - Freelance Web Developer
Learn how to establish a Git Team Workflow with branching techniques, pull/push strategies, and common sense git commands to make your team more productive ...
5年前
記事のアイキャッチ画像
How to Jest Snapshot Test the Difference
Robin Wieruch - Freelance Web Developer
Learn how to snapshot test the difference in changing snapshot tests with Jest after user interactions or other side-effects ...
5年前
How to shallow render Jest Snapshot Tests
Robin Wieruch - Freelance Web Developer
Learn how to shallow render components for Jest snapshot tests. This way, you will avoid too large snapshot test outputs and too much setup for child components ...
5年前
記事のアイキャッチ画像
How to test React Components
Robin Wieruch - Freelance Web Developer
Learn how to test React components by setting up unit, integration and end-to-end tests for React with Jest, Enzyme and other testing libraries ...
6年前
記事のアイキャッチ画像
Redux Persist with Next.js by Example
Robin Wieruch - Freelance Web Developer
+By Example: How to set up Redux Persist in Next.js to persist your Redux store's state in the React client application's local storage ...
6年前
記事のアイキャッチ画像
How to test React with Mocha, Chai & Enzyme
Robin Wieruch - Freelance Web Developer
Learn how to test your React application with Mocha, Chai & Enzyme. Mocha will be used as a test runner, Chai as testing library, and Enzyme for your actual React component tests ...
6年前
記事のアイキャッチ画像
How to set up JavaScript Test Coverage
Robin Wieruch - Freelance Web Developer
Learn how to set up test coverage with Coveralls for your JavaScript project. In this tutorial, we will use Travis CI to set up testing coverage with Coveralls.io ...
6年前
記事のアイキャッチ画像
How to set up Continuous Integration for JavaScript
Robin Wieruch - Freelance Web Developer
Learn how to set up Continuous Integration for your JavaScript project. In this tutorial, we will use Travis CI as example for covering the build and tests on your JavaScript application ...
6年前
記事のアイキャッチ画像
End to End Testing React with Cypress
Robin Wieruch - Freelance Web Developer
Learn how to run end to end tests for React with Cypress. E2E tests will give you more confidence in your overall React application ...
6年前
記事のアイキャッチ画像
How to test React with Jest & Enzyme
Robin Wieruch - Freelance Web Developer
+Learn how to test your React application with Jest & Enzyme. Jest will be used as a test runner & testing library while Enzyme will be used for your actual React component tests ...
6年前
記事のアイキャッチ画像
How to test React with Jest
Robin Wieruch - Freelance Web Developer
Learn how to test your React application with Jest. Jest will be used as a test runner & testing library for unit, integration, and Snapshot Tests in a React with Webpack application ...
6年前
記事のアイキャッチ画像
JavaScript Closure by Example
Robin Wieruch - Freelance Web Developer
A brief JavaScript Closure Example to get you to know closures in JavaScript, why we need them, how to implement them, how to use them, and what JavaScript patterns they can be used for ...
6年前
記事のアイキャッチ画像
JavaScript fundamentals before learning React
Robin Wieruch - Freelance Web Developer
All the fundamentals in JavaScript for learning React. Often React beginners realize that most of the learnings are JavaScript, because React has only a small API ...
6年前
記事のアイキャッチ画像
Best time to become a JavaScript Developer
Robin Wieruch - Freelance Web Developer
I find it's the best time to become a JavaScript Developer ...
6年前
記事のアイキャッチ画像
Gatsby.js - A powerful Static Site Generator
Robin Wieruch - Freelance Web Developer
+Are you considering to use Gatsby.js as static side generator for your website or web application? Learn about all the benefits of using Gatsby.js with React ...
6年前
記事のアイキャッチ画像
How to use ESLint in React
Robin Wieruch - Freelance Web Developer
You want to setup ESLint in your React application? Your project is set up with Babel and Webpack? This tutorial will guide you through the ESLint in React setup ...
6年前
+
記事のアイキャッチ画像
How to use Web Components in React
Robin Wieruch - Freelance Web Developer
A tutorial on how to use Web Components in React. It comes with a library as a wrapper to use a custom element within your React component for passing props as attributes and event listeners ...
6年前
Web Components Tutorial for Beginners [2019]
Robin Wieruch - Freelance Web Developer
In this Web Components tutorial, you will learn how to implement your first web component (custom elements) with HTML, CSS, and JavaScript. It is aimed at beginners who haven't used web components before ...
6年前
記事のアイキャッチ画像
+How to useState in React
Robin Wieruch - Freelance Web Developer
A tutorial about React's useState hook by example for state management in React function components ...
6年前
記事のアイキャッチ画像
What is preventDefault() in React
Robin Wieruch - Freelance Web Developer
A brief explanation why we need to call event.preventDefault() on button, form, or submit events ...
6年前
記事のアイキャッチ画像
Reusable Components in React
Robin Wieruch - Freelance Web Developer
A tutorial about reusable components in React by example. By extracting a component from another one in React, you may create a reusable component ...
6年前
記事のアイキャッチ画像
A React Lift State Up & Down Example
Robin Wieruch - Freelance Web Developer
A walkthrough by example on how to lift state up and down in React. You will see two examples that illustrate the problem and solution ...
6年前
記事のアイキャッチ画像
How to create Redux with React Hooks?
+Robin Wieruch - Freelance Web Developer
React's useContext and useReducer hooks can be used to mimic Redux for managing one global state container in React applications. This tutorial shows it step by step ...
6年前
記事のアイキャッチ画像
React's useReducer Hook vs Redux
Robin Wieruch - Freelance Web Developer
+Do React Hooks with useReducer and useContext replace Redux? Since React Hooks were released in React, developers are wondering whether they still need Redux for their React application ...
6年前
記事のアイキャッチ画像
How to publish a npm Package
Robin Wieruch - Freelance Web Developer
A tutorial on how to publish a npm package to the npm registry with Node, Babel and Webpack for getting started as an open source contributor ...
6年前 +
記事のアイキャッチ画像
How to Scroll to a List Item in React
Robin Wieruch - Freelance Web Developer
A brief tutorial which shows how to scroll to an item in a React List Component. The scroll event can be triggered from within or outside the component ...
6年前
記事のアイキャッチ画像 +
Node.js Testing with Mocha, Chai, Sinon
Robin Wieruch - Freelance Web Developer
How to get started with testing in Node.js with Mocha, Chai, Sinon. This setup tutorial shows you how to use Mocha as test runner and Chai as assertion library for Node.js projects ...
6年前
記事のアイキャッチ画像
How to useReducer in React
+Robin Wieruch - Freelance Web Developer
A tutorial about React's useReducer hook by example for state management in React function components. It uses a reducer function to map action types to state transitions ...
6年前
記事のアイキャッチ画像
JavaScript Reducer (origin React/Redux)
Robin Wieruch - Freelance Web Developer
A tutorial about the reducer pattern in JavaScript for beginners ..to manage state transition with functions ...
6年前
記事のアイキャッチ画像
useReducer vs useState in React
Robin Wieruch - Freelance Web Developer
Comparing useState and useReducer in React, when to use them for different use cases, and their benefits in a growing React application ...
6年前
記事のアイキャッチ画像
React List Components by Example
Robin Wieruch - Freelance Web Developer
How to display a list in React with JSX is one of the bigger challenges for React beginners. This tutorial walks you through different list view examples ...
6年前
記事のアイキャッチ画像
What are Controlled Components in React
Robin Wieruch - Freelance Web Developer
A brief explanation for uncontrolled vs controlled components in React. The example shows an input field which we will transition from a uncontrolled to controlled input field ...
6年前
記事のアイキャッチ画像
Why do we need a React List Key
Robin Wieruch - Freelance Web Developer
+React list components need a mandatory key attribute if the list items can be changed by order or size. Here you will see a use case why a key attribute is needed ...
6年前
記事のアイキャッチ画像
React State Hooks: useReducer, useState, useContext
Robin Wieruch - Freelance Web Developer
An elaborate walkthrough for React state management example with useState, useReducer, and useContext which mimics Redux's state management philosophy ...
6年前
記事のアイキャッチ画像
React Styled Components Tutorial
Robin Wieruch - Freelance Web Developer
A beginner friendly tutorial for CSS-in-JS with Styled Components in React. While learning about it, you will build an Instagram Clone ...
6年前
React Hooks Migration
Robin Wieruch - Freelance Web Developer
React Hooks change how we will write React applications in the future. This tutorial shows how to convert from React class components to React Function components with React Hooks ...
6年前
記事のアイキャッチ画像
Deep Dive into JavaScript's Array Map Method
Robin Wieruch - Freelance Web Developer
An extensive walkthrough for JavaScript developers who want to get to know the Array's Map Method to transform data. You will learn about the Callback Function's Arguments, usages of Map with other Array Methods, and ...
6年前
記事のアイキャッチ画像
How to use MobX in React Firebase
Robin Wieruch - Freelance Web Developer
+The tutorial shows you how to migrate a React with Firebase application, which uses only React's local state, to MobX for its state management. Also React's Context API is replaced with MobX ...
6年前
記事のアイキャッチ画像
How to use Redux in React Firebase
Robin Wieruch - Freelance Web Developer
+The tutorial shows you how to migrate a React with Firebase application, which uses only React's local state, to Redux for its state management. Also React's Context API is replaced with Redux ...
6年前
記事のアイキャッチ画像
React Component Composition
Robin Wieruch - Freelance Web Developer
React Component Composition step by step explained with examples. Learn the React Composition Pattern by example which helps you to render components within each other ...
6年前
記事のアイキャッチ画像
The Road to Firebase [Book]
Robin Wieruch - Freelance Web Developer
The free React with Firebase book takes you on a journey to master a minimal tech stack with React and Firebase in JavaScript. You will learn how both technologies help you to realize your business idea. Grab your free PDF, EPUB, or MOBI and get free updates for new releases ...
6年前
+記事のアイキャッチ画像
A Firestore in React Tutorial for Beginners [2019]
Robin Wieruch - Freelance Web Developer
A beginners tutorial to learn Firestore in React for business application with authentication, authorization and a real-time database. The tutorial gives you the perfect React Firestore boilerplate project ...
6年前
How to setup MongoDB on Windows
Robin Wieruch - Freelance Web Developer
A installation guide for a MongoDB on Windows setup for having a NoSQL database available on your OS. It comes with everything that's needed to connect a Node.js application to your database in JavaScript ...
6年前
記事のアイキャッチ画像
+How to deploy a React application to Firebase
Robin Wieruch - Freelance Web Developer
The tutorial shows you how to deploy a React.js application to Firebase Hosting. You will use Firebase CLI to perform the deployment for a create-react-app app ...
6年前
記事のアイキャッチ画像
How to use Firebase Realtime Database in React
Robin Wieruch - Freelance Web Developer
+A React with Firebase tutorial on how to work with Firebase's realtime database in React. Learn about the get, create, update and remove operations, how to enable pagination and how to order your list of data, and how fo associate items with each other ...
6年前
記事のアイキャッチ画像
How to setup PostgreSQL on Windows
Robin Wieruch - Freelance Web Developer
+A installation guide for a PostgreSQL on Windows setup for having a SQL database available on your OS. It comes with everything that's needed to connect a Node.js application to your database in JavaScript ...
6年前
記事のアイキャッチ画像
React Semantic UI Tutorial for Beginners
Robin Wieruch - Freelance Web Developer
+A tutorial to guide you through styling your React application with Semantic UI. The UI library enables you to build websites with fast and concise HTML, along with a complete mobile responsive experience ...
6年前
記事のアイキャッチ画像
How to use React Router with Firebase
Robin Wieruch - Freelance Web Developer
+A React tutorial on how to combine React Router and Firebase to navigate a user through the application while fetching data from the Firebase database or even passing data through React Router ...
6年前
記事のアイキャッチ画像
Email Verification with Firebase in React
Robin Wieruch - Freelance Web Developer
+A Firebase React tutorial on how to enable email verification. Only users that confirmed their email address with a email confirmation have access to your application. Every other user who is using a fake email is not authorized ...
6年前
記事のアイキャッチ画像
React Redux Tutorial for Beginners
Robin Wieruch - Freelance Web Developer
+A complete React Redux tutorial for beginners: Learn how to build React Redux applications from scratch by following this step by step implementation of an example application ...
6年前
記事のアイキャッチ画像
Firebase Login with Facebook
Robin Wieruch - Freelance Web Developer
A tutorial on how to activate Facebook login for Firebase or Firestore where no email is required. After enabling the sign in method in Firebase, you have to create a Facebook App ...
6年前
記事のアイキャッチ画像
A visual Firebase Tutorial
Robin Wieruch - Freelance Web Developer
A short visual Firebase tutorial should help you to create your first Firebase application that can be used with any web framework/library such as React, Angular or Vue ...
6年前
Firebase Login with Twitter
Robin Wieruch - Freelance Web Developer
A tutorial on how to activate Twitter login for Firebase or Firestore where no email is required. After enabling the sign in method in Firebase, you have to create a Twitter App ...
6年前
記事のアイキャッチ画像
+How to link Social Logins with Firebase in React
Robin Wieruch - Freelance Web Developer
A Firebase React tutorial on how to link social logins with each other under one account. The example covers linking Google, Facebook, Twitter and email/password sign-in methods ...
6年前
記事のアイキャッチ画像
Social Logins in Firebase React: Google, Facebook, Twitter
Robin Wieruch - Freelance Web Developer
+A tutorial on how to use social a login with Firebase in React. The example covers Google, Facebook and Twitter logins for user authentication ...
6年前
記事のアイキャッチ画像
A Reason React Tutorial for Beginners [2018]
Robin Wieruch - Freelance Web Developer
Learn how to build a Reason React application with this tutorial. You will use the GitHub API to fetch real data, render forms and data, and style your ReasonReact application with inline style and bs-css ...
6年前
記事のアイキャッチ画像
React Firebase Auth Persistence with Local Storage
Robin Wieruch - Freelance Web Developer
A tutorial on how to use local storage for auth state persistence for a Firebase in React application. When reloading the browser, the user should stay authenticated without a flicker ...
6年前
記事のアイキャッチ画像
React Firebase Authorization with Roles
Robin Wieruch - Freelance Web Developer
A tutorial on how to use authorization with roles and permissions when using Firebase in React. Learn how to protect routes with authorization rules and how to set properties to Firebase user ...
6年前
A Firebase in React Tutorial for Beginners [2019]
Robin Wieruch - Freelance Web Developer
A beginners tutorial to learn Firebase in React for business application with authentication, authorization and a real-time database. The tutorial gives you the perfect React Firebase boilerplate project ...
6年前
記事のアイキャッチ画像
The Road to GraphQL [Book]
Robin Wieruch - Freelance Web Developer
The free GraphQL book takes you on a journey to master GraphQL in JavaScript the pragmatic way with React, Node, and Apollo. Grab your free PDF, EPUB, or MOBI and get free updates for new releases. On the road to GraphQL you will learn how to build GraphQL server and client-side applications ...
6年前
記事のアイキャッチ画像
GraphQL Tutorial for Beginners
Robin Wieruch - Freelance Web Developer
This GraphQL tutorial for beginners takes you on a journey to learn GraphQL. You will explore GraphQL with GitHub's GraphQL API and later learn how to build fullstack web applications with it ...
6年前
記事のアイキャッチ画像
Apollo Client Tutorial for Beginners
Robin Wieruch - Freelance Web Developer
+This tutorial shows you how to use Apollo Client for GraphQL without any other third-party library. Then you'll learn how to use Apollo Client in React ...
6年前
記事のアイキャッチ画像
Visual Regression Testing and React Storybook
Robin Wieruch - Freelance Web Developer
The article gives advice on how to implement visual regression testing in React and UI components with React Storybook. You will get to know React Storybook and all its testing capabilities ... +
6年前
記事のアイキャッチ画像
React with RxJS for State Management Tutorial
Robin Wieruch - Freelance Web Developer
A tutorial on how to use RxJS in React for state management. It shows how to implement a Rx.js higher-order component (hoc) that takes over the observable streams ...
6年前
記事のアイキャッチ画像
Prevent React setState on unmounted Component
Robin Wieruch - Freelance Web Developer
How to avoid the React warning: Can only update a mounted or mounting component. It usually means you have called setState on an unmounted component ...
6年前
記事のアイキャッチ画像
Writing Tests for Apollo Client in React
Robin Wieruch - Freelance Web Developer
The tutorial builds up on a mocked GraphQL API enabling you to write tests for your Apollo Client queries and mutations in React. It answers the question: How to test Apollo Client in React ...
6年前
記事のアイキャッチ画像
How to use CSS Modules in create-react-app? +
Robin Wieruch - Freelance Web Developer
The article is a short how to use CSS Modules in your create-react-app application. It shows you how to setup CSS Modules, but also how to use it in your components ...
6年前
記事のアイキャッチ画像
How to use SASS in create-react-app?
Robin Wieruch - Freelance Web Developer
+A short guide on how to add Sass support to your create-react-app application which shows you how to setup Sass, but also how to use it in your React components ...
6年前
記事のアイキャッチ画像
React Global State without Redux
Robin Wieruch - Freelance Web Developer
A tutorial to showcase how to use React global state without Redux. There are React patterns that can be used to have an application wide state in React without a state management library ...
6年前
記事のアイキャッチ画像
React State without Constructor
Robin Wieruch - Freelance Web Developer
A tutorial on how to have state in React without a constructor in a class component and how to have state in React without a class at all ...
6年前
記事のアイキャッチ画像
How to prevent a rerender in React
Robin Wieruch - Freelance Web Developer
A React performance optimization tutorial which shows you React's shouldComponentUpdate lifecycle method and React's PureComponent API to prevent the rerendering of (child) components ...
6年前
記事のアイキャッチ画像
Intersection Observer API in React
Robin Wieruch - Freelance Web Developer
A tutorial to learn about the Intersection Observer API in React. You will use React's ref API with createRef() to observe elements in your React application in context of the viewport ...
6年前
記事のアイキャッチ画像
GraphQL Server Tutorial with Apollo Server and Express
+Robin Wieruch - Freelance Web Developer
Learn how to build a GraphQL server with Apollo Server and Express with authentication, authorization, pagination, subscription, database access, tests ...
6年前
記事のアイキャッチ画像
React Render Props
Robin Wieruch - Freelance Web Developer
The concept of children as a function or child as a function, also called render prop in general, is one of the advanced patterns in React. This tutorial goes through a real world example ... +
6年前
記事のアイキャッチ画像
How to fetch data with React Class Components
Robin Wieruch - Freelance Web Developer
Learn the fundamentals about data fetching in client-side React with React Class Components ...
7年前
記事のアイキャッチ画像
Why Apollo: Advantages and Disadvantages
Robin Wieruch - Freelance Web Developer
Overview about the advantages and disadvantages of using Apollo and its ecosystem for JavaScript applications. It mentions also Apollo alternatives such as Urql and Relay for React applications ...
7年前
記事のアイキャッチ画像
Why GraphQL: Advantages and Disadvantages
Robin Wieruch - Freelance Web Developer
An overview about the advantages and disadvantages of using GraphQL instead of REST for JavaScript applications. It answers the question: 'What is GraphQL' and 'Why you should use GraphQL' for your next JavaScript application ...
7年前
記事のアイキャッチ画像
How to use Redux with Apollo Client and GraphQL in React
Robin Wieruch - Freelance Web Developer
When having a GraphQL server, Apollo Client can be a valid option for your remote data. How fits Redux into the equation? This tutorial shows you an example on how Redux and Apollo Client can be used together in a React application. Whereas Redux is used for local data, Apollo Client is used for remote data ...
7年前
記事のアイキャッチ画像
GitHub and Git Setup and Essentials
Robin Wieruch - Freelance Web Developer
In this article, I want to give you the essentials about Git and GitHub. Afterward, I want to show you my essential commands for Git that enabled me to do web development in the recent years. It's no magic...
7年前
記事のアイキャッチ画像
How to build a GraphQL client library for React
+Robin Wieruch - Freelance Web Developer
A tutorial on how to build a GraphQL client library for React applications. It has three parts: the GraphQL client, connecting the GraphQL client to React, and offering Query and Mutation components for GraphQL operations ...
7年前
記事のアイキャッチ画像
Getting Started with GitHub's GraphQL API
Robin Wieruch - Freelance Web Developer
+Everything you need to get started with GitHub's GraphQL API for learning GraphQL in JavaScript. This walkthrough demonstrates you how to set up your data on GitHub, how to create a personal access token, and how to consume their API without any source code with GraphiQL or GitHub's GraphQL Explorer ...
7年前
記事のアイキャッチ画像
A minimal Apollo Client in React Example
Robin Wieruch - Freelance Web Developer
+The tutorial guides you through building a minimal Apollo Client in React example application where Apollo Client is used for remote data and React's local state for local data. After all, it's a minimal boilerplate project to get you started with GraphQL in React ...
7年前
記事のアイキャッチ画像
Mocking a GraphQL Server for Apollo Client
Robin Wieruch - Freelance Web Developer
+The tutorial shows you how to mock your GraphQL server for your GraphQL client for testing or other purposes. Either you can reconstruct a GraphQL client-side schema or introspect the GraphQL server schema. Both ways use client-side resolvers to mock the data...
7年前
記事のアイキャッチ画像
A apollo-link-state Tutorial for Local State in React
Robin Wieruch - Freelance Web Developer
+A tutorial about how to use Apollo Link State as local state management solution in a React application when having a GraphQL powered server in the first place. The example shows you how to use Apollo Link State instead of React's Local State, but also instead of Redux or MobX to manage global state ...
7年前
記事のアイキャッチ画像
React with Apollo and GraphQL Tutorial
Robin Wieruch - Freelance Web Developer
+This React with Apollo and GraphQL tutorial shows you how to use GraphQL in your React application by consuming GitHub's GraphQL API. You will use Apollo for your query and mutation implementations on the client-side of your React application. This Apollo in React tutorial attempts to teach you using Apollo in React from zero to one ...
7年前
記事のアイキャッチ画像
A complete React with GraphQL Tutorial
Robin Wieruch - Freelance Web Developer
+This React with GraphQL tutorial shows you how to use GraphQL in your React application by consuming GitHub's GraphQL API. You will not use any clever framework such as Apollo or Relay for your query or mutation. Instead this tutorial focuses on plain GraphQL with only HTTP requests in JS ...
7年前
記事のアイキャッチ画像
Why Frameworks matter
Robin Wieruch - Freelance Web Developer
+Newcomers to web development often start out with React, Vue or Angular far too early after they have learned vanilla JavaScript. There is not always the chance to experience the struggle why libraries like React were implemented in the first place ...
7年前
記事のアイキャッチ画像
Getting started with React and Parcel
Robin Wieruch - Freelance Web Developer
+This guide helps you to setup React with Parcel from 0 to 1. Learn how to use Parcel in React.js with zero-configuration. Setup your own boilerplate application ...
7年前
記事のアイキャッチ画像
How to accept Paypal payments with React
Robin Wieruch - Freelance Web Developer
+Ever wondered how to integrate Paypal in your React application? This tutorial guides you through the setup process from using a Paypal checkout form in your React application. Afterward you are ready to receive Paypal payments in your React.js application ...
7年前
記事のアイキャッチ画像
A Web Developer's Guide to Machine Learning in JavaScript
Robin Wieruch - Freelance Web Developer
+An extensive walkthrough for machine learning in JavaScript. The machine learning libraries in JavaScript are striving. As I started to learn about AI, deep learning (DL) and machine learning (ML) ...
7年前
記事のアイキャッチ画像
Tips to learn React + Redux in 2019
Robin Wieruch - Freelance Web Developer
+An extensive guide of tips, tricks and resources to learn React.js and Redux in 2018. The tutorial covers various topics in React, JavaScript ES6 and Redux to give you a great start in those topics. In addition, you will find courses for React and Redux to learn more about those topics in depth ...
7年前
記事のアイキャッチ画像
Neural Networks in JavaScript with deeplearn.js
Robin Wieruch - Freelance Web Developer
+An extensive tutorial on how to implement a neural network in JavaScript with deeplearn.js to perform machine learning in JavaScript. You can bring neural networks to your browser by using the performance benefits of WebGL. Deeplearn.js makes it possible to implement a WebGL powered neural network ...
7年前
記事のアイキャッチ画像
Logistic Regression with Gradient Descent in JavaScript
Robin Wieruch - Freelance Web Developer
Logistic regression with gradient descent in JavaScript with implementation of the cost function and logistic regression model (hypothesis) ...
7年前
記事のアイキャッチ画像
Linear Regression with Normal Equation in JavaScript
Robin Wieruch - Freelance Web Developer
Explaining and implementing normal equation in JavaScript and discussing it as alternative for gradient descent ...
7年前
記事のアイキャッチ画像
Multivariate Linear Regression, Gradient Descent in JavaScript
Robin Wieruch - Freelance Web Developer
How to use multivariate linear regression with gradient descent (vectorized) in JavaScript and feature scaling to solve a regression problem ...
7年前
記事のアイキャッチ画像
Gradient Descent with Vectorization in JavaScript
Robin Wieruch - Freelance Web Developer
An article guiding through the vectorized implementation of gradient descent in JavaScript by using matrix operations in a univariate regression problem ...
7年前
記事のアイキャッチ画像
Improving Gradient Descent in JavaScript
Robin Wieruch - Freelance Web Developer
Strategies to optimize / improve gradient descent: learning rate, feature scaling, vectorization, parameter initialization ...
7年前
記事のアイキャッチ画像
Programmatic Slack invite in JavaScript and React
Robin Wieruch - Freelance Web Developer
The article guides you through the setup of an automated Slack invitation for a JavaScript and/or React applications. Why would you want a Slack invitation in the first place? My personal motivation was it to create a like minded community of people learning React, but the idea about a Slack Channel started out on Twitter ...
7年前
記事のアイキャッチ画像
Host a single or multiple applications on Digital Ocean
Robin Wieruch - Freelance Web Developer
An extensive walkthrough on how to host your application on Digital Ocean. It showcases how multiple static websites can be hosted in one Droplet by using server blocks and how to deploy multiple APIs or node.js applications side by side in one Droplet with Dokku ...
7年前
記事のアイキャッチ画像
Polynomial Regression and Model Selection
Robin Wieruch - Freelance Web Developer +
How to fit your data with model selection and polynomial regression and how to avoid over-fitting to keep your model parsimonious ...
7年前
記事のアイキャッチ画像
How I built my own course platform
Robin Wieruch - Freelance Web Developer
+From having the idea to launching your own product: The article is a case study on how I built my own course platform in React, Stripe, Firebase to give other people a platform to learn React. It came with lots of challenges but also learnings beyond the implementation ...
7年前
記事のアイキャッチ画像
Linear Algebra in JavaScript with Matrix Operations
Robin Wieruch - Freelance Web Developer
+How to use matrix operations from linear algebra in JavaScript. What are inverse, transpose and identity matrices and how can they help in machine learning ...
7年前
記事のアイキャッチ画像
Linear Regression with Gradient Descent in JavaScript
Robin Wieruch - Freelance Web Developer
Implementing a (univariate) linear regression with gradient descent, cost function and hypothesis in JavaScript ...
7年前
記事のアイキャッチ画像
MobX (with Decorators) in create-react-app
Robin Wieruch - Freelance Web Developer
Everything you need to know about using MobX in a create-react-app with React. The article shows you all the different edge cases on how to activate JavaScript decorators, how to use MobX without decorators, and as bonus how to use MobX in Next.js. Afterward, you are prepared to setup your application with MobX and React.js ...
7年前
+
記事のアイキャッチ画像
What's new in React 16?
Robin Wieruch - Freelance Web Developer
All React 16 changes in one article. It tells you about the new return types with fragments and strings, portals in React, componentDidCatch and error boundaries for a robust error handling in React, setState with returning null and custom DOM attributes in React.js ...
7年前
記事のアイキャッチ画像
Taming the State in React [MobX Redux Book]
Robin Wieruch - Freelance Web Developer
A full blown React with Redux and MobX course to learn state management in React. It comes with an extensive 250 pages book which teaches Redux from zero to one. Additionally it comes with a lot of Redux and MobX source code and several screencasts to supplement the course experience ...
7年前
記事のアイキャッチ画像
How to use React SVG Patterns as Backgrounds
Robin Wieruch - Freelance Web Developer
Wondering how you can use SVG in React? This article gives you a walkthrough of different SVG in React options. It showcases it with an implementation of using SVG as backgrounds in React with stylish patterns from svg-patterns or Hero Patterns. Even though you are not a designer, you can make your applications look pretty with these SVGs ...
7年前
記事のアイキャッチ画像
8 things to learn in React before using Redux
Robin Wieruch - Freelance Web Developer
Facts about React that should be known before using Redux (or MobX). Most important: Learn React first, then opt-in Redux but only if you need it. There are various techniques in React.js for scaling your local state management. Only if these are not sufficient, use a library like Redux ...
8年前
記事のアイキャッチ画像
Legal Notice, Terms and Privacy Policy
Robin Wieruch - Freelance Web Developer
Legal Notice, Terms and Privacy Policy
8年前
記事のアイキャッチ画像
Redux Saga in Next.js by Example
Robin Wieruch - Freelance Web Developer
+A couple of basic setup steps to use Redux combined with Redux Saga in Next.js. Whereas Next.js enables you to build server-side rendered React applications, Redux and Redux Saga make sure to handle your state not only on the client-side, but also on the server-side. The sagas are used for asynchronous actions and side-effects ...
8年前
記事のアイキャッチ画像
Accept Stripe Payments with React and Express
Robin Wieruch - Freelance Web Developer
+Ever wondered how to integrate Stripe in your React application? This tutorial guides you through the whole setup process from using a Stripe checkout form on the client-side to setting up an Express payment server. Afterward you are ready to receive secure credit card payments via Stripe in your React.js application ...
8年前
記事のアイキャッチ画像
Advanced List in React - Build a powerful Component (Part III)
Robin Wieruch - Freelance Web Developer
+The series of React tutorials focuses on building a complex yet elegant and powerful React component. It attempts to go beyond the fundamentals in React.js. This part introduces an advanced list in React that will enable you to opt-in infinite scrolling and pagination ...
8年前
記事のアイキャッチ画像
Infinite Scroll in React - Build a powerful Component (Part II)
Robin Wieruch - Freelance Web Developer
+The series of React tutorials focuses on building a complex yet elegant and powerful React component. It attempts to go beyond the fundamentals in React.js. This part introduces infinite scroll in React in an elegant way by using higher order components. You will implement an infinite scrolling higher order component ...
8年前
記事のアイキャッチ画像
Paginated List in React - Build a powerful Component (Part I)
Robin Wieruch - Freelance Web Developer
+The series of React tutorials focuses on building a complex yet elegant and powerful React component. It attempts to go beyond the fundamentals in React.js. This part introduces a paginated list in React where you can fetch sublists from a third party API in React. You will implement it in an elegant higher order component ...
8年前
記事のアイキャッチ画像
Nobody introduced me to the API
Robin Wieruch - Freelance Web Developer
+A storytelling approach to learn about the term API. There is a knowledge gap when it comes to APIs. People assume that the knowledge about APIs is common ground, but it isn't. This article takes you on a journey to explore APIs and their empowering effects...
8年前
記事のアイキャッチ画像
Lessons learned from Give and Take
Robin Wieruch - Freelance Web Developer
+Adam Grant dives deep into the spectrum of altruistic to selfish personalities. Anyone might be able to identify his or her own personal traits. Adam Grant shows that you can apply the principles of giving and taking even in companies or communities...
8年前
記事のアイキャッチ画像
Giving Back, By Learning React
Robin Wieruch - Freelance Web Developer
+Self-reflection as a privileged developer who travels South East Asia. An attempt to give something back, by learning React, to contribute solving the diversity problem in software development...
8年前
記事のアイキャッチ画像
Redux vs MobX without Confusion
Robin Wieruch - Freelance Web Developer
+Using Redux or MobX in your React application? The article shows you all the differences between both state management libraries that can be used in React. It gives you guidance to learn MobX vs Redux in React.js applications, their strengths and weaknesses and when to use them ...
8年前
記事のアイキャッチ画像
When to use React's Ref on a DOM node in React
Robin Wieruch - Freelance Web Developer
+What about the ref attribute in React.js? This article gives you clarification around the ref attribute to access DOM nodes in React. It shows you how you can use it, when you should use it and where it can be used and where it shouldn't be used ...
8年前
記事のアイキャッチ画像
(Deep Work) => Flow - A proven Path to Satisfaction
Robin Wieruch - Freelance Web Developer
+The following article summarizes my lessons learned from the books Deep Work and Flow. It can be the way to achieve a fulfilled life. Cal Newport and Mihaly Csikszentmihalyi have written outstanding books in their ...
8年前
記事のアイキャッチ画像
10 Reasons why I moved from Angular to React
Robin Wieruch - Freelance Web Developer
+The article should help people to understand the benefits of React and Angular for making an educated decision to choose between Angular or React. It tells my story why I moved from Angular to React after using both libraries for years. It's not just another click-bait article, but an article with lots of experiences ...
8年前
記事のアイキャッチ画像
Lessons learned from On Writing Well
Robin Wieruch - Freelance Web Developer
+The article is a summary of my lessons learned from On Writing Well by William Zinsser. By providing a summary I hope to help other developers to improve their writing. Apart from that it helps me to memorize my lessons learned.
8年前
記事のアイキャッチ画像
Technical Cheatsheet: 5 days to your own Website
Robin Wieruch - Freelance Web Developer
+Technical cheatsheet to create and host your own website in five days. You will learn how to use Hugo and DigitalOcean to publish your website online. Hugo is a static website generator to...
8年前
記事のアイキャッチ画像
Redux State Keys - A predictable yet dynamic substate
Robin Wieruch - Freelance Web Developer
Redux state keys enable a dynamically allocated yet predictable substate. In a rapid development environment it happens quite often: There is no time to plan state structure...
8年前
記事のアイキャッチ画像
Redux Observable RxJS: Going Epic with Reactive Programming
Robin Wieruch - Freelance Web Developer
The Redux Observable RxJS: Going Epic tutorial will show you how to reactive programming in Redux. The middleware can be used in Redux applications. The example shows it in a React JS app...
8年前
記事のアイキャッチ画像
MobX React: Refactor your application from Redux to MobX
Robin Wieruch - Freelance Web Developer
Refactor your React application from Redux to MobX. Use MobX instead of Redux for state management in React JS. Get to know actions, reactions and derivations in MobX and best practices...
9年前
記事のアイキャッチ画像
Redux Normalizr: Improve your State Management
Robin Wieruch - Freelance Web Developer
The Redux Normalizr: Improve your State Management tutorial will teach you how to use normalizr. Avoid deep nested data structures ...
9年前
記事のアイキャッチ画像
Redux Ducks: Restructure your Redux App with Ducks
Robin Wieruch - Freelance Web Developer +
Redux Ducks: Restructure your Redux App with Ducks will teach you how to bundle action creators, action types and reducers side by side in your Redux app.
9年前
記事のアイキャッチ画像
Flow: Type Checking with Flow in React + Redux
Robin Wieruch - Freelance Web Developer
+The Flow: Type Checking with Flow in React + Redux tutorial will teach you how to use Flow in a React JS + Redux environment. JavaScript as dynamically typed..
9年前
記事のアイキャッチ画像
The SoundCloud Client in React + Redux
Robin Wieruch - Freelance Web Developer
Build a React + Redux SoundCloud Client. It is a huge tutorial where you build an example real world application. Learn React JS and Redux along the way. Consume the SoundCloud API, login and interact...
+
9年前
記事のアイキャッチ画像
D3 on Angular: Reusable Components
Robin Wieruch - Freelance Web Developer
Components become more important these days. In the future you will get to hear more and more about Web Components, which get available in Angular 2.0...
10年前
記事のアイキャッチ画像
D3 on Angular: Small Multiples with Brushing
Robin Wieruch - Freelance Web Developer
This article shows how you can achieve Small Multiples with D3 using Angular.js. According to Edward Tufte (1983) Small Multiples are a concept to...
10年前
記事のアイキャッチ画像
Apple Health Chart on Angular and D3.js
Robin Wieruch - Freelance Web Developer
Last year Apple released their new collection of iPhones. One innovation of Apple which caught my eyes is the new health app. The dashboard with its...
10年前
\ No newline at end of file diff --git a/blogs/eec560ed377f693a3c960200c36ac995/index.html b/blogs/eec560ed377f693a3c960200c36ac995/index.html new file mode 100644 index 000000000000..8f17f7df0e19 --- /dev/null +++ b/blogs/eec560ed377f693a3c960200c36ac995/index.html @@ -0,0 +1,47 @@ +Katashin .infoのフィード|JSer.info Watch List RSS

Katashin .info

フィード

記事のアイキャッチ画像
Firebase をローカルで使うエミュレーターの起動、シードデータの設定、データの永続化方法
Katashin .info
ローカルに自分だけが使える Firebase を起動して、チームメンバーに影響を与えず色々と実験したい場合はありませんか?すでにそういった環境を用意している人でも、エミュレーターを起動するたびにデータを入れ直すことを煩わしく思ってる人もいるのではないでしょうか?本記事では、Firebase をローカルで使うためのエミュレーターの起動方法から、エミュレーターへのシードデータのインポート方法や、終了後のデータの永続化方法を解説します。
1年前
記事のアイキャッチ画像
長押しドラッグを活用した iOS のポップオーバーメニューインタラクションを Vue.js で実装する
Katashin .info
iOS の UI は細かいインタラクションが作り込まれていて、使っていて快適です。例えば、iOS のポップオーバーメニューは、タップではなく長押しでもポップオーバーを開くことができ、そのまま指を離さずにメニュー項目に指を動かせば、その項目を選択することができます。以下のデモはその挙動を再現したものです。また、一部のアプリでは、メニュー項目を選択できる領域が拡大されていることがあり、項目に指が触れていなくても選択できるものもあります。例えば、以下のデモはポップオーバーで絵文字を選択できますが、指を絵文字の上まで動かさなくても、少し下に指を動かすだけで選択できます。これによって、指で選択したい項目が隠れるのを防げます。この記事では Vue.js を使って、上記のような長押しドラッグによるポップオーバーのメニュー選択インタラクションの実装方法を、実際のコードを交えながら解説します。
1年前
記事のアイキャッチ画像
直感的なオプションでスプリングアニメーションできる JavaScript ライブラリ CSS Spring Animation
Katashin .info +
「難しいことはよくわからないからとりあえずいい感じにアニメーションしてほしい!」前回、前々回の記事を読んだ方の中にはそう思った人がいるかもしれません。今まで CSS に数式を書いてアニメーションさせる方法や、iOS で使われているスプリングアニメーションを CSS で実装する方法を紹介しましたが、しっかりと理解をして実装をするにはハードルが高かったように思います。今回は、それらの実装を簡単にできる JavaScript ライブラリ CSS Spring Animation を紹介します。前回、前々回の記事は以下のリンクから読めます。CSS 数式アニメーションで初速も考慮できる表現力の高いイージングを書くiOS のスプリングを CSS 数式アニメーションで再現する
1年前
記事のアイキャッチ画像
iOS のスプリングを CSS 数式アニメーションで再現する
Katashin .info
+「こういうアニメーションを作ってると未来予知したくなるんですよね」9月30日の複雑 GUI 会に参加した時に、「iOS のラバーバンドスクロールを Web で実装する方法」のラバーバンド実装を見せた時にこんな事を言いました。物理演算を取り入れたアニメーションはフレームごとに次の位置を計算するため、例えば1秒後にどこにいるのかを事前に知ることはできないので、数式を使って計算したくなるという話でした。この話をしたら、参加者の方に WWDC 2023 で発表された Animate with springs を教えていただきました。iOS では、従来物理演算で行われていたスプリングアニメーション(Spring Animation)を数式で表現していることが解説されていて、実際の数式も紹介されており、とても興味深いものでした。数式によるスプリングアニメーションの実装を Web に持ってこれたらおもしろいのではないかと思い、何度も動画を視聴し、数式の理解を試みました。ある程度 Web で動かせるようになるまで理解が進んだので、本記事ではその数式の解説と、簡単な実装の紹介をします。
1年前
記事のアイキャッチ画像
CSS 数式アニメーションで初速も考慮できる表現力の高いイージングを書く
Katashin .info
cubic-bezier() をやめてこれからは数式で CSS アニメーションを書いていこうと思います。cubic-bezier() には簡単にアニメーションのイージングを書けるというメリットがありますが、凝ったことをしようとすると表現力が足りない問題に直面します。例えば、ユーザーが直前に行った操作に応じてアニメーションに初速をかけたい時、CSS アニメーションでやるのは難しいので、JavaScript で実装するというのが一般的です。しかし、最近の CSS では、アニメーションさせたいプロパティに数式を記述することで、初速を考慮したイージングを実現できます。以下のデモは初速を考慮した CSS アニメーションの実装です。(記事執筆時点で Firefox に未実装の機能を使用しているので、Firefox 以外のブラウザーで見てください)これを突き詰めると、スプリングアニメーション(Spring Animation)のような、従来は JavaScript でフレームごとに描画していたアニメーションも CSS アニメーションで実装できます。iOS のスプリングを CSS 数式アニメーションで再現するこの記事では数式を使ったアニメーションを CSS で行う方法について、実際にデモを実装しながら解説します。
1年前
記事のアイキャッチ画像
今はなき Tweetbot の至高のインタラクションを高校数学と物理を使って再現する
Katashin .info
iOS の Twitter(現X)クライアントに Tweetbot というアプリがありました。全 Twitter クライアントの中でインタラクションの出来が群を抜いており、筆者はこのアプリのインタラクションが気持ち良くて愛用していました。筆者が Tweetbot のインタラクションの中で最も好きなのが、ツイートの画像タップで拡大表示した後、その画像をドラッグすることで、カードのように画面外に飛ばし、拡大表示を閉じれるというものです。そのカード飛ばしインタラクションを再現したものが以下のデモです。このインタラクションの気持ち良さは、ただ画像が飛んでいくだけでなく、ドラッグに合わせて自然に画像が回転し、ドラッグ後もくるくると回転しながら飛んでいくところにあります。実装も興味深く、高校数学や物理で学んだことを組み合わせる必要があります。本記事では、この Tweetbot のカード飛ばしインタラクションの実装について解説します。高校までの数学や物理の話が出てきますが、なるべく図を使い、平易な解説を行います。また、本記事の最後に、このインタラクションの HTML、CSS、JavaScript コードの全体を掲載しています。
1年前
記事のアイキャッチ画像
シームレスな画面遷移アニメーションの Vue Router を使った実装パターン
Katashin .info
以下のようにシームレスな(繋ぎ目のない)画面遷移を実装するとしたら、どのように実装しますか?それぞれのカードをクリックするとカードが拡大され、そのコンテンツ全体が見れるようになります。この実装はカード一覧ページと、コンテンツ全体が見れるページの2ページで構成されていて、画面遷移の処理を工夫することで、シームレスな見せ方をしています。シームレスな画面遷移は、要素同士の関連性を強調したり、アプリへの没入感を高めるなどのメリットがありますが、実装難易度が高く、コードのメンテナビリティが下がりやすいというデメリットもあります。本記事では、このようなシームレスな画面遷移を実装する難しさを説明してから、Vue.js を使った実際のコードを交えながらその実装方法について解説します。
1年前
記事のアイキャッチ画像
window.prompt を Vue.js で再発明する
Katashin .info
+window.prompt は JavaScript を一行書くだけでユーザーのテキスト入力を取得できる優れた API です。以下のように window.prompt を呼ぶだけで入力フォーム付きのダイアログが開き、戻り値でユーザーが入力した文字列を取得できます。<script setup>import { ref } from 'vue'const list = ref([])function onAdd() { const input = window.prompt('追加する文字列を入力してください') if (input) { list.value.push(input) }}</script><template> <button type="button" @click="onAdd">追加</button> <ul> <li v-for="(item, i) in list" :key="i">{{ item }}</li> </ul></template>しかし、実際のアプリケーションでは独自ダイアログを実装することがほとんどです。window.prompt によって開かれるダイアログは、デザインや機能をカスタマイズできないためです。独自ダイアログが window.prompt と同様の使い勝手であれば良いのですが、大抵の実装には以降の節で解説する問題点があります。本記事では、Vue.js で独自ダイアログを実装する例を通して、その実装によくある問題点を解説し、どうすれば window.prompt のようなシンプルなインターフェースの実装ができるかを解説します。
1年前
記事のアイキャッチ画像
アクションシートの実装から学ぶ <dialog> 要素を使う時の3つの落とし穴
Katashin .info
<dialog> 要素が主要なブラウザすべてに実装され、現実的に使えるようになってきましたが、これをそのまま実際の Web アプリで使うには様々なものが足りません。足りないものを自分で実装していくと、分かりづらい挙動があったり、癖のある実装が必要なことがあります。例えば、<dialog> 要素のデフォルトは中央揃えで、コンテンツに合わせたサイズになりますが、これの位置、サイズ調整やアニメーションをする際に落とし穴があります。本記事では、以下のアクションシートのようなモーダルを実装する例を通して、<dialog> 要素を使う時の3つの落とし穴を紹介します。
1年前
たった一つの変数でアニメーションのデバッグを簡単にする実装パターン
Katashin .info
アニメーションを実装した時、そのアニメーションを観察してどこか違和感を感じた経験はありませんか?例えば、以下のデモは項目の追加時には高さが 0 から伸び、削除時には縮むアニメーションをしますが、これに違和感を感じる人もいるかもしれません。このような場合、アニメーションの動きが速くて目立たない部分に、意図とは違う挙動、つまりバグが隠れている時があります。本記事では、こういったアニメーションのバグを見つけるデバッグの仕方や、デバッグを簡単にする実装パターンを紹介します。
1年前
記事のアイキャッチ画像
お祈りデプロイを避けるためのフィーチャーフラグ運用
Katashin .info
「今日リリースの機能ですが、マージ前に軽くレビューしてもらえますか?」同僚にそう言われてプルリクエストを見ると1000行以上の差分がある。たしかにこの機能は大きく、開発の完了まで本番環境にリリースしてしまわないようにブランチを分けていたのだが、そうは言っても差分が大きすぎてレビューが大変そうだ。リリースまでの時間もないし、軽く動作チェックをして、問題がないことを祈ろう……チーム開発でレビュワーの経験がある人なら、このような状況に覚えがある人もいるでしょう。しかもこういうのは大抵タイムリミットが短く、最終的には時間がないので問題が起きないことを祈りながら Approve するのです。検証やテストが不十分なまま、問題が起きないことを祈りながら本番環境にデプロイすることを俗にお祈りデプロイと呼ぶこともありますが、これはできたら避けるべきです。筆者はこれに対処するため、フィーチャーフラグを用いた開発を数年間試したところ、開発体験が良くなった感触を得ています。この記事ではフィーチャーフラグの解説を交え、筆者が実際に試した開発方法を紹介します。
1年前
記事のアイキャッチ画像
+操作データから逆操作を生成しUndo(元に戻す)機能を実装するパターン
Katashin .info
リッチなアプリを開発していると、Undo(元に戻す) 機能を自分で実装する必要が出てきます。canvas を使った図形の描画などはブラウザデフォルトの Undo 機能が使えず、自分で実装しなければならない代表例です。Undo の実装にはパターンがあり、それを理解することで様々なアプリへの Undo の実装がしやすくなります。この記事では、JavaScript による簡単なデザインツールのデモを通して、Undo の実装パターンと、具体的な実装例を解説します。
2年前
記事のアイキャッチ画像
iOS のラバーバンドスクロールを Web で実装する方法
Katashin .info
+普段 iPhone を使っている人でスクロールが端に到達した時に、少しだけ端を越えていき、その後跳ね返ってくる挙動を意識したことがある人はどれだけいるでしょうか?その挙動をどう実装するか考えたことはありますか?この iOS の挙動をラバーバンドスクロールやバウンススクロール、バウンスバックなどと呼びますが、ほとんどの人はあまり意識せずに iOS デバイスを使っていると思います。今では当たり前のこの挙動は、iOS の使っていて気持ちのいい UI に大きく寄与しています。本記事では、この挙動をラバーバンド効果と呼び、単純化した例を通じてその実装方法を解説します。
2年前
記事のアイキャッチ画像
バーチャルキーボード張り付き UI と Visual Viewport API
Katashin .info
+以前は Web で実装するのが難しくてモバイルアプリで実装するしかない UI がありました。その一つがバーチャルキーボードの上に要素を張り付けて配置する UI です。LINE のような画面下に入力フォームがあるチャットアプリはそのような UI の代表例です。2023年7月現在は主要なブラウザに Visual Viewport API が実装され、バーチャルキーボードの高さを計算し、それを利用した要素の配置が容易です。この記事では Visual Viewport API を使ってスクロールや拡大率によらずバーチャルキーボードの上に要素を張り付ける方法を解説し、この API の前提知識となる Visual Viewport と Layout Viewport について解説します。
2年前
記事のアイキャッチ画像
Vue.js パフォーマンスチューニングの最終手段 computedEager
Katashin .info
+「これを computed のかわりに使うとパフォーマンスが良くなる」先日 computedEager というユーティリティが使われているのを見て、使っている理由を聞いたらこういった答えをいただきました。たしかに computedEager でパフォーマンスを改善できる場合がありますが、使い方を間違えると逆に悪化させてしまう可能性もあります。この記事では computedEager の仕組みを深掘りしていき、どのような使い方が有効なのかを解説します。
2年前
記事のアイキャッチ画像
アニメーションの実装が劇的に簡単になるFLIPテクニック
Katashin .info
アニメーションの実装はややこしいからCSS Transitionでできなければ実装したくない、そう思っていませんか?FLIPというテクニックを使うことで、CSS Transitionだけでは実装できないケースでも簡単にアニメーションを実装することができます。
2年前
記事のアイキャッチ画像
Vue テンプレート内の式の型チェックと解析ができるまで
Katashin .info
Vue の TypeScript 対応は v2.0 から公式に型定義がサポートされるようになったり、v2.5 で Vue.extend を使ったときに this の型が推論されるようになったりと、改善が何度も行われています。しかし、課題はまだたくさんあり、その中でもよく聞くのが、テンプレート内の式の型チェックがされないという課題でした。TypeScript はテンプレートを解釈できないので当たり前ですが、もしそれが解決できたらより安全になるでしょうし、開発体験も向上すると思います。そしてこの課題は Vetur の最新版で解決されました。
6年前
記事のアイキャッチ画像
任意の背景色に対して読みやすい文字色を選択する方法
Katashin .info
GitHub の Issue ラベルなど、任意の色の中に文字を入れたい場合があります。このとき文字色が一色のみだと、背景色と似たような色のときに読みづらくなってしまいます。以下のスクショでわかるように、GitHub は背景色によって文字色を黒か白のどちらにするかを計算しているようです。個々のサービスの実装についてはわかりませんが、WCAG (Web Content Accessibility Guidelines) で定義されているコントラスト比を使うことで、背景色に対して読みやすい文字色を選択することができます。
6年前
記事のアイキャッチ画像
GraphQL の情報を雑にまとめる
+Katashin .info
最近 GraphQL を使うことがあり、いろいろ調べたりしていることをメモしておきます。自分が必要なものしかまとめてないので情報には偏りがあります (具体的には Apollo、TypeScript や Ruby あたりに偏ってます)。GraphQL / Apollo まわりのテストの話は別の記事で詳しく書くかもしれないです。
6年前
記事のアイキャッチ画像
Nuxt.js のような自動ルーティングを可能にする Vue CLI プラグインを作った
Katashin .info
+Nuxt.js という Vue.js で SSR をするアプリケーションが簡単に書けるフレームワークがあります。Nuxt.js は SSR だけでなく、webpack の設定やディレクトリ構造なども最初から決められており、規約がすでに存在することによる開発の効率化の面においても注目されています。個人的に Nuxt.js で便利だと感じている機能にルーティングの自動解決とレイアウト機能があります。通常の Vue Router を使ったアプリではルーティングの設定は自分で書く必要がありますが、Nuxt.js では pages/ ディレクトリ以下の構造から自動的にルーティングの設定を生成してくれます。また、Rails のレイアウトのように、各ページごとにレイアウトファイルを指定することができます。これらの機能に慣れてしまうと、Nuxt.js を使っていないプロジェクトにおいて自分でルーティングの設定を書くのがとても面倒になってきたので、Nuxt.js じゃなくてもいい感じにする Vue CLI プラグインを書きました。vue-cli-plugin-auto-routingまた、vue-cli-plugin-auto-routing は独立したパッケージを組み合わせているので Vue CLI プラグインを使えない環境の場合は以下の2つを直接使うと良いです。vue-auto-routing: ルーティングの設定をディレクトリ構造から生成する webpack プラグイン vue-router-layout: レイアウト機能を提供するコンポーネント
7年前
記事のアイキャッチ画像
vue-thin-modal v1.0.0 をリリースしました
Katashin .info
+去年から作っていた Vue のモーダルコンポーネント vue-thin-modal の v1.0.0 をリリースしました。仕事でも結構使っていて、特に大きな問題もなく、API も安定しているのでメジャーバージョンを上げました。vue-thin-modal は世の中の多くのつらいモーダル実装を見て、つらくならなくするために作ったライブラリです。主に以下のような特徴があります。モーダルはどこに置いても DOM の実態は <body> 直下にマウントされる (いわゆる Portal)。モーダルが開くと通常のコンテンツ部分はスクロールが止まる。モーダル内のコンテンツがウィンドウサイズを超えてもスクロールできる。これで発生する、スクロールバーが消えることによるガタツキを防ぐ実装もしている。モーダルを閉じたときに元のコンテンツにフォーカスを戻す。デフォルトの CSS スタイルが提供されていて、何もしなくてもそれっぽく動く。背景とモーダルコンテンツのトランジションが独立していて、柔軟に設定できる。モーダルの表示はスタックで管理していて、モーダルの上にモーダルとかもやろうと思えばできる (UI 的にどうなんだというのは置いといて)。モーダルのつらさについては CodeGrid 5周年記念パーティーで話しているので、そのスライドも見てみてください。vue-thin-modal を作る際には Bootstrap Modal や Modaal をかなり参考にしました。特に Bootstrap Modal の作り込みはすごくて、その完成度の高さに驚いた覚えがあります。関連ライブラリとして vuex-modal というものもあります。こちらは vue-thin-modal を作る前に作ったものですが、今は内部で vue-thin-modal を使用しています。自分の欲しい機能はすべて実装したので、これからの展望は特にないですが、バグレポートや機能要望などは歓迎です!
7年前
記事のアイキャッチ画像
TypeScript Compiler API の基本的な使い方、コード例と作ってみたもの
Katashin .info
+2月20日 (火) に JavaScript メタプログラミング勉強会 Metapro.es という勉強会があり、そこで TypeScript (TS) Compiler API について LT しました。内容は TS Compiler API の基本的な使い方を話したものですが、短い時間で話しきれる内容でなかったのと、TS Compiler API の日本語資料は少ないので、ここに補足記事を書いておきます。また、example コードを Github に置いているので、適宜参照・実行しながら読むと理解しやすいかもしれません。
7年前
記事のアイキャッチ画像
Vue のテンプレートの型チェックについて
Katashin .info
+静的型が好きな人と話していると大体テンプレートの型をチェックしたいという話を聞くのですが、Vue には今のところそれをうまく行う方法はありません。すこし前に Vue のテンプレートの型チェックについて LT したのですが、これは vue-class-component などの Vue 標準の API から離れた書き方を強制するのでちょっと微妙な感じでした。これは、以前は Vue のコンポーネントの this の型を得るためには、クラス構文を使う必要があったためです。しかし、TypeScript v2.3 に導入された ThisType によって、オブジェクトリテラル内部のメソッドの this の型推論が行えるようになったのと、 Vue v2.5 から、TypeScript の型定義が大きく改善されたことで、Vue 標準の API を使っても this の型をうまく得ることができるようになりました。良い機会なので、上記の LT をした時に作ったものを更新して、標準の API でもテンプレートの型チェックをできるようにしてみました。typed-vue-template - テンプレートを TypeScript として script ブロックに挿入する実装部分typed-vue-loader - typed-vue-template を webpack loader のインターフェースとして提供してるものtyped-vue-loader をクローンして、npm i && npm run example:dev した後に、example ディレクトリのソースを編集すると動作がわかると思います。pic.twitter.com/8DDeyFFnK9— katashin (@ktsn) November 12, 2017ただし、この実装ではコンパイル時に型チェックができるだけであり、エラーが発生している場所はわからないですし、エディタ上で型情報を利用した補完機能を利用するということはできないです。そのあたりを頑張ろうとして作ったのが以下です。vue-template-diagnosticvue-template-diagnostic の発想は Angular と同じで、自分で型チェッカーを作ってしまおうというものです。しかし、やはり型チェッカーを再実装するのは結構つらいのと、Vu +
7年前
記事のアイキャッチ画像
TypeScript の恩恵を受けつつ Vue を使いたい その2 (Value オブジェクトを扱う)
Katashin .info
せっかく型のある TypeScript を使うなら、なるべくプリミティブを使わずに Value オブジェクトを使いたいです。この記事では TypeScript + Vue で Value オブジェクトを扱うためにいろいろと考えたり、試したことを述べます。この記事に書かれていることは Vue 公式にはあまり推奨されない (と思われる) 方法なので、採用する場合には注意してください。
9年前
記事のアイキャッチ画像
TypeScript の恩恵を受けつつ Vue を使いたい その1
Katashin .info
最近 TypeScript の恩恵を受けつつ Vue を使うためにいろいろと試行錯誤しています。この記事ではコンポーネントの定義と、コンポーネント内のロジックを再利用可能にするための Mixin の定義を TypeScript でどのように書けばよいかを述べます。
9年前
記事のアイキャッチ画像
vq にイベントハンドリングの機能を実装した
Katashin .info
+vq v1.1.1 をリリースしました。主な更新点は、イベントハンドリング機能の追加です。vq - Githubvq - npmvq は複雑なアニメーションを簡潔に書くことを目指しているライブラリで、関数型プログラミングの考え方から着想を得ています。今回の更新点以外の詳しい説明は以前書いた記事や README を参照してください。
9年前
記事のアイキャッチ画像
Vue のコンポーネントと Vuex Store を繋げるためのヘルパ vuex-connect を作った
Katashin .info
某勉強会中にネタを思いついて、急いで作って LT してその日のうちに npm にアップしたら、翌日Vue 公式に紹介されていてだいぶビビったやつです。Vue と Vuex のヘルパなので、この二つを理解していることが前提になります。vuex-connect (Github) vuex-connect (npm)
9年前
+記事のアイキャッチ画像
テキスト編集における Selective Undo を実装した
Katashin .info
Selective Undo とは、その名の通り Undo したい処理を選択することのできる Undo のことです。テキスト編集で Selective Undo をするためのライブラリを書いたので、それを実装する上で学んだことを簡単に述べます。ktsn/selectivie-undo-text: A Selective Undo library for text editing (Github)selective-undo-text (npm)Demo
9年前
記事のアイキャッチ画像
webpack + Testem でフロントエンド JavaScript のテストを書く
Katashin .info
webpack を使っているプロジェクトで、テストコードも webpack で依存関係の解決やトランスパイルをしたいということがあったので、その時に行ったことをまとめます。
9年前
記事のアイキャッチ画像
Vue.js における methods の this は自動的に VM に束縛される
Katashin .info
+執筆当時の環境Vue.js v1.0.17JavaScript で以下の様なコードを書いた時、onResize 内の this はグローバルオブジェクト (window) となり、this.log('resized') はエラーとなります。const obj = { log: function (str) { console.log(str) }, onResize: function (event) { this.log('resized') },}window.addEventListener('resize', obj.onResize) // this.log('resized') でエラー上記のコードの obj を、以下のように Vue.js の VM にするとエラーが起きなくなり、意図した通りに動作するようになります。また、this の値は obj に束縛されています。const obj = new Vue({ methods: { log: function (str) { console.log(str) }, onResize: function (event) { this.log('resized') }, },})window.addEventListener('resize', obj.onResize) // エラーが発生しないこのことから、Vue.js では methods に渡された関数を VM に束縛していると言えます。実際にコードを追って確かめてみます。methods で Github のリポジトリを検索すると、 _initMethods というメソッドが存在しているのがわかります。このメソッドは src/instance/internal/state.js の中に定義されています。_initMethods の中を見てみると、bind(methods[key], this) という記述があります。JavaScript ネイティブの bind ではないですが、どうやらここで this を束縛しているように見えます。vue/state.js at 521e8d2754c2e7f172c3c9702fdb74fe993027fb · vuejs/vueなぜわざわざ独自の bind 関数を使っているのかを調べるために、この bind の定 +
9年前
記事のアイキャッチ画像
JavaScript ライブラリを npm で公開するためにやっていること
Katashin .info
最近、何度か自作のライブラリを npm にアップしています。その時にやっていることを書き留めておきます。
9年前
記事のアイキャッチ画像
複雑なアニメーションとそれに伴う処理を簡潔に書くことのできるライブラリ vq を作った
Katashin .info
最近 JavaScript のアニメーションの実装につらみを感じていたので、それを解消するためにライブラリを作りました。 vq というライブラリで、Velocity.js というライブラリのヘルパーという位置づけです。 内部のアニメーションは Velocity.js にまかせていて、vq は記述を簡潔に書けるようにしています。vq - GitHub vq - NPM
9年前
記事のアイキャッチ画像
XCode で動作環境に応じて API の URL などの設定を変更する
Katashin .info
+OSX, iOS アプリでも Rails の RAILS_ENV のように、動作環境に応じて値を変えたいという時があります。 この記事では、アプリから利用する Web API の URL を動作環境に応じて切り替えるのを例に、そのやり方を説明します。執筆時の開発環境は下記のとおりです。XCode: Version 7.2Swift: version 2.1.1
9年前
記事のアイキャッチ画像
指定した行数でテキストを省略できるライブラリ Truncator を作った
Katashin .info
N 文字目以降を省略するというライブラリはたくさんあるのですが、行数指定できるものは見かけないので作りました。N 行以上になった時は省略したいというケースは結構ある気がするんですが、なぜそういうライブラリは無いのだろう......。Truncator - NPM Truncator - Github
9年前
記事のアイキャッチ画像
Bookshelf のアソシエーションで発生する循環読み込みによるエラーを回避する
Katashin .info
Node.js の ORM である Bookshelf では公式サイトの例のようにアソシエーションを定義することができます。 しかし、モデルの定義を別ファイルに分けるとこの例が動かなくなります。 この記事では、モデルの定義を別ファイルに分けても意図通りに動くコードの書き方の説明と、それを支援する Bookshelf プラグインの紹介をします。
9年前
記事のアイキャッチ画像
State パターンでアニメーションの挙動を制御する
Katashin .info
あるオブジェクトが絶えずアニメーションをするようなコードを書く時、様々な状態に応じて挙動を変えたいというのはよくあることだと思います。単純に実装すると、状態に対応するフラグを記録しておき、それに応じて条件分岐するという書き方になると思います。しかし、状態の数が増えると、フラグ管理が大変になり、コードがどんどん汚くなっていきます。そこで、State パターンのように、状態ごとに別々の挙動を行う関数を定義し、オブジェクトの状態が遷移した時に実行する関数を切り替えるようにすると、コードが状態ごとに整理され、見やすくなります。
9年前
記事のアイキャッチ画像
Vue.js を使った中規模 Web アプリ向けのディレクトリ構造を考えた
Katashin .info
+最近 Vue.js を使って Web アプリを書いていて、どんなディレクトリ構造だと良いんだろうなーということを考えた結果を書きとめようと思います。Angular Best Practice for App Structureっぽい感じです。
9年前
記事のアイキャッチ画像
2014年に読んだ技術書の中で良いと思ったもの三冊
Katashin .info
もう年明けてしまいましたが、僕が2014年に読んだ技術書の中で良いと思ったものを三冊紹介します。ちなみに、筆者は普段 Web 系のコードを主に書いているので、読んでる本もそういったものに偏り気味です。
10年前
記事のアイキャッチ画像
Objective-C でデリゲートメソッド内でコールバックできるようにする
Katashin .info
+Objective-C では非同期処理の完了後の処理をデリゲートメソッドで行うものがあります。デリゲートメソッドで処理するのは、単純なシステムなら問題ありませんが、システムが複雑になってくると、1つのデリゲートメソッド内に多くの条件分岐ができて、コードが読みにくくなる場合があります。こういった時にはデリゲートメソッドの代わりにコールバック関数を用いることで、コードがすっきりします。既に存在するライブラリが、非同期処理完了後の処理をデリゲートメソッドで実行するようにしている場合は、デリゲートメソッド内でコールバック関数を呼ぶようなラッパークラスを書く必要があります。コールバック関数については以前の投稿を読むと分かるかもしれません (Objective-C でコールバックを持つメソッドを実装する方法について)。非同期処理完了後の処理をデリゲートメソッドで行うと以下のようになります。例として、WebSocket ライブラリの square/SocketRocket を用いています。今回は説明を簡単にするために、クライアントが送信したメッセージを受け取ったら、即座に同一のメッセージを返すサーバーを仮定します。// メッセージ送信- (void)sendMessage:(NSString *)message { [_socket send:message];}// メッセージ受信 (SocketRocket のデリゲートメソッド)- (void)webSocket:(SRWebSocket *)webSocket didReceiveMessage:(id)message { // メッセージ受信後の処理を書く NSLog(@"%@", message);}メッセージ受信後に1つの処理のみを行うのであれば上記で充分ですが、場合によって異なる種類の処理を行いたい場合は工夫をする必要があります。例えば、サーバーから受け取るメッセージの種類によって処理を分けたい場合は、サーバーから受け取ったメッセージ内に、type のようなパラメータを加えて、デリゲートメソッド内で条件分岐をするということが考えられます。また、上記の sendMessage メソッドを呼び出すクラスが複数あり、クラス毎にメッセージ受信後の処理が違うというような場合は、デリゲートメソッドのみでは対応できません。こうい +
11年前
記事のアイキャッチ画像
box-sizing: border-box; を指定している時の jQuery UI Resizable の調整方法
Katashin .info
+CSS の幅や高さ指定を直感的なものにしてくれる border-box というものがありますが、これを使うと jQuery UI の Resizable の挙動がおかしくなります。この問題は短くて単純なコードで解決することができます。通常、CSS の width や height は HTML 要素のコンテンツのサイズを指定します。つまり、border や padding の値は width や height には含まれません。例えば、width が 100px で、左右の padding が 20 px の HTML 要素を表示してみると、見た目上の幅は 140px となるわけです。これは CSS を書いてると結構気持ち悪く感じることがあると思います(他の要素との組み合わせを考える時にめんどくさかったり)。上記の問題(?)はCSS で、box-sizing: border-box; を指定することにより解決することができます。つまり、width や height の値を padding や border も含んだものとして指定できるようになります。先の例の width が 100px で、左右の padding が 20px の HTML 要素を考えると、見た目の幅が 100px となり、要素内のコンテンツの幅が 60px になります。しかし、box-sizing を border-box にすると、jQuery UI の Resizable の挙動が気持ち悪くなります。具体的には、HTML 要素のサイズを変更するためにドラッグを開始すると、padding や border の値だけ大きさがずれます。このせいで、ドラッグ中のマウスポインタの座標と、HTML 要素の端が一致しないのですごく気持ち悪いです。Resizable の border-box 問題に関しては、jQuery 側ではまだ対応されていないみたいなので、自分で対応してみました。以下がそのコードです。jQuery UI のコードを読み解くのは嫌だったので、普通な感じの解法です。$el が border-box と resizable の両方を適用している HTML 要素の jQuery オブジェクトです。$el.on('resize', function (ev, ui) { // box-sizing +
11年前
記事のアイキャッチ画像
Objective-C でコールバックを持つメソッドを実装する方法について
Katashin .info
非同期に結果が返ってくる処理を書く場合、Objective-C では @Protocol を定義して、デリゲートメソッド内で結果をもらうのが良いのかもしれませんが、JavaScript を書いてるとコールバックで結果を取得したいと考えてしまいます。この記事では、Objective-C でコールバック付きのメソッドを作る方法を解説します。(コールバックって呼んでいいのかわかりませんが)
11年前
\ No newline at end of file diff --git a/blogs/f2fd680dde661c47338b79e8eaf9b5af/index.html b/blogs/f2fd680dde661c47338b79e8eaf9b5af/index.html new file mode 100644 index 000000000000..a4b0df83694d --- /dev/null +++ b/blogs/f2fd680dde661c47338b79e8eaf9b5af/index.html @@ -0,0 +1,189 @@ +blog.jxck.ioのフィード|JSer.info Watch List RSS

blog.jxck.io

https://blog.jxck.io/

Web Technology Blog by Jxck

フィード

記事のアイキャッチ画像
"Less Password" 時代のアカウント防災訓練
はてなブックマークアイコン 173
blog.jxck.io
+震災の直後、復興のさなかに水害が起こり、再び全てが流される。能登の人々にとっては大変な 2024 年だったと思う。首都直下型や南海トラフはいつ起こってもおかしくないと言われ、戦火すら他人事ではなくなっている。家に災害用の備蓄を用意するのと同様、定期的に「アカウント防災訓練」を個人的に実施するようになって数年経つ。観点は「今、持っているものを全て失っても、リカバリできるだろうか?」だ。現代のアカウントの管理は、"Password Less" を目指す過渡期で、中途半端に複雑だ。Password は無くなっているというより、集約された "Less Password" 状態であり、残る「最後の Password」を起点にどう全体を復元するかが、災害時リカバリの課題となる。これに失敗して全てが詰むと、仮に無事避難できたとしても、相当な喪失を味わうだろう。現状の選択肢と設計方針を振り返りつつ、災害時にデジタルアカウントをどう守るかについて考えたい。
12日前
記事のアイキャッチ画像
Web 技術年末試験 2024 講評 #web_exam2024
blog.jxck.io
2024 年の Web 技術を振り返る試験として、「Web 技術年末試験 2024」を実施した。その問題と想定解答、平均点などを公開する。
17日前
記事のアイキャッチ画像
Cookie Theft 対策と Device Bound Session Credentials
blog.jxck.io
Chrome チームより提案された Device Bound Session Credentials の実装が進み、Flag 付きで試すことができる。この提案の背景と、解決する問題、現時点での挙動について解説する。
23日前
記事のアイキャッチ画像
2024 年を振り返る
blog.jxck.io
例年通り 2024 年を振り返る。
1ヶ月前
記事のアイキャッチ画像
3PCA 30 日目: 2024 年の 3rd Party Cookie まとめ
blog.jxck.io +
このエントリは、2023 年の 3rd Party Cookie Advent Calendar の 30 日目である。3rd Party Cookie のカレンダー | Advent Calendar 2023 - Qiitahttps://qiita.com/advent-calendar/2023/3rd-party-cookieこのアドベントカレンダーを開始した 2023 年末の時点では、2024 年(つまり今年)の年始に Chrome による 1% Deprecate が始まり、2024 年をかけてその範囲を広げ、今頃は Post 3rd Party Cookie の世界が訪れている見通しだった。しかし、その予定は大きく変更され、これからどうなるのかも不透明だ。つまり、この話は 2025 年も継続することになってしまったため、2024 年の現状を一旦まとめておくこととする。
2ヶ月前
記事のアイキャッチ画像
Dialog と Popover #12
blog.jxck.io
Toast 相当を実装する場合、時間が経ったら自動で消えるタイムアウトを設定することがないだろうか?今回 Popover の一連を調べる中であった、これが WCAG 違反だという議論を紹介する。
3ヶ月前
記事のアイキャッチ画像
Dialog と Popover #11
blog.jxck.io
今回考えたいのは、GitHub の Issue や User アイコンをマウスでホバーすると、Issue の詳細や User Profile が表示されるアレだ。挙動としては想像通り、対象要素に Anchoring した <div popover> を表示し、中に好きなようにコンテンツを入れれば良い。ただし、UI のセマンティクスに関しては、複数の議論が行われており、方針もいくつか考えられる。今回は、それらの現状を整理しつつ、考えうる選択肢をいくつか提示する。その中で要件に合わせて何を選ぶかは実装者に委ねたい。
3ヶ月前
記事のアイキャッチ画像
Dialog と Popover #10
blog.jxck.io
ここまで解説した仕様を踏まえ、いくつかの代表的なユースケースの実装について考えていく。あくまで仕様の組み合わせ方についての解説であり、実装そのものの推奨ではない。また、ここで紹介する仕様はまだ変更の可能性があり、かつ実装も揃っていないものがある点に注意
4ヶ月前
記事のアイキャッチ画像
Dialog と Popover #9
blog.jxck.io
ここまで解説した仕様を踏まえ、いくつかの代表的なユースケースの実装について考えていく。あくまで仕様の組み合わせ方についての解説であり、実装そのものの推奨ではない。また、ここで紹介する仕様はまだ変更の可能性があり、かつ実装も揃っていないものがある点に注意
4ヶ月前
記事のアイキャッチ画像
Dialog と Popover #8
blog.jxck.io
+ここまで解説した仕様を踏まえ、いくつかの代表的なユースケースの実装について考えていく。あくまで仕様の組み合わせ方についての解説であり、実装そのものの推奨ではない。また、ここで紹介する仕様はまだ変更の可能性があり、かつ実装も揃っていないものがある点に注意
4ヶ月前
記事のアイキャッチ画像
Dialog と Popover #7
blog.jxck.io
ここまで解説した仕様を踏まえ、いくつかの代表的なユースケースの実装について考えていく。あくまで仕様の組み合わせ方についての解説であり、実装そのものの推奨ではない。また、ここで紹介する仕様はまだ変更の可能性があり、かつ実装も揃っていないものがある点に注意
4ヶ月前
記事のアイキャッチ画像
Dialog と Popover #6
blog.jxck.io
ついに <toast> -> <popup> -> popup -> popover として、要素から属性になり名前も決まった。とはいえ実装は popup とそんなに変わらないので、popup でやっていた Origin Trials を継続しながら、徐々に実装を進めていくフェーズが 2022/12 くらいの話だ。Intent to extend Origin Trial: Popover APIhttps://groups.google.com/a/chromium.org/g/blink-dev/c/kZXexHhH7EA/m/UmQYwGW3DAAJしかし、popover を実用するには足りていない議論があった。それが Animation だ。
4ヶ月前
記事のアイキャッチ画像
Dialog と Popover #5
blog.jxck.io
このあたりから、まだ議論中の話が多いため、今後変わる可能性が高い点に注意。popup が紆余曲折を経て popover 属性になり、2023/3 に Safari が TP166 で実装した。そのまま Safari 17 に入ることを 2023/6 の WWDC で発表したあたりから、popover の実装は各ブラウザで一気に話が進む。Release Notes for Safari Technology Preview 166https://webkit.org/blog/13964/release-notes-for-safari-technology-preview-166/News from WWDC23: WebKit Features in Safari 17 betahttps://webkit.org/blog/14205/news-from-wwdc23-webkit-features-in-safari-17-beta/そして、2024/4 ごろに発表された Baseline 2024 に popover がエントリしたことで、2024 年は全ブラウザで互換性を高めていくことに合意し、作業を進めていくことになる。俗に言う「元年」というやつと言えるだろう。Popover API lands in Baselinehttps://web.dev/blog/popover-api今回は、この popover の議論と、仕様が完成していくまでをまとめる。
4ヶ月前
記事のアイキャッチ画像
Dialog と Popover #4
blog.jxck.io
ここまでで <dialog> 要素が標準化され、Modal/non-Modal な Dialog がネイティブで出せるようになった。今まで自前で実装していた z-index の指定や、フォーカスの管理、非活性化、キーボードでの処理、スタイルなども、細かい仕様がほぼ標準によってカバーされた。Top Layerinert:modal / ::backdropCloseWatcherFocusable Scrollersetcしかし、<dialog> はあくまで「ユーザのインタラクションを求める」という用途で使うものであり、role=dialog ではない、例えばちょっとしたメッセージの通知などに使うものではない。そこで、これらの資産を活用し、より汎用的な UI を標準化しようという話が、<dialog> の標準化の裏で並行して行われた。
4ヶ月前
記事のアイキャッチ画像
Dialog と Popover #3
blog.jxck.io
前回までは <dialog> が標準化されるまでの経緯と、API の概要や関連仕様を解説した。今回は <dialog> の API としての使い方について、具体的に解説していく。
4ヶ月前
記事のアイキャッチ画像
Dialog と Popover #2
blog.jxck.io
showModalDialog() は今から考えれば、確かにひどい API だった。しかし、何か Modal を開き、ユーザにインタラクションをさせ、閉じたらそこで入力された値や選択された結果を取得し、処理を進めたいユースケース自体は、規約への同意取得や、Cookie バナー、ログインなど多々ある。そういった場面では、ライブラリなどを用いて実装する必要があったが、Modal を実装するのは実際にはそんなに簡単ではなかった。
4ヶ月前
記事のアイキャッチ画像
Dialog と Popover #1
blog.jxck.io
HTML の <dialog> 要素と、popover 属性、および関連する様々な仕様が標準化され、実装が進められている。Open UI を中心に進められているこれらの改善は、多くのサイトで共通したユースケースがありながら、長らくミッシングピースとなっていた重要な機能だ。もし今、同等のユースケースを自前で実装しているのであれば、適切な仕様を用いた実装に刷新することで、従来はほぼ不可能だった UX を提供できるようになる。今回から、数回の連載形式で、これらの仕様がどのように標準化され、我々開発者はこれをどのように使っていくべきなのかについて解説する。
4ヶ月前
記事のアイキャッチ画像
Web Developer Conference 2024 開催後記 #wdc2024
blog.jxck.io
+2024/9/7 に、Web Developer Conference を開催した。Web Developer Conference 2024 開催告知 #wdc2024 | blog.jxck.iohttps://blog.jxck.io/entries/2024-06-12/web-dev-conf-2024.htmlConnpasshttps://web-study.connpass.com/event/321711/Togetterhttps://togetter.com/li/2430964
5ヶ月前
記事のアイキャッチ画像
3PCA 29 日目: Privacy Sandbox の方針転換は何を意味するか
blog.jxck.io
+このエントリは、3rd Party Cookie Advent Calendar の 29 日目である。3rd Party Cookie のカレンダー | Advent Calendar 2023 - Qiitahttps://qiita.com/advent-calendar/2023/3rd-party-cookie先日、Google より Privacy Sandbox の方針転換について発表があった。本当は、まだ記事を書くには情報が足りていないため、あまり書く気はなかったが、今後出てくる発表に備えて経緯をまとめるために、「何がまだ分かっていないか」の現状を書いておくことにする。
6ヶ月前
記事のアイキャッチ画像
なぜブラウザエンジンは 1 つではダメなのか? または Ladybird への期待
blog.jxck.io
+Ladybird は、他のブラウザエンジンをフォークせず、企業との取引に頼らず、寄付だけで作ることを宣言した新しいブラウザエンジンだ。Ladybirdhttps://ladybird.org/これがいかに価値のある取り組みなのか、Web を漫然と眺めてきた筆者による N=1 の妄言を書いてみる。
7ヶ月前
記事のアイキャッチ画像
「1 分 de Web 標準」のやり方 at Web Developer Conference 2024 #wdc2024
blog.jxck.io
+9/7 開催予定の Web Developer Conference 2024 では、「1 分 de Web 標準」という LT 大会を予定しています。CFP も募集中ですが、(筆者の周り以外では)聞き馴染みのないやり方だと思うので、この LT のやり方を解説します。プロポーザル | Web Developer Conference 2024 - fortee.jphttps://fortee.jp/web-dev-conf-2024/proposal/all
7ヶ月前
記事のアイキャッチ画像
URL.parse を Chromium で Ship するまで
blog.jxck.io
Chrome 126 で筆者が実装した URL.parse が Ship された。Chromium にコントリビュートしたことは何回かあったが、単体機能を Ship したのは初めてだった。
8ヶ月前
記事のアイキャッチ画像
Web Developer Conference 2024 開催告知 #wdc2024
blog.jxck.io
夏に Web 開発周りの話をするカンファレンスをやります。参加は Connpass で募集しています。Web Developer Conference 2024 - connpasshttps://web-study.connpass.com/event/321711/Session と LT の募集を fortee で今日から開始したので応募を待ってます。Web Developer Conference 2024 - fortee.jphttps://fortee.jp/web-dev-conf-2024
8ヶ月前
記事のアイキャッチ画像
Reverse HTTP Transport が描く新しい Web サービスデプロイ構成
blog.jxck.io
IETF の httpbis で、Reverse HTTP Transport という仕様が提案されている。Reverse HTTP Transporthttps://www.ietf.org/archive/id/draft-bt-httpbis-reverse-http-01.htmlこの仕様は、Origin サーバの前に何かしら Intermediaries (Loadbalancer, Reverse Proxy, CDN etc)があるのが一般的な現代の Web サービス構成において、非常に革新的なアイデアを取り入れたプロトコルと言える。まだ v01 という初期段階ではあるが、発想が非常に面白かったので、読書メモを残す。
9ヶ月前
Referrer-Policy の制限を強めると安全になるという誤解
blog.jxck.io
Referrer-Policy は、送信される Referer の値を制御することが可能だ。このヘッダの副次的な効果をよく理解していないと、「no-referrer にして送らないのが最も安全だ」という誤解を生むことになる。では、複数あるポリシーの中でどのような観点で、どのディレクティブを採用するのが良いのだろうか?前提として前回の記事の「リクエストの出自をチェックすることは現代の実装のベースプラクティスである」という点を踏まえて考えてみる。令和時代の API 実装のベースプラクティスと CSRF 対策 | blog.jxck.iohttps://blog.jxck.io/entries/2024-04-26/csrf.html
9ヶ月前
記事のアイキャッチ画像
令和時代の API 実装のベースプラクティスと CSRF 対策
blog.jxck.io
CSRF という古の攻撃がある。この攻撃を「古(いにしえ)」のものにすることができたプラットフォームの進化の背景を、「Cookie が SameSite Lax by Default になったからだ」という解説を見ることがある。確かに、現実的にそれによって攻撃の成立は難しくなり、救われているサービスもある。しかし、それはプラットフォームが用意した対策の本質から言うと、解釈が少しずれていると言えるだろう。今回は、「CSRF がどうして成立していたのか」を振り返ることで、本当にプラットフォームに足りていなかったものと、それを補っていった経緯、本当にすべき対策は何であるかを解説していく。結果として見えてくるのは、今サービスを実装する上での「ベース」(not ベスト)となるプラクティスだと筆者は考えている。
9ヶ月前
記事のアイキャッチ画像
RFC の URL はどのドメインで貼るのが良いか
blog.jxck.io
IETF の RFC は、いくつかの場所で同じものが公開されている。どの URL が最適なのか、という話。結論は www.rfc-editor.org だ。
10ヶ月前
記事のアイキャッチ画像
Chromium にコントリビュートするための周辺知識
blog.jxck.io
+Chromium にコントリビュートするためには、ソースコードを理解する以外にも、もろもろ必要な周辺知識がある。ドキュメントはかなり整備されている方ではあるが、そのドキュメントにたどり着くのが難しい場合もある。レビュアーなどが親切に教えてくれるものをローカルにメモしているが、それも散らばってきたため、ここにまとめることにする。まずは初期状態で公開するが、どんどん更新していき、長くなっても分割しないで追記を繰り返そうと考えている。
10ヶ月前
記事のアイキャッチ画像
mozaic.fm 10 周年記念イベント開催後記
blog.jxck.io
2014 年 3 月に開始した mozaic.fm が、気づいたら 10 周年を迎えた。これを機に、10 周年記念イベントとして、初のオフラインイベントをゲンロンカフェで開催した。Podcast でのみ告知し、当日まで情報制限をかけていたにもかかわらず、チケットもグッズも無事完売することができた。イベントを振り返りつつログを残す。
1年前
記事のアイキャッチ画像
Promise.withResolvers によるイベントの Promise 化
blog.jxck.io
Promise.withResolvers() は、Stage 4 であり ES2024 の候補となった。すでにブラウザでの実装も進んでいるため、その活用方法を解説する。
1年前
記事のアイキャッチ画像
TC39 に新設された Stage 2.7 について
blog.jxck.io
TC39 の Stage 2 と Stage 3 の間に、新たに Stage 2.7 が追加された。これは何だろうと思った人が検索で辿り着けるよう、その経緯と目的をまとめる。
1年前
記事のアイキャッチ画像
Apple によるブラウザエンジン規制の緩和
blog.jxck.io
+以前から騒がれていた Apple によるサイドローディング周りの緩和について、正式な情報公開があった。Apple announces changes to iOS, Safari, and the App Store in the European Union - Applehttps://www.apple.com/newsroom/2024/01/apple-announces-changes-to-ios-safari-and-the-app-store-in-the-european-union/ストアやペイメントの緩和もあるが、ここでは WebKit に関する部分だけを抜粋し、どのような条件があるのかをまとめておく。筆者が公開情報を読んで解釈したものなので、内容は保証しない。
1年前
記事のアイキャッチ画像
Web 技術年末試験 2023 講評 #web_exam2023
blog.jxck.io
2023 年の Web 技術を振り返る試験として、「Web 技術年末試験 2023」を実施した。その問題と想定解答、平均点などを公開する。 +
1年前
記事のアイキャッチ画像
2023 年を振り返る
blog.jxck.io
例年通り 2023 年を振り返る。
1年前
記事のアイキャッチ画像
3PCA 最終日: 3rd Party Cookie 亡き後の Web はどうなるか?
blog.jxck.io
このエントリは、3rd Party Cookie Advent Calendar の最終日である。3rd Party Cookie のカレンダー | Advent Calendar 2023 - Qiitahttps://qiita.com/advent-calendar/2023/3rd-party-cookieここまで、3rd Party Cookie との 30 年にわたる戦いと、ITP 以降それが Deprecation されるに至った流れ、そして Privacy Sandbox の API について解説してきた。最終日は、ここまでを踏まえて、来年以降の Web がどうなっていくのかを考えていく。
1年前
記事のアイキャッチ画像
3PCA 27 日目: FedCM
blog.jxck.io
このエントリは、3rd Party Cookie Advent Calendar の 27 日目である。3rd Party Cookie のカレンダー | Advent Calendar 2023 - Qiitahttps://qiita.com/advent-calendar/2023/3rd-party-cookie今日は、散々壊れるユースケースとして解説してきた「認証連携」をカバーする FedCM について解説する。
1年前
記事のアイキャッチ画像
3PCA 26 日目: Related Website Sets
blog.jxck.io
+このエントリは、3rd Party Cookie Advent Calendar の 26 日目である。3rd Party Cookie のカレンダー | Advent Calendar 2023 - Qiitahttps://qiita.com/advent-calendar/2023/3rd-party-cookie今日からは、Privacy Sandbox の「広告」以外の API を解説していく。
1年前
記事のアイキャッチ画像
3PCA 25 日目: Measurement
blog.jxck.io
このエントリは、3rd Party Cookie Advent Calendar の 25 日目である。3rd Party Cookie のカレンダー | Advent Calendar 2023 - Qiitahttps://qiita.com/advent-calendar/2023/3rd-party-cookie今日は、広告の測定について解説する。
1年前
記事のアイキャッチ画像
3PCA 24 日目: Retargeting
blog.jxck.io
このエントリは、3rd Party Cookie Advent Calendar の 24 日目である。3rd Party Cookie のカレンダー | Advent Calendar 2023 - Qiitahttps://qiita.com/advent-calendar/2023/3rd-party-cookie今日はリターゲティングをカバーする Protected Audience API について解説する。
1年前
記事のアイキャッチ画像
3PCA 23 日目: Interest Based Advertising
blog.jxck.io
このエントリは、3rd Party Cookie Advent Calendar の 23 日目である。3rd Party Cookie のカレンダー | Advent Calendar 2023 - Qiitahttps://qiita.com/advent-calendar/2023/3rd-party-cookie今回からは、Privacy Sandbox の API を、ジャンルごとに分けて概要を解説していく。個々の API は非常に複雑であり、また今後も細かい点が変わっていくだろう。どうせガッツリ使うのであれば、仕様を読む必要があるため、ここでは「何がしたいのか」「何ができるのか」に絞って解説する。
1年前
記事のアイキャッチ画像
3PCA 22 日目: Privacy Sandbox
blog.jxck.io
このエントリは、3rd Party Cookie Advent Calendar の 22 日目である。3rd Party Cookie のカレンダー | Advent Calendar 2023 - Qiitahttps://qiita.com/advent-calendar/2023/3rd-party-cookie今日からいよいよ Privacy Sandbox の話に入っていく。
1年前
記事のアイキャッチ画像
「議論だけ」のカンファレンスの作り方
+blog.jxck.io
「議論だけ」のカンファレンスを、長いこと開催してきた。個人的には好きなので、他にもあったらいいと思っているが、そういうカンファレンスは他に見ない。カンファレンス自体を、筆者のような個人が手弁当でやれるのは、もう最後かもしれないと今回ひしひしと感じたので、これまでどうやってきたのかを残しておくことにする。
1年前
記事のアイキャッチ画像
次世代 Web カンファレンス 2023 開催後記
blog.jxck.io
+2023/12/16(土) に、以下で告知した「次世代 Web カンファレンス」を開催した。次世代 Web カンファレンス 2023 開催告知 | blog.jxck.iohttps://blog.jxck.io/entries/2023-11-16/next-web-conf-2023.html次世代 Web カンファレンス 2023 - connpasshttps://nextwebconf.connpass.com/event/300174/
1年前
記事のアイキャッチ画像
3PCA 21 日目: SameSite Cookie
blog.jxck.io
+このエントリは、3rd Party Cookie Advent Calendar の 21 日目である。3rd Party Cookie のカレンダー | Advent Calendar 2023 - Qiitahttps://qiita.com/advent-calendar/2023/3rd-party-cookieGoogle が 3rd Party Cookie を Deprecate していく方針を発表してから、最初に始めたのが SameSite Lax by Default だった。これが何のために行われたのかを解説する。
1年前
記事のアイキャッチ画像
3PCA 20 日目: 3rd Party Cookie Deprecation
blog.jxck.io
+このエントリは、3rd Party Cookie Advent Calendar の 20 日目である。3rd Party Cookie のカレンダー | Advent Calendar 2023 - Qiitahttps://qiita.com/advent-calendar/2023/3rd-party-cookieここまで ITP について見てきたが、これはあくまで Safari が独断で行っていたことだ。それに対して、他が追従するかどうかはブラウザ次第だっただろう。では、他のブラウザはどのような反応をしたか。この反応には、その時の情勢も鑑みる必要がある。
1年前
記事のアイキャッチ画像
3PCA 19 日目: Super Cookie
blog.jxck.io
+このエントリは、3rd Party Cookie Advent Calendar の 19 日目である。3rd Party Cookie のカレンダー | Advent Calendar 2023 - Qiitahttps://qiita.com/advent-calendar/2023/3rd-party-cookie今日は Super Cookie の解説をする。迂回手段ゾーンとしては、最後に紹介する手法だ。
1年前
記事のアイキャッチ画像
3PCA 18 日目: Cloaking
blog.jxck.io
このエントリは、3rd Party Cookie Advent Calendar の 18 日目である。3rd Party Cookie のカレンダー | Advent Calendar 2023 - Qiitahttps://qiita.com/advent-calendar/2023/3rd-party-cookie今日は、ITP の迂回で注目された Cloaking について解説する。
1年前
記事のアイキャッチ画像
3PCA 17 日目: Fingerprinting
blog.jxck.io
このエントリは、3rd Party Cookie Advent Calendar の 17 日目である。3rd Party Cookie のカレンダー | Advent Calendar 2023 - Qiitahttps://qiita.com/advent-calendar/2023/3rd-party-cookie今日は、Cookie に頼らない Tracking 手段としての、Fingerprinting について解説する。
1年前
記事のアイキャッチ画像
3PCA 16 日目: Bounce Tracking
blog.jxck.io
このエントリは、3rd Party Cookie Advent Calendar の 16 日目である。3rd Party Cookie のカレンダー | Advent Calendar 2023 - Qiitahttps://qiita.com/advent-calendar/2023/3rd-party-cookie今日は 3rd Party Cookie の迂回としてトラッキングに用いられた、Bounce Tracking について解説する。
1年前
記事のアイキャッチ画像
3PCA 15 日目: Work Around
blog.jxck.io
このエントリは、3rd Party Cookie Advent Calendar の 15 日目である。3rd Party Cookie のカレンダー | Advent Calendar 2023 - Qiitahttps://qiita.com/advent-calendar/2023/3rd-party-cookie今回は ITP が始まったことで試行された、迂回方法について見ていく。
1年前
記事のアイキャッチ画像
3PCA 14 日目: Partitioning
blog.jxck.io
このエントリは、3rd Party Cookie Advent Calendar の 14 日目である。3rd Party Cookie のカレンダー | Advent Calendar 2023 - Qiitahttps://qiita.com/advent-calendar/2023/3rd-party-cookie今日は Safari, Firefox で導入され、その後 Chrome によって標準化されつつある、Partitioning という概念を解説する。
1年前
記事のアイキャッチ画像
3PCA 13 日目: ITP
blog.jxck.io
このエントリは、3rd Party Cookie Advent Calendar の 13 日目である。3rd Party Cookie のカレンダー | Advent Calendar 2023 - Qiitahttps://qiita.com/advent-calendar/2023/3rd-party-cookie
1年前
記事のアイキャッチ画像
3PCA 12 日目: 終わりの始まり
blog.jxck.io
このエントリは、3rd Party Cookie Advent Calendar の 12 日目である。3rd Party Cookie のカレンダー | Advent Calendar 2023 - Qiitahttps://qiita.com/advent-calendar/2023/3rd-party-cookie
1年前
3PCA 11 日目: Cookie Banner
blog.jxck.io
このエントリは、3rd Party Cookie Advent Calendar の 11 日目である。3rd Party Cookie のカレンダー | Advent Calendar 2023 - Qiitahttps://qiita.com/advent-calendar/2023/3rd-party-cookie前回は、各国で法律が整備されていった流れや、主な法律の特徴を解説した。しかし、法律はあくまで法律であり仕様ではないため、「どう実装するべきか」は各サービスに委ねられている(ガイドラインなどはあるが)。多くの場合、これを Web の実装に落とし込むと、いわゆる「Cookie バナー」相当になるわけだ。今回は、実世界でどのようなバナーが提供されているのかを見ていく。
1年前
記事のアイキャッチ画像
3PCA 10 日目: なぜ Cookie には同意が必要なのか?
blog.jxck.io
このエントリは、3rd Party Cookie Advent Calendar の 10 日目である。3rd Party Cookie のカレンダー | Advent Calendar 2023 - Qiitahttps://qiita.com/advent-calendar/2023/3rd-party-cookie今回は、この話をする上で避けては通れない、規制や法律について触れておく。しかし、筆者はあくまでエンジニアであり、この分野は専門外だ。内容については、素人が適当に書いており、信頼性は AI 以下だと思って読んでほしい。
1年前
記事のアイキャッチ画像
3PCA 9 日目: DNT
+blog.jxck.io
このエントリは、3rd Party Cookie Advent Calendar の 9 日目である。3rd Party Cookie のカレンダー | Advent Calendar 2023 - Qiitahttps://qiita.com/advent-calendar/2023/3rd-party-cookie今回は、P3P の後に提案され、非常に似たコンセプトで、かつ最近まで使われていた DNT について解説する。
1年前
記事のアイキャッチ画像
3PCA 8 日目: P3P
blog.jxck.io
+このエントリは、3rd Party Cookie Advent Calendar の 8 日目である。3rd Party Cookie のカレンダー | Advent Calendar 2023 - Qiitahttps://qiita.com/advent-calendar/2023/3rd-party-cookie今回は、Cookie2 が失敗した後に、別のアプローチでこの課題に挑んだ P3P を解説する。
1年前
記事のアイキャッチ画像
3PCA 7 日目: Cookie2
blog.jxck.io
+このエントリは、3rd Party Cookie Advent Calendar の 7 日目である。3rd Party Cookie のカレンダー | Advent Calendar 2023 - Qiitahttps://qiita.com/advent-calendar/2023/3rd-party-cookieここからは第二幕、人類と 3rd Party Cookie の闘いの歴史を見ていく。「歴史の話はいらない、早くコードを見せろ」と思っている読者の気持ちもわかるが、残念ながら背景がわかっていないとまともな闘いはできないだろう。
1年前
記事のアイキャッチ画像
3PCA 6 日目: トラッキングの問題
blog.jxck.io
+このエントリは、3rd Party Cookie Advent Calendar の 6 日目である。3rd Party Cookie のカレンダー | Advent Calendar 2023 - Qiitahttps://qiita.com/advent-calendar/2023/3rd-party-cookie前回は、3rd Party Cookie にはネガティブ/ポジティブを含め、さまざまなユースケースがあるという解説をした。では、なぜ 3rd Party Cookie は今「問題」になっているのだろうか?
1年前
記事のアイキャッチ画像
3PCA 5 日目: 認証の連携
blog.jxck.io
+このエントリは、3rd Party Cookie Advent Calendar の 5 日目である。3rd Party Cookie のカレンダー | Advent Calendar 2023 - Qiitahttps://qiita.com/advent-calendar/2023/3rd-party-cookie前回は、3rd Party Cookie を使った広告のリターゲティングの仕組みを解説した。「あの気持ち悪い広告の正体は 3rd Party Cookie だったのか」と思った人もいるかもしれない。そんな諸悪の根源である 3rd Party Cookie など「さっさと無効にしてしまえばいいのでは?」と思うかもしれないが、それは簡単なことではない。なぜなら、3rd Party Cookie のユースケースは、ネガティブなものだけではないからだ。その一例として、今回は認証連携のユースケースを解説する。
1年前
記事のアイキャッチ画像
3PCA 4 日目: 3rd Party Cookie の正体
blog.jxck.io
このエントリは、3rd Party Cookie Advent Calendar の 4 日目である。3rd Party Cookie のカレンダー | Advent Calendar 2023 - Qiitahttps://qiita.com/advent-calendar/2023/3rd-party-cookie前回は「サブリソースにまで Cookie が送られて何が嬉しいのか」という話だった。今回はそのユースケースについて考えていく。
1年前
記事のアイキャッチ画像
3PCA 3 日目: 自動で送られる Cookie
blog.jxck.io
+このエントリは、3rd Party Cookie Advent Calendar の 3 日目である。3rd Party Cookie のカレンダー | Advent Calendar 2023 - Qiitahttps://qiita.com/advent-calendar/2023/3rd-party-cookie前回は「Cookie は 区別 と 識別 の用途があり、区別 だけのユースケースもある」という解説をした。今回も、もう少し Cookie の性質を振り返っていく。
1年前
記事のアイキャッチ画像
3PCA 2 日目: Cookie による区別と識別
blog.jxck.io
このエントリは、3rd Party Cookie Advent Calendar の 2 日目である。3rd Party Cookie のカレンダー | Advent Calendar 2023 - Qiitahttps://qiita.com/advent-calendar/2023/3rd-party-cookie
1年前
記事のアイキャッチ画像
3PCA 1 日目: 3rd Party Cookie Advent Calendar Agenda
blog.jxck.io
このエントリは、3rd Party Cookie Advent Calendar の 1 日目である。3rd Party Cookie のカレンダー | Advent Calendar 2023 - Qiitahttps://qiita.com/advent-calendar/2023/3rd-party-cookie
1年前
記事のアイキャッチ画像
なぜ HTML の form は PUT / DELETE をサポートしないのか?
blog.jxck.io
10 年ほど前に同じことを調べたことがある。なぜ html の form は PUT / DELETE をサポートしないのか? - Block Rockin' Codeshttps://jxck.hatenablog.com/entry/why-form-dosent-support-put-delete当時は全くの素人で、素人なりに調査はしたが、ほとんどが推測の域を出ない結論だった。この問題についてあらためて記す。
1年前
記事のアイキャッチ画像
次世代 Web カンファレンス 2023 開催告知
blog.jxck.io
2023/12/16(土) に、3 回目となる「次世代 Web カンファレンス」を開催します。次世代 Web カンファレンス 2023 - connpass名称: 次世代 Web カンファレンス 2023日時: 2023/12/16(土) 11:00-20:00場所: サイボウズ参加費: 無料配信: なしアーカイブ: 未定懇親会: なし入場規制: ありハッシュタグ(全体): #nwc_all
1年前
記事のアイキャッチ画像
ブラウザでリロードしながらキャッシュの挙動を確認してる全ての開発者へ
blog.jxck.io
+こういうタイトルを付けるのはあまり好きではないが、あえてこのようにした。
1年前
記事のアイキャッチ画像
Cookie2 とは何か
blog.jxck.io
タイトルを見て「Cookie の新しい仕様か、キャッチアップしよう」と思って開いたのなら、以降を読む必要はない。
1年前
記事のアイキャッチ画像
Compression Dictionary Transport (Shared Brotli) によるコンテンツ圧縮の最適化
blog.jxck.io
Chrome で Compression Dictionary Transport の Experiment が行われている。Intent to Experiment: Compression dictionary transport with Shared Brotlihttps://groups.google.com/a/chromium.org/g/blink-dev/c/NgH-BeYO72Eこの提案の仕様および本サイトへの適用について解説する。
2年前
記事のアイキャッチ画像
+Cookie Store API による document.cookie の改善
blog.jxck.io
JS から Cookie を操作する document.cookie の改善を目的とした Cookie Store API についてまとめる。
2年前
記事のアイキャッチ画像
AbortSignal.any(), AbortSignal.timeout(), そして addEventListener() の Signal
blog.jxck.io
+最近 AbortSignal.any() が提案され、急速に実装が進んでいる。すでに定義されている AbortSignal.timeout() や addEventListener() への Signal なども含め、非同期処理の中断を実装する際の API はかなり整備されてきた。これら API のモチベーションと設計を中心にまとめる。
2年前
記事のアイキャッチ画像
URL バーの表示の変遷
blog.jxck.io
ついに URL バーから EV 証明書の組織表示が消されるアナウンスが、Chrome から発表された。思えば、URL バーの見た目も、だいぶ変わってきたように思う。URL バーの表示の変遷を一度まとめておく。
2年前
記事のアイキャッチ画像
IETF RFC における ABNF と Parsing Algorithm の関係
blog.jxck.io
HTTPBis では、RFC 8941: Structured Field Values (以下 SFV) の更新作業が行われている。RFC 8941: Structured Field Values for HTTPhttps://www.rfc-editor.org/rfc/rfc8941.html機能面では Date 型が追加されるという点が大きいが、個人的にはその裏で行われるもっと興味深い議論に注目したい。それは、「RFC における ABNF の立ち位置」に関するものだ。
2年前
技術書籍をシンタックスハイライトする話
blog.jxck.io
「連載するけど、代わりにコードはハイライトさせてほしい」それが Web+DB Press 編集長に俺が出した条件だった。
2年前
記事のアイキャッチ画像
OpenAI API を用いた文書校正(誤字脱字検出)
blog.jxck.io
+OpenAI の API を用いて、長年の課題だった文書校正を VSCode 上で実現するプラグインを修作したところ、思った以上の成果だった。
2年前
記事のアイキャッチ画像
誇りを被った仕様の針に意図を通す
blog.jxck.io
Interop 2022 の目覚ましい成果の一つとして :has() の存在がある。これまでの CSS の限界を突破する、革新的な仕様であり、多くの開発者が期待を寄せる機能の一つだろう。こうした仕様策定の裏には、必ずと言って良いほど互換性の問題がつきまとい、時にそれはそこまでの作業の蓄積を無に帰すレベルで影響を与える場合がある。一方それらは Web 開発者が使う時点では解決されており、基本的に気にされることはない。だからといって、気にする必要がないわけではない。ということを象徴する事件が、今回も裏で起こっていた。
2年前 +
記事のアイキャッチ画像
次世代 CSS 仕様が与えるコンポーネント時代の Web への影響
blog.jxck.io
+SPA の隆盛で進化したフロントエンドライブラリによって生み出された「コンポーネント」という資産は、それを View 層の最小単位として扱うエコシステムにその重心をずらした。近年の Web 開発は、虫食いのテンプレートエンジンにデータをはめ込む方式から、デザインシステムにカタログされたコンポーネント群に、API から取得したステートを流し込み、それらを「いつ、どこで、どう」レンダリングするかという課題への最適解を、各位が模索するフェーズとなっている。コンポーネントを敷き詰めるコンテナ側の設計は、Flexbox および Grid の登場によるレイアウトの進化が手助けしたところも多いにある。しかし、「ページ」を前提に設計された CSS は、「コンポーネント」を前提にした設計に移行するうえで、ミッシングピースが多かった。現在、提案/実装が進んでいる CSS の新機能群には、この「コンポーネントベースの Web 開発」に大いに影響を与えるポテンシャルを持つものが多い。今回は、2023 年の予習として、それらの仕様を「開発スタイルに与えうる影響」の側面から俯瞰し妄想したものをメモに残す。
2年前
記事のアイキャッチ画像
2022 年を振り返る
blog.jxck.io
例年通り 2022 年を振り返る。
2年前
記事のアイキャッチ画像
CORB から ORB へ
blog.jxck.io
CORB (Cross Origin Read Blocking) が Fetch の仕様から消え、後継の ORB (Opaque Response Blocking) が策定作業中である。ここでどのような変更が起こっているのかを調査し、記録する。
2年前
記事のアイキャッチ画像
XMLHttpRequest とはなんだったのか
blog.jxck.io
Fetch API の実装が広まり、IE もリタイアを迎えたことで、今後忘れ去られていくことになるだろう XMLHttpRequest について。どのように始まり、どのように広まり、どのように使われなくなっていくのか。その間に残した多大な功績を残す。
2年前
記事のアイキャッチ画像
+HPKE とは何か
blog.jxck.io
HPKE (Hybrid Public Key Encryption) が RFC 9180 として公開された。RFC 9180: Hybrid Public Key Encryptionhttps://www.rfc-editor.org/rfc/rfc9180.htmlHPKE は、公開鍵暗号方式と共通鍵暗号方式を組み合わせて(ハイブリッド)任意の平文を暗号化するための、汎用的な枠組みとして標準化されている。この仕様は、多くのユースケースが想定されており、RFC になる前から ECH (Encrypted Client Hello), MLS (Message Layer Security), OHTTP (Oblivious HTTP) など、さまざまな仕様から採用を検討されている。本サイトで書く予定の他の記事でも HPKE は頻出する予定であり、今後より多くの場面でこの仕様を見ることになると思われるため、一度この仕様の概観について解説する。(筆者は暗号の専門家ではないため、解釈や語彙使用の間違いがあるかもしれない。)
2年前
記事のアイキャッチ画像
HTTP 関連 RFC が大量に出た話と 3 行まとめ
blog.jxck.io
2022/06/06 ~ 9 あたりに、長きに渡って策定作業が行われていた HTTP 関連の RFC が大量に公開された。RFC 9110: HTTP SemanticsRFC 9111: HTTP CachingRFC 9112: HTTP/1.1RFC 9113: HTTP/2RFC 9114: HTTP/3RFC 9163: Expect-CT Extension for HTTPRFC 9204: QPACK: Field Compression for HTTP/3RFC 9205: Building Protocols with HTTPRFC 9209: The Proxy-Status HTTP Response Header FieldRFC 9211: The Cache-Status HTTP Response Header FieldRFC 9213: Targeted HTTP Cache ControlRFC 9218: Extensible Prioritization Scheme for HTTPRFC 9220: Bootstrapping WebSockets with HTTP/3RFC 9230: Oblivious DNS over HTTPSいったい何が起こっているのか、それぞれの経緯と開発者が知っておいた方がいいこと、そうでもないことを解説する。
3年前
記事のアイキャッチ画像
JavaScript のメディアタイプと RFC 9239
blog.jxck.io
長いこと作業が行われていた JavaScript の MIME タイプについての作業が完了し、RFC 9239 として公開された。これにより、推奨される MIME タイプが text/javascript に統一されることになった。かつて推奨されていた application/javascript ではなくなった経緯などを踏まえ、解説する。
3年前
記事のアイキャッチ画像
Navigation API による「JS での画面遷移」と SPA の改善
blog.jxck.io
従来の History API を改善する Navigation API の仕様策定と実装が進んでいる。これは、History API の使いにくかった部分を補うだけではなく、「JS で画面遷移をする」という現状のミッシングピースに取り組み、SPA が抱える多くの問題だけでなく MPA すら改善する可能性がある。この API の目的と仕様を解説しつつ、実装のメモを残す。
3年前
記事のアイキャッチ画像
Markdown の Table 記法を CSS で実現する
blog.jxck.io
+本ブログは Markdown で原稿を書き、それを HTML に変換して表示している。このとき、CSS を用いて Markdown のシンタックスに似せた Style を適用している。例えば以下のように h2::before に content: '##' を指定するといった具合だ。しかし、これまで <table> だけはうまく Markdown 記法を再現する CSS が書けないでいた。そこで、周りの CSS 強者に実現できないか聞いてみたところ、@shqld, @araya, @yoshiko 達の協力を得て、かなりの完成度にすることができた。実現方法を記録する。
3年前
記事のアイキャッチ画像
サイトの HTTP3 化と DNS HTTPS RR および Alt-Svc Header によるアドバタイズ
blog.jxck.io
本サイトを HTTP3 対応し、Alt-Svc ヘッダおよび DNS HTTPS Resource Record によってそれをアドバタイズする構成を適用した。色々ハマったので作業のログを記す。
3年前
記事のアイキャッチ画像
画像最適化戦略 AVIF 編
blog.jxck.io
本サイトの PNG/JPEG で提供している画像については、よりサイズが小さくなりやすい AVIF 形式を提供し、対応ブラウザに配信するようにした。フォーマットを出し分けるため、画像の指定は <picture> 要素を用いて対応した。画像最適化シリーズ第 6 回目のエントリである。画像最適化戦略 PNG/JPEG 編画像最適化戦略 Picture 編画像最適化戦略 WebP 編画像最適化戦略 SVG/Font 編画像最適化戦略 Lazy Loading 編> 画像最適化戦略 AVIF 編
3年前
記事のアイキャッチ画像
2021 年をふりかえる
blog.jxck.io
例年通り 2021 年を振り返る。
3年前
記事のアイキャッチ画像
Web のセマンティクスにおける Push と Pull
blog.jxck.io +
筆者は、Web のセマンティクスに対する実装の方針として、大きく Push 型の実装 と Pull 型の実装 があると考えている。もっと言えば、それは実装方法という具体的な話よりも、開発者のセマンティクスに対する態度を表現することができる。この話は「Push よりも Pull が良い」などと簡単に切り分けられる話ではない。「自分は今 Push で実装しているのか、Pull で実装しているのか」この観点を意識するかしないかによって、セマンティクスに対する視野が広くなり、その応用として、たとえば今自分が行っている実装が、将来の Web においてどのような互換性の問題を生じるかなどを想像できるようになるだろう。最近問題になる Ossification を、こうした視点の欠如の結果とみることもできる。(本エントリでの Ossification は、一般に言われている Protocol Ossification よりも、もう少し広義に捉えていることに注意)抽象的な話が続くため、なるべく具体例を交えて解説を試みる。
3年前
記事のアイキャッチ画像
+自作 Markdown プロセッサベースの blog.jxck.io v2 リリース
blog.jxck.io
本サイトは自作の Markdown ビルダを使っていたが、色々と気に食わない部分があったのでフルスクラッチで作り直し、それにともなってサイトの刷新を実施した。必要だった要件や、意思決定を作業ログとして記す。
3年前
記事のアイキャッチ画像
ABNF Parser の実装
blog.jxck.io
IETF の RFC では ABNF 形式の表現がよく使われ、たまに実装することがある。しかし、実装するたびに前のコードを引っ張り出して思い出す、を繰り返しているので、自分用にメモとしてやり方をまとめる。完全に我流であり、目的は「その ABNF が正しいかを確認すること」なので、高速化や効率的を求める実用実装とは目的が違う点は先に言っておく。
3年前
記事のアイキャッチ画像
Private Relay と IP Blindness による Fingerprint 対策
blog.jxck.io
iOS15 がリリースされたため、Private Relay のベータを試すことができた。このようなサービスが提供されるようになった背景を踏まえ、挙動を簡単に確認しつつ、解説する。
3年前
mouseover 中に表示される DOM のデバッグ
blog.jxck.io
先日、後輩が「mouseover 中にしか表示されない DOM のデバッグ」に手こずっていたのを見て、たまには小ネタもということで、いくつかのテクニックを紹介する。実際には、発生しているイベントを制御するというテクニックなので、応用すると色々使えるだろう。
3年前
記事のアイキャッチ画像
Cross Origin iframe からの alert/confirm/prompt 呼び出しの無効化
blog.jxck.io
直近で話題になっている Chrome の挙動変更についてまとめた。Reverse OT による延命はあるが、もともとが「セキュリティ的な理由でできなくする」のが目的のため、OT 期間中に修正が必要そうであることを先に述べておく。なお、これはあくまで筆者が調べた結果に基づいた見解であるため、該当する開発者は常に公式のアナウンスなどに注意し、最新の情報を踏まえて自身で判断すべきである。
4年前
記事のアイキャッチ画像
本サイトの AMP 提供の停止とここまでの振り返り
blog.jxck.io
+前回の記事で、奇遇にも本サイトの AMP 対応を落とすことになった。しかし、そうでなくても AMP をどこかでやめることは考えていたため、きっかけの一つが SXG 対応になったのは、順当な流れだと筆者は感じている。これは AMP がなぜ始まり、なぜトーンダウンしつつあるのか、そしてこれからどうなっていくのか、という流れをまとめるいい機会でもある。その過程で生み出され、本サイトでも検証を続けてきた Performance Timing API, Core Web Vitals, Signed HTTP Exchange 、そして今構想されている Bento AMP などを踏まえ、一連の流れを覚えている範囲で記録としてまとめておく。ソースは筆者の主観であり、眺めてきた体感を mozaic.fm の Monthly Web などで話してきたものがベースなので、信頼性や正確性は期待しないで欲しい。
4年前
記事のアイキャッチ画像
Non AMP SXG による Prefetch 対応と AMP 提供の停止
blog.jxck.io
+本サイトを (Non AMP) SXG に対応した。これにより、Google のモバイル検索では、結果を表示した時点でこのサイトの SXG が Prefetch され、結果を選択したら Cache から素早く表示されつつ、アドレスバーにも本サイトのものとして表示される。この、Non AMP SXG 対応にあたって、本サイトの AMP の提供も停止することになった。移行の作業ログと、関連する流れについて記す。
4年前
記事のアイキャッチ画像
IE11 サポート終了の歴史
blog.jxck.io
+IE11 が役目を終えていく流れを記録として残す。特に MS からのアナウンスや、それに準じた各サービスの反応、特に IE サポート終了アナウンスをまとめることで、IE11 というブラウザがどのように終了していったのかのを記録することを目的とする。もともとは Google Docs にまとめていたものである。日付はアナウンスの公開日サポート終了日ではないサポート終了日も書いておけばよかったけど今からやり直す気力はない、、赤字 は MS 関連もしくはサポート終了の影響が大きそうなアナウンスWindows における IE11 自体のサポート終了については以下を参照https://www.atmarkit.co.jp/ait/articles/1503/11/news134.htmlできればある程度の結論が出るまでこのエントリを更新していきたい
4年前
記事のアイキャッチ画像
Public Suffix List の用途と今起こっている問題について
blog.jxck.io
+Public Suffix List (PSL) は、現在の Web プラットフォームの一端を支えている非常に重要な要素だ。実はこれが、少数のボランティアにより GitHub でメンテナンスされた、単なるテキストリストであることは、あまり知られていないかもしれない。最近、このリストへの追加リクエストがあとを絶たず、問題になっている。そもそも PSL とは何であり、今どのような問題が起こっているのかについて解説する。
4年前
記事のアイキャッチ画像
Web Font のメトリクス上書きによる CLS の改善
blog.jxck.io
+WebFont を読み込む際に、取得完了までのラグを、システムが持つフォールバックフォントで代替する場合がある。このとき、フォールバックフォントと読み込んだ Web フォントで、高さに関する情報が異なる場合、Layout Shift が発生してしまう。これを防ぐ方法として、CSS からフォントメトリクスの上書きを行う仕様の提案が行われているため、本サイトへの適用を目指し検証を行った。なお、この仕様は Layout Shift ではなく、単純にテキストレイアウトスタイル用途での利用も考えられるが、そこはスコープ外としている。
4年前
記事のアイキャッチ画像
Cache-Control: must-understand ディレクティブとは何か
blog.jxck.io
+IETF が策定する HTTP の仕様が更新されようとしている。ここには、Cache の仕様も含まれており、そのなかで must-understand という Cache-Control のディレクティブが追加されている。このディレクティブが追加された経緯と仕様について解説する。
4年前
記事のアイキャッチ画像
Structured Field Values による Header Field の構造化
blog.jxck.io
HTTP Header の値を構造化する Structued Field Values の仕様が RFC になった。RFC 8941: Structured Field Values for HTTPこの仕様の詳細について、筆者の実装を交えて解説する。
4年前
記事のアイキャッチ画像
2020 年をふりかえる
blog.jxck.io
例年通り 2020 年を振り返る。
4年前
記事のアイキャッチ画像
AMP SXG 対応
+blog.jxck.io
本サイトを AMP SXG に対応した。その作業ログを記す。
4年前
記事のアイキャッチ画像
CSS Layout API で Masonry Layout
blog.jxck.io
+Pinterest でおなじみの Masonry Layout を CSS の標準にする作業と実装が進んでいる。以下のように画像を敷き詰めるタイルレイアウトのことを Masonry (石工やレンガ造りの意味らしい) Layout という。上の例の場合は、Height が不揃いの画像を並べる上で、左から敷き詰め、折り返したら既にある画像の高さに合わせて二列目が始まるというロジックになる。これを実現するには、割と複雑な CSS を書く必要があり、様々なサイトで CSS ライブラリや、Grid などを用いて再現する方法が紹介されている。これをそのまま CSS の標準にする作業が Layout API の文脈で行われており、既に一部が(主に Firefox で)実装されている。仕様は以下だ。CSS Grid Layout Module Level 3https://drafts.csswg.org/css-grid-3/従来の CSS Grid は、縦横が揃った Grid を展開し、そこに対して要素を割り当てるのが基本だが、それでは縦が揃わないため Masonry は実現できない。そこで、grid-template-rows / grid-template-columns へ masonry を追加し、これを指定すると Masonry レイアウトが実現できるようになる。省略すると grid: masonry / ${column} になるため、column に repeat などを指定すれば Pinterest のようなレイアウトが実現できる。3 列の Masonry Layout は以下だ。<style>.grid { display: inline-grid; grid: masonry / repeat(3, auto); border: 1px solid; gap: 1vw; masonry-auto-flow: pack; width: 32vw;}img { width: 10vw;}</style><div class=masonry> <img> <img> <img> ...</div>敷き詰めるためのアルゴリズムは仕様で決まっている。https://drafts.csswg.org/css-grid-3/#masonry-layout-algorith +
4年前
記事のアイキャッチ画像
Web 技術の調査方法
blog.jxck.io
「新しい API などを、どうやって調べているのか」「仕様などを調べる際に、どこから手をつければ良いのか」などといった質問をもらうことがある。確かにどこかに明文化されていると言うよりは、普段からやっていて、ある程度慣れてきているだけなものであり、自分としても明文化していなかったため、これを機に解説してみる。やり方は一つではない上に日々変わっていくだろうが、頻繁にこの記事を更新するつもりはない。また、筆者は実務で必要になるというよりは、ほとんどを趣味でやっているため、このやり方が合わない場面は多々有るだろう。スコープとしては、ライブラリ、ツール、フレームワークなどではなく、Web プラットフォーム関連の標準やブラウザの実装状況などに限定している。
4年前
+
記事のアイキャッチ画像
Puppeteer で静的サイトの Font Subsetting
blog.jxck.io
Web Font のサブセット化を Font Weight に応じて作り分けるとともに、それを Puppeteer を用いて生成するように変更した。
4年前
記事のアイキャッチ画像
WebCodecs と WebTransport でビデオチャット
blog.jxck.io
ブラウザの持つ Video/Audio コーデック実装へアクセスする API として WebCodecs の仕様策定と実装が進んでいる。これにより、映像や音声の変換などといったユースケースへの応用も可能だ。本来なら WebCodecs 単体の API について解説するところだが、筆者がこの API を待っていた理由であるところの「WebRTC の代替」としての WebCodecs/WebTransport の応用に注目し、背景も踏まえて解説する。
4年前
記事のアイキャッチ画像
img の srcset 指定時に選択される画像
blog.jxck.io
<img> や <picture> で srcset に複数の画像を指定することで、デバイスに応じて適切な解像度の画像を提供することができる。この画像が、どういった条件で選択されるのかを頭では勝手に理解していたつもりだが、理解とは違う挙動があったため、仕様と実装を確認した。その記録を記す。なお、先に言うがどのブラウザも 仕様に準拠して 実装されている。
4年前
記事のアイキャッチ画像
Webbundle によるサブリソース取得の最適化
blog.jxck.io
+WebBundle を用いてサブリソースのみを Bundle する、Subresource Bundle の策定と実装が進んでいる。これを用いると、複数サブリソースの取得を一回の fetch で行うことができ、RTT を減らしつつも個別に取得したかのようにキャッシュを制御できる。現時点での仕様と実装を解説する。Intent to Prototype: Subresource loading with Web Bundles
5年前
記事のアイキャッチ画像
ローカル開発環境の https 化
blog.jxck.io
+Web の https 化が進み、それに伴って https を前提とする API も増えてきた。そうした API を用いた開発をローカルで行う場合、localhost という特別なホストを用いることもできるが、それだけでは間に合わないケースも少なからずある。localhost を https にするという方法もあるが、そのように紹介されている方法には、いくつか注意すべき点もある。この辺りの話を、直近 1 ヶ月で 3 回くらいしたので、筆者が普段使っている方法や注意点についてまとめる。特に推奨するつもりはない。
5年前
記事のアイキャッチ画像
QuicTransport によるアプリケーションレイヤでの QUIC 活用
blog.jxck.io
WebTransport の Quic 実装である QuicTransport の開発が Chrome で行われている。Chrome で Origin Trials が開始されたので仕様と実装を解説する。
5年前
記事のアイキャッチ画像
Site Isolation 及び Web のセキュリティモデルの更新
blog.jxck.io
Origin は Web におけるセキュリティモデルの一つとして、コンテンツ間の Communication に関する境界を定義し、リソースを保護してきた。しかし、Spectre の発覚以降、Communication に関する制限だけではなく Isolation によるメモリレベルでのアクセス制御が必要となった。そこで現在作業されているのが、CORB, CORP, COEP, COOP といった仕様群であり、これは Web におけるセキュリティモデルの更新作業と見ることができる。概要と現状について解説する。
5年前
記事のアイキャッチ画像
mozaic.fm v3 リリースと Podcast の PWA 化
blog.jxck.io
+mozaic.fm をリニューアルし v3 としてリリースした。今回の更新は以下のような変更/修正を実施している。PWA 化before install promptBackground FetchPeriodic Background SyncContent Index APIBadging APIPlayer UI の刷新Pure WebcomponentsMedia Session APIWAI-ARIAPortal PreviewScreen Wake LockSecurityCSP v3 (not Report-Only)Cross Origin Resource PolicyCross Origin Opener PolicyCross Origin Embedder PolicyExpect-CTNELReferrer Policyその他Transpile LessScroll To Text Fragment SearchSpotifyWIPTemplate InstantiationHTML ModulesDocument PolicySilent PushWASM ID3SXG実施したモチベーションおよび、実施内容について記す。先に言っておくが、実装も仕様も全く安定してないものを、エミュレータだけでエスパー実装しているので、実機で動く保証もなく、しょっちゅう壊れる。サイトが壊れて聴けなかったらご愛用の Podcast アプリで聞いてほしい。
5年前
記事のアイキャッチ画像
Periodic Background Sync 及び Web を Install するということ
blog.jxck.io
メールクライアントや RSS リーダーのようなユースケースを PWA で実装する場合、バックグラウンドで定期的にタスクを実行したいケースがある。このユースケースに特化した API として提案されているのが、Periodic Background Sync(PBS) だ。しかし、この API を取り巻く議論は「Web にアプリのような API を持ち込む上での難しさ」を物語っている。この API が Web において正当化できるかどうかは、Project Fugu に代表される Application Capabilities を Web に持ち込む場合の試金石になりそうだ。現時点での、仕様、実装、議論について解説する。
5年前
記事のアイキャッチ画像
Scroll to Text Fragment を用いたサイト内検索の実装
blog.jxck.io
Scroll to Text Fragment のユースケースとして、本サイトにサイト内検索を実装した。
5年前
記事のアイキャッチ画像
牧歌的 Cookie の終焉
blog.jxck.io
+Cookie は、ブラウザに一度保存すれば、次からその値を自動的に送ってくるという、非常に都合の良い仕様から始まった。State Less が基本だった Web にセッションの概念をもたらし、今ではこれが無ければ実現できないユースケースの方が多い。冷静に考えればふざけてるとして思えないヘッダ名からもわかるように、当初はこのヘッダがこんなに重宝され、Web のあり方を変えるかもしれないくらい重要な議論を巻き起こすことになるとは、最初の実装者も思ってなかっただろう。そんな Cookie が今どう使われ、3rd Party Cookie (3rdPC) の何が問題になっているのかを踏まえ、これからどうなっていくのかについて考える。
5年前
記事のアイキャッチ画像
3rd Party Cookie 調査のための Web 広告導入
blog.jxck.io
+昨今、特に広告サービスを中心に 3rd Party Cookie を用いたトラッキングについての議論が多く行われている。Safari による ITP や、Chrome による Privacy Sandbox への移行など、技術的な変化も著しい。こうした技術の変遷を観測し、調査検証を行うために、これまで避けていた Web 広告を本サイトに導入することにした。
5年前
記事のアイキャッチ画像
Service Worker の Background Fetch によるメディアのキャッシュ
blog.jxck.io
Podcast を PWA 対応するために、待望だった機能の 1 つが Background Fetch だ。これにより、通常 Range Request で取得するような、大きなファイルを事前にダウンロードしておくことができるようになる。この API と、Service Worker およびブラウザにおける Range Request/Partial Response の扱いについて記す。
5年前
記事のアイキャッチ画像
ブラウザで何が起こっているのかを知る Reporting API と ReportingObserver
blog.jxck.io
Web サービスにおいては通常、Web サーバから取得できるアクセスログやエラーログを取得し解析する基盤を保有するだろう。しかし、Web サーバから取得できる情報だけでは、ブラウザで何が起こったのかを知るのは限界がある。今回は、ブラウザ内で起こったことを知るための Reporting API と、その Report の収集について解説する。
5年前
記事のアイキャッチ画像
2019 年をふりかえる
blog.jxck.io
例年通り 2019 年を振り返る
5年前
記事のアイキャッチ画像
WebBundle によるコンテンツの結合と WebPackaging
blog.jxck.io
+依存コンテンツを 1 つにまとめて配信する WebBundle の仕様策定と実装が進んでいる。これは Signed HTTP Exchange と合わせて WebPackaging を実現するための仕様であり、組み合わせれば WebBundle に対して署名することでコンテンツの配信を通信と分けて考えることができる。Signed HTTP Exchange に比べると格段に簡単な仕様なので、現状のフォーマットと挙動について解説する。draft-yasskin-wpack-bundled-exchanges-latest
5年前
記事のアイキャッチ画像
Intel NUC で自宅 Ubuntu 開発環境構築と SSH Port Forwarding によるアクセス
blog.jxck.io
+家では Mac を使っていたが、やはり Ubuntu 開発環境を作ることにした。前々から気になっていた Intel NUC をベースに Ubuntu 環境を構築。また、外出時もアクセスできるように SSH Port Forwarding を使って、固定 IP の無い家に外からアクセスできるようにした。備忘録を兼ねて記す。
5年前
記事のアイキャッチ画像
Scroll To Text Fragment と :~:text
blog.jxck.io
ページ内の特定の位置へのスクロールは、URL フラグメントと HTML の ID 属性を用いて行われていた。しかし、ID を持たない要素へのスクロールというユースケースをカバーするために、フラグメントの拡張仕様が提案されている。Chrome がフラグ付きで実装しているため、この仕様の特徴について解説する。
5年前
+
記事のアイキャッチ画像
Noto Sans Hinted と font-feature-settings: 'palt'
blog.jxck.io
Noto Sans のサブセット生成を見なおし、Noto Sans Hinted から pyftsubset で生成し、ついでに font-feature-settings を有効にした。作業と検証の記録を兼ねて、実施結果を記す。
5年前
記事のアイキャッチ画像
Promise.allSettled と Promise.any
blog.jxck.io
Promise.allSettled() と Promise.any() の仕様策定が進んでいる。両者は近いレイヤの仕様では有るが、作業の進捗には差がある。Promise.allSettled は Stage 4 であり、Chrome や Safari TP には実装もされているPromise.any は Stage 2 であり、実装はまだないここでは、これらがあると何が嬉しいのかを Promise.all(), Promise.race() の特徴を踏まえて解説する。
5年前
記事のアイキャッチ画像
+WebTransport と WebCodecs そして Web はどこまで "ゲーム化" するか
blog.jxck.io
Transport として HTTP over TCP を基本としていた Web のあり方は大きく代わり、転送するメディアも HTML だけに止まらなくなってきた。その対角線上にあるユースケースとして、UDP でバイナリデータを双方向にやり取りする「ゲーム」があるだろう。WebSocket/MSE/WebRTC/WASM など、Web で Game を行うためのパーツは徐々に揃いつつあり、過去に比べればだいぶ状況は改善してきていると言える。しかし、できることが増えればこそ、それぞれのパーツの不足する部分が浮き彫りになる。WebTransport と WebCodecs は、主にそんな Web Game の需要から「本当に必要としているもの」を再考した結果をまとめた提案と言えるだろう。これが、単に Web Game 開発の需要を満たすだけで終わるものか、ゲーム以外の Web の開発にどこまで影響を及ぼすか。現状の仕様の提案とそのモチベーションを元に、考察していく。
5年前
記事のアイキャッチ画像
Nullish Coalescing と Optional Chaining
blog.jxck.io
JS における null/undefined の扱い改善するための 2 つの機能が提案されている。Nullish Coalescing Operator (stage 3)Optional Chaining Operator (stage 3)いずれも Stage 3 に進み、実装も始まっているので、現時点での解説を行う。
5年前
記事のアイキャッチ画像
Display Locking によるレンダリングの最適化と Async DOM
blog.jxck.io
React や lit-html などにより、DOM 操作の抽象化に加えて最適化が提供されることが一般的となった。見方を変えれば、本来ブラウザがやるような最適化を、ライブラリが肩代わりしていると捉えることもできる。これは、現在の標準 API には、規模が大きく処理が複雑なアプリケーションを開発する際に、足りてないものがあると考えることが可能だ。課題の 1 つとして「DOM 操作が同期処理である」という点に着目し、Async DOM という文脈でいくつかの提案が行われた。今回は、その提案の 1 つであり Chrome で実装が進んでいる Display Locking について現状を解説する。
6年前
記事のアイキャッチ画像
画像最適化戦略 Lazy Loading 編
blog.jxck.io
+長らく議論されてきた <img> や <iframe> における Lazyload について、仕様と実装が動きを見せている。ここでは、特に画像 <img> に注目し、Lazyloading の議論の変遷を踏まえた上で現状を解説する。画像最適化シリーズ第 5 回目のエントリである。画像最適化戦略 PNG/JPEG 編画像最適化戦略 Picture 編画像最適化戦略 WebP 編画像最適化戦略 SVG/Font 編> 画像最適化戦略 Lazy Loading 編
6年前
記事のアイキャッチ画像
mozaic bootcamp 2019
blog.jxck.io
2019/4/28 - 5/1 の 4 日間で、mozaic bootcamp 2019 というひたすら Web 技術を叩き込むイベントを開催した。その内容やモチベーションについては、以下で話している。ep48 Monthly Web 201901 | mozaic.fmこのイベントの概要と目的について記録する。
+
6年前
記事のアイキャッチ画像
Web における技術の解釈とエコシステムによる合意形成プロセスについて
blog.jxck.io
「ユーザが意図する挙動」とは何か。技術的に可能であるが「やらない方が良いこと」は、誰がどう決めるのか。Web には仕様、実装、デプロイ、そしてユーザの利用とフィードバックによって、そうした合意がゆるやかに形成されていく仕組みがあると筆者は考えている。しかし、これは明文化されているわけでもなく、その全体像を把握するのは一般には難しいだろう。今回は、ちょうど何度目かの議論が再発している ping 属性を例に、この合意形成の概観について解説を試みる。
6年前
記事のアイキャッチ画像
Private Class Field の導入に伴う JS の構文拡張
blog.jxck.io
ECMAScript の Private Class Field の仕様策定と各ブラウザの実装が進んでいる。これにより、従来の JS にはなかった Class の Private フィールドが使えるようになる。提案されている構文や、挙動について解説する。
6年前
記事のアイキャッチ画像
安全な文字列であると型で検証する Trusted Types について
blog.jxck.io
脆弱性の原因となる DOM 操作の代表例として elem.innerHTML や location.href などが既に知られている。こうした操作対象(sink) に対して、文字列ベースの代入処理を行う際に、一律して検証をかけることができれば、脆弱性の発見や防止に役立つだろう。そこで処理前の文字列に対し、処理後の文字列を安全であるとして明示的に型付ける TrustedTypes という提案がされている。まだ未解決の部分が多い提案だが、現時点での仕様と実装を元に、このアイデアについて解説する。WICG/trusted-typesIntent to Experiment: Trusted Types
6年前
記事のアイキャッチ画像
+Cache Digest と HTTP2 Server Push の現状
blog.jxck.io
httpbis のチェアである mnot から、Cache Digest についての現状確認が ML に投稿された。もしこのまま反応がなければ、Cache Digest は終わり、対ブラウザキャッシュの Server Push は現実的ではなくなる。
6年前
記事のアイキャッチ画像
次世代 Web カンファレンス 2019 開催後記
blog.jxck.io
+2019/1/13(日) に、以下で告知した「次世代 Web カンファレンス」を開催した。次世代 Web カンファレンス 2019 開催告知 | blog.jxck.io前日に初雪が観測されて心配したが、天気にも恵まれ、開催趣旨の通り予定していたセッションを全て終えることができた。次世代 Web カンファレンス - connpass各セッションはこれから録画を見るが、登壇者達に聞いた感触としては、概ね熱い議論ができていたようなので、場を設けた価値はあったと思う。録画や togetter はすでに上がっている。
6年前
記事のアイキャッチ画像
2018 年をふりかえる
blog.jxck.io
例年通り 2018 年を振り返る
6年前
記事のアイキャッチ画像
WebPackaging の Signed HTTP Exchanges
blog.jxck.io
WebPackaging は以下の 3 つの仕様を組み合わせたユースケースである。Signed HTTP Exchanges: Signing (コンテンツに署名する)Bundled HTTP Exchanges: Bundling (コンテンツを 1 つにまとめる)Loading Signed Exchanges: Loading (そのコンテンツをロードする)本エントリでは、各仕様を Signing/Bundling/Loading と記す。現状、Signing および Loading の仕様策定が進んでおり、Chrome は Experimental な実装を行っている。全体的に仕様が大きく、今後も変更される可能性が高いため、今回は実装が進んでいる Signing に絞り、ユースケース、仕様、および本ブログへの適用を中心に解説する。
6年前
記事のアイキャッチ画像
prefers-color-scheme を用いた Dark Mode 対応と User Preference Media Features
blog.jxck.io
macOS Mojave は OS レベルで Dark Mode に対応した。しかし、Web コンテンツは依然として白背景黒文字ベースのデザインが多く、結果ブラウザの中だけ眩しいという問題がある。Safari TP69 では、これにメディアクエリで対応するための prefers-color-scheme が実装された。これを用いた DarkMode 対応と、本ブログの DarkMode 対応、および策定中の User Preference Media Features について解説する。
6年前
記事のアイキャッチ画像
Cookie の性質を利用した攻撃と Same Site Cookie の効果
blog.jxck.io
Cookie はブラウザによって保存され、紐づいたドメインへのリクエストに自動で付与される。この挙動によって Web におけるセッション管理が実現されている一方、これを悪用した攻撃方法として、CSRF や Timing Attack などが数多く知られており、個別に対策がなされてきた。現在、提案実装されている SameSite Cookie は、そもそもの Cookie の挙動を変更し、こうした問題を根本的に解決すると期待されている。Cookie の挙動とそれを用いた攻撃、そして Same Site Cookie について解説する。
6年前
記事のアイキャッチ画像
Referrer-Policy によるリファラ制御
blog.jxck.io
リファラはリンクなどでページを遷移する際に、遷移元の URL をリクエストの Referer ヘッダに載せる仕様である。この付与はブラウザが自動で行うため、場合によっては非公開として扱っている URL が意図せず漏れることがある。この挙動を制御することができる、Referrer-Policy ヘッダについて解説する。
6年前
記事のアイキャッチ画像
次世代 Web カンファレンス 2019 開催告知
blog.jxck.io
+2019/1/13(日) に、「次世代 Web カンファレンス」を開催します。名称次世代 Web カンファレンス日時2019/1/13(日) 9:00-17:30場所法政大学富士見ゲート 4F 401, 402, 403後援法政大学情報科学部配信Youtube募集Connpass参加費無料(参考) 2015 年実施のログは以下です。bloghttp://jxck.hatenablog.com/entry/next-web-conf-2915connpasshttps://nextwebconf.connpass.com/event/19699/録画405, 406, 407
6年前
記事のアイキャッチ画像
Clear-Site-Data Header
blog.jxck.io
Clear-Site-Data Header の実装が進んでいる。このヘッダについて解説する。
7年前
+
記事のアイキャッチ画像
Element.toggleAttribute
blog.jxck.io
非常にシンプルかつミッシングピースだった Element.toggleAttribute という仕様が提案された。最近になって各ブラウザが一斉に実装を進め、リリースに向けたアナウンスが出始めている。この仕様について解説する。
7年前
記事のアイキャッチ画像
Monthly Web の作り方 2018 年版
blog.jxck.io
筆者がやっている Podcast である mozaic.fm の中で、Monthly Web という月ごとの Web の動向をまとめる回をやっている。未だに落ち着いたとはいえないが、2017 年 7 月に初めてから 1 年続けたので、結果として現状どうなっているかをログに残す。
7年前
記事のアイキャッチ画像
Web Authentication API で FIDO U2F(YubiKey) 認証
blog.jxck.io
+Web Authentication(WebAuthN) API の策定と実装が進んでいる。これを用いると、FIDO(Fast IDentity Online) U2F(Universal Second Factor) 認証が可能になる。今回は YubiKey 認証の実装を通じて、ブラウザ API の呼び出しと、サーバ側で必要な処理について解説する。https://w3c.github.io/webauthn/
7年前
記事のアイキャッチ画像
Layered APIs と High Level API の標準化指針
blog.jxck.io
+Extensible Web Manifest 以降、標準化作業は Low Level API にフォーカスし、一定の成果が出ている。そこで、これらをベースとし、よりアプリレイヤの需要を満たすための High Level API をどう標準化するか、という点について指針が提案された。基本は、Low Level API を元に Polyfill を作り、そこからのフィードバックにより策定を進めるという方針だ。合わせて ES Modules の Import を用いて、polyfill とネイティブ実装をスムーズに切り替える拡張が提案されている。本記事では Layered APIs (LAPIs) と呼ばれる、この一連の枠組みについて解説する。また、同等の話を 東京 Node 学園 #tng30 で行った資料は以下である。Web over Layered APIs
7年前
記事のアイキャッチ画像
Linux で出力を別の shell に pts 経由で表示する
blog.jxck.io
+tmux, screen, terminal のタブなど、shell を複数起動する方法はいくつかある。Linux では、pts を経由すれば、ある shell の出力を簡単に別の shell で表示することができる。これを応用すると、簡易ダッシュボードを作り色々便利に使うことができる。
7年前
記事のアイキャッチ画像
Certificate Transparency の仕組みと HPKP から Expect-CT への移行
blog.jxck.io
+本サイトは HPKP (public-key-pins-report-only) に対応していた。しかし、HPKP はその運用性の問題などもあり、Chrome はすでに deprecate するアナウンスを出している。代替の仕様として、Certificate Transparency (CT) のエコシステムと、それを利用する Expect-CT の策定/実装が進んでいる。CT エコシステムの概要、Log の登録/検証、HPKP から Expect-CT への移行などについて解説する。
7年前
記事のアイキャッチ画像
Feature Policy による Permission Delegation
blog.jxck.io
+ブラウザの機能を制限する Feature Policy の実装が進みつつある。Feature Policy は、ブラウザが持つ機能について選択的に許可/制限を行う API だ。AMP のように特定の機能を制限する目的にも使えるが、クロスオリジン iframe に対する権限移譲のための API としても使用される。Feature Policy のモチベーションおよび適用方法について、類似する CSP や iframe sandbox と合わせて解説する。なお、今回解説する内容は、まだブラウザの実装に反映されていない部分があるため、注意されたい。
7年前
記事のアイキャッチ画像
WebFont の WOFF2 対応によるサイズ最適化
blog.jxck.io
+Safari 10.0 から WOFF2 がサポートされており、これをもって IE 以外のメジャーブラウザではサポートが揃いつつある。本サイトは WOFF 形式での Web Font を提供しているが、WOFF2 形式では WOFF よりも 12% 程度圧縮率が高いため、本サイトでも WOFF2 に移行することとした。フォーマット変更による効果について解説する。
7年前
記事のアイキャッチ画像
Safari による User-Agent 固定化と Web における Feature Detection
blog.jxck.io
+少し前に Safari Technology Preview 46 がリリースされた。Service Worker のアナウンスに目がそちらに盗まれている一方、しれっと以下の一文がある。Froze the user-agent string to reduce web compatibility risk and to prevent its use for fingerprinting--- Release Notes for Safari Technology Preview 46すぐには無理だろうと思ったが、TP47 でもこれを打ち消すアナウンスはなかったため、これを取り上げることにした。TP はあくまで Preview であり、これが このままリリースされるとは限らない 点に注意したい。今回は、これがそのままリリースされた場合の影響について考察するため、現在の User-Agent の使われ方を解説する。
7年前
記事のアイキャッチ画像
Apple の AOM 加盟と AV1 への期待
blog.jxck.io
+Apple が Alliance for Open Media に加盟したという報道があった。もし、このまま Safari が AV1 をサポートするまで至れば、WebRTC のコーデック戦争に一旦の落ち着きが出ると思われる。Apple joins alliance to shrink your online videos - CNETこの動向について解説する。
7年前
記事のアイキャッチ画像
record to map in Erlang
blog.jxck.io
Record を Map に変換するだけのマクロ
7年前
記事のアイキャッチ画像
Form で submit されたデータの収集と FormData & URLSearchParams
blog.jxck.io
<form> の onsubmit をフックして、入力された値を <input> から集めて送るといった処理はよくある。このとき、submit されたデータの収拾方法はいくつかある。submit に限らず、そのイベントに付随する情報は、基本的にイベントオブジェクトに内包されている。Form を例に、イベントオブジェクトを意識したコーディングについて解説する。
7年前
記事のアイキャッチ画像 +
Bookmarklet という一番身近な自動化技術
blog.jxck.io
「毎回やるなら bookmarklet にでもすれば?」と言ったら、後輩が「そんな便利なことできたんですね、知りませんでした」と言っていた。そんな時代にこそ、今更だれも解説しないであろう、bookmarklet という技術についてもう一度書いておく。
7年前
記事のアイキャッチ画像
SDP の Unified Plan と Plan B
blog.jxck.io
+新年早々、Blink Dev で Unified Plan の Intent to Implement という嬉しい知らせが届いた。Intent to Implement: WebRTC Unified Plan SDPSDP の互換性についてインパクトの大きいこの変更について簡単に解説する。
7年前
記事のアイキャッチ画像
2017 年を振り返る
blog.jxck.io
例年通り、今年を振り返る。
7年前
記事のアイキャッチ画像
ResizeObserver による変更検知と Element Query
blog.jxck.io
ResizeObserver の ship が進みつつある。この仕様の解説および、ElementQuery / ContainerQuery について解説する。Resize Observer 1
7年前
記事のアイキャッチ画像
WHATWG の IPR Policy と Governance Structure
blog.jxck.io
WHATWG が IPR Policy と Governance Structure についての更新を発表した。おおまかな流れと、これによって引き起されそうな変化について解説する。
7年前
記事のアイキャッチ画像
Font Display プロパティを用いた FOIT/FOUT 最適化
blog.jxck.io
Web Font 読み込み中の HTML 表示については、ブラウザデフォルトの挙動に依存していた。フォントファイルサイズが大きい場合は、FOIT/FOUT の問題が顕著になり、JS を用いた回避策が利用されることも多かった。これを解決するため、CSS に font-display プロパティが作成され、実装が進んでいる。各プロパティの違いと挙動、そして本サイトへの適用について解説する。
7年前
記事のアイキャッチ画像
Houdini Paint API
blog.jxck.io
Houdini で議論されている CSS Paint API が Chrome Canary で flag 付きで実装されている。デモの実装を通して、関連仕様を含めた以下の 4 つのドラフトを解説する。CSS Painting API Level 1CSS Properties and Values API Level 1CSS Typed OM Level 1Worklets Level 1
7年前
記事のアイキャッチ画像
CSS Rhythmic Sizing で Vertical Rhythm
blog.jxck.io
タイポグラフィに関連したデザイン手法の 1 つに Vertical Rhythm がある。そして、現在 CSS でそれを簡単に実現するための CSS Rhythmic Sizing という仕様が提案されている。Chrome にフラグ付きで実装されたこの仕様を用いて、本サイトへの適用を行ったので、解説する。CSS Rhythmic Sizing
7年前
記事のアイキャッチ画像
予約済みドメイン (.example, .localhost, .test) について
blog.jxck.io
特別なドメインとして予約され、特定の用途で使用可能なドメインとして、.example .localhost .test などがある。localhost の Draft や、gTLD である .dev が Chrome で Preload HSTS になったなどの動きを踏まえ、これらの意味や用途を解説する。
7年前
記事のアイキャッチ画像
ブラウザで適当なランダム文字列
blog.jxck.io
テストや仮実装で、適当なランダム文字列が欲しい場合に便利なスニペット。
7年前
記事のアイキャッチ画像
Foreign Fetch が削除されそうな理由と Cookie の double keying
blog.jxck.io
以前、本ブログでも紹介した Foreign Fetch が、仕様から削除される方向で進んでいる。Foreign Fetch による Micro Service Workers | blog.jxck.ioこれは、Safari などが進めている Cookie の double keying が影響しているらしいので、現状についてまとめる。
7年前
記事のアイキャッチ画像
Brotli を用いた静的コンテンツ配信最適化と Accept-Encoding: br について
blog.jxck.io
High Sierra に乗る Safari 11 で Brotli 対応がされるということで、メジャーブラウザの Brotli 対応が概ね揃うことになる。そこで、本サイトも Brotli による静的コンテンツ配信に対応した。
7年前
記事のアイキャッチ画像
+.mjs とは何か、またはモジュールベース JS とエコシステムの今後
blog.jxck.io
長いこと議論になっていた ES Modules の Node における扱いに一応の決着が付き、.mjs という拡張子が採択された。この拡張子の意味と、今後ブラウザと合わせて Universal JS を実装していく上での作法が見えてきたことになる。合わせてエコシステムが対応していくことで、長年の夢だった JS のモジュール化を進めていくことができるだろう。
7年前
記事のアイキャッチ画像
Promise.prototype.finally
blog.jxck.io
+Promise.prototype.finally の仕様が TC39 stage 3 となり、Safari TP37 で先行実装が入った。tc39/proposal-promise-finally
7年前
記事のアイキャッチ画像
Service Worker の Navigation Preload による表示遅延回避
blog.jxck.io
Service Worker で Fetch を Proxy する場合、Fetch 発生時に SW が起動していなければ、その起動を待つ必要が出る。そして、この SW の起動には無視できない時間がかかる場合があった。これを改善する Navigation Preload について解説する。
8年前
記事のアイキャッチ画像
Fetch の中断と Promise のキャンセル方法の標準化
blog.jxck.io
XHR から fetch() に積極的に移行しづらかった最大のミッシングピースとして、中断できないという問題があった。これは、fetch() が選んだ Promise ベースのインタフェースにおいて、キャンセルをどうするかという議論と絡み、長く決着が付かずにいた問題である。最近、やっと話が前進したので、ここまでの経過を解説する。
8年前
記事のアイキャッチ画像
ネットワーク中立性について #NetNeutrality
blog.jxck.io
US では #NetNeutrality について話題になっている一方、日本ではさほど話題になってないように思う。インターネットを基盤としている Web 開発者にとっても、いつまで他人事でいられるか怪しい。事態そのものがあまり知られてないかもと思い、決して精通しているわけではないが紹介する。
8年前
記事のアイキャッチ画像
EventTarget の継承可能化による EventEmitter の代替
blog.jxck.io
+念願 だった EventTarget の constructible/subclassable が DOM の仕様にマージされた。これにより、いわゆる EventEmitter のブラウザ移植が不要になることが期待される。Allow constructing and subclassing EventTarget
8年前
記事のアイキャッチ画像
ES Modules への橋渡しとしての nomodule 属性
blog.jxck.io
ブラウザにおける新機能の利用においては、非対応ブラウザの考慮も必要となる。ES Modules の利用においても、いかに非対応ブラウザでフォールバックの手段を提供するかが課題となっていた。今回は、Modules の対応/非対応を切り分けるための仕様である nomodule 属性を解説する。
8年前
記事のアイキャッチ画像
Web Budget API と Web に導入されつつある Budget と Cost の概念
blog.jxck.io
PWA の普及により、バックグラウンド処理をいかに制限するかといった課題が生まれた。その対策として、バックグラウンド処理における Budget と Cost の概念が提案され、それを扱う Budget API の策定が進んでいる。基本概念と現時点での API 外観について解説する。
8年前
記事のアイキャッチ画像
Safari 11.0 will support WebRTC
blog.jxck.io
Safari 11 のアップデートに、待望だった WebRTC がリストされた。
8年前
記事のアイキャッチ画像
WebRTC 1.0 に向けたロードマップ
blog.jxck.io
+Google の Product Manager である Huib Kleinhout が、disscuss-webrtc の ML に以下のような投稿をした。Completing WebRTC 1.0WebRTC 1.0 を年内に終わらせるためのロードマップ(Chrome の改善を含む)を提示している。このロードマップに期待を寄せ、簡単に現状を振り返りつつ紹介する。
8年前
記事のアイキャッチ画像
gen_fsm から gen_statem へ
blog.jxck.io
Erlang/OTP 19 から、gen_fsm の後継として gen_statem が導入された。OTP の内部でも ssl などはすでに gen_statem に移行している。このビヘイビアの概要について記す。gen_statem APIgen_statem Behaviorすでにかなり安定はしているが、軽微といえども非互換な変更が OTP 20 以降に発生する可能性があることがドキュメントに言及されている。本記事は 19 時点での API ドキュメントをベースにしている。
+
8年前
記事のアイキャッチ画像
Web Share API
blog.jxck.io
Web Share API が Origin Trials を卒業したという知らせが届いた。コンテンツを他のサービスなどと連携するこの API について紹介する。
8年前
記事のアイキャッチ画像
JavaScript における文字コードと「文字数」の数え方
blog.jxck.io
textarea などに入力された文字数を、JS で数えたい場合がある。ここで .length を数えるだけではダメな理由は、文字コードや JS の内部表現の話を理解する必要がある。多言語や絵文字対応なども踏まえた上で、どう処理するべきなのか。それ自体は枯れた話題ではあるが、近年 ECMAScript に追加された機能などを交えて解説する。なお、文字コードの仕組みを詳解すること自体が目的では無いため、BOM, UCS-2, Endian, 歴史的経緯など、この手の話題につき物な話の一部は省くこととする。
8年前
記事のアイキャッチ画像
Monthly Web 2017/02
blog.jxck.io
今月の Web メモ
8年前
記事のアイキャッチ画像
Polyfill のあり方と Web の進化と協調するためのガイドライン
blog.jxck.io
W3C の TAG から、主にブラウザ API の Polyfill に関するドキュメントが公開された。Polyfills and the evolution of the WebPolyfill は便利な一方で、時として標準化の妨げになってしまう場合があるため、それを避けるために、Polyfill 実装者、利用者、仕様策定者などが、どう振る舞うべきかという趣旨である。今回はこの内容を元に、Web の進化と協調する Polyfill のあり方について、主に「実装者」がどうすべきかに着目し記す。
8年前
記事のアイキャッチ画像
CSP Report 収集と実レポートの考察
blog.jxck.io
このブログで CSP レポートの収集を開始してもうすぐ 1 年になる。現状、対象ドメイン内で <input> は一切提供しておらず、大半が静的に生成されたページであるが、この条件でも、かなり多くのレポートが集まった。今回は、収集した実際のレポートを例に、攻撃ではないと思われるレポートとしてどういったものが送られて来たかを中心に、その内容やレポーティングサーバ、CSP の運用に関する現時点の考察についてまとめる。
8年前
記事のアイキャッチ画像
Monthly Web 2017/01
blog.jxck.io
月一メモ
8年前
記事のアイキャッチ画像
mixed contents 対応を促進する CSP ディレクティブ
blog.jxck.io
HTTPS 移行の問題点の一つに、mixed contents への対応がある。逆に mixed contents の発生を恐れ、HTTPS に移行できないサービスもあるだろう。本エントリでは mixed contents の正しい理解と、その検出や解消に利用できる可能性のある、CSP の Upgrade-Insecure-Request および、Block-All-Mixed-Contents を解説する。
8年前
記事のアイキャッチ画像
2016 年を振り返る
blog.jxck.io
例年通り、今年を振り返る。
8年前
記事のアイキャッチ画像
HTTP の新しいステータスコード 103 Early Hints
blog.jxck.io
これは、http2 Advent Calendar 2016 の 16 日目の記事である。HTTP に新しいステータスコード 103 Early Hints が追加されようとしている。HTTP/1.1 および HTTP2 双方と関わり、リソース配信の最適化に利用することができる。いったい何のために必要なのか、どういうメリットが考えられるかを解説する。
8年前
記事のアイキャッチ画像
Foreign Fetch による Micro Service Workers
blog.jxck.io
Service Worker に Foreign Fetch という機能が提案されている。この機能があるとクロスオリジンへの fetch をフックできる Service Worker を、その対象オリジンから提供できるようになる。一体どういう仕組みなのか、これによって何が可能になるのかについて、デモを交えて記す。
8年前
記事のアイキャッチ画像
Link rel=serviceworker ヘッダによる API やアセットの Offline 対応
blog.jxck.io
Service Worker を登録する方法は現状 3 つある。HTML meta タグでの追加ならば、Service Worker を追加するためだけの JS であれば不要になる。HTTP ヘッダでの追加ならば、HTML を持たない API にも Service Worker を追加した対応が可能である。次の記事で foreign fetch について解説する予定であるため、その前提知識として本機能を分離し紹介する。
8年前
記事のアイキャッチ画像
Node v7 で入った WHATWG URL 実装について
blog.jxck.io
Node v7.0.0 が公開され、今回のリリースで WHATWG URL の実装が Experimental として入った。既に標準で含まれていた url module との違いや、URL API などについて解説する。
8年前 +
記事のアイキャッチ画像
Web 標準化のフィードバックサイクルを円滑にする Origin Trials について
blog.jxck.io
ブラウザに追加される新しい機能に対して、Vender Prefix の代替となる Origin Trials の導入が徐々に始まっている。今回は、これまでの Vender Prefix の問題点と、代替として提案された Origin Trials のデザインや導入方法などについて記す。
8年前
Google Developer Experts (GDE) になりました
blog.jxck.io
Google の中の人からお声がけ頂き、Google Developer Experts (GDE) に Web Technologies の Expert として Join することになりました。
8年前
記事のアイキャッチ画像
「Socket.IO は必要か?」または「WebSocket は通るのか?」問題について 2016 年版
+blog.jxck.io
「Socket.IO 使ったほうがいいですか?」 という主旨の質問をもらった。これは、WebSocket が繋がらない環境に向けて、フォールバック機能を有する Socket.IO にしておいた方が良いのかという意味である。WebSocket が出てきた当初と比べて、Web を取り巻く状況は変わったが、変わってないところもある。念のためと Socket.IO を使うのもよいが、「本当に必要なのか」を問うのは重要である。Rails も ActionCable で WebSocket に対応し、ユーザも増えるかもしれないことも踏まえ、ここで、もう一度現状について、把握している範囲で解説しておく。
8年前
記事のアイキャッチ画像
SQL でファイル検索するコマンド selects を書いた話
blog.jxck.io
+UNIX コマンドを SQL で抽出できるツール qq を作った。 というエントリを読んで、そういえば似たようなものを作ってたなと思い出した。自分の dotfiles の中にある、便利コマンド集の中にある selects についてである。このコマンドは SQL という検索を記述的に表現する共通言語をファイル検索に応用し、Ruby の動的言語として表現力を使って実装したものといえる。その実装方法と実行例などについて記す。
9年前
記事のアイキャッチ画像
Fetch での Stream を用いたプログレス取得とキャンセル
blog.jxck.io
+WHATWG が定義する Fetch API は、出たばかりの仕様では、途中でのキャンセルや、プログレスイベントの取得が含まれていなかった。しかし、後の更新で fetch 結果の Response Body が WHATWG Stream API を実装することになったため、現在の仕様ではプログレスを取ることもキャンセルをすることも可能となっている。今回は、こうした API のアップデートについて記す。
9年前
記事のアイキャッチ画像
Cache-Control の Immutable 拡張によるリロード時のキャッシュ最適化
blog.jxck.io
+ブラウザはリロード時に、max-age に満たないキャッシュを持っていても Conditional GET によってキャッシュの Validate (有効性の問い合わせ)を行う。Cache-Control Extension として提案されている Immutable 拡張は、キャッシュが max-age 内であればリロード時もキャッシュヒットさせる拡張である。このヘッダの効果と、本サイトへの適用について記す。
9年前
記事のアイキャッチ画像
Intersection Observer を用いた要素出現検出の最適化
blog.jxck.io
スクロールによる DOM 要素の出現などを効率よく検知するため、新しく Intersection Observer という API が追加された。この API の使い方と、本サイトへの適用について記す。
9年前
+
記事のアイキャッチ画像
mozaic.fm の v2 のリリースと Podcast の実装と移行
blog.jxck.io
mozaic.fm をリニューアルし、v2 としてリリースした。今回の更新のモチベーションは大きく分けて 2 つある。tumblr を捨てたかったfeedburner を捨てたかったこれによる breaking change 含む変更の内容と、実装のメモを記す。
9年前
記事のアイキャッチ画像
リンクのへの rel=noopener 付与による Tabnabbing 対策
blog.jxck.io
本サイト以下全ての target=_blank 付きのリンクに rel="noopener noreferrer" の付与を実施した。このプロパティの意味と、これが無い場合のフィッシング詐欺攻撃の可能性について解説する。
9年前
記事のアイキャッチ画像
Passive Event Listeners によるスクロールの改善
blog.jxck.io
+DOM のイベントリスナの仕様に Passive Event Listeners というオプションが追加された。このオプションは、主にモバイルなどでのスクロールの詰まり(Scroll Junk) を解決するために導入されたものである。今回は、この仕様が解決する問題と、本サイトへの適用を解説する。Passive Event Listeners Spec
9年前
記事のアイキャッチ画像
中級者向け Service Worker Tutorial
blog.jxck.io
+Service Worker の初心者向けのチュートリアルや、使ってみた系のエントリも増えてきました。しかし、Service Worker は通常のブラウザ用 JS の開発と少し経路が違い、慣れるまで開発やデバッグもなかなか難しいと思います。そこで特に難しい部分、そして分かっていないと実際にデプロイした際に難しいと思う部分について、実際に動きを確認しながら解説したいと思います。なお、Service Worker の基本的な概念などについては、他のチュートリアルなどを見て理解している前提で進めます。思いつきで撮ったので色々ミスも有ります、また Chrome Dev Tools の UI はどうせ変わるのでそのつもりで見てください。TODO になっている動画は、そのうち撮って追加します。
9年前
記事のアイキャッチ画像
Stale-While-Revalidate ヘッダによるブラウザキャッシュの非同期更新
blog.jxck.io
+システムにおいてキャッシュの設計は永遠の課題であり、Web のパフォーマンスにおいても非常に重要である。Web では、HTTP ヘッダを用いてブラウザやプロキシにキャッシュの制御を指定する。Stale-While-Revalidate ヘッダは、このキャッシュ制御に選択肢を追加する新しい仕様である。このヘッダの概要と、本サイトへの適用を解説する。
9年前
記事のアイキャッチ画像
HTTP Strict Transport Security(HSTS) 対応
blog.jxck.io
本サイトにて HTTP Strict Transport Security (HSTS) を有効化した。includeSubdomains を用いた *.jxck.io 全体への適用および、ブラウザへの Preload 登録も検討したが、本サイトの特性上それは見送った。導入に必要な設定や、注意点についてまとめる。
9年前
記事のアイキャッチ画像
Public Key Pinning for HTTP(HPKP) 対応と report-uri.io でのレポート収集
blog.jxck.io
本サイトにて Public Key Pinning for HTTP を有効化した。CSP 同様、まずは Report-Only を設定し、HPKP Report についても、report-uri.io を用いて収集することにした。導入に必要な設定や、注意点についてまとめる。なお、本サイトへの導入はあくまで 実験 である。運用や影響も踏まえると、一般サービスへの安易な導入は推奨しない。また、本来は HSTS と併用することが推奨されている。(必須ではない)そちらも追って対応する予定である。
9年前
記事のアイキャッチ画像
Content Security Policy(CSP) 対応と report-uri.io でのレポート収集
blog.jxck.io
本サイトにて Content Security Policy を有効化した。まずは Report Only にて導入し、段階的にポリシーとコンテンツを修正していく方針をとる。CSP Report については、report-uri.io を用いて収集することにした。導入に必要な設定や、注意点についてまとめる。
9年前
記事のアイキャッチ画像
画像最適化戦略 SVG/Font 編
blog.jxck.io
本サイトで使用している UI アイコン系の画像を、ギリギリまで最適化した手書き SVG に置き換えた(ただしソースは 観賞用 なので、インデントは残す)。また、装飾に画像ではなく CSS の contents を利用することで、ローカルフォントデータを利用し、画像転送を減らす工夫にも言及する。画像最適化シリーズ第 4 回目のエントリである。画像最適化戦略 PNG/JPEG 編画像最適化戦略 Picture 編画像最適化戦略 WebP 編> 画像最適化戦略 SVG/Font 編画像最適化戦略 Lazy Loading 編
9年前
記事のアイキャッチ画像
画像最適化戦略 WebP 編
blog.jxck.io
本サイトの PNG/JPEG で提供している画像については、よりサイズが小さくなりやすい WebP 形式を提供し、対応ブラウザに配布するようにした。フォーマットを出し分けるため、画像の指定は <picture> 要素を用いて対応した。画像最適化シリーズ第 3 回目のエントリである。画像最適化戦略 PNG/JPEG 編画像最適化戦略 Picture 編> 画像最適化戦略 WebP 編画像最適化戦略 SVG/Font 編画像最適化戦略 Lazy Loading 編
9年前
記事のアイキャッチ画像
画像最適化戦略 Picture 編
blog.jxck.io
+本サイトで使用している PNG/JPEG 画像を、対応デバイスと、Device Pixel Ratio に対して最適なサイズで出し分けるために、<picture> 要素を適用した。画像最適化シリーズ第 2 回目のエントリである。画像最適化戦略 PNG/JPEG 編> 画像最適化戦略 Picture 編画像最適化戦略 WebP 編画像最適化戦略 SVG/Font 編画像最適化戦略 Lazy Loading 編
9年前
記事のアイキャッチ画像
画像最適化戦略 PNG/JPEG 編
blog.jxck.io
本サイトで使用している PNG/JPEG 画像に対し、メタデータ削除、減色、リサイズなど基本的な最適化処理の適用戦略と、その方法および結果について。画像最適化シリーズ第 1 回目のエントリである。> 画像最適化戦略 PNG/JPEG 編画像最適化戦略 Picture 編画像最適化戦略 WebP 編画像最適化戦略 SVG/Font 編画像最適化戦略 Lazy Loading 編
9年前
記事のアイキャッチ画像
Noto Sans の Web Font 対応とサブセットによる最適化
blog.jxck.io
このサイトのフォントに Web Font を適用することにした。フォントには Google と Adobe が協同で開発した Noto Sans CJK JP を採用した。また、このサイトでは使用しないだろう文字を削除したサブセットを作ることで、フォントサイズを最適化した。
9年前
Preload を用いたリソースプリローディングの最適化
blog.jxck.io
Preload を指定する <link rel=preload> の仕様が公開されており、現在 Chrome Canary に実装されている。この仕様のモチベーションについて、Chrome 開発者の Yoav Weiss 氏のブログも公開された。今回は、この仕様の特徴と用途を解説し、本サイトへの適用について検討する。W3C Preload SpecIntent to Ship: <link rel=preload>Preload: What Is It Good For?
9年前
記事のアイキャッチ画像
JSON-LD と Open Graph で構造化メタデータ対応
blog.jxck.io
本サイトのメタ情報を整理するため、HTML のメタタグの整理、JSON-LD による schema.org 対応、Facebook, Twitter を主とした Open Graph 対応を実施した。これにより、既に AMP 対応していた本サイトが、Google のモバイル検索でキャッシュの対象となる(クロール待ち)。
9年前
記事のアイキャッチ画像
zopfli で静的コンテンツの gzip 配信と Content/Transfer-Encoding について
blog.jxck.io
+HTTP では Accept-Encoding と Content-Encoding でのネゴシエーションにより、gz などで圧縮したコンテンツを転送することができる。本サイトでは zopfli を用いて gzip 形式の配信に対応した。
9年前
記事のアイキャッチ画像
HTTP2 を前提とした HTML+CSS コンポーネントのレンダリングパス最適化について
blog.jxck.io
Chrome が予定している <link rel=stylesheet> の挙動の変更について、Google Chrome チームの Jake が、興味深いブログを上げている。The future of loading CSSこの内容は、単に Chrome に対する変更だけではなく、HTTP2 によって変化する最適化手法と、それを最も活かすための HTML, CSS の構成についてのヒントがある。今回は、この内容を意訳+補足解説し、本サイトに適用していく。
9年前
記事のアイキャッチ画像
Resource Hints API でリソースの投機的取得
blog.jxck.io
Resource Hints とは現在提案されている以下のドラフトであり、ブラウザに「次に必要となるリソースを教える」ことで、投機的な取得を行う API 群である。https://w3c.github.io/resource-hints/主に以下がある。dns-prefetchpreconnectprefetchprerender今回は本サイトでこれを適用した話。
9年前
記事のアイキャッチ画像
Atom の RSS Feed 対応
blog.jxck.io
このブログの Atom feed を吐くようにした。右上の feed アイコン から登録できる。
9年前
記事のアイキャッチ画像
h2o で https/2 のデプロイと設定
blog.jxck.io
+土台がだいたいできたので、このサイトを h2o にデプロイした話。
9年前
記事のアイキャッチ画像
AMP HTML 対応
blog.jxck.io
Google が推奨する仕様である AMP HTML に、このブログを対応した。言いたいことは色々あるが、とりあえず非常に難しかったため、その対応方法や感想などを残す。
9年前
記事のアイキャッチ画像
HTML の省略によるサイズ最適化
blog.jxck.io
本サイト blog.jxck.io 以下については、Markdown から静的ファイルを生成するスタイルで作成している。この変換時に以前から思っていた HTML の最適化 を実施することにした。しかし、md->html 変換時にそれをできるツールが見当たらないため、Markdown の AST から HTML を構築する過程で、省略を施すスクリプトを自作した。ただし、ソースはあくまで観賞用なので、インデントやコメントは残している。チューニングではなく単なる実験としてサイト全体にこれを適用し、その結果を記す。
9年前
記事のアイキャッチ画像
Blog を移転しました
blog.jxck.io
長いこと はてな blog をメインにし、他にも Qiita や Tumblr を使って色々書いて来たが、そろそろ自分のドメインに全部集約していこうかと思う。
9年前
\ No newline at end of file diff --git a/blogs/f32158af574fd03758dfa048dee81904/index.html b/blogs/f32158af574fd03758dfa048dee81904/index.html new file mode 100644 index 000000000000..176e5f80c97d --- /dev/null +++ b/blogs/f32158af574fd03758dfa048dee81904/index.html @@ -0,0 +1,16 @@ +React Blog (JA)のフィード|JSer.info Watch List RSS

React Blog (JA)

https://ja.react.dev/

React is the library for web and native user interfaces. Build user interfaces out of individual pieces called components written in JavaScript. React is designed to let you seamlessly combine components written by independent people, teams, and organizations.

フィード

記事のアイキャッチ画像
React v19
React Blog (JA)
React 19 が npm で利用可能になりました! この投稿では React 19 の新機能、およびそれらをどのように採用するかについて概説します。
2ヶ月前
記事のアイキャッチ画像
React Compiler Beta リリース
React Blog (JA)
React Conf 2024 で、React Compiler の実験的リリースを発表しました。これは、ビルド時に自動メモ化を通じて React アプリを最適化するツールです。この投稿では、オープンソースの次のステップとコンパイラの進捗状況を共有したいと思います。
4ヶ月前
記事のアイキャッチ画像
React Conf 2024 振り返り
React Blog (JA)
先週、ネバダ州ヘンダーソンで 700 人以上の参加者が集まり、最新の UI エンジニアリングについて議論する 2 日間のカンファレンス、React Conf 2024 を開催しました。この投稿では、イベントでの講演と発表をまとめます。
9ヶ月前
+
記事のアイキャッチ画像
React 19 アップグレードガイド
React Blog (JA)
React 19 に追加された改善にはいくつかの破壊的変更が必要ですが、アップグレードをできるだけスムーズに行えるよう努力しているため、ほとんどのアプリには影響が出ないことを予想しています。この投稿では、アプリやライブラリを React 19 にアップグレードする手順をご案内します。
9ヶ月前
記事のアイキャッチ画像
React Labs: 私達のこれまでの取り組み - 2024年2月版
React Blog (JA)
React Labs 記事では、現在活発に研究・開発が行われているプロジェクトについて述べていきます。前回のアップデートから大きな進展がありましたので、我々が学んだことを共有していきます。
1年前
記事のアイキャッチ画像
React Canary: Meta 外での段階的な新機能導入
React Blog (JA)
+私たちは、安定版がリリースされる前に、個々の新機能の設計がほぼ確定した段階でそれらを採用できるという選択肢を、React コミュニティに提供したいと考えています。これは、Meta が長年、React の最先端バージョンを社内で使用してきたやり方に似ています。私たちは、新たに公式サポート対象となる Canary リリースチャンネルを導入します。これにより、フレームワークのような統合済セットアップが、個々の React 機能の採用を React のリリーススケジュールから切り離して行えるようになります。
2年前
記事のアイキャッチ画像
React Labs: 私達のこれまでの取り組み - 2023年3月版
React Blog (JA)
React Labs 記事では、現在活発に研究・開発が行われているプロジェクトについて述べていきます。前回のアップデートから大きな進展がありましたので、我々が学んだことを共有していきます。
+
2年前
記事のアイキャッチ画像
react.dev のご紹介
React Blog (JA)
本日、React とそのドキュメントの新しいホームとなる react.dev の立ち上げを発表することができ、大変うれしく思います。この記事では、新しいサイトの見どころをご紹介します。
2年前
記事のアイキャッチ画像
React Labs: 私達のこれまでの取り組み - 2022年6月版
React Blog (JA)
React 18 の完成は数年がかりの仕事であり、React チームはそこから貴重な教訓を得ることになりました。このリリースは何年も研究を行い、様々なアプローチを試した結果として生まれたものです。いくつかのアプローチはうまく行った一方で、多くは行き詰まって新たな知見のみをもたらすことになりました。ここから我々が学んだことは、我々がどんなことを試しているのかをコミュニティに知らせることなくただお待たせするというのは、フラストレーションの元だ、ということです。
3年前
記事のアイキャッチ画像
React v18.0
React Blog (JA)
React 18 が npm で利用可能になりました! 前回の投稿にて、アプリを React 18 にアップグレードするためのステップバイステップガイドを共有しました。この投稿では、React 18 の新機能や、将来に向けての展望をお伝えします。
3年前
記事のアイキャッチ画像
How to Upgrade to React 18
React Blog (JA)
リリース告知の記事でお伝えしたとおり、React 18 には新たな並行レンダラを用いた機能が加わっており、既存のアプリケーションが段階的に採用できる方法も提供しています。この投稿では、React 18 にアップグレードするためのステップについてご案内します。
3年前
+
記事のアイキャッチ画像
React Conf 2021 振り返り
React Blog (JA)
先週、第 6 回の React Conf を開催しました。これまでの年度において、我々は React Conf のステージ上で、React Native や React Hooks といった業界を変えるような発表をお届けしてきました。本年度は、React 18 のリリースと並行レンダリング機能の段階的な採用から始まる我々のマルチプラットフォーム戦略についての話題を共有しました。
3年前
記事のアイキャッチ画像
React 18に向けてのプラン
React Blog (JA)
React チームより幾つかのお知らせがあります! 次のメジャーバージョンとなる React 18 リリースに向けての作業を開始しました。コミュニティが React 18 の新機能を段階的に導入できるようにするため、ワーキンググループを作成しました。ライブラリの作者が試用してフィードバックを送れるようにするため、React 18 のアルファ版を公開しました。
4年前
記事のアイキャッチ画像
バンドルサイズゼロの React Server Components の紹介
React Blog (JA)
2020 年は長い 1 年でした。本年の最後に、我々の研究における特別なホリデーアップデートとして、バンドルサイズゼロで動作する React サーバコンポーネントの紹介をしたいと思います。
4年前
\ No newline at end of file diff --git a/blogs/f333203079d9928b7fa83832f57ad131/index.html b/blogs/f333203079d9928b7fa83832f57ad131/index.html new file mode 100644 index 000000000000..cde2323fce7a --- /dev/null +++ b/blogs/f333203079d9928b7fa83832f57ad131/index.html @@ -0,0 +1,228 @@ +azukiazusa のテックブログ2のフィード|JSer.info Watch List RSS

azukiazusa のテックブログ2

https://azukiazusa.dev

azukiazusaのテックブログ2です。週に1回 Web 開発に関する記事をお届けします。フロントエンドに関する分野の記事が中心です。

フィード

記事のアイキャッチ画像
React Server Components を手軽に扱うフレームワーク react-server
はてなブックマークアイコン 45
azukiazusa のテックブログ2
+react-server は Node.js で JavaScript ファイルを実行するかのように React Server Components を扱うことを目的としたフレームワークです。Next.js の機能が過剰に感じられるような小さなアプリケーションを開発する際に有用です。
7日前
記事のアイキャッチ画像
Bun v1.2 では package.json にコメントを書ける +
azukiazusa のテックブログ2
`package.json` は JSON フォーマットのファイルであるため、コメントを書くことができません。`package.json` に定義したスクリプトの説明を書いておくことは重要です。別のファイルに説明を書いたり、`//` で始まるキーを使用してコメントを書くハックが生まれるなど、様々な方法が考案されていたのが思い出されます。
8日前
記事のアイキャッチ画像
TypeScript 5.8 で追加される erasableSyntaxOnly フラグ
azukiazusa のテックブログ2
TypeScript 5.8 で `erasableSyntaxOnly` フラグが追加される予定です。このフラグは `enum` や `namespace`、`Class Parameter properties` などの「消去可能ではない」構文をエラーとして検知するためのものです。
12日前
記事のアイキャッチ画像
型安全にクエリパラメーターを扱う nuqs
azukiazusa のテックブログ2
+フロントエンドの状態管理のパターンとしてクエリパラメータを信頼できる唯一の情報源(single source of truth)として扱うことがあります。ですが、クエリパラメーターの型が文字列であるため、型安全性が保証されないという課題があります。この記事では `nuqs` というライブラリを使用してクエリパラメーターを型安全に扱う方法について解説します。
14日前
記事のアイキャッチ画像
ダイアログの Light dismiss を有効にする `<dialog closedby>` 属性
azukiazusa のテックブログ2
`` 属性はダイアログの外側をクリックした際にダイアログを閉じる Light dismiss 機能を実現するための属性です。closeby 属性は `any`, `closerequest`, `none` の 3 つの値を受け付けます。
18日前
記事のアイキャッチ画像
React の `<ViewTransition>` コンポーネントで宣言的にページ遷移アニメーションを追加する
azukiazusa のテックブログ2
`` コンポーネントは React の実験的なバージョンとして導入されました。これは View Transition API を 宣言的な方法で使用できるようにするものです。
20日前
記事のアイキャッチ画像
MPA でページ遷移アニメーションを行う `@view-transition` CSS アットルール
azukiazusa のテックブログ2
View Transition API はページを遷移する際に簡単にアニメーションを追加できる API です。SPA では `document.startViewTransition()` メソッドを DOM が変更される前に呼び出すことでページ遷移アニメーションを追加できます。MPA の場合 CSS アットルール `@view-transition` を使用できます。SPA の場合と異なり、JavaScript を使用せずに CSS だけでアニメーションを追加できる点が特徴です。
21日前
記事のアイキャッチ画像
scroll-state() CSS コンテナクエリを使用して sticky で張り付いたときに境界線を出す
azukiazusa のテックブログ2
scroll-state() はコンテナ要素のスクロール状態に応じてスタイルを変更することができるコンテナクエリです。例えば、スクロール中にヘッダーを sticky な場合の境界線を表示することが挙げられます。
21日前
記事のアイキャッチ画像
ユーザーにヒントを表示するための `popover=hint` 属性
azukiazusa のテックブログ2
ポップオーバー API は 2024 年の Baseline に組み込まれており、主要なブラウザでサポートされています。Chrome Beta 133 では 3 番目の値として `hint` が追加されました。`popover=hint` はユーザーに対してヒントを表示する「ツールチップ」として動作します。この記事では `popover=hint` 属性について詳しく見ていきます。
21日前
記事のアイキャッチ画像
Node.js で TypeScript を直接実行できるようになった
azukiazusa のテックブログ2
+Node.js v23.6.0 から `--experimental-strip-types` フラグがデフォルトで有効になりました。これにより、Node.js でTypeScript を直接実行できるようになります。
1ヶ月前
記事のアイキャッチ画像
AI エディター Cursor を試してみる
azukiazusa のテックブログ2
AI エディター Cursor は GitHub Copilot と同様にコードの補完やチャットによるコードの生成をサポートしてくれます。Cursor は VS Code をフォークして作られており、既存の VS Code の拡張機能やキーバインドをそのまま利用することも特徴の 1 つです。
1ヶ月前
記事のアイキャッチ画像
GitHub Actions で再利用可能なワークフローを作成する
azukiazusa のテックブログ2
GitHub Actions で CI/CD 環境を構築する際に、同じような処理を複数のファイルで記述するようなことがよくあります。この記事では、GitHub Actions で再利用可能なワークフローを作成する方法と、実際に再利用可能なワークフローを作成する手順を紹介します。
1ヶ月前
記事のアイキャッチ画像
2024 年に読んでよかった本
azukiazusa のテックブログ2
私は今年 1 年間でおおよそ 300 冊の本を読んだようです。その中から、特に印象に残った本をいくつか紹介します。
1ヶ月前
記事のアイキャッチ画像
カード UI の入れ子のリンクの問題を解決する Link Area Delegation の提案
azukiazusa のテックブログ2
+多くのウェブサイトではリンクを入れ子にしたカード UI が利用されています。しかし、このような UI では HTML 仕様に違反していたり、ハッキーな手法で実装されていることがあります。Open UI コミュニティでは Link Area Delegation という提案を行っており、標準化された方法で入れ子のリンクを実装することで UX やアクセシビリティを損なうことを防ぐことを目的としています。この記事では Link Area Delegation の内容について紹介します。
2ヶ月前
記事のアイキャッチ画像
MSW で Web Socket のリクエストをモックする
azukiazusa のテックブログ2
+Mock Service Worker (MSW) の v2.6.0 から Web Socket のリクエストをモックすることができるようになりました。Web Socket のサポートのリクエストは 2020 年から存在しており、多くの議論の末 4 年の歳月を経てリリースされた機能となります。この記事では、MSW で Web Socket のリクエストをモックする方法を紹介します。
2ヶ月前
記事のアイキャッチ画像
Testing Library の debug で出力される行数を多くする方法
azukiazusa のテックブログ2
Testing Library では要素の取得に失敗した場合にレンダリングされた HTML がコンソールに表示されます。しかし、デフォルトで出力される行は 7000 に制限されているため目的の要素が表示される前に表示が終了してしまうことがしばしばあります。
2ヶ月前
+
記事のアイキャッチ画像
Zod を使って OpenAI の構造化された出力を扱う
azukiazusa のテックブログ2
OpenAI の gpt-4o-2024-08-06 以降のモデルではパラメータとして JSON Schema を指定することで構造化された出力をサポートしています。Node.js 向けの OpenAI SDK では Zod を使ってスキーマを定義し、構造化された出力を扱うことができます。この記事では実際に Zod を使って OpenAI の構造化された出力を扱う方法を紹介します。
2ヶ月前
記事のアイキャッチ画像
Tailwind CSS v4 で導入される CSS First Configurations
azukiazusa のテックブログ2
Tailwind CSS v4 における最も大きな変更点の 1 つは、CSS First Configurations です。今まで `tailwind.config.js` で設定していたテーマなどの設定を CSS ファイル内で行うことができるようになります。
2ヶ月前
記事のアイキャッチ画像
アクセシビリティツリーを比較する Playwright の Aria snapshots がよさそう
+azukiazusa のテックブログ2
Playwright の Aria snapshots はアクセシビリティツリーを比較することでテストする手法です。アクセシビリティツリーは DOM のスナップショットテストと比較して、外部から見た振る舞いが変わりづらいという利点があります。`.toMatchAriaSnapshot()` メソッドを使ってアクセシビリティツリーのスナップショットテストを行うことができます。
2ヶ月前
記事のアイキャッチ画像
Node.js では標準モジュールで Promise timer が使える
azukiazusa のテックブログ2
人為的な遅延を発生させるために、`setTimeout` を Promise をラップする方法がよく使われています。これにより、`await` を使って任意の秒数処理を遅らせることができます。
3ヶ月前
記事のアイキャッチ画像
新しいパッケージマネージャーの vlt を使ってみる
azukiazusa のテックブログ2
vlt は npm と互換性のあるパッケージマネージャーです。`npm` と同じように、パッケージのインストールや script の実行ができます。また、npm registry 互換のサーバーレジストリである vsr も同時に提供されています。
3ヶ月前
記事のアイキャッチ画像
Next.js で OpenTelemetry を使用した計装を行う
azukiazusa のテックブログ2
この記事では Next.js で OpenTelemetry を使用した計装を行う方法について紹介します。Next.js では `instrumentation.ts` ファイルを使用して監視ツールやログツールの計装を設定できます。
3ヶ月前
記事のアイキャッチ画像
Next.js の "use cache" ディレクティブによるキャッシュ制御
azukiazusa のテックブログ2 +
Next.js の App Router はデフォルトでキャッシュされる設計でリリースされました。一方でデフォルトでキャッシュされることに対して不満を持つ開発者も多かったように思います。このようなフィードバックを受けて、Next.js 15 ではいくつかのキャッシュ戦略が変更されました。さらに現在 canary チャンネルで提供されている dynamicIO フラグを有効にすることで、"use cache" ディレクティブを用いてキャッシュを制御できるようになります。
3ヶ月前
記事のアイキャッチ画像
JavaScript でスタイルシートを構築する CSSStyleSheet
azukiazusa のテックブログ2
+CSSStyleSheet インターフェースは、JavaScript でスタイルシートを構築し、操作するための API です。CSSStyleSheet() コンストラクターで新しいスタイルシートを作成し、.replaceSync() メソッドでスタイルを適用できます。
3ヶ月前
記事のアイキャッチ画像
react-to-web-component を使って React コンポーネントを Web Components に変換する
azukiazusa のテックブログ2
@r2wc/react-to-web-component は React コンポーネントを Web Components に変換するためのライブラリです。このライブラリを使用することで、React コンポーネントを任意の HTML 要素として使用することが可能になります。
4ヶ月前
記事のアイキャッチ画像
HTML だけで Shadow DOM を構築するための宣言型 Shadow DOM
azukiazusa のテックブログ2
宣言型 Shadow DOM は `` 要素を使用して Shadow DOM を構築する方法です。宣言型 Shadow DOM を使用することで、従来の JavaScript を使用した Shadow DOM の構築方法と比較して、サーバーサイドレンダリング(SSR)に対応しているため、パフォーマンスの向上や SEO 対策に期待されます。
4ヶ月前
記事のアイキャッチ画像
Chrome の組み込み AI の Language Detection API で言語を判定する
azukiazusa のテックブログ2
Language Detection API は Chrome に組み込まれた AI により、クライアントサイドで言語を判定するための提案です。この API を利用することで、テキストの言語を判定することが可能になります。
4ヶ月前
記事のアイキャッチ画像
Chrome の組み込み AI の Summarization API を試してみる
azukiazusa のテックブログ2
Google では大規模言語モデル(LLM)などの AI モデルをブラウザに直接統合するように設計された、Web プラットフォーム API とブラウザ機能を開発しています。これには Gimini Nano という AI モデルが含まれており、デスクトップパソコンにおいてローカルで実行されるように設計されています。この記事では Summarization API を使用して、文章を要約してみます。
4ヶ月前
記事のアイキャッチ画像
Storybook と Vitest の統合したコンポーネントテスト
azukiazusa のテックブログ2
Storybook v8.3 以降、ストーリーをテストするためのテストランナーとして Vitest を使用できるようになりました。Vitest を使用することで複雑なセットアップが不要になります。また、推奨されているブラウザモードを使用することで、実際のブラウザでの挙動をより正確に再現できます。
4ヶ月前
記事のアイキャッチ画像
UI を閉じる動作を処理する CloseWatcher API
azukiazusa のテックブログ2
CloseWatcher API は UI を閉じる動作を処理するための API です。キーボードの `Esc` キー、Android の戻るボタンなどのデバイス固有のメカニズムによって閉じるイベントを提供します。
4ヶ月前
記事のアイキャッチ画像
ユーザーのカラースキーマ設定を上書きする web preferences API の提案
azukiazusa のテックブログ2
ユーザーのカラーテーマの設定によりスタイルを変更するためには、`prefers-color-scheme` メディアクエリを使用することが一般的です。しかし、多くのウェブサイトでは OS の設定とは独立してカラースキーマを設定する機能が提供されています。この場合、`prefers-color-scheme` メディアクエリを使用せずに、`class` 属性を使ったスタイルの切り替えが行われます。
5ヶ月前
記事のアイキャッチ画像
スタイルをカスタマイズ可能な新しい `<select>` 要素
azukiazusa のテックブログ2
従来の `` 要素は CSS を利用したスタイルを適用することができないため、多くの開発者にとって課題となっていました。この問題を解決するために新しい既存の `` 要素をカスタマイズする手段が提案されました。この疑似要素を利用することで、開発者は `` 要素のスタイルをカスタマイズをオプトインできるようになります。
5ヶ月前
記事のアイキャッチ画像
`calc-size()` や `interpolate-size: allow-keywords;` で `height: auto;` な要素のアニメーションをサポートする
azukiazusa のテックブログ2
+CSS において height プロパティを 0 から auto に変化させた場合に、アニメーションが適用されないのはよく知られた問題です。この記事では calc-size() 関数を使って height: auto; な要素のアニメーションを実装する方法を紹介します。
5ヶ月前
記事のアイキャッチ画像
アクセシビリティが考慮された React Aria のドラッグアンドドロップ
azukiazusa のテックブログ2
React Aria は Adobe により提供されている React 用のコンポーネントライブラリであり、アクセシビリティを最優先した設計となっています。本記事では、React Aria により提供されているドラッグアンドドロップ機能を紹介します。
5ヶ月前
記事のアイキャッチ画像
フィーチャーフラグの標準規格 OpenFeature の React SDK を試してみる
azukiazusa のテックブログ2
OpenFeature はフィーチャーフラグのオープンな規格です。特定のベンダーに依存しない API や SDK が提供されています。フィーチャーフラグの API の標準化により、ベンダーロックインを回避し、フィーチャーフラグのツールを自由に選択できるようになります。この記事では OpenFeature の React SDK を使ってフィーチャーフラグを評価する方法を紹介します。
5ヶ月前
記事のアイキャッチ画像
React Aria でアクセシブルなコンポーネントを作成する
azukiazusa のテックブログ2
React Aria は Adobe が提供する React 用のコンポーネントライブラリです。スタイルを持たずに UI の機能やロジックのみを提供するいわゆるヘッドレス UI ライブラリであり、特に React Aria はアクセシビリティを最優先した設計となっているのが特徴です。ヘッドレス UI ライブラリを用いて UI コンポーネントを実装することで、開発者はビジネスロジックやデザインに集中することができます。
5ヶ月前
記事のアイキャッチ画像
@axe-core/playwright によるアクセシビリティテストの自動化
azukiazusa のテックブログ2
axe-core は axe というアクセシビリティテストツールのコアエンジンで、オープンソースとして提供されています。この記事では、E2E テストフレームワークの Playwright と axe-core を組み合わせて使用して、アクセシビリティテストを自動化する方法について紹介します。
6ヶ月前
記事のアイキャッチ画像
box-shadow で実装されたフォーカスリングはハイコントラストモードで表示されない
azukiazusa のテックブログ2
+フォーカスリングとは、キーボード操作でフォーカスが当たった要素を視覚的に示すための UI デザインのことです。フォーカスリングのカスタマイズに `box-shadow` プロパティを使うことがありますが、ハイコントラストモードではフォーカスリングが表示されない問題があります。この記事では、ハイコントラストモードでフォーカスリングを表示する方法について解説します。
6ヶ月前
記事のアイキャッチ画像
CSS の `reading-flow` プロパティで要素の読み上げ順を制御する
azukiazusa のテックブログ2
Flex や Grid コンテナ内では要素の見た目上の順序と DOM 上の順序が異なることがあります。このような状態はキーボード操作やスクリーンリーダーなどの支援技術を使うユーザーにとって混乱を招く可能性があります。CSS の `reading-flow` プロパティ個の問題を解決するためのプロパティです。見た目上の順序に従って読み上げ順を制御することができます。
6ヶ月前
記事のアイキャッチ画像
CSS でランダムな値を扱う `random()` と `random-item()` 関数
azukiazusa のテックブログ2
`random()` と `random-item()` 関数は CSS でランダムな値を扱うための関数です。`random()` 関数は最小値と最大値を引数に取り、その範囲内のランダムな数値を返します。`random-item()` 関数は引数に渡したリストの中からランダムに 1 つの値を返します。
6ヶ月前
記事のアイキャッチ画像
新しいビルドツールの Farm
azukiazusa のテックブログ2
Farm は Rust 製の新しいビルドツールです。パフォーマンスを重視して設計されており、Vite と互換性のある JavaScript プラグインをサポートしているという特徴があります。バンドルの戦略には Partial Bundling というものを採用しており、モジュールのネットワークリクエスト数を削減するため、20 ~ 30 のファイルにバンドルするという特徴があります。
7ヶ月前
記事のアイキャッチ画像
CSS の `@property` ルールでカスタムプロパティを定義する
azukiazusa のテックブログ2
CSS の @property ルールを使うことで、CSS のカスタムプロパティを定義できます。カスタムプロパティを定義することでプロパティの構文チェック、デフォルト値の設定、プロパティが値を継承するかどうかの設定などが可能になります。カスタムプロパティに誤った値が代入されることを防いだり、グラデーションのアニメーションなど、従来は実装が難しかった機能をサポートすることができます。
7ヶ月前
記事のアイキャッチ画像
スタイルの適用範囲を限定する CSS の `@scope` ルール
azukiazusa のテックブログ2
`@scope` アットルールは特定のセレクタの範囲に限定したスタイルを適用するためのルールです。`@scope` のルールセットに 1 つの CSS セレクタを指定すると、そのセレクタがスコープのルートとなります。`@scope` ルール内のスタイルはそのセレクタの範囲内でのみ適用されます。 +
7ヶ月前
記事のアイキャッチ画像
CSS のカスケードレイヤー `@layer` を使ってスタイルを階層化して管理する
azukiazusa のテックブログ2
CSS の `@layer` ルールは、カスケードレイヤーを宣言するために使用されます。カスケードレイヤーとは、スタイルの優先度をレイヤー(階層)に分けて管理する仕組みです。`@layer` ルールを使用することでスタイルの記述順や詳細度に関係なくスタイルを宣言できるため、新しい形式の CSS 設計を実現することができます。
7ヶ月前
記事のアイキャッチ画像
TypeScript で配列の要素を取得する時 `.at()` メソッドを使うとより安全
azukiazusa のテックブログ2
JavaScript で配列にアクセスする際、配列の長さを超えるインデックスを指定すると `undefined` が返されることがあります。しかし、TypeScript の型定義上では、配列の長さを超えるインデックスを指定しても `undefined` 型が返されることはありません。これはランタイムエラーを引き起こす恐れがあります。
7ヶ月前
記事のアイキャッチ画像
CSS で条件分岐を行う `@when/@else` ルール
azukiazusa のテックブログ2
`@when/@else` アットルールは条件付きスタイルをまとめて記述するためのルールです。`@media` や `@support` の条件を `@when` にわたすことで、`true` の場合には `@when` ブロック内のスタイルが、`false` の場合には `@else` ブロック内のスタイルが適用されます。このルールを使うことでより簡潔なコードを書くことができます。
8ヶ月前
記事のアイキャッチ画像
SVG アイコンの表示に mask-image CSS プロパティを使用する
+azukiazusa のテックブログ2
mask-image プロパティは CSS でマスキングを行うためのプロパティであり、SVG アイコンを表示する際に有用です。mask-image プロパティを使用することで、外部の SVG ファイルを読み込みつつ、アイコンの色を CSS で指定することが可能になります。
8ヶ月前
記事のアイキャッチ画像
Chrome の 組み込み AI Gemini Nano を試してみる
azukiazusa のテックブログ2
+Chrome 126 から Gemini Nano という AI がデスクトップクライアントに組み込まれる予定です。Gemini Nano は Google の AI モデルの中で最も小さいモデルです。デスクトップクライアントに直接組み込まれることで、ユーザーの手元の環境で AI を利用できることが特徴です。開発者は JavaScript から Chrome に組み込まれた Gemini Nano にアクセスして生成 AI の機能を実装することができます。
8ヶ月前
記事のアイキャッチ画像
CSS トランジションの開始時のスタイルを定義する `@starting-style` ルール
azukiazusa のテックブログ2
+`@starting-style` ルールは、CSS トランジションの開始時のスタイルを定義するためのアットルールです。CSS トランジションの既定のルールでは前回のスタイル変更イベントでレンダリングされていなかった要素では、アニメーションが適用されない、`display: none` から他の値に変更した場合にアニメーションが適用されないといった問題があります。`@starting-style` ルールを使用することでこれらの問題を解決できます。
8ヶ月前
記事のアイキャッチ画像
scrollbar-gutter CSS プロパティでスクロールバーの切り替わりによる画面のガタツキを解消する
azukiazusa のテックブログ2
+子要素が親要素のボックスからはみ出した時、overflow プロパティの値が auto または scroll の場合にスクロールバーが表示されます。スクロールバーがクラシックスクロールバーの場合、スクロールバーの表示・非表示によりボックスの幅が変わるため、画面がガタつくことがあります。scrollbar-gutter プロパティを使うとスクロールバー用のスペースをあらかじめ確保でき、画面のガタツキを解消できます。
8ヶ月前
記事のアイキャッチ画像
SvelteKit チュートリアル - 記事投稿サイトを作ってみよう
azukiazusa のテックブログ2
+SvelteKit は Svelte と Vite で構築たフレームワークです。SvelteKit は Web アプリケーションを開発するために必要な機能を提供します。この記事では、SvelteKit を使用して記事投稿サイトを作成するチュートリアルを紹介します。記事投稿サイトは、記事の一覧表示、記事の詳細表示、記事の投稿、記事の削除の機能を持つシンプルな Web アプリケーションです。
8ヶ月前
記事のアイキャッチ画像
Svelte v5 で導入されるスニペット機能
azukiazusa のテックブログ2
Svelte v5 ではスニペットと呼ばれる新しい機能が導入されます。スニペットとは、コンポーネント内で使用できる再利用可能なマークアップのことです。`#snippet` ディレクティブを使用してスニペットを定義し、引数を受け取ることができます。スニペットを呼び出す際には `@render` ディレクティブを使用します。またスニペットは単なる値として扱われるため、コンポーネントの Props として渡すことができます。
9ヶ月前
記事のアイキャッチ画像
楽観的更新を行うための React の useOptimistic フック
azukiazusa のテックブログ2
React v19 では楽観的更新を行うための `useOptimistic` フックが導入される予定です。楽観的更新とは、ユーザーの操作に対して非同期処理の完了を待たずに UI を更新する手法のことです。楽観的更新によりユーザーの操作に対して即座にフィードバックを提供できるため、UX の向上につながります。
9ヶ月前
記事のアイキャッチ画像
Svelte v5 における イベントハンドラの変更点
azukiazusa のテックブログ2
Svelte v5 では、イベントハンドラの書き方が一新され、いくつか非推奨となった書き方があります。この記事では、Svelte v4 と Svelte v5 のイベントハンドラの書き方の違いについて見ていきます。
9ヶ月前
記事のアイキャッチ画像
Svelte v5 で導入された Runes によるリアクティビティシステム
azukiazusa のテックブログ2
Svelte v5 で導入された Runes によるリアクティビティシステムについて解説します。従来の Svelte は純粋な JavaScript のコードのみを使用してリアクティビティを実現していましたが、アプリケーションが大規模になると複雑性が増すという問題がありました。Runes は Svelte のリアクティビティシステムをより柔軟にし、アプリケーションの規模が大きくなってもシンプルさを保つことを目指しています。
9ヶ月前
記事のアイキャッチ画像
エラーや非同期処理をより安全に扱うための TypeScript ライブラリ Effect-TS
azukiazusa のテックブログ2
+Effect-TS は、開発者が複雑なエラーや非同期処理をより安全に開発できるようにすることを目的とした TypeScript ライブラリです。Effect-TS は、TypeScript の型システムを活用して、本番のアプリケーションにおける実用的な問題を解決することを目指しています。
9ヶ月前
記事のアイキャッチ画像
Next.js 型安全なルーティングを使う
azukiazusa のテックブログ2
Next.js では実験的な機能として、型安全なルーティングを利用できます。この機能を使うことでリンク先のパス名を静的に検査できるため、typo などのエラーを事前に防ぐことができます。
9ヶ月前
記事のアイキャッチ画像
React v19 から forwardRef が不要になる
azukiazusa のテックブログ2
今までの React では `ref` をコンポーネントの Props として渡す際に、`forwardRef` を使ってラップする必要がありました。しかし、React v19 からは `forwardRef` が不要になり、`ref` を直接渡すことができるようになりました。
9ヶ月前
記事のアイキャッチ画像
Remix v2.9 で導入された Single Fetch
azukiazusa のテックブログ2
Remix v2.9 で導入された Single Fetch はクライアントサイドでのページ遷移が行われた際に、サーバーへの複数の HTTP リクエストを並行して行う代わりに、1 つの HTTP リクエストを実行しまとめてレスポンスを返す機能です。Single Fetch は v2.9 ではフィーチャーフラグとして提供されており、v3 以降ではデフォルトの挙動となります。
9ヶ月前
記事のアイキャッチ画像
Math.max() にスプレッド構文で大きな配列を渡すとエラーになる恐れがある
azukiazusa のテックブログ2
+`Math.max()` は、引数に渡された数値のうち最大のものを返す JavaScript の組み込み関数です。この関数は任意の数の引数を受け取るので、配列最大値を求めたい場合にはスプレッド構文で展開して渡す使い方が一般的です。しかし、引数の数が多すぎるとエラーになることがあります。
10ヶ月前
記事のアイキャッチ画像
コンテナ要素に基づく相対的な CSS の単位(cqw, cqh, cqi, cqb, cqmin, cqmax)
azukiazusa のテックブログ2
コンテナクエリ単位とは、コンテナ要素に基づいてスタイルを定義するための相対的な長さを表す単位です。例えば `1cqw` はコンテナ要素の幅の 1% に相当します。
10ヶ月前
記事のアイキャッチ画像
CSS でファイルのアップロードボタンをカスタマイズする ::file-selector-button 疑似要素
azukiazusa のテックブログ2
`::file-selector-button` 疑似要素を使用することで、`` 要素のデフォルトのボタンのスタイルをカスタマイズできます。現在すべてのモダンブラウザでサポートされています。
10ヶ月前
記事のアイキャッチ画像
ポップアップが画面内に収まらない場合に自動的に表示位置を調整する CSS Anchor Positioning
azukiazusa のテックブログ2
CSS Anchor Positioning とは、特定の要素を Anchor(基準)としてツールチップなどの要素の位置を決定する機能の総称です。CSS Anchor Positioning を使用することで、Floating UI のように自動で画面内に表示されるツールチップやコンテキストメニューを実装できます。
10ヶ月前
記事のアイキャッチ画像
Promise や Context から値を読み取る use React フック
azukiazusa のテックブログ2
+React の Canary および experimental チャンネルでのみ利用可能な `use` フックについて解説します。`use` フックは Promise や Context から値を読み取るためのフックで、Promise の値を同期的に読み取ることができます。その他の React フックと異なり、`if` 文やループ内で呼び出すことができる点が特徴として挙げられます。
10ヶ月前
記事のアイキャッチ画像
親要素のスタイルの基づいてスタイルを適用するコンテナスタイルクエリー CSS
azukiazusa のテックブログ2
CSS の @container ルールは、コンテナ(親要素)の特性に基づいてスタイルを適用するためのルールです。コンテナースタイルクエリーはコンテナサイズクエリーとコンテナスタイルクエリーの 2 種類に分類されます。コンテナスタイルクエリは style() 関数記法で定義されたスタイルを @container ルールで評価し、指定された条件が一致する場合にスタイルが適用されます。
10ヶ月前
記事のアイキャッチ画像
CSS: ダークモードで値を切り替える light-dark 関数
azukiazusa のテックブログ2
light-dark 関数は CSS のカラー関数で、引数に 2 つのカラー値を取り、ライトモードのときには 1 つ目の値をを、ダークモードのときには 1 つ目の値を返します。`color-scheme` プロパティの値もしくはユーザーの OS のダークモード設定によって切り替わります。
10ヶ月前
記事のアイキャッチ画像
CSS から React コンポーネントを生成する MistCSS
azukiazusa のテックブログ2
MistCSS は CSS in JS になぞらえた JS from CSS というコンセプトで、CSS から React コンポーネントを生成するツールです。ピュアな CSS を記述できるので、学習コストが低い、パフォーマンスに影響がないといったメリットがあります。
1年前
記事のアイキャッチ画像
単体テストでスクリーンリーダーをシミュレートする Virtual Screen Reader
azukiazusa のテックブログ2
Virtual Screen Reader は単体テストのためにスクリーンリーダをシミュレートするライブラリです。このライブラリを使うことでマウスやキボードの操作をテストするように、スクリーンリーダーにより期待する読み上げが行われるかどうかをテストできます。なお、Virtual Screen Reader はあくまでスクリーンリーダーの挙動を模倣したものであり、現実で使われているスクリーンリーダーによるテストを代替するものではないことに注意してください。
1年前
記事のアイキャッチ画像
TypeScript 5.5 で関数による型の絞り込みが改善される
azukiazusa のテックブログ2
+従来までは、TypeScript で関数の引数の型を絞り込んだ結果を返す場合には、ユーザー定義型ガードとして `x is string` のような形式で型ガードを定義する必要がありました。TypeScript 5.5 では自動で型の絞り込みが推論されるようになります。
1年前
記事のアイキャッチ画像
フォームのアクセシビリティを考える
azukiazusa のテックブログ2
今日の Web におけるフォームはユーザーが情報を入力して対話するための重要な要素です。支援技術を利用しているユーザーがフォームの入力を妨げられることは当然避けるべきでしょう。また障害の有無に関わらず、ユーザーに迷いを与えたり、入力ミスを誘発するようなフォームはユーザーがタスクを完了せずに途中で離脱してしまう可能性が高まり、ビジネスの観点からも望ましくありません。この記事ではフォームのアクセシビリティについて考え、実際のフォームの実装においてどのような点に注意すべきかを紹介します。
1年前 +
記事のアイキャッチ画像
CSS メディアクエリで比較演算子が使える
azukiazusa のテックブログ2
CSS のメディアクエリで比較演算子(``, `=`)が使えます。この記法を Range Syntax と呼びます。この記法は従来の `min-width` や `max-width` といった記法と比べて、より直感的に記述できるため便利です。
1年前
記事のアイキャッチ画像
React Server Components を使うためのミニマムなフレームワーク Waku
azukiazusa のテックブログ2
Waku は小規模から中規模の React プロジェクトを構築するためのミニマムなフレームワークです。従来は React Server Components を使うためには Next.js のような比較的大規模なフレームワークが必要でした。Waku もまた React Server Components に対応しているため、最小限の構成で React Server Components を使いたい場合に適しています。
1年前
記事のアイキャッチ画像
1 つの AbortController で複数の fetch をキャンセルできる +
azukiazusa のテックブログ2
`AbortController` は、fetch API でリクエストをキャンセルするためのオブジェクトです。`AbortController` は複数のリクエストを 1 度にキャンセルできます。
1年前
記事のアイキャッチ画像
CSS の reverse 系の値は可能な限り使わない
azukiazusa のテックブログ2
CSS の reverse 系の値とは、`flex-direction` の `row-reverse` や `column-reverse` などのことです。これらの値は、アクセシビリティの観点からできる限り使用を避けるべきです。
1年前
記事のアイキャッチ画像
新しい UI テストの手法を提供するテストライブラリ SafeTest
azukiazusa のテックブログ2
SafeTest は Playwright と Jest/Vitest を組み合わせた UI テストライブラリです。特定のライブラリに依存せず、React, Vue, Angular, Svelte などのフレームワークに対応しています。SafeTest は単体テストと Playwright を使った E2E テストの手法を組み合わせることで、それぞれの手法が抱える欠点を補うことを目指しています。
1年前
記事のアイキャッチ画像
技術の素振りのために記事を書く
azukiazusa のテックブログ2
技術の素振りを、ここではある特定の言語やフレームワークに対する理解を深めるために、その技術を使って何かしらの成果物を作成することと定義します。素振りの目的としては、ドキュメントからは読み取れない Pro/Con を得ること、その技術が実際のプロジェクトで使えるかどうか調査するといった事項があげられるでしょう。ただ素振りするだけではぼんやりと頭に知識が入っている状態になりがちですが、他者への説明というアウトプットを意識することで、コードを書くことによって得られた知見を整理できるようになります。
1年前
記事のアイキャッチ画像
初心者向けの単純なルールを作る
azukiazusa のテックブログ2
新しい物事を始めるときは複雑な理屈は抜きにして、単純なルールが規定されていることが初心者にとって大切です。この理屈は開発時の設計やコーディングルールにも当てはまると思います。単純なルールとして lint を設定したり、コンポーネント化して複雑な部分を隠蔽することですべての開発者にとってコードをコミットしやすくなります。
1年前
記事のアイキャッチ画像
type-safe とプログレッシブエンハンスメント、アクセシビリティヘルパーを備えたフォームライブラリ Conform
azukiazusa のテックブログ2
Conform は React 向けのフォームライブラリです。type-safe であること、Web 標準を利用したプログレッシブエンハンスメントや、アクセシビリティヘルパーを特徴としており、Next.js の Server Actions や Remix に対応しています。
1年前
記事のアイキャッチ画像
フルスタック Web フレームワーク HonoX を使ってみる
azukiazusa のテックブログ2
HonoX は Hono と Vite をベースにしたフルスタック Web フレームワークです。Hono が提供するサーバーサイドやクライアントサイドの機能を使いつつ、ファイルベースルーティングや Islands Architecture などの新しい機能を使うことができます。
1年前
記事のアイキャッチ画像
Tailwind CSS を使う時に一緒に入れたいライブラリ
azukiazusa のテックブログ2
Tailwind CSS を使う上でクラス名をスッキリと書くために一緒に入れたいライブラリを紹介します
1年前
記事のアイキャッチ画像
+Hono で Server-Sent Events によるストリーミングを実装する
azukiazusa のテックブログ2
Server-Sent events(SSE)は、サーバーからクライアントに向けてイベントをストリーミングするための仕組みです。WebSocket と比較すると、サーバーからの単方向の通信、HTTP で通信するという特徴があります。この記事では Hono を使って OpenAI API を使ったテキスト生成をストリーミングする方法を紹介します。
1年前
記事のアイキャッチ画像
npm は isntall でもコマンドを実行できる
azukiazusa のテックブログ2
npm は install の alias として isntall が用意されているので、typo して isntall と打ってもコマンドが実行されます。
1年前
記事のアイキャッチ画像
クラス名の結合をする軽量ライブラリの clsx
azukiazusa のテックブログ2
clsx は、複数のクラス名を結合するための軽量ライブラリです。条件によってクラスを付け替えたり、グルーピングをする際に簡潔に記述できます。
1年前
記事のアイキャッチ画像
TypeScript のような構文で OpenAPI のスキーマを定義する TypeSpec
azukiazusa のテックブログ2
TypeSepc は TypeScript にインスパイアされた言語で、開発者が親しみやすい構文で OpenAPI のスキーマを定義できます。モデルを使ってデータの構造を定義し、`@route` デコレーターを使って REST API のエンドポイントを定義します。
1年前
記事のアイキャッチ画像
CSS で絶対に最前面に表示したい要素には z-index:calc(infinity) を指定する
azukiazusa のテックブログ2
いつの時代にも z-index の管理には頭を悩ませます。z-index の値には 1 以外の値を許可しないなどの管理方法がありますが、外部のライブラリを使用してる場合に勝つことができません。そこで z-index の値に `calc(infinity)` を指定すると、絶対に最前面に表示させることができます。
1年前
記事のアイキャッチ画像
Node.js esm の dirname と filename
azukiazusa のテックブログ2
commonjs では `__dirname` と `__filename` でファイルのパスを取得できますが ES Modules では使えません。今まで同等の API が存在していなかったのですが、Node.js v20.11.0 で `import.meta.dirname` と `import.meta.filename` が追加されました。
1年前
記事のアイキャッチ画像
Bun でクロスプラットフォームなシェルスクリプト
azukiazusa のテックブログ2
Bun の `$` を使うと、クロスプラットフォームなシェルスクリプト(Bun Shell)を書くことができます。Bun Shell は macOS (zsh)、Linux (bash)、および Windows (cmd) と OS の違いを気にせずにシェルスクリプトを書ける、JavaScript オブジェクトとのやりとりが可能であることが特徴です。
1年前
MSW v2 では Web 標準の Fetch API をサポート
azukiazusa のテックブログ2
Mock Service Worke(MSW) v2 では Web 標準の Fetch API をサポートしました。
1年前
記事のアイキャッチ画像
Remix の SPA モード
azukiazusa のテックブログ2
+Remix は React のフルスタックフレームワークで、Web 標準に基づいた API で構築されていることが特徴です。Node.js のようなサーバーサイドの JavaScript 環境で動作することを前提としています。しかし、現実の世界ではサーバーを用意せずに、静的なファイルをホスティングするだけの環境で Web アプリケーションを構築することが有効な場合も多くあります。このような需要を満たすために、Remix v2.5.0 から実験的に SPA モードが導入されました。
1年前
記事のアイキャッチ画像
TypeScript で任意の文字列を受け取りつつエディタの補完を効かせる型
azukiazusa のテックブログ2
すべての文字列を受け入れつつ、特定の文字列のみを補完候補に表示させたい場合があります。例えば、CSS の色を指定するプロパティの値には、カラーコードで指定する `#000000` や `#ffffff` などの文字列を受け入れつつ、`red` や `blue` などの特定の文字列を指定します。
1年前
記事のアイキャッチ画像
React でコンポーネントの Props の型を取得する
azukiazusa のテックブログ2
プリミティブな UI を構築するとき、button や input などの HTML 要素をラップしたコンポーネントを作成することがあります。このようなコンポーネントでは、HTML 要素の Props に加えて、コンポーネント固有の Props を定義することが多いです。
1年前
配列をグループ化する Object.groupBy 静的メソッド
azukiazusa のテックブログ2
Object.groupBy 静的メソッドは、ES2024 で追加された配列をグループ化する関数です。配列の各要素に対してグループ化のキーを指定することで、グループ化されたオブジェクトを返します。
1年前
記事のアイキャッチ画像
TailwindCSS で複数行のテキストを省略するとき
azukiazusa のテックブログ2
+TailwindCSS で長いテキストを省略するときには、`truncate` クラスを使用します。しかし、`truncate` クラスは 1 行のテキストにしか対応していません。
1年前
記事のアイキャッチ画像
tabIndex には 0 と -1 だけを指定する
azukiazusa のテックブログ2
tabIndex 属性は、フォーカス可能な要素を指定するための属性です。この属性自由な数値を指定できますが、これはアクセシビリティの観点から推奨されていません。
1年前
記事のアイキャッチ画像
Svelte の Props 省略記法
azukiazusa のテックブログ2
Svelte ではコンポーネントに Props を渡す際に省略記法が使えます。
1年前
記事のアイキャッチ画像
GitHub Copilot Chat の inline chat のキーボードショートカットを無効にする
azukiazusa のテックブログ2
GitHub Copilot Chat を VSCode で使用していると、エディタ上で ⌘ + i を押すと inline chat が表示されます。しかし、このショートカットはコードの補完を表示するためにも使われていました。このショートカットに慣れていた人にとっては、inline chat が表示されるのは意図しない動作でしょう。
1年前
記事のアイキャッチ画像
details 要素の name 属性による排他的アコーディオン
azukiazusa のテックブログ2
`details` 要素は、開閉可能なコンテンツをマークアップするための要素です。`details` 要素に新たに `name` 属性が追加され排他的アコーディオンとして利用できるようになりました。
1年前
記事のアイキャッチ画像
GitLens で特定のコミットを除外する
azukiazusa のテックブログ2
GitLens の使用時に、機械的にフォーマットされたコミットがあるとコードの変更履歴を確認する際に邪魔になってしまいます。この記事では、GitLens で特定のコミットを除外する方法を紹介します。
1年前
記事のアイキャッチ画像
大きさが自動で変わる textarea を CSS だけで実現
azukiazusa のテックブログ2
テキストの入力量に応じて自動で高さが変わる textarea をよく見かけると思います。Slack や X の入力欄がそうですね。
1年前
記事のアイキャッチ画像
TailwindCSS の data 属性
azukiazusa のテックブログ2
TailwindCSS v3.2 からは data 属性を使って、条件付きでスタイルを適用できます。
1年前
記事のアイキャッチ画像
静的サイト向けの全文検索エンジンと UI ライブラリの Pagefind
azukiazusa のテックブログ2
Pagefind は、静的サイト向けの全文検索エンジンと UI ライブラリです。特定のフレームワークに依存しない JavaScript ライブラリとして実装されており、静的サイトジェネレーターで生成された HTML ファイルに対して検索機能を追加できます。
1年前
記事のアイキャッチ画像
2023 年に読んでよかった本
azukiazusa のテックブログ2
年末なので 2023 年のまとめっぽい記事を書きたくなりました。今年は 1 年間でおおよそ 300 冊の本をよんだようです(そのうち 3 割ほどはラノベなのですが...)。その中でも特に印象に残った本を紹介します。
1年前
記事のアイキャッチ画像
input[type=checkbox] 要素に switch 属性を指定することによる HTML 標準のスイッチ UI の提案
azukiazusa のテックブログ2
+スイッチは多くのウェブサイトで使われているものの、HTML の標準要素としては存在していませんでした。そのため多くの開発者は、スイッチを実装するために独自の実装を行っていましたが、このような独自の実装はアクセシビリティの問題を引き起こす可能性がありました。この問題を解決するために、WHATWG により `input[type="checkbox"]` 要素に `switch` 属性を追加することが提案されました。この属性を指定することで、チェックボックスをスイッチとして利用できます。
1年前
記事のアイキャッチ画像
OpenTelemetry Collector をカスタムビルドする
azukiazusa のテックブログ2
本番環境では OpenTelemetry Collector Contrib を使用せず、必要なコンポーネントのみを含むようにカスタムビルドすることが推奨されています。この記事では、OpenTelemetry Collector をカスタムビルドする方法について紹介します。 +
1年前
記事のアイキャッチ画像
CSS だけで動くスクロールドリブンアニメーション
azukiazusa のテックブログ2
Google Chrome 115 で追加されたスクロールドリブンアニメーションを使うことで、今まで JavaScript を使わなれけば実装できなかったようなスクロールと連動するアニメーションを CSS だけで実装できるようになりました。スクロールの進行状況に応じてバーを伸縮させるようなアニメーションや、要素が画面内に入ったタイミングでアニメーションを開始するようなことが実装できます。
1年前
記事のアイキャッチ画像
Storybook v8 の React Server Components サポート
azukiazusa のテックブログ2
Storybook v8 では `experimentalNextRSC` オプションにより React Server Components をサポートしています。しかし、このオプションは React Server Components としての動作を再現しているわけではありません。サーバーサイドで Storybook が動作してるわけではなく、非同期コンポーネントをクライアントでレンダリングしているに過ぎないことに留意すべきです。
1年前
記事のアイキャッチ画像
MSW v2 で `HttpResponse.json()` の型がおかしいときの対処法
azukiazusa のテックブログ2
MSW v2 の `HttpResponse.json()` の第 2 引数の型は `Response` オブジェクトの初期化時に渡すオプションを指定できます。しかし、tsconfig.json の設定によっては、この型がおかしくなることがあります。その場合には、`tsconfig.json` の `compilerOptions.lib` に `dom` を追加するのが一時的な対処法です。
1年前
記事のアイキャッチ画像
React Server Components のテスト手法
azukiazusa のテックブログ2
現代におけるコンポーネントのテストは Testing Library を用いてテストを行うことが一般的です。しかし、2023 年 11 月現在、Testing Library はまだ Server Components のテストを十分にサポートしていません。そのため、Server Components のテストを行うには、別の方法を用いる必要があります。この記事では、Testing Library を用いずに Server Components のテストを行う方法について説明します。
1年前
記事のアイキャッチ画像
HTML 標準でコンボボックスを実現する `<combobox>` 要素の提案
azukiazusa のテックブログ2
+コンボボックスとは、テキストボックスとドロップダウンリストを組み合わせた UI コンポーネントです。コンボボックスはユーザーがテキストボックスに入力した文字列に基づいて、ドロップダウンリストのアイテムをフィルタリングできます。`` 要素は、HTML の標準でコンボボックスを実現することを目的としています。
1年前
記事のアイキャッチ画像
なぜ Server Actions を使うのか
azukiazusa のテックブログ2
Next.js 14 の Server Actions の stable リリースに発表は大きな反響を呼びました。特に `` の `formAction` 属性内で直接 SQL クエリを実行するコードは多くの人に衝撃を与えていました。Server Actions の是非について語る時、導入の背景にユーザー体験の向上があるという観点を忘れてはいけません。また、セキュリティ上の観点についてどのように考えるべきでしょうか?
1年前 +
記事のアイキャッチ画像
パッケージマネージャーを npm に移行するときには `npm install --package-lock-only` コマンドを使うとよい
azukiazusa のテックブログ2
既存のプロジェクトで npm に移行する際に `npm install --package-lock-only` を使うことで、依存パッケージのバージョンを変更することなく lock ファイルを移行できます。
1年前
記事のアイキャッチ画像
Server Actions の戻り値には JSX を使える
azukiazusa のテックブログ2
Server Actions の戻り値には、シリアライズ可能なデータ型を返す必要があります。ドキュメントでは Server Actions の戻り値に JSX を使うことはサポートされていないと記述されていますが、実際には Server Actions の戻り値に JSX を使うことができます。ただし、公式にサポートされている仕様ではないので、思わぬバグを踏む、将来追加される機能に対応しないおそれがあることを理解した上で、使うかどうかを判断する必要があります。
1年前
記事のアイキャッチ画像
Server Actions のフォームバリデーションにおいて useFormState でエラーメッセージを表示する
azukiazusa のテックブログ2
Next.js の Server Actions でフォームを作成する際に、どのような方法でバリデーションを行い、エラーメッセージを表示する際にどのような手段が考えられるでしょうか。プログレッシブエンハンスメントの恩恵を受けるために、サーバーサイドでバリデーションを行いその結果を表示する方法が効果的です。`useFormStatus` フックはこの一連の動作を行うために使用します。
1年前
記事のアイキャッチ画像
GitLens で特定のコミットを除外する
azukiazusa のテックブログ2
GitLens の使用時に、機械的にフォーマットされたコミットがあるとコードの変更履歴を確認する際に邪魔になってしまいます。この記事では、GitLens で特定のコミットを除外する方法を紹介します。
1年前
記事のアイキャッチ画像
JavaScript なしでインタラクションを追加する Invokers
azukiazusa のテックブログ2
Invokers は JavaScript なしでインタラクションを追加するための提案です。`` 要素に `invoketarget` 属性を指定することで、値として指定した id を持つ `` などの要素の開閉状態を切り替えることが可能となります。
1年前
記事のアイキャッチ画像
URL が有効かどうかを判定する `URL.canParse()` メソッド
azukiazusa のテックブログ2
`URL.canParse()` メソッドは与えられた URL 文字列が有効であるかどうかを判定します。URL 文字列が有効であれば `true` を、無効であれば `false` を返します。これは URL コンストラクターを用いた `try...catch` 文による判定よりも簡潔に記述できます。
1年前
記事のアイキャッチ画像
:user-valid、:user-invalid 擬似クラスでユーザーの操作の後に検証を行う
azukiazusa のテックブログ2
ユーザーの操作の後にフォームの検証に基づき有効か無効かを示すために使用できる :user-valid、:user-invalid 擬似クラスを紹介します。従来の :valid、:invalid 擬似クラスと異なり、ユーザーがフォームに入力するまではスタイルを適用されません。
1年前
記事のアイキャッチ画像
forcusgroup で矢印キーによるフォーカスナビゲーションを実装する
azukiazusa のテックブログ2
カスタム UI ウィジェットを実装する際には、ウィジェットのロールに応じたキーボード操作によるフォーカスナビゲーションを実装することが求められています。従来このようなキーボード操作は JavaScript を用いて実装する必要がありました。`focusgroup` の提案は、このようなキーボード操作を独立して使用できるプリミティブとして提案されています。この機能を利用することで、開発者は JavaScript を用いることなく一貫したフォーカスナビゲーションを実装できます。
1年前
記事のアイキャッチ画像
`<details>` 要素の `name` 属性による排他的なアコーディオンの実装
azukiazusa のテックブログ2
+`` 要素の `name` 属性を利用してグループ化することにより、排他的なアコーディオンを JavaScript なしで実装できます。
1年前
記事のアイキャッチ画像
よりカスタマイズ可能なセレクトボックスを実現する `selectlist` 要素
azukiazusa のテックブログ2
`` 要素は、デザインをカスタマイズできなかった従来の `` 要素の問題を解決するために Open UI グループにより提案されている要素です。`` の構成要素の多くはスロットとして提供されていて、高いカスタマイズ性を備えているのが特徴です。
1年前
記事のアイキャッチ画像
`history.replaceState()` にはブラウザによって呼び出し回数制限がある
azukiazusa のテックブログ2
`history.replaceState()` は、ブラウザの履歴を変更するための API です。使用例としてユーザーのアクションによる UI の状態の変更に合わせて、URL のクエリパラメータを変更することが挙げられます。この API はブラウザにより呼び出し回数に制限が設けられており、使い方を誤ると予期せぬ挙動が発生するおそれがあります。
1年前
記事のアイキャッチ画像
モーダルの開閉状態を URL で管理する
azukiazusa のテックブログ2
モーダルの開閉状態を URL で管理することで、状態を復元したり、状態を共有できるなどのメリットがあります。この記事では、Next.js を例に URL でモーダルの開閉状態を管理する方法を紹介します。
1年前
記事のアイキャッチ画像
Bun の Web フレームワーク ElysiaJS のチュートリアル
azukiazusa のテックブログ2
+ElysiaJS は Bun の Web フレームワークです。高いパフォーマンスと、シンプルな API や厳格な型チェックにより生産性に優れているという特徴があります。また柔軟性が高く、多くのプラグインを組み合わせて利用できます。この記事では、ElysiaJS を使って簡単なタスク管理アプリの Web API を作成してみます。
1年前
記事のアイキャッチ画像
Bun workspace で始めるモノレポ生活
azukiazusa のテックブログ2
Bun では `package.json` の `workspaces` を使用することでモノレポの管理が可能です。この記事では Bun によるモノレポを試してみます。
1年前
記事のアイキャッチ画像
Bun のマクロを使ってフィーチャートグルを実装する
azukiazusa のテックブログ2
Bun にはマクロはビルド時に実行される関数です。関数が返す値がインラインにバンドルファイルに埋め込まれます。マクロには、実行してインライン化した後に、デッドコードを削除するという特徴があります。この機能を使ってフィーチャートグルを実装してみましょう。
1年前
記事のアイキャッチ画像
Bun の Plugins で CSV ファイルを直接 import する
azukiazusa のテックブログ2
Bun の Plugins API を使用することで、任意の拡張子のファイルのサポートを追加できます。例えば Bun の公式の動画では、Plugins API を使用して Rust ファイル(.rs)を直接 import できる仕組みも作れることが紹介されています。
1年前
記事のアイキャッチ画像
OpenTelemetry Collector の Connector を使ってログをメトリックに変換する
azukiazusa のテックブログ2
OpenTelemetry には、メトリック、トレース、ログの 3 つの形式があります。これらの形式はそれぞれ別のパイプラインで処理されます。ある形式のデータを別の形式に変換し、あたかも 1 つのパイプライン上でデータを処理したい場合に Connector を使用します。例えば、あるパイプラインはログのパイプラインのエクスポーターとメトリックのパイプラインのレシーバーとして動作します。このような場合、Connector はログをメトリックに変換する役割を担います。
1年前
記事のアイキャッチ画像
最小限のコードで動く最も汚いコードから始める
azukiazusa のテックブログ2
+コードを書く際の重要な要点は、読みやすく他人に理解される「良いコード」を書くことです。しかし、完璧を目指して最初から書こうとすると行き詰まります。代わりに、荒削りながらも動くコードを作成し、徐々にリファクタリングして完成度を高めます。型エラーやリントエラーを無視しても構わないので、まずは動くものを作成しましょう。それからリファクタリングして「良いコード」を作成できます。
1年前
記事のアイキャッチ画像
OpenTelemetry を使用して Node.js アプリケーションを計装する
azukiazusa のテックブログ2
+OpenTelemetry は Observability のフレームワークであり、トレース・メトリクス・ログなどのテレメトリーデータを作成、管理するためのツールキットです。OpenTelemetry はベンダーに依存しない形で標準化されたプロトコルとツールを提供していることが特徴です。この記事では Node.js アプリケーションを計装して Prometheus にデータを送信する方法を紹介します。
1年前
記事のアイキャッチ画像
await は Promise 以外のオブジェクトでも値を取り出せる
azukiazusa のテックブログ2
await キーワードは `then()` という名前のメソッドを持つオブジェクトに対して使用できます。このようなオブジェクトを thenable object と呼びます。await キーワードが Promise オブジェクトではなく thenable オブジェクトを対象としているのは、ライブラリの相互運用のためです。
1年前
記事のアイキャッチ画像
【React】メモ化したコンポーネントに children を渡すと効果がなくなる
azukiazusa のテックブログ2
React.memo は Props が変更されないかぎり、コンポーネントを再レンダリングしないようにする関数です。この関数はコンポーネントの余分なレンダリングを防ぎ、パフォーマンスを向上させる目的で使用されます。しかし、React.memo の使い方を誤ると意図しない再レンダリングが発生してしまうことがあります。ここではメモ化したコンポーネントに children を渡すと効果がなくなるというケースについて説明します。
1年前
記事のアイキャッチ画像
アニメーションの無効設定は prefers-reduced-motion に任せるか、アプリケーションの設定で制御するか
azukiazusa のテックブログ2
prefers-reduced-motion とは、ユーザーの環境設定によって余計な動きを抑制することを要求したことを検出するメディアクエリです。この設定は各 OS ごとに設定できます。ユーザーがアニメーションを無効にできることは、アクセシビリティの観点で重要です。prefers-reduced-motion によりアニメーションを無効にするのでも十分ですが、アプリケーションの設定として持たせるべきだと考えています。
2年前
【書評】RustとWebAssemblyによるゲーム開発は Rust 開発における設計を学べる良書
azukiazusa のテックブログ2
本のタイトルは「Rust と WebAssembly によるゲーム開発」となっていますが、反して WebAssembly についての話題はほとんど出てきません。主に Rust における開発の設計についての話題が中心となっています。
2年前
記事のアイキャッチ画像
グラフのアクセシビリティについて考える
azukiazusa のテックブログ2
+`` や `` 要素で描画されたグラフは、スクリーンリーダーを使用するユーザーにとって内容を正しく理解することが難しいです。この記事では、グラフの内容をスクリーンリーダーを使用するユーザーに伝える方法について考えてみます。
2年前
記事のアイキャッチ画像
React.memo でメモ化したコンポーネントはモック関数が使えない
azukiazusa のテックブログ2
テストにおいて子コンポーネントをモックしたい場合には通常のテストと同様に jest.mock() を使います。しかし、React.memo() でメモ化したコンポーネントはモック自体には成功するものの、mockImplementation のようなモック関数が使えません。
2年前
記事のアイキャッチ画像
Document Picture in Picture で任意の要素を Picture in Picture する
azukiazusa のテックブログ2
Document Picture-in-Picture は、`` 要素に限らず任意の要素を PiP できるようにする提案です。これにより、動画以外の要素を PiP できるようになります。主なユースケースとして、カスタムのメディア・コントロールを使用したり、プレイリストとともに動画を PiP することが挙げられます。
2年前
記事のアイキャッチ画像 +
スナップショットテストとアサーションテスト
azukiazusa のテックブログ2
この記事では、スナップショットテストとアサーションテストの違いを説明します。また、それぞれのアプローチでテストを書いたときのメリットとデメリットを見ていき、どちらのアプローチを採用すべきか考えていきます。
2年前
記事のアイキャッチ画像
pnpm でパッケージにパッチを当てる
azukiazusa のテックブログ2
`pnpm patch` コマンドを使うと、依存パッケージのコードを直接書き換えることができます。
2年前
記事のアイキャッチ画像
aria-label を使いすぎない
azukiazusa のテックブログ2
aria-label 属性はコンテンツに対してアクセシブルな名前を与えるために使用します。aria-label 属性を使用する代表例として、中身がアイコンのボタンがあげられます。aria-label 属性は手軽に使えますが、できる限り一般的な形式でテキストを提供することが望ましいです。
2年前
記事のアイキャッチ画像
スクリーンリーダーに配慮したテキスト表記
azukiazusa のテックブログ2
文字を機械的に判断するスクリーンリーダーでは、人間の目によって判断できる文字について異なる解釈をするおそれがあります。そのような場合、利用者に正しい文章の意図を伝えられません。スクリーンリーダーに配慮したテキストの表記法を紹介します。
2年前
記事のアイキャッチ画像
ポップオーバー API で JavaScript を使わずにポップアップを表示する
azukiazusa のテックブログ2
+Chrome 114 から追加されたポップオーバー API を使うと、JavaScript を使わずに簡単にポップアップを表示することができます。
2年前
記事のアイキャッチ画像
Vue.js でジェネリックコンポーネントを使う
azukiazusa のテックブログ2
Vue.js 3.3 から `` 構文を使用してコンポーネントを記述する際に、型引数を指定することができるようになりました。TypeScript で関数に型引数を指定するのと同じように、コンポーネントの props の型を指定することができます。
2年前
記事のアイキャッチ画像
GIF アニメーションの使用を控える
azukiazusa のテックブログ2
技術記事を書く際に、GIF アニメーションを使用することがあるかと思います。しかし、GIF アニメーションを使用することはアクセシビリティ上問題となります。この記事では、GIF アニメーションを使用することを避けるべき理由を説明します。
2年前
記事のアイキャッチ画像
+list-style: none スタイルを指定した ul 要素には list ロールを指定すべき
azukiazusa のテックブログ2
WAI-ARIA における role 属性を使用する際のプラクティスとして、暗黙のロールを明示しないというものがあります。しかし、`` 要素は暗黙のロールとして `list` ロールを持っていますが、明示的に `list` ロールを宣言するべきです。
2年前
記事のアイキャッチ画像
Vitest のブラウザテスト
azukiazusa のテックブログ2
Vitest は実験的な機能として、ブラウザモードをサポートしています。ブラウザテストは Node.js 上で jsdom を用いてテストを実効するよりも信頼性の高い方法ですが、テストのセットアップに時間がかかるといったデメリットも存在します。
2年前
記事のアイキャッチ画像
Next.js の Server Actions について
azukiazusa のテックブログ2
Next.js の Server Actions はサーバーサイドのデータのミューテーション、クライアント JavaScript の削減、プログレッシブエンハンスメントなフォームを実現します。
2年前
記事のアイキャッチ画像
SvelteKit のフォーム操作
azukiazusa のテックブログ2
SvelteKit のフォームは Web 標準の機能のみで完結しています。つまり、クライアントサイドでは JavaScript を一切使用せずにサーバーにデータを送信できるのです。さらに、JavaScript を利用できる環境であるならばリッチなユーザー体験を追加できます。例えば、フォームを送信した後ページ全体の再読み込みを行わずに、フォームの送信結果を表示することができたり、バリデーションメッセージを即座に表示できたりします。
2年前
記事のアイキャッチ画像
Array.prototype.with() とは
azukiazusa のテックブログ2
+`Array.prototype.with()` は、非破壊的に配列の要素を置き換えるためのメソッドです。非破壊的とは、元の配列を変更せずに新しい配列を返すということです。`arr` に対して `with()` を実行しても、`arr` は変更されず、新しい配列のコピーが返されます。
2年前
記事のアイキャッチ画像
Tailwind CSS のダークモードで System, Light, Dark を切り替える
azukiazusa のテックブログ2
ダークモードの設定では、OS の設定と同期させるか、ライトモードまたはダークモードに手動で切り替えるかの 3 つの選択肢が用意されていることがあります。手動でライトモードとダークモードを切り替える場合に比べて、OS の設定を自動で反映できるメリットがあります。
2年前
記事のアイキャッチ画像
Next.js の Interception Routes について
azukiazusa のテックブログ2
Intercepting routes は Next.js 13.3 から追加された機能で、App Router(app ディレクトリ)において使用できます。Intercepting routes ではブラウザの URL を遷移先のものに上書きしつつ、現在のレイアウトに新しいページを表示できます。これは例えば Instagram のように、ユーザーのプロフィールから写真をクリックすると、写真をモーダルを開き、ページを更新したり共通したりするとデフォルトのレイアウトで表示する場合などに便利です。
2年前
記事のアイキャッチ画像
Cloudflare Workers のためのフルスタックツールキット Superflare を試してみた
azukiazusa のテックブログ2
Superflare は Cloudflare Workers 用のフルスタックツールキットです。D1 Database 向けの ORM や R2 Storage 向けのユーティリティなどの機能を提供しています。Superflare 自体はフレームワークを謳っておりません。実際に、Superflare は Remix、Next.js、Nuxt.js などのフレームワークと組み合わせることで効果を発揮します。
2年前
記事のアイキャッチ画像
HTML の仕様に search 要素が追加された
azukiazusa のテックブログ2
HTML Standardに新しい``要素が追加された。これまで、ARIAには``に相当するHTML要素がなかったため、``しか代替要素がなかった。新たに``要素を使用することにより、WAI-ARIA を使用せずともsearchランドマークを定義できるようになった。通常、``要素は少なくとも1つの入力要素を含んでおり、検索を開始するためのボタンもあることが期待されている。
2年前
記事のアイキャッチ画像
ChatGPT3 で出力の形式を固定したい場合には例を提示してあげるとよさそう
azukiazusa のテックブログ2
ChatGPT は毎回異なる出力を返すことがあるため、APIやアプリ開発にとって不都合が生じる。そこで、出力の例を提示することで固定した形式の回答を得やすくすることができる。提示するためのプロンプトは区切り文字を使用して区切ることが推奨され、回答は通常、「例」に基づいた形式で得られる。
2年前
記事のアイキャッチ画像
TypeScript で網羅性をチェックする
azukiazusa のテックブログ2
+パターンマッチを備えている言語では、コンパイル時に網羅性が検査され、網羅的でない場合にはコンパイルエラーとなります。例えば Rust では match 式は網羅性を検査します。列挙型が取りうる値をすべて網羅していない場合にはコンパイルエラーとなります。TypeScript にはパターンマッチがないため、網羅性の検査は行われません。ですが、TypeScript では `never` 型を利用することで網羅性の検査を行うことができます。
2年前
記事のアイキャッチ画像
SvelteKit で環境変数を使う
azukiazusa のテックブログ2
SvelteKit プロジェクトは Vite を使用しているので、`import.meta.env` から環境変数を参照できます。単に環境変数を参照するだけならば十分です。ですが SvelteKit により提供されている環境変数の仕組みを使用すると、型安全に環境変数を参照できる、公開してはいけない値をクライアントから参照できなくなるなどのメリットを得られます。 +
2年前
記事のアイキャッチ画像
React は javascript スキームを使った XSS を防ぐことができない
azukiazusa のテックブログ2
React を使用していた場合に引き起こす可能性がある XSS 脆弱性の例として、javascript スキームを使った XSS があります。この記事では、javascript スキームを使った XSS についての説明とその対策について紹介します。
2年前
記事のアイキャッチ画像
Web アプリケーションエンジニアのためのウェブアクセシビリティの基礎
azukiazusa のテックブログ2
ウェブアプリケーションエンジニアを対象に、アクセシビリティの対応について解説した記事。アクセシビリティを向上させるためには、正しいHTMLの書き方が必要である。HTML要素には、アクセシビリティに関する機能が元々備わっているため、適切なHTMLを選択し使用することが大切だ。複雑なUIの場合はWAI-ARIAを使用し、ARIA Authoring Practices Guideに基づき適切に実装する必要がある。UIライブラリ選びの際には、WAI-ARIAに従った実装を行っているかが基準の1つとなる。
2年前
記事のアイキャッチ画像
TypeScript + ESModules の開発環境をシュッと作る
azukiazusa のテックブログ2
ほぼ設定なしで TypeScript + ESModules の開発環境をシュッと作る時のレシピです。
2年前
記事のアイキャッチ画像
React Hook Form で Zod を使う時の 5 つパターン
azukiazusa のテックブログ2
React Hook Form で Zod を使用する時によくあるバリデーションのパターンを 5 つ紹介します
2年前
記事のアイキャッチ画像
SvelteKit でページ遷移時のプログレスバーを表示する
azukiazusa のテックブログ2
SPA で画面遷移をする場合、MPA の場合と違い、ブラウザがローディングの表示を行ってくれません。リンクをクリックしてから画面遷移が完了するまで何も表示されないので、ユーザーからすると何も反応していないように感じてしまいます。 SPA で画面遷移した時にプログレスバーを表示したい場合には NProgress が最適です。コンパクトな JavaScript ライブラリでフレームワークを選ばず利用できます。この記事では SvelteKit で NProgress を使用する方法を紹介します。
2年前
+記事のアイキャッチ画像
アクセシビリティに考慮したツールチップを実装する
azukiazusa のテックブログ2
ツールチップとは、ある要素に対する補足情報を与える UI です。通常ある要素に対してマウスホバーまたはキーボードでフォーカスした時少しのディレイの後に、ユーザーの操作によらず自動的にポップアップして表示されます。このポップアップはユーザーの操作をブロッキングするものではありません。ユーザーがマウスのホバー外すかフォーカスが外れた場合にツールチップは非表示となります。
2年前
記事のアイキャッチ画像
+focus() メソッドで CSS の :focus-visible 擬似クラスが適用されるかどうかは最後の操作によって異なる
azukiazusa のテックブログ2
:focus-visible 擬似クラスはユーザーの入力方法によって異なるフォーカス表示をしたい時に便利です。この擬似クラスはキーボード操作によりフォーカスされた場合に適用されますが、マウス操作によりフォーカスした場合には適用されません。 それでは、JavaScript の focus()メソッドによりフォーカスされた場合には、`:focus-visible` 擬似クラスは適用されるのでしょうか?実はこれは最後 `focus()` メソッドが呼ばれる前に要素にフォーカスがあったかどうかにより異なります。
2年前
記事のアイキャッチ画像
テストコード内では条件分岐を書かないようにする
+azukiazusa のテックブログ2
誰でも読める愚直なコードであることの 1 つの目安として、テストコードの中に if 文や三項演算子などの条件分岐が入り込んでいていないことが上げられます。if 文が存在するコードはアンチパターンであるといえます。実際に if 文がテストコードの中に入り込んだ例を見てみましょう。
2年前
記事のアイキャッチ画像
無効にしたボタンにフォーカスさせたいときには aria-disabled を使う
azukiazusa のテックブログ2
+例えばフォームの項目になにか入力されるまで、送信ボタンを無効にしたい状況があるかと思います。このような場合には `` に `disabled` 属性を与えることでフォームの送信を無効にできます。`disabled` 属性はデフォルトでコントロールを無効にする一般的に期待されるすべての機能を提供するため、多くの場合はこの属性を使用するべきです。しかし `disabled` 属性には 1 つ問題点が存在します。それは Tab キーによるフォーカスができなくなるという点です。
2年前
記事のアイキャッチ画像
単体テストの単位はコードではなく振る舞いである
azukiazusa のテックブログ2
+単体テストの目的は、ソフトウェア開発プロジェクトを持続可能なものにすることです。この目的を達成するための単体テストの機能の 1 つにリファクタリングに対する耐性が上げられます。これは内部のコードを変更した前後でも、外部の振る舞いから見た振る舞いが壊れていないことを保証してくれる度合いです。この耐性が高ければ、開発者は安全にコードを変更できます。 この記事では、単体テストをコード単位で書いた場合と振る舞い単位で書いた場合をそれぞれ提示して、リファクタリングに対する耐性がどのように異なるのかを見ていきます。
2年前
記事のアイキャッチ画像
今すぐできる Web アクセシビリティ改善
azukiazusa のテックブログ2
+アクセシビリティの対応は、要件定義段階から設計したりなど大変そうなイメージはあります。実際に本格的に対応するにはどの達成基準を目標にするか決めたり、入念なテストが必要になるなど確かに一朝一夕で対応できるわけではないでしょう。 ですが、完璧な対応を目指すのではなく、少しづづ改善できるところから進めることこともできます。実際にやってみると、簡単な HTML や CSS のコードの修正でもよい改善を得られたりします。 この記事では比較的低コストで実践入門できるアクセシビリティの改善を紹介します。
2年前
記事のアイキャッチ画像
Web フロントエンドの実装において本来の機能を損なってはいけない
azukiazusa のテックブログ2
+データの取得・ルーティング・フォームの値の管理に至るまで JavaScript で制御するようになった結果、本来備わっていた機能を損なう形で実装されるような間違いが起きるケースも発生してしまいました。見た目上操作に不都合がないのですが、修飾キーが有効でなかったりと、とある要素が当然に持っているべき機能が失われていることがよくあります。
2年前
記事のアイキャッチ画像
Satori + SvelteKit で OGP 画像を自動生成する
azukiazusa のテックブログ2
Satori とは Vercel が公開している OGP 画像生成ライブラリです。OGP 画像を表示したい場合、記事ごとに対応する OGP 画像が必要になるわけで、新しい記事を投稿するたびに新たな画像を生成しなければいけません。都度画像を生成する手間は取れないわけで、このOGP 画像を生成する工程を自動化する仕組みが必要となります。Satori は記事のタイトルなどをもとに動的 OGP 画像を生成するユースケースのために使用できます。
2年前
記事のアイキャッチ画像
TailwindCSS のダークモードでページ読み込み時に一瞬ライトモードで表示されてしまうときの対応法
azukiazusa のテックブログ2
ユーザーの OS の設定や LocalStorage の値をもとにダークモードかどうか判定する場合、コンテンツが読み込まれる前にスクリプトの実行が完了している必要があります。
2年前
記事のアイキャッチ画像
Pa11y CI でアクセシビリティテストを GitHub Actions で実行する
azukiazusa のテックブログ2
Pa11y とは Web Content Accessibility Guidelines (WCAG) をベースに HTML のアクセシビリティを検査するツールです。適合レベル AA を対象にテストします。Pa11y にはいくつかの種類がありますが、その中でも Pa11y CI は CI 上で実行することにフォーカスしています。
2年前
記事のアイキャッチ画像
モノレポで GitHub Actions の jest coverage report を動かす
azukiazusa のテックブログ2
jest coverage reportは GitHuba Actions のワークフローの1つで Jest で実行したテストのコードカバレッジをプルリクエスト上にコメントしてくれます。 この記事では yarn workspaces 使用して作成したモノレポ構築のレポジトリで jest coverage report を動かしてみます。
2年前
記事のアイキャッチ画像
TypeScript 4.9 で in 演算子による型の絞り込みが改善された
azukiazusa のテックブログ2
+TypeScript において `in` 演算子を `unknown` 型に対して使用した際の挙動が改善されました。
2年前
記事のアイキャッチ画像
React Router の defer で重要なデータを先に描画する
azukiazusa のテックブログ2
あるページの中で重要ではない付随的なデータの取得を待たずに、重要なデータの取得が完了したタイミングでページを表示させたい場合があります。例えば、ブログの記事のページを遷移する場合、ユーザーにとって記事のコンテンツは重要なデータですが、それに付随するコメントやいいねの数はそれほど重要ではないので、それらのデータの取得を待つ必要がありません。 この記事では React Router の loaderを使用して重要なデータの完了のみを待機する方法を試してみます。
2年前
記事のアイキャッチ画像
【React】アクセシビリティに考慮したタブを実装する
azukiazusa のテックブログ2
タブとは、ページ内でコンテンツを切り替えるために使用する UI です。タブ初期表示ではいずれか一つのタブパネルが表示されており、関連するタブがアクティブなスタイルで表示されます。それぞれのタブには関連するタブパネルがあり、タブを選択することで表示されるタブパネルがタブに関連するものに切り替わります。
2年前
記事のアイキャッチ画像
【React】アクセシビリティに考慮したアコーディオンを実装する
azukiazusa のテックブログ2
アコーディオンは見出しであるヘッダーとコンテンツであるパネルから構成された UI が垂直に積み重ねられたセットです。ユーザーはヘッダーをクリックすることで、ヘッダーに関連付けられたパネルの表示・非表示を切り替えることができます。 アコーディオンは1つのページ内で複数のセクションのコンテンツを表示する際に、スクロールを減らすためによく 使用されます。例えば、「よくある質問」のようなページで使われていることを見たことがあるかと思います
2年前
記事のアイキャッチ画像
【React】アクセシビリティに考慮したリストボックスを実装する
azukiazusa のテックブログ2
リストボックスにアクセシビリティ上求められる要件を確認した後に、React で実際に要件に従った実装をおこないます。
2年前
記事のアイキャッチ画像
Qwik City でブログアプリを作る
azukiazusa のテックブログ2
Qwik City は Qwik のメタフレームワークです。React における Next.js、Vue.js における Nuxt.js のような関係と同等です。
2年前
記事のアイキャッチ画像
イベントのバブリングは DOM ツリーではなく React ツリーに従う
azukiazusa のテックブログ2
イベントのバブリングとは、ある要素で発生したイベントがその親要素まで伝播することです。React でポータルを使用した場合、DOM ツリー状親子関係でなかったとしても、React ツリー上親子関係であればイベントがバブリングされます。
2年前
記事のアイキャッチ画像
【React】state のリフトダウンパターン
azukiazusa のテックブログ2
React において不要な再レンダリングを避けるためのいくつかのパターンを紹介します
2年前
記事のアイキャッチ画像
Jest で beforeunload イベントをテストする
azukiazusa のテックブログ2
beforeunload イベントをテストする方法を紹介します
2年前
記事のアイキャッチ画像
CSS 擬似クラス「:focus-within」
azukiazusa のテックブログ2
:focus-within は CSS の擬似クラスであり、その要素または子孫要素にフォーカスがある場合に一致します。
2年前
記事のアイキャッチ画像
アクセシブルなダイアログに必要なこと
azukiazusa のテックブログ2
ダイアログをアクセシビルに実装するための要件を確認しましょう。
2年前
記事のアイキャッチ画像
Sanitizer API で HTML を安全に使用する
azukiazusa のテックブログ2
ユーザーが入力した情報をそのまま表示するとクロスサイトスクリプティング(XSS)脆弱性につながる問題があることはよく知られています文字列の無害化はこのようにライブラリの実装に頼っている状況でしたが、WING により Sanitizer API という仕様が策定されました。Sanitizer API により外部ライブラリの依存無しで XSS の対策が可能となります。
2年前
記事のアイキャッチ画像
Hono + Cloudflare Workers で REST API を作ってみよう
azukiazusa のテックブログ2
Hono は TypeScript/JavaScript のシンプルな Web フレームワークです。Hono という名前は日本語の「炎」に由来します。 Hono の特徴としては以下の点が挙げられています。 - ウルトラファスト - 依存関係なし - ミドルウェア - TypeScript - マルチプラットフォーム
2年前
記事のアイキャッチ画像
Fetch Upload Streaming でチャットアプリを作ってみる
azukiazusa のテックブログ2
Fetch Upload Streaming とは、ブラウザの JavaScript の POST リクエストで HTTP のストリーミングを行える機能です。より具体的には、Fetch API の `body` に ReadableStream を渡せるようになります。
2年前
記事のアイキャッチ画像
AngularJS のチュートリアルを React にリプレイスしてみた③
azukiazusa のテックブログ2
それではいよいよ、AnguarJS のルーティングモジュールである `ngRoute` を置き換えましょう。この置き換えが完了したら AngularJS を完全に取り除くことができます。
2年前
記事のアイキャッチ画像
AngularJS のチュートリアルを React にリプレイスしてみた②
azukiazusa のテックブログ2
AngularJS のチュートリアルを React にリプレイスします。今回の記事では AngularJS のコンポーネントをすべてリプレイスして、angular-resorce の代わりに API クライアントを実装します。
3年前
記事のアイキャッチ画像
AngularJS のチュートリアルを React にリプレイスしてみた①
azukiazusa のテックブログ2
AngularJS のチュートリアルを React にリプレイスします。
3年前
記事のアイキャッチ画像
pnpm は npm と何が違うのか
azukiazusa のテックブログ2
pnpm は npm、yarn と並ぶ JavaScript のパッケージマネージャーです。pnpm と言う名前は「performant npm」に由来します。
3年前
記事のアイキャッチ画像
MSW の実践活用例
azukiazusa のテックブログ2
msw の実践で活用する例を紹介します
3年前
記事のアイキャッチ画像
Volar で Vuetify2.x の補完を効かせる
azukiazusa のテックブログ2
Volar + Vuetify 2.x を利用する場合、型定義ファイルを作成してグローバルコンポーネントを定義する必要があります。
3年前
記事のアイキャッチ画像
【TypeScript】Zod でスキーマ宣言とバリデーションを実施する
azukiazusa のテックブログ2
[Zod](https://github.com/colinhacks/zod) は TypeScript first でスキーマ宣言とバリデーションを実施するためのライブラリです。 一度バリデータを宣言すれば、Zod が自動的に TypeScript の型を推論してくれるという特徴があります。このおかげで重複した型宣言を排除できます。 また、Zod はエコシステムも多く存在しており、OpenApi、Nest.js、Prisma、react-hook-form などと組み合わせて使うことができます。
3年前
記事のアイキャッチ画像
おまえら禁じられたインデックスアクセスを平気で使ってんじゃねえか!わかってんのか?『ランタイムエラー』が生まれたのは人間がコンパイラオプションに甘えたせいだろうがよ!
azukiazusa のテックブログ2
TypeScript 4.1 から noUncheckedIndexedAccess オプションが追加されました。このオプションは上記のような配列のアクセスやオブジェクトのプロパティのアクセスをより厳密にします。 具体的には、配列に対するインデックスアクセスやインデックスシグネチャを通じたプロパティのアクセスは常に `undefined` とのユニオン型となります。
3年前
+記事のアイキャッチ画像
Deno Web フレームワーク Fresh チュートリアル
azukiazusa のテックブログ2
Fresh は Deno 製の Web フレームワークです。事前のビルドを必要せず、エッジでレンダリングを提供するという特徴があります。また、Islands Architecture を採用しており、デフォルトではクライアントに JavaScript が配信されることがありません。
3年前
記事のアイキャッチ画像
Atomic CSS エンジン - UnoCSS
azukiazusa のテックブログ2
UnoCSS はフレームワークではなく、Atomic CSS エンジンです。全ては柔軟性とパフォーマンスを考慮して設計されています。UnoCSS にはコアユーティリティはなく、すべての機能はプリセットで提供されます。
3年前
記事のアイキャッチ画像
Vue 向けの Vite 製の UI コンポーネントカタログツール Histoire
azukiazusa のテックブログ2
Histoireはフランス語で「Story」という意味の単語であり、Storybook のように UI コンポーネントのカタログを作成するツールです。Vite にネイティブ対応、Vue の SFC 形式で Story を書けるといった特徴があります。
3年前
記事のアイキャッチ画像
Jest Preview がけっこーすごい
azukiazusa のテックブログ2
Jest Preview とは Jest で実行中のテストに debug() 関数を仕込むことで、実行中のテストが作成した HTML をブラウザでプレビューしながらデバッグできるライブラリです。
3年前
記事のアイキャッチ画像
Playwright でコンポーネントテスト
azukiazusa のテックブログ2
Playwright は E2E テストのための Node.js フレームワークです。v1.22.0 から React,Vue.js,Svelte のコンポーネントに対してテストを実行できるようになりました。つまりもともと備えていた E2E レベルのテストに加えて、結合レベルのテストまでカバーできるようになったということです。
3年前
記事のアイキャッチ画像
Tailwind CSS ベースの UI フレームワークという選択肢
azukiazusa のテックブログ2
+この記事を読んでいるみなさんも、Vuetify や MUI のような UI フレームワークを使用したことがあるでしょう。これらの UI フレームワークは Web アプリケーションでよく使われる UI パーツを非常に高機能で提供しており、多大な工数の削減に貢献しています。 その一方で、細かなスタイルの調整に手間取り余分に時間を取られ苦労を経験している方も多いのではないでしょうか?
3年前
記事のアイキャッチ画像
Node.js の標準 API にテストランナーが追加された
azukiazusa のテックブログ2
JavaScript のテストランナーといえば、Jest がデファクトスタンダードと言えるでしょう。最近は Vitest と呼ばれる新たなテストランナーも登場していますが、しばらくは Jest が使われ続けられることでしょう。 そんな中、Node.js 18 から標準 API としてテストランナーが組み込まれました。まだ実験的な機能ではありますが、サードパーティのライブラリを使用せずに扱えることもあって注目を集めています。
3年前
記事のアイキャッチ画像
Rust の魅力に感じた点
azukiazusa のテックブログ2
最近は [Rust](https://www.rust-lang.org/) と呼ばれるプログラミング言語を趣味として触っています。[SWC](https://swc.rs/) や [Rome](https://rome.tools/) のように Rust で作成されたフロントエンドツールが増えていることから興味を持ったのですが、実際に触ってみて Rust が高い人気を誇る理由がよく分かるようになりました。 この記事では私が Rust を触ってみて魅力に感じた点を列挙していきます。
3年前
記事のアイキャッチ画像
markuplint で構文チェックを始めよう
azukiazusa のテックブログ2
HTML の構文チェックを実施するには適切なツールを導入するのがよいでしょう。この記事では markuplint と呼ばれる HTML の静的解析ツールを紹介します。markuplint は JSX(React),Vue,Svlete のようなテンプレートエンジンにも対応しています。
3年前
記事のアイキャッチ画像
Node.js のバージョン管理には Volta がよい
azukiazusa のテックブログ2
皆さん Node.js のバージョン管理ツールには何を使っておりますでしょうか?上記の中でも私がオススメするのは [volta](https://volta.sh/) です。volta は 1.0 がリリースされたのが2020年12月と比較的新しいツールです。
3年前
記事のアイキャッチ画像
npm workspace で始めるモノレポ生活
azukiazusa のテックブログ2
workspace は複数のパッケージ(`package.json`)をレポジトリを管理するために使用されます。このようなレポジトリは**モノレポ**として知られています。
+
3年前
記事のアイキャッチ画像
君は return と await return の違いを理解して使っているか
azukiazusa のテックブログ2
`Promise` を返す非同期関数を扱う時 `Promise` をそのまま返す書き方と `Promise` を `await` してから返す二通りの方法があります。これらは一見同じように動作するように見えますが異なる点が存在します。
3年前
記事のアイキャッチ画像 +
import type { ... } from "./module" とは何者何か
azukiazusa のテックブログ2
TypeScript のプロジェクトにおいて `import type { ... } from "./module"` という記述を見たことはないでしょうか? これは Type-Only imports and export と呼ばれる機能で TypeScript3.8 より導入されました。これは名前の通りモジュールから型情報のみをインポートするために使用されます。これは通常の利用用途ではあまり考慮する必要はないのですが、特定の問題に立ち向かうために利用されることがあります。
3年前
記事のアイキャッチ画像
+anonymous default export はやめたほうがいいかもね
azukiazusa のテックブログ2
`anonymous default export` とは名前の通り匿名でデフォルトエクスポートを宣言することです。必ず名前を付与しなければいけない名前付きエクスポートと異なり、以下はすべて有効な構文です。
3年前
記事のアイキャッチ画像
msw でリクエストを検証する方法
azukiazusa のテックブログ2
msw 使ってテストを記述した時期待したリクエストが送信されているのか検査したくなるかもしれません。リクエストを検証する方法と、それを回避する方法を紹介します。
3年前
記事のアイキャッチ画像
Storybook 単体でインタラクションテストを実施する
azukiazusa のテックブログ2
Storybook の Component Story Format 3.0 では新機能として play() 関数が追加されました。 `play()` 関数は Storybook 上で ユーザーのインタラクションな操作を表現することができます。 以前は composeStories() 関数により Storybook 上で作成したストーリーを Jest で再利用する方法を書いたのですが、どうやら Storybook のみで完結してテストを実行することができるようですのでこちらを試してみます。
3年前
記事のアイキャッチ画像
Web フロントエンドエンジニアなら当然 Rust も書けますよね??
azukiazusa のテックブログ2
本記事では Yew を利用して Web アプリケーションを作成してみたいと思います。Yew は React や Vue などと同じくコンポーネントベースのフレームワークでインタラクティブな UI を作成できます。
3年前
記事のアイキャッチ画像
Q:v-for の key に 配列のインデックスを使うのは犯罪ですか?#Shorts
azukiazusa のテックブログ2
+結論: - `v-for` ディレクティブに渡す配列要素が決して変わらないことがわかっているのであれば使っても良い。 - `id` 属性を持っているのであれば常に `id` 属性を `key` に使用するべき。
3年前
記事のアイキャッチ画像
Q:TypeScript の関数の返り値の型を明示的に書かないのは犯罪ですか?#Shorts
azukiazusa のテックブログ2
TypeScript において関数の返り値の型は推論させることは可能ですが、これはコードベース全体に意図しない型の変更による影響が広がる可能性があります。
3年前
記事のアイキャッチ画像
Node.js に fetch がやってきた
azukiazusa のテックブログ2
Node.js で fetch が使えるようになる
3年前
記事のアイキャッチ画像
アクセシビリティを自動で検査する仕組みを整える
azukiazusa のテックブログ2
様々な方法でアクセシビリティを自動で検査します
3年前
記事のアイキャッチ画像
Storybook の interaction testing と jest を組み合わせる
azukiazusa のテックブログ2
Storybook の Component Story Format 3.0 では新機能として `play()` 関数が追加されました。 `play()` 関数は Storybook 上で ユーザーのクリックやフォーム入力のようなインタラクションな操作を表現することができます。 `play()` 関数の大きな特徴としては Component Story Format の移植性の高さを利用して Storybook 上で定義したインタラクションを `Jest` など他の領域においても再利用できることです。
3年前
記事のアイキャッチ画像
Vite だと require() が使えないよ〜
azukiazusa のテックブログ2
皆様はすでにプロジェクトに Vite は導入されていらっしゃいますでしょうか?私はできていません。 Vite はフロントエンドのビルディングツールであり、従来の Webpack 等と比較して高速に動作するといった特徴があります。Vue.js を開発した Evan You 氏によって開発ツールではありますが Vue.js に限らず React や Svelte にも対応しています。
3年前
記事のアイキャッチ画像
フロントエンドのテストのモックには msw を使うのが最近の流行りらしい
azukiazusa のテックブログ2
最近のテスト手法として API コールをモックする際に Jest ではなく [Mock Service Worker](https://mswjs.io/) (以下 `msw` )を使用する手法が注目されています。実施にどのように使用されているのか見ていきましょう。
3年前
記事のアイキャッチ画像
【Vue.js】ref vs reactive
azukiazusa のテックブログ2
+さて、そんな Compositon API ですがリアクティブなデータを定義する際に `reactive` と `ref` の2つの方法が用意されています。 `reactive` と `ref` どちらを使用するのがよいのか公式からも推奨する方法がありませんので、どちらを使用するべきか迷ってしまうところです。 `reactive` と `ref` のそれぞれのメリット・デメリットを確認してみましょう。
3年前
記事のアイキャッチ画像
Vitest と呼ばれるテスティングフレームワークがめちゃくちゃ早いらしいな
azukiazusa のテックブログ2
Vitest は Vite ベースの JavaScript のテスティングフレームワークです。
3年前
記事のアイキャッチ画像
Vuetify 3 Alpha の主な変更点
azukiazusa のテックブログ2
[Vuetify](https://vuetifyjs.com/) は Vue.js で多く使われている UI コンポーネントです。現在のバージョンは Vue 3 には対応していません。 現在 Vue 3 に対応する Alpha 版の Vuetify 3 が公開されています。開発スケジュールは以下のとおりになっています。
3年前
記事のアイキャッチ画像
Nuxt3 の新しい機能いろいろ
azukiazusa のテックブログ2
現在 Nuxt.js は バージョン3がパブリックベータ版として提供されています。 Nuxt.js が 2 → 3 に移行するにあたってたくさんの新機能が追加されました。
3年前
記事のアイキャッチ画像
CSS で印刷用のスタイルを設定できる
azukiazusa のテックブログ2
+大抵のブラウザでは Web ページを印刷することができます。 しかし Web ページをそのまま印刷しようとすると改ページがおかしくなったりレイアウトがおかしくなってしまうことがあるでしょう。そもそも Web ページはディスプレイで表示することを目的としているので印刷には不向きなものです。 とはいえ Web ページを印刷したいというニーズは少なからずあるとは思います、そのようば場合には `@media print` などのような印刷用の CSS を利用することで見た目を整えることができます
3年前
記事のアイキャッチ画像
フォーカストラップとは? 〜アクセシブルなモーダル〜
azukiazusa のテックブログ2
フォーカストラップ(またはループ)とは、ウェブページをキーボードで操作する際にフォーカスをとある領域からはみ出さないようにすることです。フォーカス可能な要素を抽出してその中をループすることで実現ができます。 登場シーンとしてはモーダルで使われることが多いです。実際に例を交えて確認してみましょう。
3年前
記事のアイキャッチ画像
Webpack5 Module Federation ではじめるマイクロフロントエンド
azukiazusa のテックブログ2
Webpack5 の Module Federation を使用してマイクロフロントエンドを作成します。
3年前
記事のアイキャッチ画像
Youtube すごい裏ワザ!!!
azukiazusa のテックブログ2
Tab キーでページを操作した時のみ表示される「ナビゲーションをスキップ」は一般にスキップリンクと呼ばれるものであり、ウェブアクセシビリティのガイドライン (W3C 勧告) である WCAG 2.0にあるブロックスキップと呼ばれる達成基準を達成する方法として上げられています。
3年前
記事のアイキャッチ画像
npm の人気パッケージ 「coa」と「rc」にマルウェアが埋め込まれた
azukiazusa のテックブログ2
+2021/11/5 npm パッケージ 「coa」と「rc」がハイジャックされ、パスワードを盗むマルウェアが埋め込まれました。現在の時点では問題のあったバージョンはすべて取り除かれています。
3年前
記事のアイキャッチ画像
ボックスモデル
azukiazusa のテックブログ2
CSS にはボックスという概念があります。ブラウザは文書をレイアウトする際に、それぞれの要素を CSS のボックスモデルに基づいた長方形の箱(ボックス)として表現します。つまりは、HTMLの個々の要素はすべてボックスにからできており、それらのボックスが組み合わさることによってページ全体が表現されます。 ボックスは CSS において最も基本的な概念であり、ボックスを理解することは CSS でレイアウトを構成したり要素同士を揃えるための手助けとなることでしょう。
3年前
記事のアイキャッチ画像
【TypeScript】type-challenges 中級編
azukiazusa のテックブログ2
[type-challengs](https://github.com/type-challenges/type-challenges) の medium レベルをやります。
3年前
記事のアイキャッチ画像
【TypeScript】type-challenges で学ぶ高度な型
azukiazusa のテックブログ2
type-challengesを知っていますか? これは TypeScript の型についての問題集で、問題文の条件を満たす独自のユーティリティ型を作るチャレンジです。いわゆる「型パズル」ってやつですね。 問題の回答はPlayground上で行えるので実際に手を動かしながら問題を解くことができます。型パズルを通じてTypeScript の高度な型について学んでいきましょう。
3年前
記事のアイキャッチ画像
lodash-es lodash 違い
azukiazusa のテックブログ2
+[lodash-es](https://www.npmjs.com/package/lodash-es) とは [lodash](https://lodash.com/) を `ES module` 形式で提供しているライブラリです。
3年前
記事のアイキャッチ画像
Q: TypeScript を使っているのに関数の引数のオブジェクトや配列に `readonly` を付与しないのは犯罪ですか? #Shorts
azukiazusa のテックブログ2
質問来てた👉 Q: TypeScript を使っているのに関数の引数のオブジェクトや配列に `readonly` を付与しないのは犯罪ですか? 結論:犯罪になる場合がある。 まず、配列の引数に `readonly` を付与しておけば以下の利点を得られます。 - うっかり関数の内部で引数の値を変更してしまうコードを書いてしまったときにコンパイルエラーが得られる - 関数の利用者が安心して関数を呼び出せる
3年前
記事のアイキャッチ画像
【Vue.js】script setup 構文がすごくすごい
azukiazusa のテックブログ2
Vue.js 3.x から script setup 構文が使えるようになりました。これは単一ファイルコンポーネント(SFC)内で Composition API を使用している際に使える糖衣構文です。下記のようなメリットを得ることができ、公式からも使用が推奨されています。
3年前
記事のアイキャッチ画像
+Vuex 5 でどのように変わるのか。
azukiazusa のテックブログ2
現在リリースされている最新のバージョンは Vuex 4 です。 これは Vuex 3 と互換性のあるバージョンで Vue 3 で使用するためのものであり、 Vuex 3 と同じ API となっています。 Vuex 5 は Vue 3 において Composition API による Reactivity API が登場したことにより Reactivitty API によってどのように Vuex をどうさせるか再考されたバージョンとなっています。
3年前
記事のアイキャッチ画像
【Vue3.2】styleタグ内でJavaScript変数をバインドできる
azukiazusa のテックブログ2
+Vue.js3.2からは、JavaScriptの変数をCSS変数としてバインドできるようになりました。 つまりは、CSSの値を動的に設定できるということです。 ものは試しのやってみましょう。
3年前
記事のアイキャッチ画像
Vue2のプロジェクトをVue3へマイグレーションsする
azukiazusa のテックブログ2
Vue 3が正式リリースされてから約1年が経過しました。 Vuetifyのリリース目標である2021年Q3も近づく中でそろそろVue3へのアップデートを検討されている方もいらっしゃることでしょうか? この記事ではVue 2からVue 3への移行手順を記述していきます。
3年前
記事のアイキャッチ画像
【Vue.js】Mixinを使うのはもうやめよう
azukiazusa のテックブログ2
禁止まで言ってしまうとなんだか強い言葉のように聞こえてしまいますが、mixinは基本的にあまり良いアプローチとは考えられません。 実際に、Reactにも過去にはMixinが存在していましたが現在は廃止されています。
3年前
記事のアイキャッチ画像
あの日見たaxiosの機能を僕達はまだ知らない。
azukiazusa のテックブログ2
+axiosは、JavaScriptにおけるHTTPクライアントのデファクトスタンダードといえるでしょう。 Promiseベースで非同期通信を行えるHTTPクライアントとして、ブラウザ標準のfatchやjQuery.ajaxなどがありますが、特にaxiosがよく使われているのには豊富なオプションや設定に理由付けられるでしょう。 axiosの機能について私のように詳しくなくても直感的にHTTPリクエストを送れるのも良い点の1つですが、せっかくなのでaxiosでどのようなことができるのがを見ていきましょう。
3年前
記事のアイキャッチ画像
VuetifyのテーマをCSS変数として使用する
azukiazusa のテックブログ2
VuetifyのテーマをCSSの変数として生成して使用します。
3年前
記事のアイキャッチ画像
青春JSDocはTypeScript先輩の夢を見ない
azukiazusa のテックブログ2
時には、TypeScriptという概念が存在しない退屈な世界で開発を行わなけらばならない状況はあるでしょう。私はもはやキーボードでタイピングすることすらままなりません。 そんなJavaScriptしか利用できない状況で代替手段となるのが、JSDocです。JSDocのアノテーションによって型を付与することによって最低限の支援を受けることができます。
3年前
記事のアイキャッチ画像
【TypeScript】型定義をする際にもDRY原則を守る
azukiazusa のテックブログ2
DRY原則は非常に有名な原則ですし、普段から特に考えずとも自然と重複をさけるようなコードを書いている方も多いことでしょう。 とはいえ、TypeScriptにおいて`interface`や`type`などを用いて型定義を行う際に重複した型定義を行ってしまうことはないでしょうか? TypeScriptには型定義をする際に重複を抑える手段は確かに存在します。そのようないくつかの方法を紹介します。
4年前
記事のアイキャッチ画像
Jest setTimeout()のようなでタイマー関数をテストする
azukiazusa のテックブログ2
+JavaScriptには、setTimeout()のような時間に関する便利な機能が用意されています。しかし、これらの関数はユニットテストを記述する際に厄介です。Jestのタイマーモックはこのような場合に利用できる便利な機能です。
4年前
記事のアイキャッチ画像
【TypeScript】型アノテーションと型アサーションの違い
azukiazusa のテックブログ2
型アノテーションと型アサーションによる変数宣言は、一見同じ結果ををもたらすように見えます。しかし、型アサーションには明確な欠点が存在します。
4年前
記事のアイキャッチ画像
+【mongoose】Cannot overwrite 'Model' model once compiled. エラーの直し方
azukiazusa のテックブログ2
mongooseで遭遇するCannot overwrite 'Model' model once compiled. エラーの解消方法です
4年前
記事のアイキャッチ画像
JSONオブジェクトのあれこれ
azukiazusa のテックブログ2
`JSON`オブジェクトはJavaScriptにおいて、JSONをパースしたり値をJSONに変換するためにもっぱら使われます。 普段使っている`JSON.stringify()`や`JSON.parse()`にはオプショナルな引数を渡すことによってその振る舞いを変更することができます。
4年前 +
記事のアイキャッチ画像
【JavaScript】Objectがプリミティブに変換されるとき
azukiazusa のテックブログ2
JavaScriptがプリミティブな値に変換されるとき、string型に変換されようとするか、number型に変換されようとするかで挙動が変化する
4年前
記事のアイキャッチ画像
ReactのErrorBoundaryで内部のエラーをキャッチする
azukiazusa のテックブログ2
Error Boundaryとは、自身の子コンポーネントツリーで発生したJavaScriptのエラーをキャッチ・記録しフォールバックのUIを表示するコンポーネントです。 例えるなら、`try/catch`構文を行うコンポーネントのようなものと言えます。
4年前
記事のアイキャッチ画像
仕事で役に立つかもしれないHTML5のマイナー要素
azukiazusa のテックブログ2
+HTMLは書いたことがありますか?プログラミング初心者が最初の一歩として書き出すのに好まれる言語ですが、セマンティクスを追求すると奥深い言語だとわかります。タグの種類も数多くあり、全てを把握している人はそう多くなないでしょう。 今回は、そんなHTMLの普段の仕事では余り見かけないであろう要素を紹介していきます。
4年前
記事のアイキャッチ画像
Nuxt Sentryでユーザーフィードバックを受け取る
azukiazusa のテックブログ2
Sentryでは、エラーが発生した際に簡単にユーザーフォードバックを求めるダイアログを表示することができます。 Nuxt.jsでは、エラーが発生した際には`layouts/error.vue`へ遷移させることでエラーページを表示するので、このエラーコンポーネントにダイアログを表示させる処理を書いていきます。
4年前
+記事のアイキャッチ画像
Node.js(Express)でcsvを生成してダウンロード
azukiazusa のテックブログ2
Node.js(Express)でCSVファイルを生成してダウンロードさせます。
4年前
記事のアイキャッチ画像
CKADにも合格した
azukiazusa のテックブログ2
+
開発者向けのK8sの試験であるCKADにも合格したので同様に合格体験記を記載したいと思います。 といっても、大枠の部分はCKAのときとあまり変わらないのでCKAと異なる部分を中心に記載したいと思います。
4年前
記事のアイキャッチ画像
Vue CLIで作成したプロジェクトをViteに置き換える
azukiazusa のテックブログ2
Viteは、一言でいうとフロントエンドのめっちゃ早いビルドツールです。Vue CLIで作成したプロジェクトをViteに置き換えるためにvue-cli-plugin-viteをというプラグインを使います。
4年前
記事のアイキャッチ画像
KubernetesのapiVersion
azukiazusa のテックブログ2
Kubernetesのマニフェストを作成するときには、`apiVersion`フィールドを指定する必要があります。 例えば`Pod`の場合には`v1`を、`Deployment`の場合には`apps/v1`を指定しますが、これらはどのようなルールで記述するのでしょうか。
4年前
記事のアイキャッチ画像
etcdのバックアップとリストア
azukiazusa のテックブログ2 +
etcdは、kubernetesのクラスターの情報を保存するkey-valueストアです。
4年前
記事のアイキャッチ画像
kubectl JSONpath
azukiazusa のテックブログ2
kubectlはアウトプットの形式としてJSONPathをサポートしています。
4年前
記事のアイキャッチ画像
Vue.jsでIE11対応
azukiazusa のテックブログ2
人生でときにはIE11に対応させなければいけない時があるでしょう。Vue.jsでIE11に対応しなけらばいけなくなったときに読むものを記載しておきます。
4年前
記事のアイキャッチ画像
e2eテスティングフレームワークCypress
azukiazusa のテックブログ2
Cypressは、JavaScript製のE2Eテスティングフレームワークです。 実行速度が早い、HTTPリクエストの実行を待つなどテストが壊れにくい仕組みが整っています
4年前 +
記事のアイキャッチ画像
Kubernetes Tips
azukiazusa のテックブログ2
知っていると時間を短縮できるようなkubectlコマンドのtipsです。
4年前
記事のアイキャッチ画像
Sassの基礎文法
+azukiazusa のテックブログ2
SassはCSSのメタ言語です。CSSに比べてコード量が減り、保守性が優れるといった開発体験を向上させてくれる特徴があります。
4年前
記事のアイキャッチ画像
Kustomizeとは
azukiazusa のテックブログ2
Kustomizeとは、Kuberbetsコミュニティのsig-cliが提供しているマニフェストのテンプレーティングツールです。環境ごとにマニフェストを生成したり特定のフィールドを上書きするといった機能が提供されています。
4年前
記事のアイキャッチ画像
KubernetesのパッケージマネージャーHelm
azukiazusa のテックブログ2
Helmは、Kubernetsのパッケージマネージャーです。 例えば、npmを利用して第三者が作成したパッケージをレポジトリで管理して検索・インストールするように、Helmではチャート(Chart)と呼ばれる設定ファイルをレポジトリで管理しています。
4年前
記事のアイキャッチ画像
Kubernetes用語集
azukiazusa のテックブログ2
仕事上kubernetesを学ぶ必要が出てきました。 筆者のレベルは、Docker・kubernetesの概念・必要性をやんわりと理解している状態です。 勉強をすすめる上で、わからない用語が次々と出てきたて頭の中がパンクしそうになったので、簡潔に随時まとめることとしました。
4年前
記事のアイキャッチ画像
DenoでREST API
azukiazusa のテックブログ2
この記事では、Denoを使い簡単なCRUD操作を行うREST APIを構築します。
4年前
記事のアイキャッチ画像
TailwindCSSでダークモード
azukiazusa のテックブログ2
昨今のアプリケーションでは、ダークモードを提供しているのがもはや当たり前になってきました。 OSのレベルでダークモードを設定することができ、ダークモードが提供されていないサイトは眩しく感じしてしまって敬遠してしまうなんて経験はあるのではないでしょうか? そんな一般化されたダークモードの提供をTailwind CSSで実装します。
4年前
記事のアイキャッチ画像
はじめてのGraphQL
azukiazusa のテックブログ2
GraphQLとは、Facebookが開発したAPI向けのクエリ言語です。RESTに変わるサーバーとクライアントの通信手段として注目を集めています。 リクエスト・レスポンスの型の定義ができる、フロント側から取得するデータを選択することができるなどの特徴があります。 GraphQL自体はSQLのようなクエリ言語としての位置づけなので、Java、Node.js、Ruby、JavaScript、Pythonなど様々な言語で利用することができます。
4年前
記事のアイキャッチ画像
Sapper + contentful + VercelのJamstackで高速なブログを構築する
azukiazusa のテックブログ2
+JamstackのJamはJavaScript/APIs/Markupの頭文字です。 従来の手法と比較して、高速化・堅牢なセキュリティ。より簡単なスケーラブル・開発体験の向上という特徴を持っています。実行時にAPIから取得したデータを動的にレンダリングせずに、ビルド時にAPIから取得して静的なHTMLとして出力されます。
4年前
記事のアイキャッチ画像
【Svelte + TypeScript + tailwindcss】本検索サイト チュートリアル
azukiazusa のテックブログ2
この記事でははSvelte + TypeScript + tailwindcssで本検索サイトを作成します。 Svelteを使ってアプリケーションを作成1から作成することができます。 以下のことが学べます。 - Svelteの基礎文法 - Svelteのルーティング - Svelteのストア HTML・CSS・JavaScriptの基礎的な理解がある人が対象です。 +
4年前
記事のアイキャッチ画像
Vue3 コンポーネントのテスト
azukiazusa のテックブログ2
コンポーネントのテストをするのフレームワークとしてJest、vue-test-utils 2を利用します。Vue2系をターゲットにしているvue-test-utils 1とは一部APIが異なります。
4年前
記事のアイキャッチ画像
TailWindCSSとは
azukiazusa のテックブログ2
TailWindCSSはBootStrap・Materialize CSSなどに代表するCSSフレームワークの一つです。 その特徴として、**Utility First**を掲げています。
4年前
記事のアイキャッチ画像
JavaScriptライブラリ Svelteとは
azukiazusa のテックブログ2
+Svelteとは、ReactやVue.jsのような宣言的UIライブラリの一種です。その最大の特徴は、ReactやVue.js・Angularと異なりSvelteはコンパイラであることを謳っているところです。Svelteによってコンパイルされたコードは、すべてVanilla JS - ネイティブのJavaScript- にで生成されます。 そのため、コンパイル後のファイルサイズも小さくパフォーマンス上での利点が期待されています。
4年前
記事のアイキャッチ画像
Firebase Functions https.onCall()トリガーでアプリから簡単に呼び出す
azukiazusa のテックブログ2
+Firebase Functionsとは、Firebaseの提供するサーバレスフレームワークです。HTTPSリクエストによって関数を実行したり、FireStore・Cloud Storage・AuthenticationのCRUDイベントをトリガーに関数を実行することができます。使用できる言語はJavaScript・TypeScriptに限られているというデメリットはあるものの、手軽にデプロイでき簡単にプロジェクトの他のFirebaseの機能と統合できるメリットがあります。
4年前
記事のアイキャッチ画像
JavaScript テストフレームワークのJestのモックがすごくすごい
azukiazusa のテックブログ2
Jestは、JavaScriptのシンプルなテスティングフレームワークです。ゼロコンフィグを謳っており、細かい設定なしに動作させることが可能です。 Jestの中でも特に強力な機能がモッキングです。Jestのモックを利用すれば、外部ライブラリであろうとモジュール外のオブジェクトを簡単にモック化することができます。 実際に、テストコードの例を見ていきましょう。
4年前
記事のアイキャッチ画像
Vue.js Composition APIでTODOアプリ作成
azukiazusa のテックブログ2
Vue3 Composition APIを使って、ハンズオン形式でTODOアプリを作成していきます。
4年前
記事のアイキャッチ画像
イマドキのJavaScriptの書き方
azukiazusa のテックブログ2
JavaScriptはES2015以降から言語自体が大きく変化しました。 ES2015以降も、毎年JavaScriptはアップデートが行われており、最新の使用はES2020となっています。 このように、JavaScriptという言語は日々進化を遂げています。ES2015より前の書き方の多くが非推奨となっており、過去のWebや本の情報は現在ではあまり役に立たなくなっています。 そんなJavaScriptのイマドキの書き方を見ていきましょう。
4年前
記事のアイキャッチ画像
すぐに使える!JavaScriptの華麗な配列操作
+azukiazusa のテックブログ2
JavaScriptで配列操作をする際には、まずはJavascriptが持つ配列のメソッドを眺めて見るとよいでしょう。JavaScriptはライブラリに頼らなくとも自前で高度な操作を可能にしてくれます。 組み込みの配列メソッドはたくさんありますが、その中で私がよく使うメソッドを紹介します。
4年前
記事のアイキャッチ画像
Go言語 テスト
azukiazusa のテックブログ2
Go言語の提供するテストはシンプルです。テストのために覚えることは多くはありません。 Go言語の単体テスト用の機能は`testing`という標準パッケージとして提供されています。ベンチマークやカバレッジ、標準出力のテストなどをカバーしています。 また、テストは`go test`コマンドによって実行されます。サードパーティのツールなどは必要ありません。まずはこの`testing`パッケージの内容を見ていきます。
4年前 +
記事のアイキャッチ画像
Go 言語 標準パッケージでHTTPサーバー
azukiazusa のテックブログ2
Go言語は、標準パッケージでHTTPサーバーと基本的なHTTPクライアントを提供します。 使用するのは、net/httpというパッケージです。
4年前
記事のアイキャッチ画像
Go言語 ポインター
azukiazusa のテックブログ2
Go言語には、ポインタがあります。 ポインタとは、メモリのアドレスのことです。アドレスは`0xc0000b4008`のような16進数で表されます。
4年前
記事のアイキャッチ画像
Go言語 構造体・インターフェース
azukiazusa のテックブログ2
構造体(Struct)とは、フィールドの集まりです。JavaScriptのオブジェクトよく似ており、データをまとめて1つの集まりの値として表現します。 例えば、座標を表すには緯度と経度がフィールドとして必要になるでしょう。緯度と経度をそれぞれ別の変数として宣言することはできますが、間違いが生じやすく面倒な処理になってしまいます。
4年前
記事のアイキャッチ画像
Go言語 コレクション(配列・スライス・マップ)
azukiazusa のテックブログ2
配列は決まった長さを持つ要素を並べた順序のあるコレクションです。 Go言語の配列は固定長になっており、宣言時に長さと要素型を指定します。 長さは後から変更することはできません。 Go言語の配列は柔軟性に欠けるため、実際にはあまり使用されません。可変長であるスライスがよく使われます。 マップはキーと値によって宣言されます。これは、連想配列のようなものです。
4年前
記事のアイキャッチ画像
Go言語 型・関数・メソッド
azukiazusa のテックブログ2
Go言語は静的型付け言語であり、全ての変数は何らかの型に属し、異なる型同士の演算といった問題点の多くはコンパイル時に検出されます。 関数の宣言にはfuncキーワードを使用します。関数の引数と戻り値には型を指定します。戻り値を複数持たせられる、戻り値に名前をつけることができるといった特徴があります。 クラスやオブジェクトはないですが、メソッドはあります。メソッドは型に紐付けられます。
4年前
記事のアイキャッチ画像
Go言語基礎文法
azukiazusa のテックブログ2
+Go言語(Golang)は、2009年にGoogleによって開発されたオープンソースの静的型付け、コンパイルされるプログラミング言語です。Go言語はコンパイルされるプログラミング言語です。 Go言語はシンプルで、信頼性が高く、効果的なソフトウェアを構築します。
4年前
記事のアイキャッチ画像
CSSの設計
azukiazusa のテックブログ2
今この文章を読んでいる人ならば、少なくともCSSには触れたことがあると思います。CSSはとても簡単に記述できますが、それゆえにCSSは「壊れやすい」のです。なぜCSSは壊れやすくなってしまうのでしょうか。CSSには「すべてがグローバルスコープ」「複雑化するWeb開発」といった問題点があげられます。そのような状態に対する解決策として、CSSの設計が誕生しました。
4年前
記事のアイキャッチ画像
Express + TypeScript + MondoDBでやる
azukiazusa のテックブログ2
Expressは、Node.jsのWebアプリケーションでもっとも利用されているフレームワークです。Expressは、HTTPによるWeb上の相互作用とNOde.jsプラットフォームの中間に位置するので、ある種のミドルウェアと言えます。 Expressを利用して、MVCモデルのアプリケーションを開発してみます。 データベースにはMongoDBを利用し、さらにTypeScriptで書いてみます。
5年前
記事のアイキャッチ画像
Node.js - サーバーサイドのJavaScript
azukiazusa のテックブログ2
Node.jsは、V8 Javascriptエンジン上に構築されたJavaScriptの実行環境です。サーバーサイドのJavaScript環境であり、非同期、イベント駆動といった特徴があります。
5年前
記事のアイキャッチ画像
Firebase④ Cloud FireStore - クエリ
azukiazusa のテックブログ2
Firebase4回目の記事です。 前回は、Firebaseにおける単一のドキュメントに対するCRUD操作までを取り扱いました。 今回は複数のコレクションから取得するためのクエリについて説明していきます。
5年前
記事のアイキャッチ画像
Denoとはなにか - 実際に使ってみる
azukiazusa のテックブログ2
Denoは、Node.jsの製作者であるRyan Dahlによって作られた、新しいJS/TSランタイムです。簡単に説明すると、Node.jsのイケてなかったところを改良したものがDenoになります。
5年前
記事のアイキャッチ画像
Firebase③ Cloud Storage
azukiazusa のテックブログ2
Firebase3週目の記事です。 今回は、主に画像などのデータを保存するストレージ機能を提供するCloud Storageを取り扱います。 Vue.jsを利用したブログにサムネイル画像を設定する機能をもとに説明していきます。
5年前
記事のアイキャッチ画像
JavaScript ECMAScriptとかBabelとか
azukiazusa のテックブログ2
JavaScript ECMAScriptとかBabelとか
5年前
記事のアイキャッチ画像
Firebase④ Cloud FireStore
azukiazusa のテックブログ2
Cloud FireStore(以下FireStore)とは、FireBaseの提供するドキュメント指向型 のNoSQLデータベースです。 NoSQLとしての特徴としてのスキーマレス、スケーラブルといった特徴のほかにリアルタイムアップデート、セキュリティルール、オフラインサポートといった独自の特徴を備えており、特にバックエンドを介さずにクライントサイドから直接操作できるという点が大きなポイントです。 また、β版から正式リリースされたのが2019年2月ということもあり、比較的新しい技術です。
5年前
記事のアイキャッチ画像
Firebase② Firebase Authentication
azukiazusa のテックブログ2
Firebase第二弾です。 Firebase Authenticationのメールアドレスによるログインと、FireStorageについて説明していきます。
5年前
記事のアイキャッチ画像
firebaseとは
azukiazusa のテックブログ2
+Firebaseは、Googleが提供するバックエンドサービスです。 Firebaseは、バックエンドのサービスを担ってくれるので、開発者はアプリケーションの開発に専念することができ、バックエンドで動くサービスを作成、管理する必要はありません。 そのため、素早くアプリケーションをリリースるることができます。 Firebaseは、iOS/AndroidアプリからWebサービスまで幅広く使えます。 認証、データベース、ストレージなどたくさんの機能が使用できます。
5年前
\ No newline at end of file diff --git a/blogs/f4c366dcaa496fa13d470ecddbb0ac5b/index.html b/blogs/f4c366dcaa496fa13d470ecddbb0ac5b/index.html new file mode 100644 index 000000000000..c3b650202f13 --- /dev/null +++ b/blogs/f4c366dcaa496fa13d470ecddbb0ac5b/index.html @@ -0,0 +1,30 @@ +Effective TypeScriptのフィード|JSer.info Watch List RSS

Effective TypeScript

フィード

記事のアイキャッチ画像
Item 74: Know How to Reconstruct Types at Runtime
Effective TypeScript
A fundamental part of TypeScript's design is that TypeScript types are erased at runtime. There's no way to access them. But inevitably, you'll want to do just that. This comes up most often when you want to validate that user input matches a TypeScript type. Faced with this problem, TypeScript developers often reach for Zod, a schema validation tool. But Zod has some downsides, and it's not the only solution to this conundrum. This sample item explores this problem and three possible solutions to it.
3ヶ月前
記事のアイキャッチ画像
Notes on TypeScript 5.6
Effective TypeScript
<p>We TypeScript developers are a lucky bunch. While some languages (<a href="https://en.wikipedia.org/wiki/History_of_Python">Python</a>, <a href="https://en.wikipedia.org/wiki/ECMAScript_version_history">JavaScript</a>) are released annually, every three years (<a href="https://en.wikipedia.org/wiki/C%2B%2B#Standardization">C++</a>) or even less, we get <em>four</em> new versions of TypeScript every year. TypeScript 5.6 was <a href="https://devblogs.microsoft.com/typescript/announcing-typescript-5-6/">released</a> on September 9th, 2024. Let&#39;s take a look.</p> +
4ヶ月前
記事のアイキャッチ画像
A keyof puzzle
Effective TypeScript
+<p><em>Effective TypeScript</em> is nearly 400 pages long, but I&#39;ve received the most feedback by far on just one passage. It comes in <a href="https://github.com/danvk/effective-typescript/blob/main/samples/ch-types/types-as-sets.md">Item 7: Think of Types as Sets of Values</a>:</p><blockquote><figure class="highlight ts"><table><tr><td class="code"><pre><code class="hljs ts">keyof (A&amp;B) = (keyof A) | (keyof B)<br>keyof (A|B) = (keyof A) &amp; (keyof B)<br></code></pre></td></tr></table></figure><p>If you can build an intuition for why these equations hold, you&#39;ll have come a long way toward understanding TypeScript&#39;s type system!</p></blockquote><p>I&#39;ll explain these equations in a moment. But before I do, head over to the <a href="https://www.typescriptlang.org/play/?#code/JYOwLgpgTgZghgYwgAgHJwLYQCYAUD2oYyA3gFDLIiYQBcyAzmFKAOYDcFyAHvSAK4YARtE6UAnn0EionAL5ki0eEmQEiAZgAipLryrTRXSQeFHKALylnZZBWQT4QTKjWwANAJoAtZAF5dSmosegByVAgAd2RPfCgAa1CAGj16AFoAdg0UiXoAFgAGHOQrZC +
5ヶ月前
記事のアイキャッチ画像
A TypeScripter's Take on Zig (Advent of Code 2023)
Effective TypeScript
<p>What can Zig learn from TypeScript, and what can TypeScript learn from Zig?</p>
7ヶ月前
記事のアイキャッチ画像
TypeScript 5.5: A Blockbuster Release
Effective TypeScript
+<p>We TypeScript developers are a lucky bunch. While some languages (<a href="https://en.wikipedia.org/wiki/History_of_Python">Python</a>, <a href="https://en.wikipedia.org/wiki/ECMAScript_version_history">JavaScript</a>) are released annually, every three years (<a href="https://en.wikipedia.org/wiki/C%2B%2B#Standardization">C++</a>) or even less, we get <em>four</em> new versions of TypeScript every year. TypeScript 5.5 was <a href="https://devblogs.microsoft.com/typescript/announcing-typescript-5-5/">released</a> on June 20th, 2024, and it was a real blockbuster. Let&#39;s take a look.</p>
7ヶ月前
Item 36: Use a Distinct Type for Special Values
Effective TypeScript
It's tempting to use <code>""</code>, <code>0</code> or <code>-1</code> as special values: an empty string might represent text that hasn't loaded yet, or <code>-1</code> could stand in for a missing number. In TypeScript, this is almost always a bad idea. Special values need to be handled specially, and giving them a distinct type, such as <code>null</code>, allows TypeScript to enforce that you do so.
8ヶ月前
記事のアイキャッチ画像
Now Available: Effective TypeScript, Second Edition
Effective TypeScript
Fully updated, thoroughly revised, now with 50% more book!
9ヶ月前
記事のアイキャッチ画像
The Making of a TypeScript Feature: Inferring Type Predicates
Effective TypeScript
<p>Over the past few months I became a TypeScript contributor and implemented a new feature, <a href="https://github.com/microsoft/TypeScript/pull/57465">type predicate inference</a>, that should be one of the headliners for TypeScript 5.5. This post tells the story of how that happened: why I wanted to contribute to TypeScript, the journey to implementing the feature and getting <a href="https://github.com/microsoft/TypeScript/pull/57465">the PR</a> merged, and what I&#39;ve learned along the way.</p><p>This is not a short read, but it will give you a good sense of what it&#39;s like to become a TypeScript contributor and develop a new feature.</p>
10ヶ月前
記事のアイキャッチ画像
Flow Nodes: How Type Inference Is Implemented
Effective TypeScript
<p>If a variable gets a type but no one looks at it, does it really get a type at all?</p><p>This post looks at how type inference is implemented in the TypeScript compiler. It's of some interest to anyone who uses TypeScript and is curious how it works, but it will be most relevant to developers who want to contribute to TypeScript itself.</p>
10ヶ月前
記事のアイキャッチ画像
The Hidden Side of Type Predicates
Effective TypeScript
Type guards are a powerful tool for improving TypeScript's built-in control flow analysis. This post looks at when it's appropriate to use a type predicate, and in particular what it means when a type predicate returns <code>false</code>.
1年前
記事のアイキャッチ画像
Effective TypeScript Talk at Etsy (Dec 2020)
Effective TypeScript
<p>Back in 2020 I gave a whole series of <a href="https://amzn.to/3UjPrsK"><em>Effective TypeScript</em></a> talks at companies that were interested in the language and the book. The talk that I gave at Etsy in December of 2020 was one of the most fun. It was recorded and is now available to watch. It&#39;s about an hour.</p>
1年前
記事のアイキャッチ画像
Don't Write Traditional Getter and Setter Methods in JavaScript and TypeScript
Effective TypeScript
<p>Getter and setter methods (<code>getFoo</code>, <code>setFoo</code>) are common in Java and considered a best practice. But they're a code smell that's best avoided in JavaScript and TypeScript because the problem they solve in Java does not exist in JS/TS. This post looks at what that problem is and how you can solve it in TypeScript without imposing the boilerplate of getters and setters.</p>
1年前
記事のアイキャッチ画像
Using infer to unpack nested types
Effective TypeScript
TypeScript's <code>infer</code> keyword can infer quite a bit more than you might expect. It's extremely effective at extracting types from the sort of nested structures that you might get from codegen or an API specification.
1年前
記事のアイキャッチ画像
Overload on the type of this to specialize generics (The Lost Item)
Effective TypeScript
I cut one item from Effective TypeScript during the final stages of editing. Four years later, it's time for it to see the light of day! It's a trick for specializing generic types for certain subtypes of their type parameters. This post shows how it works, why it's indispensible for wrapper types, and also explains why I cut it from the book.
1年前
記事のアイキャッチ画像
The Saga of the Closure Compiler, and Why TypeScript Won
Effective TypeScript
This post looks at the Closure Compiler, Google's tool from the mid-2000s for adding types to JavaScript. It looks at how its focus on minification led to very different design choices than TypeScript, and how this and a few other factors led to TypeScript becoming the ubiquitous solution for JavaScript + types. The Closure Compiler represents an alternative path that JavaScript could have taken, and it gives us perspective on TypeScript as it exists today.
1年前
記事のアイキャッチ画像
TypeScript and SQL: Six Ways to Bridge the Divide
Effective TypeScript
+If you develop server code with TypeScript, you'll inevitably come up against the question of how to interact with your database. There's lots of type information in your database (the structure of the tables) and it's not immediately clear how to share that type information between the DB and TypeScript.This post and its accompanying video present six ways to solve this problem and offer some advice gleaned from years of experience combining Postgres and TypeScript.
1年前
記事のアイキャッチ画像
Recommendation Update: ✂️ Use knip to detect dead code and types
Effective TypeScript
<p>TL;DR: Use <a href="https://github.com/nadeesha/ts-prune">ts-prune</a> is in maintenance mode. Use <a href="https://github.com/webpro/knip">knip</a> to find dead code instead. It&#39;s great!</p>
2年前
記事のアイキャッチ画像
Notes on TypeScript 5.1
Effective TypeScript
+<p>Every three months we get a new TypeScript release and <a href="https://devblogs.microsoft.com/typescript/announcing-typescript-5-1/">TypeScript 5.1</a> landed on June 1, 2023. This release has a few interesting new features, but by far the most noticeable changes are performance improvements and error message ergonomics. Let&#39;s take a look!</p>
2年前
記事のアイキャッチ画像
Item 30: Don’t Repeat Type Information in Documentation
Effective TypeScript
+<p><em>Chapter 4 of <a href="https://amzn.to/3HIrQN6">Effective TypeScript</a> covers type design: the process of crafting your types to accurately model your domain. This item has always been a favorite of mine because of how immediately actionable it is. When you review code, be on the lookout for violations!</em></p><p>What’s wrong with this code?</p><figure class="highlight ts"><table><tr><td class="code"><pre><code class="hljs ts"><span class="hljs-comment">/**</span><br><span class="hljs-comment"> * Returns a string with the foreground color.</span><br><span class="hljs-comment"> * Takes zero or one arguments. With no arguments, returns the</span><br><span class="hljs-comment"> * standard foreground color. With one argument, returns the foreground color</span><br><span class="hljs-comment"> * for a particular page.</span><br><span class="hljs-comment"> */</span><br><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">getForegroundColor< +
2年前
記事のアイキャッチ画像
A first look at Deno through the Advent of Code 2022
Effective TypeScript
+<p><img src="https://effectivetypescript.com/images/advent-of-code.png" title="Advent of Code Logo" width="64" height="64" style="float: right; margin-left: 10px;">Every year I do the <a href="https://adventofcode.com/">Advent of Code</a> in a different programming language. If you aren&#39;t familiar, it&#39;s an online coding competition with a new two-part problem every day from December 1st to the 25th. Thousands of programmers participate and share their solutions. It&#39;s a great way to learn a language and bond over coding. In <a href="https://danvdk.medium.com/python-tips-tricks-for-the-advent-of-code-2019-89ec23a595dd">2019</a> I used Python, in <a href="https://danvdk.medium.com/advent-of-code-2020-this-time-in-rust-7904559e24bc">2020</a> I used Rust and in <a href="https://effectivetypescript.com/2022/02/06/advent-of-code-2021-golang/">2021</a> I used Go. I also post an increasingly-belated writeup of my experience and impressions of the language so, at the end of April, h +
2年前
\ No newline at end of file diff --git a/blogs/f4f6ed778c9e3ff0945fee57818af326/index.html b/blogs/f4f6ed778c9e3ff0945fee57818af326/index.html new file mode 100644 index 000000000000..042396d96d6b --- /dev/null +++ b/blogs/f4f6ed778c9e3ff0945fee57818af326/index.html @@ -0,0 +1,101 @@ +Total TypeScriptのフィード|JSer.info Watch List RSS

Total TypeScript

https://www.totaltypescript.com

Learn how to use TypeScript to level-up your applications as a web developer through exercise driven self-paced workshops and tutorials hosted by TypeScript wizard Matt Pocock.

フィード

記事のアイキャッチ画像
Solving TypeScript Errors (tutorial)
Total TypeScript
TypeScript boosts productivity but faces pitfalls like type mismatches, null values, & puzzling errors. Learn to spot & solve these for swift progress.
1年前
記事のアイキャッチ画像
React with TypeScript (tutorial)
Total TypeScript
Get productive building applications with React and TypeScript with our interactive guide on React's types - from component props to useRef.
2年前
記事のアイキャッチ画像
Beginner's TypeScript (tutorial)
Total TypeScript
+Free interactive video tutorial that will help you get started with TypeScript.
2年前
記事のアイキャッチ画像
Zod (tutorial)
Total TypeScript
Zod is a TypeScript-first schema declaration and validation library. In this tutorial, Matt Pocock has prepared a set of exercises that will help you level up.
2年前
記事のアイキャッチ画像
Type Predicates (tip)
Total TypeScript
Understand how Type Predicates work in TypeScript, using an example of filtering a mixed array of elements.
1年前
記事のアイキャッチ画像
TypeScript 5.1 Beta is OUT! (tip)
+Total TypeScript
TypeScript 5.1 is out! With important updates to React Server Components and some small usability updates.
2年前
記事のアイキャッチ画像
How to Name your Types (tip)
Total TypeScript
How to name your types in TypeScript can be a tricky business. Matt takes you through his opinionated heuristics for how to decide.
2年前
記事のアイキャッチ画像
Don't use return types, unless... (tip)
Total TypeScript
When should you use return types in TypeScript? The use cases are narrower than you might think...
2年前
記事のアイキャッチ画像
TypeScript 5.0 Beta Deep Dive (tip)
Total TypeScript
TypeScript 5.0 beta brings a bunch of exciting features, including const annotations and decorators.
2年前
記事のアイキャッチ画像
Avoid unexpected behavior of React’s useState (tip)
Total TypeScript
React's useState can behave in slightly unexpected ways in TypeScript - sometimes giving you undefined when you least expect it.
2年前
記事のアイキャッチ画像
Understand assignability in TypeScript (tip)
Total TypeScript
I often find conditional types SUPER hard to read. Here's how to get a better mental model for assignability in TypeScript.
2年前
記事のアイキャッチ画像
Compare function overloads and generics (tip)
Total TypeScript
A simple function - returnWhatIPassIn - can be enough to stump many newbie TypeScript devs.
2年前
記事のアイキャッチ画像
Use infer in combination with string literals to manipulate keys of objects (tip)
Total TypeScript
Still struggling with infer? How about this - you can use it in combination with string literals to manipulate keys of objects.
2年前
記事のアイキャッチ画像
Access deeper parts of objects and arrays (tip)
Total TypeScript
Accessing object values and array members is MUCH more powerful in the type world than it is in the runtime world.
2年前
記事のアイキャッチ画像
Ensure that all call sites must be given value (tip)
Total TypeScript
This one little tip has saved me hours of refactoring time. Passing string | undefined instead of ?: string ensures that ALL call sites must be given a value.
2年前
記事のアイキャッチ画像
Understand how TypeScript infers literal types (tip)
Total TypeScript
This mental model is INCREDIBLY useful for all sorts of intermediate-advanced typings.
2年前
記事のアイキャッチ画像
Get a TypeScript package ready for release to NPM in under 2 minutes (tip)
Total TypeScript
If you're thinking about putting a TypeScript package up to NPM, you should be considering preconstruct.
2年前
記事のアイキャッチ画像
Use assertion functions inside classes (tip)
Total TypeScript
You can do some really, really neat stuff with assertion functions inside classes.
2年前
記事のアイキャッチ画像
Assign local variables to default generic slots to dry up your code and improve performance (tip)
Total TypeScript
+You can DRY up your generics code MASSIVELY (and improve perf) by assigning local variables to default generic slots.
2年前
記事のアイキャッチ画像
Know when to use generics (tip)
Total TypeScript
It can be hard to know when to reach for generics. I'll show you when you need them.
2年前
記事のアイキャッチ画像
Map over a union type (tip)
Total TypeScript
Mapping over a union type can feel tricky to conceptualise. But actually, TypeScript does it all for you - using Distributive Conditional Types.
2年前
記事のアイキャッチ画像
Make accessing objects safer by enabling 'noUncheckedIndexedAccess' in tsconfig (tip)
Total TypeScript
The "noUncheckedIndexedAccess" is the most awesome config option you've never heard of.
2年前
記事のアイキャッチ画像
Use generics to dynamically specify the number, and type, of arguments to functions (tip)
Total TypeScript
You can use generics to dynamically specify the number, and type, of arguments to functions.
2年前
記事のアイキャッチ画像
+Use 'declare global' to allow types to cross module boundaries (tip)
Total TypeScript
Globals in TypeScript?! 🤯 'declare global' is a super useful tool for when you want to allow types to cross module boundaries.
2年前
記事のアイキャッチ画像
Turn a module into a type (tip)
Total TypeScript
+Want to turn a module into a type? You can use typeof import('./') to grab the type of any module, even third-party ones.
2年前
記事のアイキャッチ画像
Create autocomplete helper which allows for arbitrary values (tip)
Total TypeScript
Ever wanted just a bit of autocomplete? Here, we create a TypeScript helper called LooseAutocomplete which allows arbitrary values.
2年前
記事のアイキャッチ画像
Use deep partials to help with mocking an entity (tip)
Total TypeScript
Deep partials are SUPER useful and not natively supported by TypeScript. Here, I use one to help with mocking an entity in a (imaginary) test file.
2年前
記事のアイキャッチ画像
Throw detailed error messages for type checks (tip)
Total TypeScript
Using a crazy trick I picked up from @AndaristRake, you can throw detailed error messages for type checks.
2年前
記事のアイキャッチ画像
Create a 'key remover' function which can process any generic object (tip)
Total TypeScript
Generics can be 'locked in' by function calls, meaning that generics can be 'curried' through functions.
2年前
記事のアイキャッチ画像
Use generics in React to make dynamic and flexible components (tip)
Total TypeScript
You can use generics in React to make incredibly dynamic, flexible components. Here, I make a Table component with a generic 'items' type.
2年前
記事のアイキャッチ画像
+Create your own 'objectKeys' function using generics and the 'keyof' operator (tip)
Total TypeScript
The looseness of Object.keys can be a real pain point when using TypeScript. It's pretty simple to create a tighter version using generics and keyof operator.
2年前
記事のアイキャッチ画像
+Write your own 'PropsFrom' helper to extract props from any React component (tip)
Total TypeScript
Type helpers change the game when it comes to types in your codebase. They help TypeScript infer more from your code - and make your types a lot more readable.
2年前
記事のアイキャッチ画像
Use 'extends' keyword to narrow the value of a generic (tip)
Total TypeScript
+
The 'extends' keyword is very powerful in TypeScript. Here, I use it to narrow the value of a generic to enable some beautiful autocomplete/inference.
2年前
記事のアイキャッチ画像
Use function overloads and generics to type a compose function (tip)
Total TypeScript
+Function overloads can be used in conjunction with generics to make incredibly complex and dynamic type signatures.
2年前
記事のアイキャッチ画像
Decode URL search params at the type level with ts-toolbelt (tip)
Total TypeScript
TypeScript's string interpolation powers are incredible, especially since 4.1. Add some utilities from ts-toolbelt, and you've got a stew going.
2年前
記事のアイキャッチ画像
Use 'in' operator to transform a union to another union (tip)
Total TypeScript
Transform a union to another union, using the in operator as a kind of for-loop. This pattern can be used for almost any kind of transformation.
2年前
記事のアイキャッチ画像
Derive a union type from an object (tip)
Total TypeScript
Learn how to derive a union type from an object - an incredibly useful switcheroo that's at the heart of most TS magic out there.
2年前
記事のアイキャッチ画像
TypeScript 5.8 Ships --erasableSyntaxOnly To Disable Enums (article)
Total TypeScript
TypeScript 5.8's new erasableSyntaxOnly flag enforces pure type annotations by disabling enums, namespaces, and parameter properties.
15日前
記事のアイキャッチ画像
Node.js Now Supports TypeScript By Default (article)
Total TypeScript
+TypeScript is coming to Node 23. Let's break down what that means.
1ヶ月前
記事のアイキャッチ画像
This Crazy Syntax Lets You Get An Array Element's Type (article)
Total TypeScript
Learn how to extract the type of an array element in TypeScript using the powerful `Array[number]` trick.
5ヶ月前
記事のアイキャッチ画像
How To Create An NPM Package (article)
Total TypeScript
Learn how to publish a package to npm with a complete setup including, TypeScript, Prettier, Vitest, GitHub Actions, and versioning with Changesets.
6ヶ月前
記事のアイキャッチ画像
Why I Don't Like Enums (article)
Total TypeScript
Enums in TypeScript can be confusing, with differences between numeric and string enums causing unexpected behaviors.
6ヶ月前
記事のアイキャッチ画像
Is TypeScript Just A Linter? (article)
Total TypeScript
Is TypeScript just a linter? No, but yes.
7ヶ月前
記事のアイキャッチ画像
Announcing: A Free Book, A New Course, A Huge Price Cut... (article)
Total TypeScript
It's a massive ship day. We're launching a free TypeScript book, new course, giveaway, price cut, and sale.
7ヶ月前
記事のアイキャッチ画像
Sometimes, Object Property Order Matters (article)
Total TypeScript
Learn why the order you specify object properties in TypeScript matters and how it can affect type inference in your functions.
8ヶ月前
記事のアイキャッチ画像
How To Use Corepack (article)
Total TypeScript
Learn how to use `corepack` to configure package managers in Node.js projects, ensuring you always use the correct one.
8ヶ月前
記事のアイキャッチ画像
How To Strongly Type process.env (article)
Total TypeScript
Learn how to strongly type process.env in TypeScript by either augmenting global type or validating it at runtime with t3-env.
10ヶ月前
記事のアイキャッチ画像
`any` Considered Harmful, Except For These Cases (article)
Total TypeScript
Discover when it's appropriate to use TypeScript's `any` type despite its risks. Learn about legitimate cases where `any` is necessary.
10ヶ月前
記事のアイキャッチ画像
No, TypeScript Types Don't Exist At Runtime (article)
Total TypeScript
Learn why TypeScript's types don't exist at runtime. Discover how TypeScript compiles down to JavaScript and how it differs from other strongly-typed languages.
10ヶ月前
記事のアイキャッチ画像
+This Pattern Will Wreck Your React App's TS Performance (article)
Total TypeScript
Improve React TypeScript performance by replacing type & with interface extends. Boost IDE and tsc speed significantly.
1年前
記事のアイキャッチ画像
Deriving vs Decoupling: When NOT To Be A TypeScript Wizard (article)
Total TypeScript
+In this book teaser, we discuss deriving vs decoupling your types: when building relationships between your types or segregating them makes sense.
1年前
記事のアイキャッチ画像
NoInfer: TypeScript 5.4's New Utility Type (article)
Total TypeScript
Learn how TypeScript's new utility type, NoInfer, can improve inference behavior by controlling where types are inferred in generic functions.
1年前
記事のアイキャッチ画像
Build a Node App with TypeScript (article)
Total TypeScript
Learn how to set up TypeScript to bundle a Node app using pnpm, Node.js, TypeScript, and ES Modules for a seamless development experience.
1年前
記事のアイキャッチ画像
Type Predicate Inference: The TS 5.5 Feature No One Expected (article)
Total TypeScript
TypeScript 5.5 introduces type predicate inference from function bodies, simplifying type narrowing and making development easier.
1年前
記事のアイキャッチ画像
You Can't Make Children "Type Safe" in React & TypeScript (article)
Total TypeScript
+
Learn why it's not possible to restrict the type of children in React components with TypeScript.
1年前
記事のアイキャッチ画像
Make Your Functions More Reusable With Generics (article)
Total TypeScript
Learn how to make TypeScript functions more flexible and type-safe by using type parameters instead of using 'any'. Improve code reusability and safety.
1年前
記事のアイキャッチ画像
How To Type Array.reduce (article)
Total TypeScript
Learn how to handle errors when using Array.reduce to transform arrays into objects in TypeScript. Fix the error by annotating types or using type arguments.
1年前
記事のアイキャッチ画像
How let and const Work In TypeScript (article)
Total TypeScript
Whether you use let or const in TypeScript affects whether or not their values can be changed, and how TypeScript infers them.
1年前
記事のアイキャッチ画像
How To Pass Types To Functions (article)
Total TypeScript
Learn how to use typescript generics to pass types in constructs like Array and Set.
1年前
記事のアイキャッチ画像
When 'as never' Is The Only Thing That Works (article)
Total TypeScript
In TypeScript, the `as never` type assertion is occasionally needed when dealing with unions of functions with incompatible parameter types.
1年前
記事のアイキャッチ画像
Method Shorthand Syntax Considered Harmful (article)
Total TypeScript
Using the method shorthand syntax for function annotations in TypeScript can result in runtime errors. It is recommended to use object property syntax instead.
1年前
記事のアイキャッチ画像
How To Use forwardRef With Generic Components (article)
Total TypeScript
Learn about the limitations of React's `forwardRef` TypeScript and discover a solution to enable inference on generic components.
1年前
記事のアイキャッチ画像
The TypeScript 5.3 Feature They Didn't Tell You About (article) +
Total TypeScript
TypeScript 5.3 introduces relaxed rules around readonly arrays and improvements in const type parameters.
1年前
記事のアイキャッチ画像
"Sorry, I Need A TypeScript Playground In Order To Help" (article)
Total TypeScript
Learn how to provide a TypeScript playground when asking for help with your TypeScript questions, making it easier for others to assist you.
1年前
記事のアイキャッチ画像
Event Types in React and TypeScript (article)
Total TypeScript
Learn how to work with events in React and TypeScript, from onClick to onSubmit.
1年前
記事のアイキャッチ画像 +
Build a Node App With TypeScript & ESBuild (article)
Total TypeScript
A step-by-step guide on setting up ESBuild to bundle a Node application.
1年前
記事のアイキャッチ画像
+Relative import paths need explicit file extensions in EcmaScript imports (article)
Total TypeScript
When using '--moduleResolution' with the option 'nodenext', it is necessary to add explicit file extensions to relative import paths in EcmaScript imports.
1年前
記事のアイキャッチ画像
Add TypeScript To An Existing React Project (article)
Total TypeScript
+Learn how to add TypeScript to your existing React project in a few simple steps.
1年前
記事のアイキャッチ画像
The TSConfig Cheat Sheet (article)
Total TypeScript
Learn the essential TypeScript configuration options and create a concise tsconfig.json file for your projects with this helpful cheatsheet.
1年前
記事のアイキャッチ画像
Are Big Projects Ditching TypeScript? (article)
Total TypeScript
Big projects like Svelte and Drizzle are not abandoning TypeScript, despite some recent claims.
1年前
記事のアイキャッチ画像
How to Pass a Component as a Prop in React (article)
Total TypeScript
Learn different ways to pass a component as a prop in React: passing JSX, using React.ComponentType, and using React.ElementType.
1年前
記事のアイキャッチ画像
Intro To TypeScript Performance (article)
Total TypeScript
+Learn about TypeScript performance and how it affects code type-checking speed, autocomplete, and build times in your editor.
1年前
記事のアイキャッチ画像
Strongly Typing React Props with TypeScript (article)
Total TypeScript
When typing React props in a TypeScript app, using interfaces is recommended, especially when dealing with complex intersections of props.
1年前
記事のアイキャッチ画像
How To Learn TypeScript In 2023 (article)
Total TypeScript
Learn TypeScript in 2023 with this step-by-step guide. Understand the basics, essential types, unions, and narrowing techniques.
1年前
記事のアイキャッチ画像
Override the Type of a JSON File (article)
Total TypeScript
Learn how to manually assign types to JSON imports in TypeScript by creating `.d.json.ts` files, which can greatly improve performance.
1年前
記事のアイキャッチ画像
What's Coming In TypeScript 5.3? (article)
Total TypeScript
+TypeScript 5.3 is in the works, with potential features including Import Attributes, throw expressions, isolated declarations, and more.
1年前
記事のアイキャッチ画像
Array<T> vs T[]: Which is better? (article)
Total TypeScript
When declaring array types in TypeScript, you can choose between `Array` and `T[]`. Both are identical, but there are some considerations to keep in mind.
1年前
記事のアイキャッチ画像
5 Ways to Use 'Satisfies' in TypeScript (article)
Total TypeScript
The `satisfies` operator in TypeScript allows for type annotations without sacrificing inference. Here's a few uses for it.
2年前
記事のアイキャッチ画像
6 Ways to Use Extract in TypeScript (article)
Total TypeScript
Learn how to use the `Extract` helper in TypeScript to extract specific members from a discriminated union or based on their shape.
2年前
記事のアイキャッチ画像
Explained: Cannot redeclare block-scoped variable (article)
+Total TypeScript
If you receive a "Cannot redeclare block-scoped variable 'name'" error in TypeScript, it can be resolved by renaming the variable or changing its scope.
2年前
記事のアイキャッチ画像
Type vs Interface: Which Should You Use? (article)
Total TypeScript
Learn the key differences between interfaces and type aliases in TypeScript, including their use cases and important features to consider.
+
2年前
記事のアイキャッチ画像
Why You Can't Use Dot Notation On Types (article)
Total TypeScript
In TypeScript, dot notation cannot be used to access type properties, but indexed access types provide more flexibility and are already available.
2年前
記事のアイキャッチ画像
Strongly Type useRef with ElementRef (article)
Total TypeScript
Using useRef with native elements in React can be confusing, but ElementRef provides an easier solution by extracting the element type.
2年前
記事のアイキャッチ画像
Explained: Cannot use JSX unless the '--jsx' flag is provided (article)
Total TypeScript
Learn how to fix the "Cannot use JSX unless the --jsx flag is provided" error in TypeScript by updating your tsconfig.json file.
2年前
記事のアイキャッチ画像
There Is No Such Thing As A Generic (article)
Total TypeScript
Understanding generics can be challenging because the term is overloaded. Instead, use the terms "type arguments" and "type parameters" for clarity.
2年前
記事のアイキャッチ画像
TypeScript Generics in 3 Easy Patterns (article)
Total TypeScript
What you think of as "generics" in TypeScript are actually three different patterns.
2年前 +
記事のアイキャッチ画像
How to Iterate Over Object Keys in TypeScript (article)
Total TypeScript
Iterating over object keys in TypeScript can be challenging. One option is casting to keyof typeof to access values, or using type predicates.
2年前
An `unknown` can't always fix an `any` (article)
Total TypeScript
Any `any` is a cause for concern because it disables type checking on the thing it's assigned to. This article explores the best way to avoid them in your code.
2年前
記事のアイキャッチ画像
+My advice for security-critical TS apps (article)
Total TypeScript
Matt Pocock shares his advice for working on TypeScript apps where security is critical.
2年前
記事のアイキャッチ画像
Four Essential TypeScript Patterns You Can't Work Without (article)
Total TypeScript
+This article discusses four of the most important patterns to know and use: Branded types, Globals, Assertion Functions & Type Predicates, and Classes.
2年前
記事のアイキャッチ画像
Optional Chaining for Assignments Lands in Stage 1 (article)
Total TypeScript
The optional chaining for assignments proposal has reached Stage 1, allowing assignment to possibly undefined object properties.
2年前
+
記事のアイキャッチ画像
Type Argument Placeholders: TypeScript's Most Discussed Upcoming Feature (article)
Total TypeScript
TypeScript introduces type argument placeholders in version 5.2, which helps with partial inference and lets the language infer types for a function.
2年前
記事のアイキャッチ画像
The Empty Object Type in TypeScript (article)
Total TypeScript
Learn why {} in TypeScript doesn't represent an empty object, and how to use the Record type to represent an empty object.
2年前
記事のアイキャッチ画像
TypeScript 5.2's New Keyword: 'using' (article)
Total TypeScript
TypeScript 5.2 introduces 'using', a keyword that disposes anything with a `Symbol.dispose` function upon leaving scope, making resource management easier.
2年前
記事のアイキャッチ画像
Get Keys of an Object Where Values Are of a Given Type (article)
Total TypeScript
Learn how to retrieve object keys where the values are of a specific type in TypeScript using an immediate indexed mapped type.
2年前
記事のアイキャッチ画像
How to Properly Type Window (article)
Total TypeScript
Learn how to fix TypeScript errors regarding the 'Window' interface. Choose between three solutions to add types to the Window object.
2年前
記事のアイキャッチ画像
Since TypeScript 5.1, React.FC is now "fine" (article)
Total TypeScript
React.FC is now perfectly fine to use in TypeScript 5.1 and React 18. It no longer implicitly includes children and accepts more return types.
2年前
記事のアイキャッチ画像
What is JSX.IntrinsicElements? (article)
Total TypeScript
Learn about JSX.IntrinsicElements in TypeScript - the global type that defines native JSX elements and their props. Used by frameworks like React.
2年前
記事のアイキャッチ画像
+Explained: 'React' refers to a UMD global (article)
Total TypeScript
Find out why this error occurs and learn how to fix it.
2年前
記事のアイキャッチ画像
React.ReactNode vs JSX.Element vs React.ReactElement (article)
Total TypeScript
Learn the differences between React.ReactNode and JSX.Element in TypeScript when working with React.
2年前
記事のアイキャッチ画像
Transform Any Union in TypeScript with the IIMT (article)
Total TypeScript
Since I first got into advanced TypeScript, I've been in love with a particular pattern.
2年前
記事のアイキャッチ画像
Where To Put Your Types in Application Code (article)
Total TypeScript
There are three rules to keep in mind when deciding where to put types in your application code.
2年前
記事のアイキャッチ画像
ComponentProps: React's Most Useful Type Helper (article)
+Total TypeScript
Discover the power of ComponentProps in React and TypeScript.
2年前
記事のアイキャッチ画像
How to test your types (article)
Total TypeScript
Testing types is a crucial aspect of developing libraries in TypeScript. In this article, we explore three different ways to test your types.
2年前
記事のアイキャッチ画像
Everything you need to know about TypeScript 5.1 beta (article)
Total TypeScript
The TypeScript 5.1 beta is out - here's everything you need to know.
2年前
記事のアイキャッチ画像
Testing with TypeScript is Painful: Here's a Solution (article)
Total TypeScript
Testing code doesn't need to be typed so strictly, and sometimes tests need to pass the wrong type.
2年前
記事のアイキャッチ画像
Function types are weird in TypeScript (article)
Total TypeScript
+The article discusses why TypeScript does not throw an error when a function that is assigned to a variable doesn't match its type.
2年前
記事のアイキャッチ画像
Const type parameters bring 'as const' to functions (article)
Total TypeScript
TypeScript 5.0 introduces const type parameters which are useful in preserving the literal types of objects passed to functions.
2年前
記事のアイキャッチ画像
9 Ways to Use Exclude in TypeScript (article)
Total TypeScript
Exclude is a very powerful utility type that can be used in a variety of ways. In this article, I'll show you 9 ways to use it along with code examples.
2年前
記事のアイキャッチ画像
TypeScript Discriminated Unions for Frontend Developers (article)
Total TypeScript
Discriminated Unions make frontend development easier by representing the different application states and helping to make connections between data and UI.
2年前
記事のアイキャッチ画像
Clarifying the `satisfies` Operator (article)
Total TypeScript
Using the satisfies keyword is one of four ways to make type assignments in TypeScript. But when should you use it?
2年前
記事のアイキャッチ画像
Structure of a TypeScript Error (article)
Total TypeScript
Understand why TypeScript throws complicated errors by learning how to read them.
2年前
記事のアイキャッチ画像
Building the Mental Model for Generics (article)
Total TypeScript
Learn how to use TypeScript generics to improve code readability, type safety, and reduce repetitive code.
2年前
記事のアイキャッチ画像
When should you use Zod? (article)
Total TypeScript
Use Zod to validate unknown inputs in your app, whether it's a CLI or a public API, to ensure that data entering your app is safe.
2年前
記事のアイキャッチ画像
Writing string.replace in TypeScript (article)
Total TypeScript
+TypeScript's template literal syntax enables powerful string manipulation and transformation using unions, infer, and recursion.
2年前
記事のアイキャッチ画像
Rewriting TypeScript in Rust? You'd have to be... (article)
Total TypeScript
Donny (kdy1 on GitHub) is rewriting TypeScript in Rust hoping to speed up tsc which is slow due to its TypeScript base.
2年前
記事のアイキャッチ画像
Don't use Function type in TypeScript (article)
Total TypeScript
Learn why using `Function` as a function type is not recommended in TypeScript, and discover alternatives for expressing any function type.
2年前
記事のアイキャッチ画像
TypeScript Pro Essentials (workshop)
Total TypeScript
Learn TypeScript by setting up a pro environment, using advanced IDE features, and mastering type annotations, unions, object types, inference, and generics.
10ヶ月前
記事のアイキャッチ画像
Advanced React with TypeScript (workshop)
+Total TypeScript
Expert-level knowledge for typing your React apps with TypeScript.
2年前
記事のアイキャッチ画像
Advanced TypeScript Patterns (workshop)
Total TypeScript
Intermediate to advanced workshop: Boost app logic, type global scopes, and debug with external libraries.
2年前
記事のアイキャッチ画像
TypeScript Generics (workshop)
Total TypeScript
Master TypeScript's generics with exercises from basics to advanced, including conditional types and currying.
2年前
記事のアイキャッチ画像
Type Transformations (workshop)
Total TypeScript
Learn to manipulate types for cleaner, maintainable code with over 50 hands-on exercises, from string manipulation to advanced unions and mapped types.
2年前
\ No newline at end of file diff --git a/blogs/f5d9dec3dc3bf03d9b3049b109e60a1d/index.html b/blogs/f5d9dec3dc3bf03d9b3049b109e60a1d/index.html new file mode 100644 index 000000000000..77f92b04b180 --- /dev/null +++ b/blogs/f5d9dec3dc3bf03d9b3049b109e60a1d/index.html @@ -0,0 +1,18 @@ +The GitHub Blogのフィード|JSer.info Watch List RSS

The GitHub Blog

https://github.blog/

Updates, ideas, and inspiration from GitHub to help developers build and design software.

フィード

記事のアイキャッチ画像
From finding to fixing: GitHub Advanced Security integrates Endor Labs SCA
The GitHub Blog
+The partnership between GitHub and Endor Labs enables application security engineers and developers to drastically reduce time spent on open source vulnerabilities, and gives them the tools to go from finding to fixing.The post From finding to fixing: GitHub Advanced Security integrates Endor Labs SCA appeared first on The GitHub Blog.
15時間前
記事のアイキャッチ画像
GitHub Copilot: The agent awakens
はてなブックマークアイコン 91
The GitHub Blog
Introducing agent mode for GitHub Copilot in VS Code, announcing the general availability of Copilot Edits, and providing a first look at our SWE agent.The post GitHub Copilot: The agent awakens appeared first on The GitHub Blog.
2日前
記事のアイキャッチ画像
5 tips for promoting your open source project
はてなブックマークアイコン 1
The GitHub Blog
Three open source experts offer their advice on sharing open source projects with the world.The post 5 tips for promoting your open source project appeared first on The GitHub Blog.
2日前
記事のアイキャッチ画像
4 steps to building a natural language search tool
The GitHub Blog
Empowering humanitarian action with open source: A natural language search tool for UN Resolutions.The post 4 steps to building a natural language search tool appeared first on The GitHub Blog.
9日前
記事のアイキャッチ画像
Cybersecurity researchers: Digital detectives in a connected world
The GitHub Blog
Discover the exciting world of cybersecurity research: what researchers do, essential skills, and actionable steps to begin your journey toward protecting the digital world.The post Cybersecurity researchers: Digital detectives in a connected world appeared first on The GitHub Blog.
10日前
+
記事のアイキャッチ画像
Considerations for making a tree view component accessible
はてなブックマークアイコン 3
The GitHub Blog
A deep dive on the work that went into making the component that powers repository and pull request file trees.The post Considerations for making a tree view component accessible appeared first on The GitHub Blog.
11日前
記事のアイキャッチ画像
Open source AI is already finding its way into production
はてなブックマークアイコン 1
The GitHub Blog
Open source AI models are in widespread use, enabling developers around the world to build custom AI solutions and host them where they choose.The post Open source AI is already finding its way into production appeared first on The GitHub Blog.
11日前
+
記事のアイキャッチ画像
New to open source? Here’s everything you need to get started
The GitHub Blog
Explore our simple guide to finding projects, understanding guidelines, and making an impact.The post New to open source? Here’s everything you need to get started appeared first on The GitHub Blog.
15日前
記事のアイキャッチ画像
That’s a wrap: GitHub Innovation Graph in 2024
The GitHub Blog
Discover the latest trends and insights on public software development activity on GitHub with the release of Q2 & Q3 2024 data for the Innovation Graph.The post That’s a wrap: GitHub Innovation Graph in 2024 appeared first on The GitHub Blog.
16日前
記事のアイキャッチ画像
Attacks on Maven proxy repositories
The GitHub Blog
Learn how specially crafted artifacts can be used to attack Maven repository managers. This post describes PoC exploits that can lead to pre-auth remote code execution and poisoning of the local artifacts in Sonatype Nexus and JFrog Artifactory.The post Attacks on Maven proxy repositories appeared first on The GitHub Blog.
17日前
\ No newline at end of file diff --git a/blogs/f9a457421b07d0cddb3c4bc45f1d382c/index.html b/blogs/f9a457421b07d0cddb3c4bc45f1d382c/index.html new file mode 100644 index 000000000000..34d35e546134 --- /dev/null +++ b/blogs/f9a457421b07d0cddb3c4bc45f1d382c/index.html @@ -0,0 +1,15 @@ +typescript-eslint Blogのフィード|JSer.info Watch List RSS

typescript-eslint Blog

フィード

記事のアイキャッチ画像
+Avoiding `any`s with Linting and TypeScript
typescript-eslint Blog
How typescript-eslint expands on TypeScript's type safety to catch explicit and implicit `any`s.
18日前
記事のアイキャッチ画像
Typed Linting: The Most Powerful TypeScript Linting Ever
typescript-eslint Blog
+Explaining what linting with type information means, why it's so powerful, and some of the useful rules you can enable that use it.
4ヶ月前
記事のアイキャッチ画像
Announcing typescript-eslint v8
typescript-eslint Blog
Announcing the stable release of typescript-eslint's v8.
6ヶ月前
記事のアイキャッチ画像
Announcing typescript-eslint v8 Beta
typescript-eslint Blog
Announcing the release of typescript-eslint's v8 beta, including its changes and timeline.
8ヶ月前
記事のアイキャッチ画像
Changes to `consistent-type-imports` with Legacy Decorators and Decorator Metadata
typescript-eslint Blog
Changes to consistent-type-imports when used with decorators, experimentalDecorators, and emitDecoratorMetadata
10ヶ月前
記事のアイキャッチ画像
Announcing typescript-eslint v7
typescript-eslint Blog
+Announcing the release of typescript-eslint's stable v7 release
1年前
記事のアイキャッチ画像
Deprecating Formatting Rules
typescript-eslint Blog
We're following ESLint's lead in moving our formatting lint rules to the ESLint Stylistic project.
1年前
記事のアイキャッチ画像
Relative TSConfig Projects with `parserOptions.project = true`
typescript-eslint Blog
Simplifying how many projects resolve their
1年前
記事のアイキャッチ画像
Announcing typescript-eslint v6
+typescript-eslint Blog
Announcing the release of typescript-eslint's stable v6 release, including its changes and timeline.
2年前
記事のアイキャッチ画像
Announcing typescript-eslint v6 Beta
typescript-eslint Blog
Announcing the release of typescript-eslint's v6 beta, including its changes and timeline.
2年前
記事のアイキャッチ画像
Consistent Type Imports and Exports: Why and How
typescript-eslint Blog
Why enforcing TypeScript imports use the `type` modifier when possible benefits some project setups.
2年前
記事のアイキャッチ画像
+ASTs and typescript-eslint
typescript-eslint Blog
Describing what an AST (Abstract Syntax Tree) is and why it's useful for ESLint and TypeScript tooling.
2年前
記事のアイキャッチ画像
Automated Rule Docs With Docusaurus and Remark
typescript-eslint Blog
+How typescript-eslint generates much of the docs pages for each of its lint rules.
2年前
\ No newline at end of file diff --git a/blogs/f9b79f5756113d1d3248081e0b7a5d1c/index.html b/blogs/f9b79f5756113d1d3248081e0b7a5d1c/index.html new file mode 100644 index 000000000000..08b28eebadd1 --- /dev/null +++ b/blogs/f9b79f5756113d1d3248081e0b7a5d1c/index.html @@ -0,0 +1,34 @@ +一休.com Developers Blogのフィード|JSer.info Watch List RSS

一休.com Developers Blog

https://user-first.ikyu.co.jp/

一休のエンジニア、デザイナー、ディレクターが情報を発信していきます

フィード

記事のアイキャッチ画像
Jotai を使った Dependency 管理とテスト技法
一休.com Developers Blog
この記事は一休.com Advent Calendar 2024の23日目の記事です。 一休レストランのフロントエンドアーキテクトを担当してる恩田(@takashi_onda)です。 はじめに 先日の JSConf JP 2024 で「React への依存を最小にするフロントエンドの設計」という内容で登壇しました。 speakerdeck.com 発表では駆け足になってしまった、React への依存をしていない Vanilla JS 部分をどのように構成しているのかを、Dependency 管理とテストの文脈でご紹介したいと思います。 Dependency とは Dependency Inje…
2ヶ月前
記事のアイキャッチ画像
Cloud WorkflowsとCloud Tasksを使って日次のバッチ処理を作る
一休.com Developers Blog
宿泊システムのバッチ処理について(背景・課題) 新たに必要になったバッチ処理をどうやって作るか Cloud Workflows + Cloud Tasks を使ったバッチ処理 処理フロー Cloud Workflows Workflowsから外部APIを呼び出す APIのレスポンスをもとにCloud Tasksにエンキューする Cloud Tasks Web API リリース後の運用 Cloud Tasksのキュー設定の調整 異常終了時の検知を強化 まとめ おわりに 宿泊プロダクト開発部の田中(id:kentana20)です。 このエントリーは一休.com Advent Calendar 20…
2ヶ月前
記事のアイキャッチ画像
一休.com の情シス / コーポレートIT 変遷、6年を経てどう変わったのか +
一休.com Developers Blog
はじめに id:rotom です。社内情報システム部 兼 CISO室 所属で ITとセキュリティを何でもやります。 このエントリは 一休.com Advent Calendar 2024 16日目の記事です。昨日は id:naoya による TypeScript の Discriminated Union と Haskell の代数的データ型 でした。その他の素敵なエントリも以下のリンクからご覧ください。 qiita.com 2018年のアドベントカレンダーにて「一休における情シスの取り組み」を紹介させていただき、一定の反響をいただくことができました。 早いものであれからすでに6年が経過しまし…
2ヶ月前
記事のアイキャッチ画像
TypeScript の Discriminated Union と Haskell の代数的データ型
一休.com Developers Blog
この記事は 一休.com Advent Calendar 2024 の15日目の記事です。 予定より早く書き上げてしまったので、フライングですが公開してしまいます。 TypeScript の Discriminated Union (判別可能な Union 型) を使うと、いわゆる「代数的データ型」のユースケースを模倣することができます。一休のような予約システム開発においては「ありえない状態を表現しない」方針で型を宣言するためによく利用されています。 「あり得ない状態を表現しない」という型宣言の方針については以下の URL が参考になります。 Designing with types: Mak…
2ヶ月前
記事のアイキャッチ画像
Design Doc でチームを跨いだ開発を円滑に行う
一休.com Developers Blog
+この記事は 一休.com Advent Calendar 2024 7 日目の記事です。 宿泊事業本部 ユーザー向け開発チームの原です。 一休.com と Yahoo!トラベルの主にフロントエンドの開発を担当しています。 今回は、普段の開発でコードを書き始める前段階で Design Doc を作ることで、円滑な開発を進められるようになったというお話をします。 チーム構成について まず、前提を共有するために私達が普段どのような体制で開発しているかを説明します。 私が所属している宿泊事業本部 ユーザー向け開発チームは、一休.com と Yahoo!トラベルの主に toC のユーザー向けの機能開発を…
2ヶ月前
記事のアイキャッチ画像
永続データプログラミングと永続データ構造
一休.com Developers Blog
+この記事は 一休.com Advent Calendar 2024 の3日目の記事です。 昨今は我々一休のような予約システム開発においても、関数型プログラミング由来のプラクティスを取り入れる機会が増えています。 例えば、値はイミュータブルである方が扱いやすい、関数は副作用のない純粋関数にする方がテスタビリティなども含め何かと都合がよい、そういう場面では積極的に不変な値を使い、関数が冪等になるよう意識的に実装します。ドメインロジックを純粋関数として記述できると、堅牢で責務分離もしやすく、テストやデバッグもしやすいシステムになっていきます。 ところで「関数型プログラミングとはなんぞや」というのに明…
2ヶ月前
記事のアイキャッチ画像
一休.com Developers Blogの執筆環境2024
一休.com Developers Blog
+この記事は一休.com Advent Calendar 2024の1日目の記事です。 kymmtです。 当ブログ「一休.com Developers Blog」は、以前からはてなブログで運用しています。そして、今年からは執筆環境を少し改善しました。具体的には、GitHubを用いて記事の作成や公開ができるようにしました。 この記事では、当ブログの執筆環境をどのように改善し、ふだん運用しているかについて紹介します。 HatenaBlog Workflows Boilerplateの導入 従来は、執筆者が記事をローカルやブログ管理画面のエディタ上で書き、なんらかの方法でレビューを受け、公開するという…
2ヶ月前
記事のアイキャッチ画像
一休はRust.Tokyo 2024にゴールドスポンサーとして協賛します
一休.com Developers Blog
+kymmtです。 11/30に開催されるRust.Tokyo 2024に一休はゴールドスポンサーとして協賛します。 rust.tokyo 一休でのRustの活用 一休では一休.comレストランにおいてRustの活用を進めています。昨年に当ブログで活用の様子を紹介した際は、当時開発が進んでいたレストラン予約サービスWeb UIのバックエンドにおけるユースケースだけに触れていました。 user-first.ikyu.co.jp それから1年弱経過した現在では、Rust活用の場はさらに広がっており、Rustを書いているメンバーも増えてきています。 Rust.Tokyoのゴールドスポンサー 2024年…
2ヶ月前
記事のアイキャッチ画像
TSKaigi Kansai 2024とJSConf JP 2024に一休のエンジニアが登壇します
一休.com Developers Blog
+kymmtです。 今月は 11月16日に京都で開催されるTSKaigi Kansai 2024 11月23日に東京で開催されるJSConf JP 2024 と、JavaScript/TypeScriptに関するカンファレンスが2つ開催されます。今年は、一休.comレストランのフロントエンドアーキテクトを務めるエンジニア恩田 (@takashi_onda)がこれらのカンファレンス両方に登壇します。 1週違いで開催されるそれぞれのカンファレンスでは、一休.comレストランのフロントエンド開発をきっかけとする内容のトークテーマを携えて登壇します。この記事では、現在絶賛発表準備中の本人からのコメントも…
3ヶ月前
記事のアイキャッチ画像
Vue Fes Japan 2024に登壇 & ランチスポンサーをしました
一休.com Developers Blog
+CTO室プラットフォーム開発チームのいがにんこと山口(@igayamaguchi)です。 先日、Vue Fes Japan 2024が開催され、一休は登壇とスポンサーをしました。その紹介をします。 Vue Fes Japan 2024が開催 10月19日(土)に日本最大級の Vue.js カンファレンス、Vue Fes Japan 2024 が開催されました。一休は当カンファレンスでプロポーザル採択による発表と、ランチスポンサーとしてランチセッションでの発表を行いました。この記事ではその発表の概要を紹介します。 一休で行った発表は2つです。 Vue.js、Nuxtの機能を使い、 大量のコピペコ…
3ヶ月前
記事のアイキャッチ画像
「一休×AEON 事業会社のサービスを支える基盤開発トーク」を開催しました
一休.com Developers Blog
+はじめに kymmtです。 先日2024年9月18日に、「事業会社のサービスを支える基盤開発トーク」と題してイオンスマートテクノロジー(以下AST)さんと合同で技術イベントを実施しました。 ikyu.connpass.com イベントでは、各会社の事業を支える基盤プロダクトの開発や運用における苦労や工夫について登壇者の方々にお話しいただきました。 この記事では、このイベントの様子や発表の内容を紹介します。なお、X(旧Twitter)でも#ikyu_aeonというハッシュタグで当日の様子がご覧になれます。 会場 会場は、一休のオフィスも入っている東京ガーデンテラス紀尾井町内のLODGEでした。 …
4ヶ月前
記事のアイキャッチ画像
情シスカンファレンス「Business Technology Conference Japan 2024」にブロンズスポンサーとして協賛します
一休.com Developers Blog
+コーポレート本部 社内情報システム部 兼 CISO室 id:rotom です。 10/12(土) にハイブリッド形式で情シス向けのテックカンファレンス「Business Technology Conference Japan 2024(BTCONJP 2024)」が開催されます。 btcon.jp btajp.connpass.com 昨年オンライン開催された BTCONJP 2023 では私が登壇者として 本社を東京ガーデンテラス紀尾井町へ移転し、オフィスファシリティ・コーポレートIT を刷新した話 というテーマで発表させていただきましたが、今年は core staff として運営に参画して…
5ヶ月前
記事のアイキャッチ画像
プロンプトエンジニアリングをしよう - 一休.comでの検索システム改善事例
一休.com Developers Blog
+はじめに こんにちは。宿泊プロダクト開発部の宮崎です。 みなさん、生成 AI 使ってますか? 近年、AI の進歩はめざましく、文章生成や画像生成はもちろん、動画生成も実用的なレベルで出来るようになっています。 ChatGPT が話題になったのが 2022 年の 11 月なので、たった 2 年足らずでここまで来ているという事実に少し恐ろしくもありますね。AGI(汎用人工知能)の実現もそう遠くないのかもしれません。 一休でも AI 技術は注目していて今年の 6 月に、まさに生成 AI を使ってホテル検索システムの改善を行いました。 この記事では、その時に学んだプロンプトエンジニアリングの重要性につ…
5ヶ月前
記事のアイキャッチ画像
オフライン技術勉強会「事業会社のサービスを支える基盤開発トーク」を開催します!
一休.com Developers Blog
+CTO室プラットフォーム開発チームの山口(@igayamaguchi)です。 この度、一休とイオンスマートテクノロジー合同で技術勉強会「事業会社のサービスを支える基盤開発トーク」を開催します! ikyu.connpass.com このイベントでは 一休.com、Yahoo!トラベル、一休.comレストランを運営する一休 iAEONアプリ等を開発・運営するイオンスマートテクノロジー 両社のシステムを支える基盤の開発についてお話しします。 様々なお話をしていただく予定ですが、一休から1つ「歴史あるプロダクトにマイクロサービスを導入するプロセス」について紹介します。 この発表では一休.comレストラ…
5ヶ月前
記事のアイキャッチ画像
React / Remix への依存を最小にするフロントエンド設計
一休.com Developers Blog
+CTO 室の恩田(@takashi_onda)です。 一休レストランのフロントエンドアーキテクトを担当しています。 Intro 一休レストランでは、以前ご紹介したようにフロントエンドで React / Remix を利用しています。 user-first.ikyu.co.jp 一方、設計方針としては、React / Remix への依存が最小になるように心掛けています。 今日は、そんな一見矛盾するような設計方針について、ご紹介したいと思います。 この記事を読んでいただき Remix に興味をもたれたら、明後日 2024/8/7(水) 19:00〜 のオンラインイベント offers-jp.co…
6ヶ月前
記事のアイキャッチ画像
エンジニア主導でデザインシステムを導入してみた
一休.com Developers Blog
+レストランプロダクト開発部の矢澤です。 一休では「RESZAIKO」というプロダクトの開発を行っています。 この開発を進めるにあたり、UI/UX に関するいくつかの課題があり、エンジニア主導でデザインシステムを構築することにしました。 本記事では、エンジニア主導でデザインシステムを構築することになった背景や、実際に取り組んだ内容について赤裸々にお話しします。 デザインシステムの導入を検討しているものの、最初の一歩を踏み出せずにいる・あるいは何から始めればよいかわからないチームにとって参考になれば幸いです。 そもそも RESZAIKO とは RESZAIKO は飲食店の予約管理を DX する S…
7ヶ月前
記事のアイキャッチ画像
Go Conference 2024にスポンサーしました & 一休はGoを活用しています
一休.com Developers Blog
+Go Conference 2024にスポンサーしました CTO室プラットフォーム開発チームの山口(@igayamaguchi)です。 先日6/8(土)に一休でGo Conference 2024にスポンサーをさせていただき、スポンサーブースを出展しました。 gocon.jp 来ていただいた方はありがとうございます! 来ていただいた方と話していく中で、一休がGoを使っていることを知らない方がたくさんいることに気づきました。逆に、最近使い始めたばかりのRustの事例についてご存知の方のほうが多かったのです。これは、次のRustについての記事が多くの方に読まれたことによる影響だと思います。 use…
7ヶ月前
記事のアイキャッチ画像
エンジニア向け社内イベントのご紹介と運営を経験してわかったこと
一休.com Developers Blog
+こんにちは。宿泊プラットフォーム開発チームの菊地です。 一休では月に一度、社内エンジニア向けにIkyu Tech Talkを開催しています。2022年から始まり、ありがたいことに2024年3月で丸2年を迎えることができました。 この記事では、Ikyu Tech Talkの2年間のふりかえりをしていきます。 また、私は社内イベントの主催が初挑戦だったので、どうやったらイベントを盛り上げられるのかと悩んだときもありました。 そこで、同じように自分の会社でTech Talkを開催してみたい人に向けてイベント運営の知見もお伝えしたいと思います。 開催のきっかけ もともと定期的なプロジェクトの成果報告会…
8ヶ月前
記事のアイキャッチ画像
一休の社内勉強会のご紹介2024
一休.com Developers Blog
+kymmtです。 一休では、技術力の底上げを目的として、さまざまな社内勉強会を開催しています。この記事では、今年2024年に入って社内で実施していた勉強会について紹介し、一休での勉強会の雰囲気を伝えられればと思います。 一休の社内勉強会 2024年にこれまで実施した勉強会 『A Philosophy of Software Design』輪読会 『Webフロントエンド ハイパフォーマンス チューニング』輪読会 フロントエンドワークショップ: Reactハンズオン 2024年の今後の勉強会 一休の社内勉強会 社内勉強会は輪読会の形式で実施することが多いです。参加意欲の高い人ができるだけ多く参加で…
9ヶ月前
記事のアイキャッチ画像
なぜ我々は GitHub Copilot Enterprise の導入を見送ったのか
一休.com Developers Blog
+CTO 室の恩田です。 今回は GitHub Copilot Enterprise を評価してみて、現時点ではまだ採用しないことを決めた、というお話をご紹介したいと思います。 きっかけ とあるエンジニアが Slack で自身の times チャネルに時雨堂さんの GitHub Copilot Enterprise のススメという記事を投稿したことが発端でした。特に感想はなく URL に 👀 だけが添えられていたので、後で見るぐらいのメモだったんだと思います。 それを見かけた別のエンジニアが技術雑談チャネルにその投稿を共有して、これは凄そうと話題を向けたところ、CTO の「評価してみる?」の一言…
10ヶ月前
記事のアイキャッチ画像
データベースの在庫の持ち方をビットで管理してる話
一休.com Developers Blog
+こんにちは、一休.comスパ(以下、「スパ」)の開発を担当しているshibataiと申します🙏 今回はスパのデータベースの在庫の持ち方で試行錯誤した話をさせていただきます。 背景 2024-03-29追記: 一休.comスパにおける在庫の特徴について 一休.comスパが扱う「在庫」は、「ある日付の特定の時間に対する空き枠」です。以降の説明では、スパ施設ごと、日付ごと、また時間ごとに増えていく「在庫」をいかに効率よく扱うかについて説明しています。 詳細については次のスレッドも参照してください! https://t.co/Y0SPmDE4yZこの記事のコメントみてると、少し我々のシステムの要件が伝…
10ヶ月前
記事のアイキャッチ画像
開発プロセスをインクリメンタルに改善する
一休.com Developers Blog
+一休.comレストランのエンジニアのkymmtです。 2023年度の下半期、一休.comレストランの開発チームでは開発プロセス改善に取り組みました。改善は小さい単位で徐々に進め、バックログの作りかたやカンバンの運用方法を改善することで、フロー効率の向上、開発ペースの把握、チーム内外からの進捗の見える化ができるようになりました。 この記事では、このようなインクリメンタルな開発プロセス改善の取り組みについて紹介します。 従来の開発プロセス 主に2023年度前半の開発プロセスは次のような形でした1。 プロダクトのリリースに必要なタスクが長いバックログとして存在し、ひたすらタスクを消化 その状況に課題…
1年前
記事のアイキャッチ画像
一休レストランのふつうのRustバックエンド開発
一休.com Developers Blog
+この記事は一休.com Advent Calendar 2023 25日目の記事です。 一休レストランでは、よりスムーズな予約体験の提供を目的とするシステムのリニューアルを進めています。その一環として、2023年10月から、レストラン個別ページの表示から予約までのスマートフォンビューにおいて、バックエンドのサーバをRustで書かれたものに置き換えました。 一休レストランの Rust バックエンドが正式リリースされました。https://t.co/7N4VGv5ej9 このページのスマートフォンビューはバックエンドが Rust で書かれた GraphQL になってます— naoya (@naoy…
1年前
記事のアイキャッチ画像
開発ディレクターの進化と挑戦
一休.com Developers Blog
+この記事は 一休.com Advent Calendar 2023 24日目の記事です。 宿泊プロダクト開発で開発ディレクターをしています、橋本と申します。 ついにクリスマスイブ。残すところこの記事を含めて2つとなりました。 本日の記事では開発ディレクター1年目の奮闘劇を皆さんに紹介したいと思います。 同じディレクターの方はもちろん、何か新しいことに挑戦している皆さんに届くと嬉しいです。 簡単に経歴紹介 新卒でNWインフラの会社に入社し、 エンジニアとして法人顧客のサービス導入をサポートをしてきました。 AWSの運用、セキュリティ商材の導入、NW機器の導入運用、スマホ管理サービス導入など様々な…
1年前
記事のアイキャッチ画像
一休レストランの XState 導入記
一休.com Developers Blog
+このエントリーは 一休.comのカレンダー | Advent Calendar 2023 - Qiita の22日目の記事です。 レストランプロダクトUI開発チームの鍛治です。 一休レストランのフロントエンドを担当しています。 一休レストランでは Next.js App Router Remix を採用しています。 user-first.ikyu.co.jp 昨年の終わり頃から始まった一休レストランのリニューアルですが、フロントエンドは Nuxt v2 (Vue 2) から Next.js App Router (React) に、という大きな切り替えで、不慣れだった我々は React 初心者…
1年前
記事のアイキャッチ画像
Cloud Runで開発用環境を沢山作る
一休.com Developers Blog
+概要 この記事は 一休.com Advent Calendar 2023 16日目の記事です。 RESZAIKO開発チームの松村です。 一休では各サービス毎に、開発中のサービスの動作を社内で確認できる環境があります。 それぞれmain(master)ブランチと自動的に同期している環境と、特定のブランチを指定して利用できる環境の2種類があります。 今回、RESZAIKOの新規サービス(予約画面)に対してブランチを指定してデプロイできる環境を作成したので、その方針と反省点と今後について記述していきます。 現在運用中の予約画面 開発環境を作る理由 一休では長らく、EKS上に複数の環境を用意して、ブラ…
1年前
記事のアイキャッチ画像
一休レストランで Next.js App Router から Remix に乗り換えた話
一休.com Developers Blog
一休レストランのフロントエンドのリアーキテクトの過程で Next.js App Router から Remix に乗り換えた話をご紹介します。
1年前
記事のアイキャッチ画像
宿泊管理システムのフロントエンド設計と改善の変遷
一休.com Developers Blog
一休.com宿泊の管理システムのフロントエンド設計について、この1年ほどで行った改善をお話します。
1年前
記事のアイキャッチ画像
ADR を1年間書いてみた感想
一休.com Developers Blog
宿泊開発チームでエンジニアをしている @kosuke1012 です。チームで ADR を書き始めて1年くらい経ったので、その感想を書いてみたいと思います。 この記事は 一休.comのカレンダー | Advent Calendar 2023 - Qiita の13日目の記事です。 ADRとは アーキテクチャ・ディシジョン・レコードの略で、アーキテクチャに関する意思決定を軽量なテキストドキュメントで記録していくものです。 出典はこちらで、 Documenting Architecture Decisions わかりやすい和訳は以下の記事が、 アーキテクチャ決定レコードの概要 | Cloud アーキ…
1年前
記事のアイキャッチ画像
請求書発行のためにEmbulkを使って爆速でデータを集約した話
一休.com Developers Blog
こんにちは。宿泊開発チームの菊地です! このエントリは 一休.com Advent Calendar 2023 12日目の記事です。昨日は id:rotom によるSlack Enterprise Grid における情報バリアの設計でした。その他の素敵なエントリも以下のリンクからご覧ください。 qiita.com 私はEmbulkを使って、各プロダクトの請求データを集約する機能を担当しました。今回は、Embulkの紹介とふりかえりをしていきたいと思います! 背景 課題 解決策 Embulkとは? 今回の課題に対してEmbulkがマッチした理由 union: 複数のデータソースを連結する con…
1年前
\ No newline at end of file diff --git a/blogs/fb41e1139e91b260991dce7bd66baa13/index.html b/blogs/fb41e1139e91b260991dce7bd66baa13/index.html new file mode 100644 index 000000000000..1d29ac07d08c --- /dev/null +++ b/blogs/fb41e1139e91b260991dce7bd66baa13/index.html @@ -0,0 +1,27 @@ +The Nuxt Blogのフィード|JSer.info Watch List RSS

The Nuxt Blog

https://nuxt.com/blog

Read the latest news about all Nuxt solutions, from framework announcements to integration tutorials.

フィード

記事のアイキャッチ画像
Nuxt 3.15
The Nuxt Blog
Nuxt 3.15 is out - with Vite 6, better HMR and faster performance
1ヶ月前
記事のアイキャッチ画像
Introducing Nuxt Icon v1
The Nuxt Blog
Discover Nuxt Icon v1 - a modern, versatile, and customizable icon solution for your Nuxt projects.
2ヶ月前
+
記事のアイキャッチ画像
Nuxt 3.14
The Nuxt Blog
Nuxt 3.14 is out - with a new rspack builder, shared folder, and performance enhancements!
3ヶ月前
記事のアイキャッチ画像
Nuxt 3.13
The Nuxt Blog
Nuxt 3.13 is out - porting back some of the new features we're building for Nuxt 4!
6ヶ月前
記事のアイキャッチ画像
Introducing Nuxt Scripts
The Nuxt Blog
Nuxt Scripts provides better performance, privacy, security, and developer experience for third-party scripts.
6ヶ月前
記事のアイキャッチ画像
Nuxt 2 End-of-Life (EOL)
The Nuxt Blog
Nuxt 2 will reach End of Life (EOL) on June 30th, 2024. We've partnered with HeroDevs on offering Never-Ending Support (NES).
8ヶ月前
記事のアイキャッチ画像
Nuxt 3.12
The Nuxt Blog
Nuxt 3.12 is out - full of improvements and preparing the way for Nuxt 4!
8ヶ月前
記事のアイキャッチ画像
Refreshed Nuxt ESLint Integrations
The Nuxt Blog
We revamped our ESLint integrations to support ESLint v9 with the flat config, as well as a new module with many more capabilities.
10ヶ月前
記事のアイキャッチ画像
Nuxt: Looking forward
The Nuxt Blog
A lot of things have happened for Nuxt over the last year. Sébastien and Daniel share their thoughts on what we've achieved, and where we're going next.
10ヶ月前
記事のアイキャッチ画像
Nuxt 3.11
The Nuxt Blog
Nuxt 3.11 is out - with better logging, preview mode, server pages and much more!
1年前
記事のアイキャッチ画像
The Evolution of Shiki v1.0
The Nuxt Blog
Shiki v1.0 came with many improvements and features - see how Nuxt drives the evolution of Shiki!
1年前
記事のアイキャッチ画像
Nuxt 3.10
The Nuxt Blog
Nuxt 3.10 is out - packed with features and fixes. Here are a few highlights.
1年前
記事のアイキャッチ画像
Nuxt 3.9
The Nuxt Blog
Nuxt 3.9 is out - a Christmas gift from the Nuxt team bringing Vite 5, interactive server components, new composables, a new loading API and more.
1年前
記事のアイキャッチ画像
Nuxt DevTools v1.0
The Nuxt Blog
Nuxt DevTools v1.0 is out, generally available to all Nuxt projects!
1年前
記事のアイキャッチ画像
Nuxt 3.8
The Nuxt Blog
+Nuxt 3.8 is out, bringing built-in DevTools, automatic Nuxt Image install, a new app manifest and much more.
1年前
記事のアイキャッチ画像
A New Website
The Nuxt Blog
We are thrilled to release the new nuxt.com, powered by Nuxt UI and now open source.
1年前
記事のアイキャッチ画像 +
Nuxt 3.7
The Nuxt Blog
Nuxt 3.7 is out, bringing a new CLI, native web streams and response, rendering optimisations, async context support - and much more.
1年前
記事のアイキャッチ画像
Nuxt on the Edge
The Nuxt Blog
Learn how we made Nuxt 3 capable of running on edge runtimes to run with server-side rendering close to your users.
2年前
記事のアイキャッチ画像
Nuxt 3.6
The Nuxt Blog
Nuxt 3.6 is out, bringing performance improvements, fully static server components, better style inlining, static presets, increased type safety - and much more.
2年前
記事のアイキャッチ画像
Nuxt 3.5
The Nuxt Blog
Nuxt 3.5.0 is out, bringing Vue 3.3, new defaults, interactive server components, typed pages, environment config - and much more.
2年前
記事のアイキャッチ画像
Nuxt 3.4
The Nuxt Blog
Nuxt 3.4.0 is the latest release of Nuxt 3, bringing exciting new features, including support for the View Transitions API, transferring rich JavaScript payloads from server to client - and much more.
+
2年前
記事のアイキャッチ画像
Introducing Nuxt DevTools
The Nuxt Blog
Unleash the Developer Experience with Nuxt and understand your app better than ever.
2年前
記事のアイキャッチ画像
Nuxt 3.3
The Nuxt Blog
The 3.3.0 is a minor (feature) release with lots of performance and DX improvements, bug fixes and new features to play with.
2年前
記事のアイキャッチ画像
Nuxt: A vision for 2023
The Nuxt Blog
This past year has been an exciting one. Looking into the new year, there is a lot we have planned as a team and we'd love to share it with you.
2年前
記事のアイキャッチ画像
Announcing 3.0
The Nuxt Blog
We are thrilled to announce the first stable version of Nuxt 3.0.0
2年前
記事のアイキャッチ画像
Announcing Nuxt 3 Release Candidate
The Nuxt Blog
Nuxt 3 beta was announced on October 12, 2021 after 16 months of work, introducing a new foundation based on Vue 3, Vite and Nitro. Six months later, we are happy to announce the first release candidate of Nuxt 3, code named “Mount Hope“ 🚀
3年前
記事のアイキャッチ画像
Introducing Nuxt 3 Beta
The Nuxt Blog
+468 days after the first commit, the Nuxt 3 beta has finally arrived. Discover what's inside and what to expect from it. Yes, it includes Vue 3 and Vite ⚡️
3年前
記事のアイキャッチ画像
Nuxt 2 Static Improvements
The Nuxt Blog
+With Nuxt version 2.13, the full-static mode has been introduced. In addition, a new command nuxt export was added to pre-render your pages without triggering a webpack build with the goal to separate the rendering and build process. The only issue was that most Nuxt users weren't able to unleash the full potential of the separation... until now.
5年前
記事のアイキャッチ画像
Going Full Static
The Nuxt Blog
+Long awaited features for JAMstack fans has been shipped in v2.13: full static export, improved smart prefetching, integrated crawler, faster re-deploy, built-in web server and new target option for config ⚡️
5年前
記事のアイキャッチ画像
Understanding how fetch works in Nuxt 2.12
The Nuxt Blog
Explore different features of the fetch hook and learn a brand new way to bring data into Nuxt applications.
5年前
+
記事のアイキャッチ画像
Nuxt 2: From Terminal to Browser
The Nuxt Blog
How we changed the developer experience to stop switching between the terminal and browser.
6年前
記事のアイキャッチ画像
Introducing Smart Prefetching
The Nuxt Blog
Starting from Nuxt v2.4.0, Nuxt will automagically prefetch the code-splitted pages linked with a nuxt-link when visible in the viewport by default.
6年前
\ No newline at end of file diff --git a/blogs/fc6aa4a01eed9a3bb89aafa4a258cfed/index.html b/blogs/fc6aa4a01eed9a3bb89aafa4a258cfed/index.html new file mode 100644 index 000000000000..d13d87b7c056 --- /dev/null +++ b/blogs/fc6aa4a01eed9a3bb89aafa4a258cfed/index.html @@ -0,0 +1,19 @@ +React Blogのフィード|JSer.info Watch List RSS

React Blog

https://react.dev/

React is the library for web and native user interfaces. Build user interfaces out of individual pieces called components written in JavaScript. React is designed to let you seamlessly combine components written by independent people, teams, and organizations.

フィード

記事のアイキャッチ画像
React v19
React Blog
React 19 is now available on npm! In this post, we'll give an overview of the new features in React 19, and how you can adopt them.
2ヶ月前
記事のアイキャッチ画像
React Compiler Beta Release
React Blog
At React Conf 2024, we announced the experimental release of React Compiler, a build-time tool that optimizes your React app through automatic memoization. In this post, we want to share what's next for open source, and our progress on the compiler.
4ヶ月前
記事のアイキャッチ画像
React Conf 2024 Recap
React Blog
Last week we hosted React Conf 2024, a two-day conference in Henderson, Nevada where 700+ attendees gathered in-person to discuss the latest in UI engineering. In this post, we'll summarize the talks and announcements from the event.
9ヶ月前
記事のアイキャッチ画像
React 19 Upgrade Guide
React Blog
+The improvements added to React 19 require some breaking changes, but we've worked to make the upgrade as smooth as possible and we don't expect the changes to impact most apps. In this post, we will guide you through the steps for upgrading apps and libraries to React 19.
9ヶ月前
記事のアイキャッチ画像
React Labs: What We've Been Working On – February 2024
React Blog
+In React Labs posts, we write about projects in active research and development. We’ve made significant progress since our last update, and we’d like to share our progress.
1年前
記事のアイキャッチ画像
React Canaries: Enabling Incremental Feature Rollout Outside Meta
React Blog
+We'd like to offer the React community an option to adopt individual new features as soon as their design is close to final, before they're released in a stable version--similar to how Meta has long used bleeding-edge versions of React internally. We are introducing a new officially supported [Canary release channel](/community/versioning-policy#canary-channel). It lets curated setups like frameworks decouple adoption of individual React features from the React release schedule.
2年前
記事のアイキャッチ画像
+React Labs: What We've Been Working On – March 2023
React Blog
In React Labs posts, we write about projects in active research and development. We've made significant progress on them since our last update, and we'd like to share what we learned.
2年前
記事のアイキャッチ画像
Introducing react.dev
React Blog
+Today we are thrilled to launch react.dev, the new home for React and its documentation. In this post, we would like to give you a tour of the new site.
2年前
記事のアイキャッチ画像
React Labs: What We've Been Working On – June 2022
React Blog
+React 18 was years in the making, and with it brought valuable lessons for the React team. Its release was the result of many years of research and exploring many paths. Some of those paths were successful; many more were dead-ends that led to new insights. One lesson we’ve learned is that it’s frustrating for the community to wait for new features without having insight into these paths that we’re exploring.
3年前
記事のアイキャッチ画像
React v18.0
React Blog
+React 18 is now available on npm! In our last post, we shared step-by-step instructions for upgrading your app to React 18. In this post, we'll give an overview of what's new in React 18, and what it means for the future.
3年前
記事のアイキャッチ画像
How to Upgrade to React 18
React Blog
+As we shared in the release post, React 18 introduces features powered by our new concurrent renderer, with a gradual adoption strategy for existing applications. In this post, we will guide you through the steps for upgrading to React 18.
3年前
記事のアイキャッチ画像
React Conf 2021 Recap
React Blog
+Last week we hosted our 6th React Conf. In previous years, we've used the React Conf stage to deliver industry changing announcements such as React Native and React Hooks. This year, we shared our multi-platform vision for React, starting with the release of React 18 and gradual adoption of concurrent features.
3年前
記事のアイキャッチ画像
The Plan for React 18
React Blog
+The React team is excited to share a few updates. We’ve started work on the React 18 release, which will be our next major version. We’ve created a Working Group to prepare the community for gradual adoption of new features in React 18. We’ve published a React 18 Alpha so that library authors can try it and provide feedback...
4年前
記事のアイキャッチ画像
Introducing Zero-Bundle-Size React Server Components
React Blog
+2020 has been a long year. As it comes to an end we wanted to share a special Holiday Update on our research into zero-bundle-size React Server Components.
4年前
\ No newline at end of file diff --git a/blogs/fc7f830b59e1e24c938eac73e1cb6666/index.html b/blogs/fc7f830b59e1e24c938eac73e1cb6666/index.html new file mode 100644 index 000000000000..cd8603ba0fa9 --- /dev/null +++ b/blogs/fc7f830b59e1e24c938eac73e1cb6666/index.html @@ -0,0 +1,20 @@ +Vue.jsのフィード|JSer.info Watch List RSS

Vue.js

フィード

記事のアイキャッチ画像
Announcing Vue.js 2.0
Vue.js
<p>Today I am thrilled to announce the first public preview of Vue.js 2.0, which brings along many exciting improvements and new features. Let’s take a peek at what’s in store!</p>
9年前
記事のアイキャッチ画像
March 2016 Update
Vue.js
+<h2 id="Growing-Community"><a href="#Growing-Community" class="headerlink" title="Growing Community"></a>Growing Community</h2><p>Vue’s growth in the past year has been nothing short of amazing. As of today we are at over 15,000 stars on GitHub, over 500k downloads from npm, and over 2,000 users in the Gitter channel. What’s more exciting though, is that the community successfully organized the first <a href="http://www.meetup.com/London-Vue-js-Meetup/">London Vue.js Meetup</a> and the first <a href="http://www.meetup.com/Vuejs-Paris/?scroll=true">Paris Vue.js Meetup</a>! A big shoutout to the awesome organizers: <a href="https://twitter.com/JackBarham">Jack</a>, <a href="https://twitter.com/onejamesbrowne/">James</a> and <a href="https://twitter.com/posva/">Eduardo</a>.</p>
9年前
記事のアイキャッチ画像
Common Beginner Gotchas
Vue.js
<p>There are few types of questions that we frequently see from users who are new to Vue.js. Although they are all mentioned somewhere in the guide, they are easy to miss and can be hard to find when you do get bitten by the gotchas. Therefore we are aggregating them in this post and hopefully it can save you some time!</p>
9年前
記事のアイキャッチ画像
Announcing vue-cli
Vue.js
+<p>Recently there has been a lot of <a href="https://medium.com/@ericclemmons/javascript-fatigue-48d4011b6fc4#.chg95e5p6">discussion around the tooling hurdle</a> when you start a React project. Luckily for Vue.js, all you need to do to start with a quick prototype is including it from a CDN via a <code>&lt;script&gt;</code> tag, so we’ve got that part covered. However, that’s not how you’d build a real world application. In real world applications we inevitably need a certain amount of tooling to give us modularization, transpilers, pre-processors, hot-reload, linting and testing. These tools are necessary for the long-term maintainability and productivity of large projects, but the initial setup can be a big pain. This is why we are announcing <a href="https://github.com/vuejs/vue-cli">vue-cli</a>, a simple CLI tool to help you quickly scaffold Vue.js projects with opinionated, battery-included build setups.</p> +
9年前
記事のアイキャッチ画像
Why Vue.js doesn't support templateURL
Vue.js
<p>A very common question from new Vue users, especially those who used Angular before, is “can I have <code>templateURL</code>?”. I have answered this so many times and I figure it’s better to write something about it.</p>
9年前
記事のアイキャッチ画像
Vue.js 1.0.0 Released
Vue.js
+<blockquote><p>Hi HN! If you are not familiar with Vue.js, you might want to read this <a href="http://blog.evanyou.me/2015/10/25/vuejs-re-introduction/">blog post</a> for a higher level overview.</p></blockquote><p>After 300+ commits, 8 alphas, 4 betas and 2 release candidates, today I am very proud to announce the release of <a href="https://github.com/vuejs/vue/releases/tag/1.0.0">Vue.js 1.0.0 Evangelion</a>! Many thanks to all those who participated in the API re-design process - it would not have been possible without all the input from the community.</p>
9年前
記事のアイキャッチ画像
Vue.js 0.12 released!
Vue.js
+<p>I’m really excited to announce that <a href="https://github.com/yyx990803/vue/releases/tag/0.12.0">Vue.js 0.12: Dragon Ball</a> is finally here! Thanks to everyone who tried out the beta/rc versions and provided feedback / bug reports along the way.</p><p>There’s a lot to cover in this release, and we will talk about a few highlights below. However, it is still recommended to carefully go through the <a href="https://github.com/yyx990803/vue/releases/tag/0.12.0">Full Release Note</a> and updated docs if you are upgrading from 0.11. You can report bugs on GitHub, send questions to <a href="https://github.com/vuejs/Discussion/issues">vuejs/Discussion</a>, or join us in the <a href="https://gitter.im/yyx990803/vue">Gitter chat channel</a>.</p>
10年前
記事のアイキャッチ画像
0.11 Component Tips
Vue.js
+<p class="tip">Note: this post contains information for the outdated 0.11 version. Please refer to the <a href="https://github.com/yyx990803/vue/releases">0.12 release notes</a> for the changes in the API.</p><p>The release of 0.11 introduced <a href="https://github.com/yyx990803/vue/blob/master/changes.md">many changes</a>, but the most important one is how the new component scope works. Previously in 0.10.x, components have inherited scope by default. That means in a child component template you can reference parent scope properties. This often leads to tightly-coupled components, where a child component assumes knowledge of what properties are present in the parent scope. It is also possible to accidentally refer to a parent scope property in a child component.</p>
10年前
記事のアイキャッチ画像
Vue.js 0.11 released!
Vue.js
<p>After the long wait, <a href="https://github.com/yyx990803/vue/releases/tag/0.11.0">Vue.js 0.11 <strong>Cowboy Bebop</strong></a> is finally here! Thanks to everyone who tried out the release candidate versions and provided feedback / bug reports along the way.</p>
10年前
記事のアイキャッチ画像
Vue.js 0.10.6, and what's next
Vue.js
<h2 id="0-10-6"><a href="#0-10-6" class="headerlink" title="0.10.6"></a>0.10.6</h2><p>Vue.js 0.10.6 has been released! This is another small bug-fix release and will be the last maintenance version before the next major release.</p>
11年前
記事のアイキャッチ画像
Vue.js 0.10 is here!
Vue.js
<p>Vue.js 0.10.0 (Blade Runner) has been released! This release comes with many useful additions based on the suggestions from the users, notably interpolation in literal directives, dynamic components with the new <code>v-view</code> directive, array filters, and the option to configure interpolation delimiters. Internally, the codebase has received many refactoring and improvements which makes Vue.js <a href="http://vuejs.org/perf/">even faster</a>.</p>
11年前
\ No newline at end of file diff --git a/blogs/fd548585db0d64b337fab64cdc4872ef/index.html b/blogs/fd548585db0d64b337fab64cdc4872ef/index.html new file mode 100644 index 000000000000..6113135c5523 --- /dev/null +++ b/blogs/fd548585db0d64b337fab64cdc4872ef/index.html @@ -0,0 +1,19 @@ +Electron Blogのフィード|JSer.info Watch List RSS

Electron Blog

https://electronjs.org/blog

Keep up to date with what's going on with the Electron project

フィード

記事のアイキャッチ画像 +
Electron 34.0.0
Electron Blog
Electron 34.0.0 has been released! It includes upgrades to Chromium 132.0.6834.83, V8 13.2, and Node 20.18.1.
25日前
記事のアイキャッチ画像
Moving our Ecosystem to Node 22
Electron Blog
+In early 2025, Electron’s npm ecosystem repos (under the @electron/ and @electron-forge/ namespaces) will move to Node.js 22 as the minimum supported version.
1ヶ月前
記事のアイキャッチ画像
December Quiet Month (Dec'24)
Electron Blog
The Electron project will pause for the month of December 2024, then return to full speed in January 2025.
3ヶ月前
記事のアイキャッチ画像
Migrating from BrowserView to WebContentsView
Electron Blog
BrowserView has been deprecated since Electron 30 and is replaced by WebContentView. Thankfully, migrating is fairly painless.
3ヶ月前
記事のアイキャッチ画像
+Electron 33.0.0
Electron Blog
Electron 33.0.0 has been released! It includes upgrades to Chromium 130.0.6723.44, V8 13.0, and Node 20.18.0.
4ヶ月前
記事のアイキャッチ画像
Introducing API History (GSoC 2024)
Electron Blog
Historical changes to Electron APIs will now be detailed in the docs.
6ヶ月前
記事のアイキャッチ画像
Electron 32.0.0
Electron Blog
Electron 32.0.0 has been released! It includes upgrades to Chromium 128.0.6613.36, V8 12.8, and Node 20.16.0.
6ヶ月前
記事のアイキャッチ画像
Electron 31.0.0
Electron Blog
Electron 31.0.0 has been released! It includes upgrades to Chromium 126.0.6478.36, V8 12.6, and Node 20.14.0.
8ヶ月前
記事のアイキャッチ画像
Electron 30.0.0
Electron Blog
Electron 30.0.0 has been released! It includes upgrades to Chromium 124.0.6367.49, V8 12.4, and Node.js 20.11.1.
10ヶ月前
記事のアイキャッチ画像
Google Summer of Code 2024
Electron Blog
We are excited to announce that Electron has been accepted as a mentoring organization for
1年前
記事のアイキャッチ画像
Electron 29.0.0
Electron Blog
+
Electron 29.0.0 has been released! It includes upgrades to Chromium 122.0.6261.39, V8 12.2, and Node.js 20.9.0.
1年前
記事のアイキャッチ画像
Introducing electron/rfcs
Electron Blog
Electron’s API Working Group is
1年前
記事のアイキャッチ画像
Statement regarding "runAsNode" CVEs
Electron Blog
Earlier today, the Electron team was alerted to several public CVEs recently filed against several notable Electron apps. The CVEs are related to two of Electron’s fuses - runAsNode and enableNodeCliInspectArguments - and incorrectly claim that a remote attacker is able to execute arbitrary code via these components if they have not been actively disabled.
1年前
記事のアイキャッチ画像
+Electron 28.0.0
Electron Blog
Electron 28.0.0 has been released! It includes upgrades to Chromium 120.0.6099.56, V8 12.0, and Node.js 18.18.2.
1年前
記事のアイキャッチ画像
Ecosystem 2023 Recap
Electron Blog
Reflecting on the improvements and changes in Electron's developer ecosystem in 2023.
1年前
記事のアイキャッチ画像
December Quiet Month (Dec'23)
Electron Blog
The Electron project will pause for the month of December 2023, then return to full speed in
1年前
記事のアイキャッチ画像
Electron 27.0.0
Electron Blog
Electron 27.0.0 has been released! It includes upgrades to Chromium 118.0.5993.32, V8 11.8, and Node.js 18.17.1.
1年前
記事のアイキャッチ画像
Breach to Barrier: Strengthening Apps with the Sandbox
Electron Blog
+It’s been more than a week since CVE-2023-4863 macOS, iOS, Chrome, Firefox, and various Linux distributions all received updates. This followed investigations by Citizen Lab, discovering that an iPhone used by a “Washington DC-based civil society organization” was under attack using a zero-click exploit within iMessage.
1年前
記事のアイキャッチ画像
Electron 26.0.0
Electron Blog
Electron 26.0.0 has been released! It includes upgrades to Chromium 116.0.5845.62, V8 11.2, and Node.js 18.16.1. Read below for more details! +
1年前
記事のアイキャッチ画像
Electron 25.0.0
Electron Blog
Electron 25.0.0 has been released! It includes upgrades to Chromium 114, V8 11.4, and Node.js 18.15.0. Read below for more details!
2年前
\ No newline at end of file diff --git a/blogs/fd816f8b6141f4db2be3b90cee3ae312/index.html b/blogs/fd816f8b6141f4db2be3b90cee3ae312/index.html new file mode 100644 index 000000000000..1bd0b361d856 --- /dev/null +++ b/blogs/fd816f8b6141f4db2be3b90cee3ae312/index.html @@ -0,0 +1,14 @@ +SpiderMonkey JavaScript/WebAssembly Engineのフィード|JSer.info Watch List RSS

SpiderMonkey JavaScript/WebAssembly Engine

https://spidermonkey.dev/

SpiderMonkey is Mozilla’s JavaScript and WebAssembly Engine, used in Firefox, Servo and various other projects. It is written in C++ and Rust.

フィード

記事のアイキャッチ画像
Is Memory64 actually worth using?
SpiderMonkey JavaScript/WebAssembly Engine
After many long years, the Memory64 proposal for WebAssembly has finally been released in both Firefox 134 and Chrome 133. In short, this proposal adds 64-bit pointers to WebAssembly.
24日前
記事のアイキャッチ画像
SpiderMonkey Newsletter (Firefox 132-134)
SpiderMonkey JavaScript/WebAssembly Engine
Hello! Welcome to another episode of the SpiderMonkey Newsletter. I’m your host, Matthew Gaudet.
2ヶ月前
記事のアイキャッチ画像
+75x faster: optimizing the Ion compiler backend
SpiderMonkey JavaScript/WebAssembly Engine
In September, machine learning engineers at Mozilla filed a bug report indicating that Firefox was consuming excessive memory and CPU resources while running Microsoft’s ONNX Runtime (a machine learning library) compiled to WebAssembly.
4ヶ月前
記事のアイキャッチ画像
SpiderMonkey Newsletter (Firefox 130-131)
+SpiderMonkey JavaScript/WebAssembly Engine
Hello everyone!
5ヶ月前
記事のアイキャッチ画像
SpiderMonkey Newsletter (Firefox 128-129)
SpiderMonkey JavaScript/WebAssembly Engine
Hello Everyone,
7ヶ月前
記事のアイキャッチ画像
SpiderMonkey Newsletter (Firefox 126-127)
SpiderMonkey JavaScript/WebAssembly Engine
Hello and welcome to our newest newsletter. As the northern hemisphere warms and the southern hemisphere cools, we write to talk about what’s happened in the world of SpiderMonkey in the Firefox 126-127 timeline.
9ヶ月前
記事のアイキャッチ画像
SpiderMonkey Newsletter (Firefox 124-125)
SpiderMonkey JavaScript/WebAssembly Engine
Hello and Welcome to the SpiderMonkey Newsletter for Firefox 124-125. It’s Matthew Gaudet back again. This newsletter is a way in which we can share what we have been working on as a team, and highlight some interesting changes when they happen.
1年前
記事のアイキャッチ画像
SpiderMonkey Newsletter (Firefox 122-123)
SpiderMonkey JavaScript/WebAssembly Engine
Hello everyone!
1年前
記事のアイキャッチ画像
SpiderMonkey Newsletter (Firefox 118-121)
SpiderMonkey JavaScript/WebAssembly Engine
+SpiderMonkey is the JavaScript engine used in Mozilla Firefox. This newsletter gives an overview of the JavaScript and WebAssembly work we’ve done as part of the Firefox 118 to 121 Nightly release cycles.
1年前
記事のアイキャッチ画像
SpiderMonkey Byte-Sized Architectures
SpiderMonkey JavaScript/WebAssembly Engine
+I recently presented on SpiderMonkey and Byte-Sized Architectures at a JSConf.jp/TC39 collaborative meeting the evening before the TC39 plenary in Tokyo. The first part of the presentation is a high-level view of the overall architecture of SpiderMonkey, and gives an idea of how a modern JavaScript engine is put together. In the second part, I talk about bytesize architectures a way for teams to build a shared understanding of complicated systems.
1年前
\ No newline at end of file diff --git a/blogs/fe7cbce08edcc2abcd9af45f13c4a055/index.html b/blogs/fe7cbce08edcc2abcd9af45f13c4a055/index.html new file mode 100644 index 000000000000..66a52c5f6cbd --- /dev/null +++ b/blogs/fe7cbce08edcc2abcd9af45f13c4a055/index.html @@ -0,0 +1,16 @@ +Daniel Rosenwasser, Author at TypeScriptのフィード|JSer.info Watch List RSS

Daniel Rosenwasser, Author at TypeScript

フィード

記事のアイキャッチ画像
Announcing TypeScript 5.8 Beta
はてなブックマークアイコン 14
Daniel Rosenwasser, Author at TypeScript
+Today we are excited to announce the availability of TypeScript 5.8 Beta. To get started using the beta, you can get it through npm with the following command: npm install -D typescript@beta Let’s take a look at what’s new in TypeScript 5.8! Checked Returns for Conditional and Indexed Access Types Consider an API that presents […]The post Announcing TypeScript 5.8 Beta appeared first on TypeScript.
10日前
記事のアイキャッチ画像
Announcing TypeScript 5.7
Daniel Rosenwasser, Author at TypeScript
Today we excited to announce the availability of TypeScript 5.7! If you’re not familiar with TypeScript, it’s a language that builds on JavaScript by adding syntax for type declarations and annotations. This syntax can be used by the TypeScript compiler to type-check our code, and it can also be erased to emit clean, idiomatic JavaScript […]The post Announcing TypeScript 5.7 appeared first on TypeScript.
3ヶ月前
記事のアイキャッチ画像
Announcing TypeScript 5.7 RC
+Daniel Rosenwasser, Author at TypeScript
Today we are announcing the availability of the release candidate of TypeScript 5.7. To get started using the RC, you can get it through npm with the following command: npm install -D typescript@rc Let’s take a look at what’s new in TypeScript 5.7! Checks for Never-Initialized Variables For a long time, TypeScript has been able […]The post Announcing TypeScript 5.7 RC appeared first on TypeScript.
3ヶ月前
記事のアイキャッチ画像
Announcing TypeScript 5.7 Beta +
Daniel Rosenwasser, Author at TypeScript
Today we are announcing the availability of TypeScript 5.7 Beta. To get started using the beta, you can get it through npm with the following command: npm install -D typescript@beta Let’s take a look at what’s new in TypeScript 5.7! Checks for Never-Initialized Variables For a long time, TypeScript has been able to catch issues […]The post Announcing TypeScript 5.7 Beta appeared first on TypeScript.
4ヶ月前
記事のアイキャッチ画像
Announcing TypeScript 5.6
Daniel Rosenwasser, Author at TypeScript
Today we’re excited to announce the release of TypeScript 5.6! If you’re not familiar with TypeScript, it’s a language that builds on top of JavaScript by adding syntax for types. Types describe the shapes we expect of our variables, parameters, and functions, and the TypeScript type-checker can help catch issues like typos, missing properties, and […]The post Announcing TypeScript 5.6 appeared first on TypeScript.
5ヶ月前
記事のアイキャッチ画像
Announcing TypeScript 5.6 RC
Daniel Rosenwasser, Author at TypeScript
Today we are excited to announce the availability of the release candidate of TypeScript 5.6. To get started using the RC, you can get it through npm with the following command: npm install -D typescript@rc Here’s a quick list of what’s new in TypeScript 5.6! Disallowed Nullish and Truthy Checks Iterator Helper Methods Strict Builtin […]The post Announcing TypeScript 5.6 RC appeared first on TypeScript.
6ヶ月前
Announcing TypeScript 5.6 Beta
Daniel Rosenwasser, Author at TypeScript
Today we are excited to announce the availability of TypeScript 5.6 Beta. To get started using the beta, you can get it through NuGet, or through npm with the following command: npm install -D typescript@beta Here’s a quick list of what’s new in TypeScript 5.6! Disallowed Nullish and Truthy Checks Iterator Helper Methods Strict Builtin […]The post Announcing TypeScript 5.6 Beta appeared first on TypeScript.
6ヶ月前
記事のアイキャッチ画像
Announcing TypeScript 5.5
Daniel Rosenwasser, Author at TypeScript
Today we’re excited to announce the release of TypeScript 5.5! If you’re not familiar with TypeScript, it’s a language that builds on top of JavaScript by making it possible to declare and describe types. Writing types in our code allows us to explain intent and have other tools check our code to catch mistakes like […]The post Announcing TypeScript 5.5 appeared first on TypeScript.
8ヶ月前
記事のアイキャッチ画像
Announcing TypeScript 5.5 RC
Daniel Rosenwasser, Author at TypeScript
Today we are excited to announce the availability of the release candidate of TypeScript 5.5. To get started using the RC, you can get it through NuGet, or through npm with the following command: npm install -D typescript@rc Here’s a quick list of what’s new in TypeScript 5.5! Inferred Type Predicates Control Flow Narrowing for […]The post Announcing TypeScript 5.5 RC appeared first on TypeScript.
8ヶ月前
+記事のアイキャッチ画像
Announcing TypeScript 5.5 Beta
Daniel Rosenwasser, Author at TypeScript
Today we are excited to announce the availability of TypeScript 5.5 Beta. To get started using the beta, you can get it through NuGet, or through npm with the following command: npm install -D typescript@beta Here’s a quick list of what’s new in TypeScript 5.5! Inferred Type Predicates Control Flow Narrowing for Constant Indexed Accesses […]The post Announcing TypeScript 5.5 Beta appeared first on TypeScript.
9ヶ月前
\ No newline at end of file diff --git a/blogs/ff05d96010c97d893d1ccd7bb844a22e/index.html b/blogs/ff05d96010c97d893d1ccd7bb844a22e/index.html new file mode 100644 index 000000000000..1a05c8ef41b3 --- /dev/null +++ b/blogs/ff05d96010c97d893d1ccd7bb844a22e/index.html @@ -0,0 +1,113 @@ +The Guild Blogのフィード|JSer.info Watch List RSS

The Guild Blog

https://the-guild.dev

Open Source developers with experience of working with the largest companies and applications. GraphQL consulting, workshops and trainings.

フィード

記事のアイキャッチ画像
Nextra 4 x App Router. What's New and Migration Guide
The Guild Blog
App Router, Turbopack, Rust search engine Pagefind, RSC i18n, server/client components, compiled by React Compiler, GitHub Alert Syntax, new _meta.global file
1ヶ月前
記事のアイキャッチ画像
Understanding the Differences Between GraphQL and REST API Gateways
The Guild Blog
What is the difference between GraphQL and REST API Gateway?
2ヶ月前
記事のアイキャッチ画像
Extending your GraphQL service: Federation or Schema Stitching
The Guild Blog
+A summary of information regarding extending your GraphQL service to use Federation or Schema Stitching.
3ヶ月前
記事のアイキャッチ画像
How to write GraphQL resolvers effectively
The Guild Blog
Learn GraphQL concepts like resolver map, resolver chain, mappers, defer resolve and use GraphQL Code Generator and Server Preset to write resolvers.
3ヶ月前
記事のアイキャッチ画像
Supercharge Your Supergraph with Hive
The Guild Blog
Explore API management for Federated GraphQL with Hive. Unlock tools for collaboration, monitoring, and governance to simplify your API architecture.
3ヶ月前
記事のアイキャッチ画像
Audit of GraphQL Gateways Supporting Apollo Federation
The Guild Blog
Set of tests to evaluate and compare the compatibility of different GraphQL gateways with Apollo Federation.
5ヶ月前
記事のアイキャッチ画像
Introducing GraphQL Mesh v1 and Hive Gateway v1
The Guild Blog
+We released Version 1 of GraphQL Mesh and Hive Gateway, enabling flexible, open-source GraphQL Federation with both GraphQL and non-GraphQL sources.
5ヶ月前
記事のアイキャッチ画像
The Guild acquires Stellate
The Guild Blog
Today we are very pleased to announce that we have acquired Stellate GraphQL CDN - the leading GraphQL Caching solution.
5ヶ月前
記事のアイキャッチ画像
Building Type-Safe Random GIF Generator with feTS
The Guild Blog
Building a Random Gif Generator using the Giphy API and feTS, a tool designed to simplify REST API development.
9ヶ月前
記事のアイキャッチ画像
GraphQL Request Cancellation in JavaScript
The Guild Blog
Learn how to cancel GraphQL requests on the client side and how to handle cancellations on the server side with JavaScript.
9ヶ月前
記事のアイキャッチ画像
The Guild - Rebranding in open source
The Guild Blog
The Guild is doing rebranding - The open source way
1年前
記事のアイキャッチ画像
Announcing Accounts.js 1.0 Release Candidate
The Guild Blog
Introducing Accounts.js 1.0 Release Candidate, an end to end authentication and accounts management solution.
1年前
記事のアイキャッチ画像
Nextra 3 – Your Favourite MDX Framework, Now on 🧪 Steroids
The Guild Blog
MDX 3, new i18n, new _meta files with JSX support, more powerful TOC, remote MDX, better bundle size, MathJax, new code block styles, shikiji, ESM-only and more
1年前
記事のアイキャッチ画像
Building Open Source GraphQL Security
The Guild Blog
+Learn how open-source boosts GraphQL security and explore defensive and offensive tools, resources, and best practices to protect your GraphQL APIs.
1年前
記事のアイキャッチ画像
Open Source composition and validation library for Apollo Federation
The Guild Blog
Introducing MIT licensed drop-in replacement for the Apollo Federation composition library.
1年前
記事のアイキャッチ画像
GraphQLConf 2023 Recap
The Guild Blog
Explore the highlights of GraphQLConf 2023. Learn about the latest trends in GraphQL, from gateway solutions to composite schemas and innovative projects.
1年前
記事のアイキャッチ画像
State of GraphQL Gateways in 2023
The Guild Blog
A six-month journey of researching, benchmarking, exploring and comparing GraphQL gateways and the Federation spec in 2023.
1年前
記事のアイキャッチ画像
Hive Summer Update 2023
The Guild Blog
Learn what is new on GraphQL Hive, we have shipped a lot of new exciting features and improvements.
2年前
記事のアイキャッチ画像
The complete GraphQL Scalar Guide
The Guild Blog
Knowing how native and custom GraphQL Scalar works enables building flexible and extendable GraphQL schema.
2年前
記事のアイキャッチ画像
How Much Are GitHub Stars Worth to You?
The Guild Blog
Exposing the dark side of GitHub and open source projects
2年前
記事のアイキャッチ画像
Build a GraphQL server running on Cloudflare Workers.
The Guild Blog
+This course aims to build a practical GraphQL server on Cloudflare Workers using GraphQL Yoga, Pothos, Kysely, etc.
2年前
記事のアイキャッチ画像
Using @defer Directive with GraphQL Code Generator
The Guild Blog
Learn how to boost GraphQL performance using the @defer directive and GraphQL Code Generator for deferred fragment field resolution.
2年前
記事のアイキャッチ画像
Introducing Schema Policy in Hive
The Guild Blog
New GraphQL-Hive feature for enfocring best-practices and schema-design styles.
2年前
記事のアイキャッチ画像
+Consume OpenAPI in TypeScript Without Code Generation
The Guild Blog
feTS Client allows you to create an SDK-like client that infers types from an OpenAPI specification document.
2年前
記事のアイキャッチ画像
Optimize your Bundle Size with SWC and GraphQL Codegen
The Guild Blog
Optimize your Bundle Size with the SWC plugin for client-preset for GraphQL Code Generator
+
2年前
記事のアイキャッチ画像
GraphQL over Internet
The Guild Blog
HTTP, WebSockets, Server-Sent Events, undergoing standardization and libraries.
2年前
記事のアイキャッチ画像
Announcing GraphQL Network Inspector
The Guild Blog
A better way to debug network traffic with GraphQL
2年前
記事のアイキャッチ画像
GraphQL Cursor Pagination with PostgreSQL
The Guild Blog
An SQL based approach for understanding and implementing GraphQL Cursor Pagination.
2年前
記事のアイキャッチ画像
GraphQL Hive - Improvements in Schema Registry
The Guild Blog
GraphQL Hive announces new and improved schema registry model with improved workflow and user experience. Access to old model will end soon, switch recommended.
2年前
記事のアイキャッチ画像
How we shipped CDN access tokens with Cloudflare Workers and R2
The Guild Blog
Learn how we are using Cloudflare Workers to provide highly available access tokens for the Hive schema artifacts CDN.
2年前
記事のアイキャッチ画像
On-Demand Shared GraphQL Subscriptions with RxJS
The Guild Blog
Trigger on-demand expensive subscriptions and share results between multiple subscribers
2年前
記事のアイキャッチ画像
Flutter GraphQL | The Guild
The Guild Blog
+Brick is an open source package that provides offline support for GraphQL in Flutter
2年前
記事のアイキャッチ画像
Nextra 2 – Next.js Static Site Generator
The Guild Blog
Here are what the new version of Nextra 2 Framework includes.
2年前
Scalable APIs with GraphQL Server Codegen Preset
The Guild Blog
Structuring GraphQL server the right way enables many teams to work in harmony while minimising runtime risks.
2年前
記事のアイキャッチ画像
Build realtime GraphQL backends with Grafbase
The Guild Blog
Build collaborative, multiplayer apps faster and easier than ever with GraphQL Live Queries using Grafbase.
2年前
記事のアイキャッチ画像
GraphQL-ESLint v3.14 - What's New?
The Guild Blog
The best GraphQL linter becomes even better! Check out what we added in the new version.
2年前
記事のアイキャッチ画像
GraphQXL - The Missing GraphQL Language Extension?
The Guild Blog
GraphQXL, a new language for building big and scalable GraphQL server-side schemas
2年前
記事のアイキャッチ画像
+GraphQL Yoga NestJS integration now supports NestJS v9 and Yoga v3
The Guild Blog
A new version of @graphql-yoga/nestjs with NestJS v9 support is out!
2年前
記事のアイキャッチ画像
Announcing GraphQL Yoga v3
The Guild Blog
The new version of GraphQL Yoga is out! Learn what has improved and what is new!
2年前
記事のアイキャッチ画像
How ClickHouse helps us track billions of GraphQL requests monthly
The Guild Blog
Learn how ClickHouse enabled GraphQL Hive to scale from millions to billions of requests monthly.
2年前
記事のアイキャッチ画像
Announcing free SSO (Single Sign On) for GraphQL Hive
The Guild Blog
Link your GraphQL Hive Organization to your OAuth OIDC provider of choice.
2年前
記事のアイキャッチ画像
Getting the Best of TypeScript and GraphQL: Union Types
The Guild Blog
+The combination of TypeScript and GraphQL can be very powerful. Both TypeScript and GraphQL support the concept of discriminated unions.
2年前
記事のアイキャッチ画像
Building Slack Bot with Cloudflare Workers
The Guild Blog
The Guild Internal toolL - GitHub Slack bot reminder in Cloudflare Workers
2年前
記事のアイキャッチ画像
Announcing self-hosted GraphQL Hive
The Guild Blog
Host your own GraphQL Hive instance. We are happy to announce that we have reached the milestone of making it easy to host their own instance of GraphQL Hive.
2年前
記事のアイキャッチ画像
Improved Security with GraphQL Armor support for Yoga Server 2
The Guild Blog
Bringing security by default to GraphQL and Yoga Server.
2年前
記事のアイキャッチ画像
JavaScript runs everywhere, so should your servers - here is how
The Guild Blog
A new way to make any Javascript server platform-agnostic.
2年前
記事のアイキャッチ画像
Unleash the power of Fragments with GraphQL Codegen
The Guild Blog
The most important parts of Relay are the concepts of building and scaling applications, let's show how you can use these patterns in your existing projects.
3年前
記事のアイキャッチ画像
Bringing the best GraphQL experience to Svelte
The Guild Blog
It's time to unveil a massive effort by the KitQL and Houdini maintainers to join forces!
3年前
記事のアイキャッチ画像
Building GraphQL Servers in 2022
+The Guild Blog
In this talk we'll learn about the tools needed to build your own GraphQL server from scratch using GraphQL Yoga.
3年前
記事のアイキャッチ画像
Announcing GraphQL Hive, the complete GraphQL API manager
The Guild Blog
We are incredibly excited to share with you today the public launch of GraphQL Hive!
3年前
記事のアイキャッチ画像
Announcing GraphQL Yoga 2.0!
The Guild Blog
Fully-featured GraphQL Server with focus on easy setup, performance and great developer experience
3年前
記事のアイキャッチ画像
GraphQL error handling to the max with Typescript, codegen and fp-ts
The Guild Blog
Handle unsafe APIs in a typesafe way with Typescript and Functional Programming.
3年前
記事のアイキャッチ画像
How not to learn GraphQL
The Guild Blog
A guide to avoid common learning biases and misconceptions around GraphQL.
3年前
記事のアイキャッチ画像
The Anatomy of a GraphQL Request
The Guild Blog
Let's go back to the basics and break down a GraphQL request.
3年前
記事のアイキャッチ画像
Caching data with DataLoader
The Guild Blog
How to use DataLoader to cache data in your GraphQL server.
3年前
記事のアイキャッチ画像
GraphQL Authentication with Envelop and Auth0
The Guild Blog
Learn how to quickly add authentication to you GraphQL Envelop setup with Auth0.
3年前
記事のアイキャッチ画像
GraphQL AuthZ - GraphQL Authorization layer
The Guild Blog
Flexible modern way of adding an authorization layer on top of your existing GraphQL backend systems.
3年前
記事のアイキャッチ画像
GraphQL Code Generator with TypeScript and Prisma models
The Guild Blog
How to use Prisma models with GraphQL Code Generator
3年前
記事のアイキャッチ画像
GraphQL over SSE (Server-Sent Events)
The Guild Blog
Zero-dependency, HTTP/1 safe, simple, GraphQL over Server-Sent Events Protocol server and client.
+
3年前
記事のアイキャッチ画像
GraphQL Response Caching with Envelop
The Guild Blog
Caching GraphQL endpoints can be tricky. Let's take a look at the theory behind making it possible and learn how to do it with Envelop.
3年前
What does it take to support Node.js ESM?
The Guild Blog
I have worked on all The Guild's libraries and graphql-js to support ESM. Here is how you can do it too.
3年前
記事のアイキャッチ画像
What's new in GraphQL-Codegen v2?
The Guild Blog
Human-readable types, improved infrastructure, a new plugin for TypeScript and more!
4年前
記事のアイキャッチ画像
SwiftGraphQL - A GraphQL client for Swift lovers.
The Guild Blog
SwiftGraphQL lets you use all the power Swift gives you to query your data. It feels like magic.
4年前
記事のアイキャッチ画像
GraphQL Tools V8 - Stitch Federation Services
The Guild Blog
GraphQL Tools - Faster and more flexible Schema Stitching!
4年前
記事のアイキャッチ画像
Introducing Envelop - The GraphQL Plugin System
The Guild Blog
+A new tool by The Guild: A powerful new way for creating fast, modern and secure GraphQL servers.
4年前
記事のアイキャッチ画像
Collecting GraphQL Live Query Resource Identifier with GraphQL Tools
The Guild Blog
GraphQL Tools can help to solve a variety of problems. Lean how it can be used for live queries.
4年前
記事のアイキャッチ画像
GraphQL with TypeScript done right
The Guild Blog
How to get the most of React application types with GraphQL Code Generator.
4年前
記事のアイキャッチ画像
Easy Open Source - Orchestrating the Open Source Contribution Workflow
The Guild Blog
Sharing our journey of making it easier for people to participate in Open Source.
4年前
記事のアイキャッチ画像
Subscriptions and Live Queries - Real Time with GraphQL
The Guild Blog
+GraphQL subscriptions are used by many. Let's take a look at both methods for achieving real-time communication with GraphQL.
4年前
記事のアイキャッチ画像
GraphQL Hive - Manage Your GraphQL API Workflow
The Guild Blog
Announcing the beta testing program of GraphQL Hive - schema registry for any GraphQL workflow.
4年前
記事のアイキャッチ画像
A New Year for GraphQL Schema Stitching
The Guild Blog
2021 is the year to give Schema Stitching a fresh look after its recent renovation
4年前
記事のアイキャッチ画像
The New GraphQL Modules
The Guild Blog
GraphQL Modules showed up on NPM almost 3 years ago, but now we decided to rewrite it from scratch.
4年前
記事のアイキャッチ画像
Add reactivity to an existing source using GraphQL Mesh
The Guild Blog
How To extend an existing endpoint with subscriptions to bring reactivity to your application.
4年前
記事のアイキャッチ画像
GraphQL - The Workflow
The Guild Blog
The Workflow when taking GraphQL from development to production.
4年前
記事のアイキャッチ画像
GraphQL - The Stack -
The Guild Blog
The GraphQL Stack - Part 3. In this blog looking at more such tools and services which have created a great impact in the GraphQL ecosystem.
4年前
記事のアイキャッチ画像
GraphQL - The Stack -
The Guild Blog
The GraphQL Stack - Part 2. GraphQL Modules Preset with Codegen since it essentially also splits your types and generates types.
4年前
記事のアイキャッチ画像
GraphQL - The Stack -
The Guild Blog
The GraphQL Stack - Part 1. Choosing the right tech stack for your use case and building the development workflow which suits you best in this blog.
4年前
記事のアイキャッチ画像
GraphQL - Use case and Architecture
The Guild Blog
Architecting for GraphQL and its ecosystem. Looking at how your architecture can look like when working with GraphQL.
4年前
記事のアイキャッチ画像
GraphQL - Diving Deep
The Guild Blog
Answering all the questions you may have about GraphQL and its ecosystem.
4年前 +
記事のアイキャッチ画像
What's new with Apollo Client v3 and GraphQL Codegen
The Guild Blog
All the new features GraphQL Codegen adds to your type-system with the new Apollo Client 3.
4年前
記事のアイキャッチ画像
graphql-let - A Webpack loader for GraphQL Code Generator
The Guild Blog
graphql-let is a webpack loader of GraphQL code generator.
4年前
記事のアイキャッチ画像
Introducing: GraphQL Codegen plugin for TypeScript & SWR!
The Guild Blog
Working with GraphQL, TypeScript and SWR is now much simpler!
4年前
記事のアイキャッチ画像
GraphQL Tools v7 delivers the next generation GraphQL API Gateway
The Guild Blog
GraphQL Tools v7 - Brings Schema Stitching to a whole new level thanks to automation and performance enhancements.
4年前
記事のアイキャッチ画像
The Guild is joining the GraphQL Foundation
The Guild Blog
Our plans to contribute to the GraphQL Foundation.
4年前
記事のアイキャッチ画像
What's new in GraphQL CLI 4.1
The Guild Blog
+GraphQL CLI - experience the modern way for developing full-stack GraphQL applications.
4年前
記事のアイキャッチ画像
Webhooks as GraphQL Subscriptions using GraphQL Mesh
The Guild Blog
Consume your legacy webhooks and subscriptions from any data source as GraphQL Subscriptions with GraphQL Mesh.
4年前
記事のアイキャッチ画像
Introducing GraphQL-ESLint!
The Guild Blog
A new tool by The Guild, for making your GraphQL schema and GraphQL operations more standard and robust!
4年前
記事のアイキャッチ画像
GraphQL over WebSockets
The Guild Blog
Coherent, zero-dependency, lazy, simple, server and client implementation of the new, security first, GraphQL over WebSocket Protocol.
4年前
記事のアイキャッチ画像
TypedDocumentNode: the next generation of GraphQL and TypeScript
The Guild Blog
Using GraphQL and Typescript on the client just became a lot easier!
5年前
記事のアイキャッチ画像
Migrating from Schemaless REST API to GraphQL without writing any code
The Guild Blog
Migrating to GraphQL from a REST API has never been easier. With tools like GraphQL Mesh you can do it automatically.
5年前
記事のアイキャッチ画像
GraphQL Tools - next generation schema stitching and new leadership
The Guild Blog
GraphQL Tools v6 with more tools, improved schema stitching and bug fixes.
5年前
記事のアイキャッチ画像
Integrating GraphQL Code Generator in your frontend applications
The Guild Blog
+The GraphQL codegen library can generate code for multiple purposes. Make sure you get the most out of it.
5年前
記事のアイキャッチ画像
Better Type Safety for your GraphQL resolvers with GraphQL Codegen
The Guild Blog
Type-check your resolvers' implementation in order to find issues in build-time. Simply integrate with your existing TypeScript data models and context types.
5年前 +
記事のアイキャッチ画像
New GraphQL Inspector and upcoming features
The Guild Blog
See what's new and shape the future of GraphQL Inspector together! It's entirely open-sourced!
5年前
記事のアイキャッチ画像
Schema Change Notifications in GraphQL Inspector
The Guild Blog
Stay up to date with changes in your GraphQL Schema. Receive notifications on Slack, Discord or even via WebHooks.
5年前
記事のアイキャッチ画像
Validate GraphQL Schema - Continuous Integration & Delivery Pipeline
The Guild Blog
+Detect breaking changes and identify possible issues in GraphQL API with GraphQL Inspector
5年前
記事のアイキャッチ画像
Multiple environments and endpoints in GraphQL Inspector
The Guild Blog
Use different variants of GraphQL schema. Live and running GraphQL API as the source of truth of a schema.
5年前
記事のアイキャッチ画像
Enable Remote Control in GraphQL Inspector
The Guild Blog
Intercept schema changes via HTTP and decide which changes are acceptable which are not and all of this through a serverless function.
5年前
記事のアイキャッチ画像
GraphQL Mesh - Query anything, run anywhere
The Guild Blog
We are excited to announce GraphQL Mesh. A powerful open source library enabling developers to leverage the power of GraphQL without requiring changes
5年前
記事のアイキャッチ画像
How to run React E2E tests purely with hooks
The Guild Blog
+How to run React E2E tests purely with hooks. Tested with React-Native and Firebase Test Lab.
5年前
記事のアイキャッチ画像
GraphQL CLI is back!
The Guild Blog
Your Swiss Army Knife for the GraphQL ecosystem. Production-ready GraphQL app in seconds.
5年前
GraphQL Config - One configuration for all your tools
The Guild Blog
One configuration for all your tools. A single place to store all your GraphQL configurations for any GraphQL based tool.
5年前
記事のアイキャッチ画像
GraphQL Scalars 1.0 is out!
The Guild Blog
+More Types, Data Integrity and Strict Validations on GraphQL.
6年前
記事のアイキャッチ画像
The coolest, most underrated design pattern in React
The Guild Blog
The coolest, most underrated design pattern in React
6年前
記事のアイキャッチ画像
I wrote a customizable CSS engine in JavaScript
The Guild Blog
I wrote a customizable CSS engine in JavaScript. Custom selectors, custom rules and custom events. You determine its behavior.
6年前
記事のアイキャッチ画像
+Optimizing Apollo Operations - GraphQL Code Generator & Relay Compiler
The Guild Blog
Optimizing your Apollo Operations with GraphQL Code Generator and the Relay Compiler.
6年前
記事のアイキャッチ画像
Injectable services in React
The Guild Blog
How they're implemented and their similarities with Angular services.
6年前
記事のアイキャッチ画像
GraphQL Codegen adds new Apollo-Android and Java plugins
The Guild Blog
GraphQL Codegen adds a new Apollo-Android and a new Java Backend plugins!
6年前
記事のアイキャッチ画像
Authentication and Authorization in GraphQL
The Guild Blog
After a few years of working with GraphQL, we've learned some lessons about GraphQL, and how to authenticate and authorize GraphQL API.
6年前
記事のアイキャッチ画像
The Guild is taking over maintenance of merge-graphql-schemas
The Guild Blog
+The Guild is taking over maintenance of merge-graphql-schemas, so let's talk about GraphQL Schema management
6年前
記事のアイキャッチ画像
Manage Circular Imports Hell in GraphQL-Modules
The Guild Blog
Designing and building modular GraphQL API may not look straight-forward. It is hard to keep a perfect modularity with standalone and encapsulated modules.
6年前
記事のアイキャッチ画像
How should you pin dependencies and why?
The Guild Blog
Getting in-depth on making your application updated and safe.
6年前
記事のアイキャッチ画像
Stencil-Apollo - Stencil meets GraphQL
The Guild Blog
Stencil-Apollo lets you easily use GraphQL in Web Components.
6年前
記事のアイキャッチ画像
New encapsulation method for Styled-Components with Babel
The Guild Blog
Use private class names instead of a dedicated component
6年前
+
記事のアイキャッチ画像
GraphQL Code Generator - Hooks support for React Apollo plugin
The Guild Blog
Use and generate React Hooks with Apollo and Typescript with the new version of GraphQL Code Generator.
6年前
記事のアイキャッチ画像
WhatsApp Clone - Angular, GraphQL, Apollo, TypeScript and PostgreSQL
The Guild Blog
An open-source full-stack example app made with Angular 7.2, TypeScript, GraphQL Subscriptions, GraphQL Code Generator, GraphQL Modules, PostgreSQL and TypeORM.
6年前
記事のアイキャッチ画像
WhatsApp Clone - GraphQL, Apollo, TypeScript and PostgreSQL
The Guild Blog
Fully functional WhatsApp Clone using React (Hooks+Suspense), GraphQL, Apollo, TypeScript and PostgreSQL
6年前
記事のアイキャッチ画像
SOFA — The best way to REST (is GraphQL)
The Guild Blog
Ending the REST vs. GraphQL debate once and for all
6年前
記事のアイキャッチ画像
Babel plugin and get a performance boost for your React components
The Guild Blog
Use this magical Babel plugin and get a performance boost for your React components.
6年前
記事のアイキャッチ画像
Introducing: GraphQL Inspector
The Guild Blog
Prevent breaking changes. Find broken operations. Get Schema Coverage. Check deprecated usage and type duplicates. All as part of your CI process.
6年前
記事のアイキャッチ画像
Dependency Injection in GraphQL-Modules
The Guild Blog
Why did we implement our own Dependency Injection library for GraphQL-Modules?
6年前
記事のアイキャッチ画像
Scoped Providers in GraphQL-Modules
The Guild Blog
Understand how scoped providers work in GraphQL-Modules Dependency Injection.
6年前
記事のアイキャッチ画像
Modular Encapsulation in Large-Scale GraphQL Projects
The Guild Blog
Why is True Modular Encapsulation So Important in Large-Scale GraphQL Projects? — GraphQL Modules is your savior!
6年前
記事のアイキャッチ画像
This is how our brain detects shapes
The Guild Blog
This is how our brain detects shapes. And so shall the computer...
6年前
記事のアイキャッチ画像
GraphQL TypeScript - w/ GraphQL-Modules and GraphQL-Code-Generator
The Guild Blog
Writing a GraphQL TypeScript project w/ GraphQL-Modules and GraphQL-Code-Generator.
6年前
記事のアイキャッチ画像
How I helped improve Angular Console
The Guild Blog
How I helped improve Angular Console. By doing GraphQL the right way.
6年前
記事のアイキャッチ画像
Under the hood of React's hooks system
The Guild Blog
Looking at the implementation and getting to know it inside out.
6年前
記事のアイキャッチ画像
Authentication with accounts-js & GraphQL Modules
The Guild Blog
How to implement server-side using accounts-js, GraphQL-Modules and Apollo-Server
6年前
記事のアイキャッチ画像
Implementing a runtime version of JSX
The Guild Blog
Learning how to think like a JSX parser and building an AST
6年前
記事のアイキャッチ画像
+GraphQL Modules  —  Feature based GraphQL Modules at scale
The Guild Blog
Today we are happy to announce that we are open sourcing a framework we've been using for the past couple of months in production, GraphQL Modules!
6年前
記事のアイキャッチ画像
Recursive React tree component implementation made easy
The Guild Blog
+The challenges that I've faced and how I solved them.
6年前
記事のアイキャッチ画像
Getting to know React DOM's event handling system inside out
The Guild Blog
Getting to know React DOM's event handling system inside out.
6年前
記事のアイキャッチ画像
This is how I build Babel plug-ins
The Guild Blog
The basics of AOT compilers and how to write Babel plug-ins.
6年前
記事のアイキャッチ画像
Getting to know Node's child_process module
The Guild Blog
+How to call git, cpp, sh, etc., from a Node.js script.
6年前
記事のアイキャッチ画像
How to create a React app out of a Webflow project
The Guild Blog
How to create a React app out of a Webflow project.
6年前
記事のアイキャッチ画像
git rebase (not) --interactive
The Guild Blog
How to build a Node.js script to re-write history. Pre-requisites: Familiarity with git rebase --interactive.
6年前
記事のアイキャッチ画像
Apollo-Angular 1.2 - using GraphQL in your apps just got a lot easier!
The Guild Blog
+Check what's new in Apollo Angular and how to get the full potential benefits of using Angular + GraphQL + TypeScript combined thanks to GraphQL-Code-Generator
6年前
記事のアイキャッチ画像
GraphQL Code Generator for Typescript React Apollo
The Guild Blog
Generate React Apollo Query, Mutation and Subscription components and hook. All completely typed by TypeScript.
6年前
記事のアイキャッチ画像
GraphQL Code Generator v0.11
The Guild Blog
Generate React and Angular Apollo Components, Resolver signatures and much more!
6年前
記事のアイキャッチ画像
+Angular CLI + Meteor — No more ejecting Webpack Configuration
The Guild Blog
Angular CLI + Meteor — No more ejecting Webpack Configuration
7年前
記事のアイキャッチ画像
React Native and Meteor backend w/o any 3rd party library in 2018
The Guild Blog
Introduction to new features of client bundler and React Native Meteor Polyfills including OAuth and persistent login session support etc.
7年前
記事のアイキャッチ画像
Meteor with Webpack — Faster compilation and better source handling
The Guild Blog
Faster compilation and better source handling. Meteor-Webpack is here as a solution to this kind of problems and lack of features in Meteor's bundler
7年前
記事のアイキャッチ画像
Meteor Client Bundler — React Native support, handling Meteor imports
The Guild Blog
Introduction to new features of MCB. Better React Native support, handling Meteor imports etc.
7年前
記事のアイキャッチ画像
What's new in GraphQL Codegen 0.9.0
The Guild Blog
The GraphQL Codegen library can generate any code for any language — including type definitions, data models, query builder, resolvers, etc...
7年前
記事のアイキャッチ画像
Open source FPS with Apollo GraphQL — GeoStrike (Alpha)
The Guild Blog
A GeoReferenced Multiplayer First-Person Shooter Game.
7年前
記事のアイキャッチ画像
Introducing GraphQL Code Generator
The Guild Blog
The True GraphQL-First platform. Generate your backend, frontend, types, resolvers, ORM code and more from your GraphQL schema and documents.
7年前
記事のアイキャッチ画像
How to create a native add-on using C++
The Guild Blog
Node.js Advanced — How to create a native add-on using C++
8年前
記事のアイキャッチ画像
Apollo Angular Version 0.11
The Guild Blog
New name, AoT support, TypeScript improvements, and Angular 4 readiness
8年前
記事のアイキャッチ画像
Build a WhatsApp Clone with Ionic 2, Angular 2, and Meteor
The Guild Blog
Build a WhatsApp Clone with Ionic 2, Angular 2, and Meteor
8年前
記事のアイキャッチ画像
GraphQL as a best practice for modern Angular apps?
The Guild Blog
In this post, I'll make the case for why Angular needs a best practice for communicating with the server, and why GraphQL should be that best practice.
9年前
記事のアイキャッチ画像
Build a WhatsApp clone with Meteor and Ionic — Meteor Platform version
The Guild Blog
Build a WhatsApp clone using Meteor, Angular, and the Ionic Framework for CSS and mobile components
9年前
\ No newline at end of file diff --git a/blogs/index.html b/blogs/index.html new file mode 100644 index 000000000000..eb139ddefcfa --- /dev/null +++ b/blogs/index.html @@ -0,0 +1,166 @@ +ブログ一覧|JSer.info Watch List RSS

ブログ一覧(更新順)

記事のアイキャッチ画像
Write Software, Well https://www.writesoftwarewell.com/
Spreading the joy of writing software using Ruby and Rails with the world.
3時間前
ブログのアイキャッチ画像
The Cloudflare Blog https://blog.cloudflare.com
Get the latest news on how products at Cloudflare are built, technologies used, and join the teams helping to build a better Internet.
12時間前
ブログのアイキャッチ画像
The GitHub Blog https://github.blog/
Updates, ideas, and inspiration from GitHub to help developers build and design software.
15時間前
記事のアイキャッチ画像
Frontend Masters Boost RSS Feed https://frontendmasters.com/blog
Frontend Masters Boost is a blog about web development. It's written by the team at Frontend Masters, course instructors from the industry, and curated guest authors. The goal is to help you on yo...
17時間前
ブログのアイキャッチ画像
Articles on Smashing Magazine — For Web Designers And Developers https://www.smashingmagazine.com/
Magazine on CSS, JavaScript, front-end, accessibility, UX and design. For developers, designers and front-end engineers.
19時間前
ブログのアイキャッチ画像
1Password Blog https://blog.1password.com/
News, announcements and security tips from the 1Password blog.
1日前
ブログのアイキャッチ画像
Sentry Blog RSS +https://blog.sentry.io
Product, Engineering, and Marketing updates from the developers of Sentry.
1日前
ブログのアイキャッチ画像
Inngest Product & Engineering Blog https://www.inngest.com
Inngest's durable functions replace queues, state management, and scheduling to enable any developer to write reliable, multi-step code faster without touching infrastructure.
1日前
ブログのアイキャッチ画像
Mitsue-Links [ミツエーリンクス] http://www.mitsue.co.jp
Webサイトの構築・運用を中心とした様々なサービスで、コミュニケーションを創造・改善します。
1日前
ブログのアイキャッチ画像
Netlify RSS https://www.netlify.com/
Realize the speed, agility and performance of a scalable, composable web architecture with Netlify. Explore the composable web platform now!
2日前
ブログのアイキャッチ画像
Piccalilli - Everything https://piccalil.li/
We are Piccalilli. A publication dedicated to providing high quality educational content to level up your front-end skills.
2日前
ブログのアイキャッチ画像
エムスリーテックブログ https://www.m3tech.blog/
エムスリー(m3)のエンジニア・開発メンバーによる技術ブログです
2日前
ブログのアイキャッチ画像
WorkOS Blog https://workos.com
Developer APIs / SDKs for enterprise-ready features like Single Sign-On (SSO/SAML), Passwordless Authentication, Directory Sync (SCIM), Audit Trail (SIEM), and more. Get started for free.
2日前
ブログのアイキャッチ画像
NodeJS Security & NodeJS Secure Coding's Blog https://www.nodejs-security.com/
Master hands-on Node.js security with Node.js Secure Coding education and learn how to defend against JavaScript Command Injection vulnerabilities and gain backend development skills to exploit and pr...
2日前
ブログのアイキャッチ画像
Blog RSS feed https://www.sonarsource.com
Sonar’s industry leading solution enables developers & development teams to write clean code and remediate existing code organically.
2日前
ブログのアイキャッチ画像
Fermyon • Experience the next wave of cloud computing. https://www.fermyon.com/
Go from blinking cursor to deployed serverless app in 66 seconds. Experience the next wave of cloud computing with Fermyon.
3日前
記事のアイキャッチ画像
developer.chrome.com: Blog https://developer.chrome.com/blog/
Latest news from the Chrome Developer Relations team
3日前
ブログのアイキャッチ画像
PR TIMES 開発者ブログ https://developers.prtimes.jp
PR TIMESを日々開発するエンジニア、デザイナー、プロダクトマネージャーによる開発者ブログです。「行動者発の情報が、人の心を揺さぶる時代へ」をプロダクトで挑戦するチームの開発の裏話や技術共有メモ、ちょっと聞いて欲しいあれこれを発信します。
3日前
ブログのアイキャッチ画像
AppSignal https://blog.appsignal.com
+Product updates and things we've learned while building AppSignal
3日前
ブログのアイキャッチ画像
Checkly Blog: Monitoring Insights & Trends https://www.checklyhq.com/blog
+Learn about the latest tips, tricks & how-to articles on advanced synthetic monitoring, Playwright & Monitoring as Code trends.
3日前
ブログのアイキャッチ画像
Playful Programming's Atom Feed +https://playfulprogramming.com
Learning programming from magically majestic words. A place to learn about all sorts of programming topics from entry-level concepts to advanced abstractions
3日前
ブログのアイキャッチ画像
カミナシ エンジニアブログ https://kaminashi-developer.hatenablog.jp/
株式会社カミナシのエンジニアが色々書くブログです
3日前
ブログのアイキャッチ画像
Mux Blog - Video technology and more https://www.mux.com/blog
Mux builds powerful APIs for video encoding, hosting, streaming and data. Come see what we're up to, and let's build better video.
4日前
ブログのアイキャッチ画像
vlt /vōlt/ - blog https://blog.vlt.sh
Dedicated blog for vlt design, engineering & thoughts
4日前
ブログのアイキャッチ画像
デジタル庁デザインシステムβ版 +https://design.digital.go.jp
デジタル庁デザインシステムは、スタイリングの考え方を提供するデザイン言語、情報の視覚表現とインタラクションを具現化するUIコンポーネント、ユーザビリティとアクセシビリティを踏まえた設計や実装のためのガイドラインから構成されるデザインアセットです。
4日前
ブログのアイキャッチ画像
Builder.io Blog https://www.builder.io/blog
Builder Blog for the latest insights, tips, and best practices for learning how to build fast digital experiences across all channels, faster.
5日前
ブログのアイキャッチ画像
STORES Product Blog +https://product.st.inc/
こだわりを持ったお商売を支える「STORES」のテクノロジー部門のメンバーによるブログです。
5日前
ブログのアイキャッチ画像
Robin Wieruch - Freelance Web Developer https://www.robinwieruch.de
Freelance Web Developer for React.js, Next.js and Node.js. Based in Berlin, German/English speaking. Consulting/Freelancing for Web Development project: Code Audits/Reviews, Workshops, Training, Imple...
5日前
ブログのアイキャッチ画像
CyberAgent Developers Blog | サイバーエージェント デベロッパーズブログ https://developers.cyberagent.co.jp/blog
サイバーエージェントのエンジニア・クリエイター・テクニカルクリエイターが執筆する公式ブログです。サイバーエージェントの技術情報を日々発信していきます。
5日前
ブログのアイキャッチ画像
+Evan Hahn's blog https://evanhahn.com/blog/
My blog, mostly about programming.
6日前
記事のアイキャッチ画像
web.dev: Blog https://web.dev/blog/
Our latest news, updates, and stories for developers
7日前
ブログのアイキャッチ画像
bun.sh https://bun.sh
Bundle, install, and run JavaScript & TypeScript — all in Bun. Bun is a new JavaScript runtime with a native bundler, transpiler, task runner, and npm client built-in.
7日前
記事のアイキャッチ画像
azukiazusa のテックブログ2 https://azukiazusa.dev
azukiazusaのテックブログ2です。週に1回 Web 開発に関する記事をお届けします。フロントエンドに関する分野の記事が中心です。
7日前
ブログのアイキャッチ画像
pawelgrzybek.com https://pawelgrzybek.com/
Hi, I’m Paweł, a software developer from Poland, now living in Northampton, UK. I do stuff on the web, write about it, and listen to funky and jazz records after hours.
7日前
ブログのアイキャッチ画像
newmo 技術ブログ https://tech.newmo.me/
技術で地域をカラフルに
8日前
ブログのアイキャッチ画像
The Astro Blog https://astro.build/
Astro builds fast content sites, powerful web applications, dynamic server APIs, and everything in-between.
8日前
ブログのアイキャッチ画像
Turbo Blog https://turbo.build
Turbo is an incremental bundler and build system optimized for JavaScript and TypeScript, written in Rust.
8日前
ブログのアイキャッチ画像
Chris Coyier https://chriscoyier.net
Web craftsman, blogger, author, speaker.
8日前
ブログのアイキャッチ画像
Blog by Martijn Hols https://martijnhols.nl
Ik ben dé Freelance React Developer die je zoekt. Al 8 jaar gespecialiseerd in React, met veel full stack ervaring. Ik kan veel voor je projecten betekenen.
9日前
記事のアイキャッチ画像
Google Online Security Blog http://security.googleblog.com/
The latest news and insights from Google on security and safety on the Internet
10日前
ブログのアイキャッチ画像
Company | The JetBrains Blog https://blog.jetbrains.com
Developer Tools for Professionals and Teams
10日前
ブログのアイキャッチ画像
Semaphore https://semaphoreci.com/
Semaphore CI/CD enables shipping software faster, with quality and security.
10日前
ブログのアイキャッチ画像
Blog — nsaunders.dev https://nsaunders.dev/posts
My thoughts on React, TypeScript, frontend development, and software engineering in general
10日前
ブログのアイキャッチ画像
Deezer I/O - Medium https://deezer.io?source=rss----2ab7e077175a---4
Deezer I/O is a blog dedicated to stories of Deezer’s engineering, product, design and data teams.
10日前
ブログのアイキャッチ画像
software engineering, open source projects, startups, product design, strategy, web performance, security, and more https://www.trevorlasn.com
+I'm a seasoned software engineer and product strategist with entrepreneurial drive. Since 2014, I've built successful products from scratch, led engineering teams, and shared my technical insights thr...
10日前
ブログのアイキャッチ画像
PLAID Engineer Blog - 株式会社プレイド https://tech.plaid.co.jp/
株式会社プレイドのエンジニアブログです。プレイドエンジニアのユニークなパーソナリティを知ってもらうために執筆しています。
11日前
ブログのアイキャッチ画像
Scott Logic +https://blog.scottlogic.com
This blog shares Scott Logic's thoughts and ideas, covering topics across Tech, UX Design, Testing and Delivery.
11日前
ブログのアイキャッチ画像
Firebase Blog +https://firebase.blog/
News, tutorials, and updates from the Firebase team.
11日前
記事のアイキャッチ画像
WebKit https://webkit.org
Open Source Web Browser Engine
12日前
記事のアイキャッチ画像
WebKit https://www.webkit.org
Open Source Web Browser Engine
12日前
ブログのアイキャッチ画像
Josh Comeau's blog https://www.joshwcomeau.com/
Friendly tutorials for developers. Focus on React, CSS, Animation, and more!
12日前
ブログのアイキャッチ画像
SpeedCurve Blog +https://www.speedcurve.com/blog/
Find feature updates, web performance speed tips and industry insights on the SpeedCurve blog.
12日前
ブログのアイキャッチ画像
hogashi.* https://blog.hog.as/
日記から何から
12日前
ブログのアイキャッチ画像
blog.jxck.io https://blog.jxck.io/
Web Technology Blog by Jxck
12日前
記事のアイキャッチ画像
</> htmx - high power tools for html https://htmx.org
htmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext...
12日前
ブログのアイキャッチ画像
Human Who Codes https://humanwhocodes.com
The Official Web Site of Nicholas C. Zakas
12日前
記事のアイキャッチ画像
Honeybadger Developer Blog https://www.honeybadger.io/blog/
Tutorials, product info and good advice from the Honeybadger crew.
12日前
ブログのアイキャッチ画像 +
POSTD | ニジボックスが運営するエンジニアに向けたキュレーションメディア https://postd.cc
POSTD は、ニジボックスが運営する、エンジニアに向けたキュレーションメディアです。ニジボックスはWebサービスの企画、制作、開発、運用を一貫して担うリクルートの100%子会社です。 リクルートグループのオンラインサービスをはじめ、様々な業種・業界・業態のサービス開発を行っております。
15日前
ブログのアイキャッチ画像
Dagster Blog https://dagster.io/
The cloud-native open source orchestrator for the whole development lifecycle, with integrated lineage and observability, a declarative programming model, and best-in-class testability.
15日前
MDN Blog https://developer.mozilla.org/en-US/blog/
The MDN Web Docs site provides information about Open Web technologies including HTML, CSS, and APIs for both Web sites and progressive web apps.
15日前
ブログのアイキャッチ画像
CSS Wizardry https://csswizardry.com/
Web performance consultancy, site-speed optimisation, and Core Web Vitals improvements from Harry Roberts.
16日前
ブログのアイキャッチ画像
Tailwind CSS Blog https://tailwindcss.com/blog
All the latest Tailwind CSS news, straight from the team.
16日前
ブログのアイキャッチ画像 +
サイボウズ フロントエンドのフィード https://zenn.dev/p/cybozu_frontend
サイボウズのフロントエンドに関わる人が発信するPublicationです
17日前
記事のアイキャッチ画像
MoonBit Blog https://www.moonbitlang.com/blog
The big news and updates from the MoonBit team
17日前
ブログのアイキャッチ画像
Blog posts | RSS Feed https://www.apollographql.com
Unlock microservices potential with Apollo GraphQL. Seamlessly integrate APIs, manage data, and enhance performance. Explore Apollo's innovative solutions.
18日前
ブログのアイキャッチ画像
Rspack Blog https://rspack.dev
Fast Rust-based web bundler
18日前
ブログのアイキャッチ画像
Web Accessibility Initiative (WAI) https://www.w3.org/WAI/
Accessibility resources free online from the international standards organization: W3C Web Accessibility Initiative (WAI).
18日前
ブログのアイキャッチ画像
Read the Tea Leaves https://nolanlawson.com +
Software and other dark arts, by Nolan Lawson
21日前
ブログのアイキャッチ画像
Storybook Blog https://storybook.js.org/blog/
+News and updates from the Storybook team
22日前
+
ブログのアイキャッチ画像
Matthew Kwong Blog https://mwskwong.com/blog
Assistant Technical Manager at HKJC. Expert in web development. Skilled in React, Next.js, and various web technologies. MSc from HKUST, BEng from HKU. Open-source contributor. Passionate about innova... +
23日前
SpiderMonkey JavaScript/WebAssembly Engine https://spidermonkey.dev/
SpiderMonkey is Mozilla’s JavaScript and WebAssembly Engine, used in Firefox, Servo and various other projects. It is written in C++ and Rust.
24日前
ブログのアイキャッチ画像
Angular Blog - Medium https://blog.angular.dev?source=rss----447683c3d9a3---4
The latest news and tips from the Angular team
25日前
ブログのアイキャッチ画像
Bytecode Alliance https://bytecodealliance.org/
Welcome to the Bytecode Alliance
25日前
記事のアイキャッチ画像
Electron Blog https://electronjs.org/blog
Keep up to date with what's going on with the Electron project
25日前
ブログのアイキャッチ画像
Shopify Engineering - Shopify Engineering https://shopify.engineering
Shopify powers millions of businesses in more than 175 countries with essential commerce infrastructure. Our engineers and developers work on challenging and impactful projects spanning frontend, back...
25日前
ブログのアイキャッチ画像
Saeloun Blog https://blog.saeloun.com/
Ruby on Rails and ReactJS consulting company. We also build mobile applications using React Native
1ヶ月前
記事のアイキャッチ画像
Sindre Sorhus — Blog https://sindresorhus.com
Full-Time Open-Sourcerer & Aspiring Rebel
1ヶ月前
ブログのアイキャッチ画像
The Guild Blog https://the-guild.dev
Open Source developers with experience of working with the largest companies and applications. GraphQL consulting, workshops and trainings.
1ヶ月前
記事のアイキャッチ画像
Chromium Blog http://blog.chromium.org/
News and developments from the open source browser project
1ヶ月前
記事のアイキャッチ画像
Rafael Gonzaga - Home https://blog.rafaelgss.dev/
Tech insights on Performance, Security and Node.js from Rafael Gonzaga, Node.js TSC member
1ヶ月前
ブログのアイキャッチ画像
e18e https://e18e.dev/blog
Ecosystem Performance +
1ヶ月前
ブログのアイキャッチ画像
Web Performance Calendar https://calendar.perfplanet.com
The speed geek's favorite time of year
1ヶ月前
ブログのアイキャッチ画像
TkDodo's blog https://tkdodo.eu/blog
A technical blog about frontend-development, TypeScript and React
1ヶ月前
ブログのアイキャッチ画像
LegalOn Technologies Engineering Blog https://tech.legalforce.co.jp/
+LegalOn Technologies 開発チームによるブログです。
1ヶ月前
ブログのアイキャッチ画像
The Nuxt Blog https://nuxt.com/blog
+Read the latest news about all Nuxt solutions, from framework announcements to integration tutorials.
1ヶ月前
ブログのアイキャッチ画像
一休.com Developers Blog https://user-first.ikyu.co.jp/
+一休のエンジニア、デザイナー、ディレクターが情報を発信していきます
2ヶ月前
ブログのアイキャッチ画像
GMO Flatt Security Blog https://blog.flatt.tech/
株式会社GMO Flatt Securityの公式ブログです。プロダクト開発やプロダクトセキュリティに関する技術的な知見・トレンドを伝える記事を発信しています。 +
2ヶ月前
ブログのアイキャッチ画像
Blog - Supabase https://supabase.com
+Build production-grade applications with a Postgres database, Authentication, instant APIs, Realtime, Functions, Storage and Vector embeddings. Start for free.
2ヶ月前
ブログのアイキャッチ画像
Assetnote Research https://www.assetnote.io +
Fundamentally change how you secure your attack surface. Assetnote's industry-leading Attack Surface Management Platform gives security teams continuous insight and control over their ever-evolving ex...
2ヶ月前
ブログのアイキャッチ画像
mizdra's blog + https://www.mizdra.net/
ぽよぐらみんぐ
2ヶ月前
ブログのアイキャッチ画像
MUI - Blog https://mui.com/blog
+Follow the MUI blog to learn about new product features, latest advancements in UI development, and business initiatives.
2ヶ月前
ブログのアイキャッチ画像
dwango on GitHub https://dwango.github.io/
+ドワンゴ社内の様子や、文化、技術をご紹介します。
2ヶ月前
ブログのアイキャッチ画像
React Blog (JA) https://ja.react.dev/
React is the library for web and native user interfaces. Build user interfaces out of individual pieces called components written in JavaScript. React is designed to let you seamlessly combine compone...
2ヶ月前
ブログのアイキャッチ画像
React Blog https://react.dev/
React is the library for web and native user interfaces. Build user interfaces out of individual pieces called components written in JavaScript. React is designed to let you seamlessly combine compone...
2ヶ月前
ブログのアイキャッチ画像
Mozilla Hacks – the Web developer blog https://hacks.mozilla.org/
Mozilla Hacks is written for web developers, designers and everyone who builds for the Web. Hacks is produced by Mozilla's Developer Relations team and features hundreds of posts from Mozilla ...
2ヶ月前
記事のアイキャッチ画像
Sass Blog https://sass-lang.com/blog
Syntactically Awesome Style Sheets
2ヶ月前
ブログのアイキャッチ画像
Jacob 'kurtextrem' Groß https://kurtextrem.de/
Jacob 'kurtextrem' Groß portfolio overview, including links to blog posts, projects, research and tools published.
2ヶ月前
ブログのアイキャッチ画像
Prettier Blog https://prettier.io/blog
Read blog posts about Prettier from the team
2ヶ月前
ブログのアイキャッチ画像 +
Vite https://vite.dev/blog
Next Generation Frontend Tooling
2ヶ月前
記事のアイキャッチ画像
Keith Cirkel https://www.keithcirkel.co.uk/
Software Cyber Shepherd
2ヶ月前
記事のアイキャッチ画像
Remix Blog https://remix.run/blog
Thoughts about building excellent user experiences with Remix.
3ヶ月前
+
ブログのアイキャッチ画像
Saji (@sajikix) on Speaker Deck https://speakerdeck.com
+Speaker Deck is the best way to share presentations online. Simply upload your slides as a PDF, and we’ll turn them into a beautiful online experience. View them on SpeakerDeck.com, or share them on a...
3ヶ月前
記事のアイキャッチ画像
Blog | Alex Harri https://alexharri.com
Welcome to my personal website and blog. I write about TypeScript and other software engineering topics.
3ヶ月前
ブログのアイキャッチ画像
Val Town Blog https://blog.val.town/
Updates and articles from the Val Town team
3ヶ月前
記事のアイキャッチ画像
jQuery UI Blog https://blog.jqueryui.com
jQuery: The Write Less, Do More, JavaScript Library
3ヶ月前
ブログのアイキャッチ画像
AdonisJS Framework Blog https://adonisjs.com/blog
Read the latest news, framework releases, tips, and sometimes tutorials from the AdonisJS team.
3ヶ月前
ブログのアイキャッチ画像
StackBlitz Blog https://blog.stackblitz.com/
News, articles and all things JavaScript ecosystem - straight from the StackBlitz team! ⚡️
4ヶ月前
ブログのアイキャッチ画像
別にしんどくないブログ https://shisama.hatenablog.com/
技術のことや読書メモを書いています
4ヶ月前
ブログのアイキャッチ画像
Tauri | Blog https://v2.tauri.app/
The cross-platform app building toolkit
4ヶ月前
ブログのアイキャッチ画像
David Walsh Blog https://davidwalsh.name
A blog featuring tutorials about JavaScript, HTML5, AJAX, PHP, CSS, WordPress, and everything else development.
5ヶ月前
記事のアイキャッチ画像
The Vue Point https://blog.vuejs.org
The official blog for the Vue.js project
5ヶ月前
ブログのアイキャッチ画像
Maxim Orlov https://maximorlov.com/
A collection of articles, tips and free goodies you shouldn't miss.
5ヶ月前
ブログのアイキャッチ画像
とろろこんぶろぐ https://oisham.hatenablog.com/
かけだしR&Dフロントエンジニアの小言
6ヶ月前
ブログのアイキャッチ画像
It's official, Meteor 3.0 Official Release is out! https://forums.meteor.com/t/its-official-meteor-3-0-official-release-is-out/61860
+Meteor.js 3.0 is here 🎉 The most “impactful” release of the year! First, we would like to thank the community and everyone involved in making this happen, in no particular order: @denyhs @nachocod...
6ヶ月前
記事のアイキャッチ画像
Official jQuery Blog https://blog.jquery.com
jQuery: The Write Less, Do More, JavaScript Library
7ヶ月前
ブログのアイキャッチ画像
BrowserCat | Blog Articles +https://www.browsercat.com
Easy, fast, and reliable browser automation and headless browser APIs. The web is messy, but your code shouldn't be. Sign up and spend minutes to save hours!
7ヶ月前
記事のアイキャッチ画像
Marcelo Lazaroni https://lazamar.github.io
Developing for the Interwebs
8ヶ月前
ブログのアイキャッチ画像
blog.s2n.tech https://blog.s2n.tech/
しゅん🌙(@shun_shobon)のブログサイトです。技術記事からポエムまで色々書きます。
8ヶ月前
ブログのアイキャッチ画像
Colin McDonnell @colinhacks https://colinhacks.com
Founder of Bagel Health, creator of Zod, open-sourcer, poptimist, movie buff. Wanna go to Taco Bell?
8ヶ月前
ブログのアイキャッチ画像
Nx Devtools - Medium https://blog.nrwl.io?source=rss----1e21061103c7---4
Smart, Fast and Extensible Build System with First-Class Monorepo Support.
10ヶ月前
ブログのアイキャッチ画像 +
Nicholas Ray's blog https://www.nray.dev/
Web development tips that improve page speed, user happiness, and business success
10ヶ月前
ブログのアイキャッチ画像
ClarityDev blog | RSS Feed https://claritydev.net
Front-end web developer. Based in Helsinki, Finland.
10ヶ月前
ブログのアイキャッチ画像
+Bootstrap Blog https://blog.getbootstrap.com/
Official blog for the Bootstrap framework.
1年前
記事のアイキャッチ画像
Remote Synthesis | Blog https://remotesynthesis.com/
The personal blog of Brian Rinaldi
1年前
ブログのアイキャッチ画像
kettanaito.com https://kettanaito.com
Artem Zakharchenko's personal blog.
1年前
ブログのアイキャッチ画像
The Oxidation Compiler Blog https://oxc.rs
A collection of high-performance JavaScript tools written in Rust
1年前
ブログのアイキャッチ画像
Total TypeScript https://www.totaltypescript.com
Learn how to use TypeScript to level-up your applications as a web developer through exercise driven self-paced workshops and tutorials hosted by TypeScript wizard Matt Pocock.
1年前
ブログのアイキャッチ画像
Recent Gists from andrewbranch https://github.blog
Updates, ideas, and inspiration from GitHub to help developers build and design software.
1年前
ブログのアイキャッチ画像
zackoverflow https://zackoverflow.dev/
Crafting elegant abstractions
1年前
ブログのアイキャッチ画像
Feelback blog https://www.feelback.dev/
+Feelback allows your users to express their feelings about your content so you can make it better
2年前
ブログのアイキャッチ画像
DEV Community: Nick Lucas https://dev.to/nicklucas
+Sometimes I make things, sometimes I learn things, and sometimes I figure things out that nobody has documented yet. I mostly want to document those things!
2年前
ブログのアイキャッチ画像
CodSpeed Blog https://codspeed.io/blog
Dive into the world of software performance optimization with the CodSpeed team. Our engineers share their expertise, strategies, and real-world experiences to help you achieve peak software performan...
2年前
記事のアイキャッチ画像
Jantrid https://www.jantrid.net/
The musings and ramblings of Jamie Teh.
2年前
ブログのアイキャッチ画像
Stories by Abdu Taviq on Medium +https://medium.com/@abduvik?source=rss-2d72e94cd0fc------2
Read writing from Abdu Taviq on Medium. Web Application Developer. Knowledge hungry always learning. Aspiring to become a Web Unicorn. Find me @abduvik on social platforms.
2年前
ブログのアイキャッチ画像
Ahmad Shadeed https://ishadeed.com/
Deep-dive CSS articles, modern CSS and visual CSS explanations.
5年前
記事のアイキャッチ画像
Lit Blog https://lit.dev/blog/
Simple. Fast. Web Components.
6年前
記事のアイキャッチ画像
Alt Text Hall of Fame https://alttexthalloffame.org
Celebration of the effort, ingenuity, and creativity that goes into making the web a friendlier and more inclusive place, one captioned image at a time.
-
記事のアイキャッチ画像
Kommentare zu: Home https://www.angulararchitects.io/
Angular-Kurse mit Manfred Steyer und Team ⭐ in Deutschland, Österreich und der Schweiz ⭐ Deutsch und Englisch ⭐ Finden Sie alle Infos und Termine!
-
\ No newline at end of file diff --git a/feeds/atom.xml b/feeds/atom.xml new file mode 100644 index 000000000000..305845316502 --- /dev/null +++ b/feeds/atom.xml @@ -0,0 +1,2464 @@ + + + https://jser.info/watch-list-rss/ + JSer.info Watch List + 2025-02-08T08:13:22.190Z + jser/watch-list-rss + + + JSer.infoの情報源となるサイトをまとめたRSSフィード + https://jser.info/watch-list-rss/images/icon.png + https://jser.info/watch-list-rss/images/favicon.ico + jser/watch-list-rss + + <![CDATA[Working with the Rails Instrumentation API | Write Software, Well]]> + 653031e0aeb27800014b0e51 + + 2025-02-08T05:00:00.000Z + + + + Akshay Khot + + + 2025-02-08T05:00:00.000Z + + + <![CDATA[Resolving a Mutual TLS session resumption vulnerability | The Cloudflare Blog ]]> + 4gJhafUsmUjkevKu55304a + + 2025-02-07T20:13:14.000Z + + + + Matt Bullock + + + + + + + + 2025-02-07T20:13:14.000Z + + + <![CDATA[View Transitions Applied: More performant ::view-transition-group(*) animations | Bram.us]]> + https://www.bram.us/?p=35307 + + 2025-02-07T19:55:01.000Z + + + + Bramus! + + + + + + 2025-02-07T19:55:01.000Z + + + <![CDATA[Playing with AI inference in Firefox Web extensions | Blogccasion]]> + https://blog.tomayac.com/2025/02/07/playing-with-ai-inference-in-firefox-web-extensions/ + + 2025-02-07T17:15:43.000Z + + + 2025-02-07T17:15:43.000Z + + + <![CDATA[From finding to fixing: GitHub Advanced Security integrates Endor Labs SCA | The GitHub Blog]]> + https://github.blog/?p=82400 + + 2025-02-07T17:00:17.000Z + + + + Mario Rodriguez + + + + 2025-02-07T17:00:17.000Z + + + <![CDATA[How Deno's documentation is evolving | Deno]]> + https://deno.com/blog/docs-update + + 2025-02-07T16:00:00.000Z + + + 2025-02-07T16:00:00.000Z + + + <![CDATA[Oracle Drags Its Feet in the JavaScript Trademark Dispute | Socket]]> + https://socket.dev/blog/oracle-drags-its-feet-in-the-javascript-trademark-dispute + + 2025-02-07T15:48:56.128Z + + + 2025-02-07T15:48:56.128Z + + + <![CDATA[Three Approaches to the “&” (ampersand) Selector in CSS | Frontend Masters Boost RSS Feed]]> + https://frontendmasters.com/blog/?p=5123 + + 2025-02-07T14:50:06.000Z + + + + Preethi Sam + + + + + + 2025-02-07T14:50:06.000Z + + + <![CDATA[Enhanced firewall data now available in Monitoring | Vercel News]]> + https://vercel.com/changelog/enhanced-firewall-data-now-available-in-monitoring + + 2025-02-07T13:00:00.000Z + + + 2025-02-07T13:00:00.000Z + + + <![CDATA[Taking RWD To The Extreme | Articles on Smashing Magazine — For Web Designers And Developers]]> + https://smashingmagazine.com/2025/02/taking-rwd-to-the-extreme/ + + 2025-02-07T13:00:00.000Z + + + + hello@smashingmagazine.com (Tomasz Jakut) + + 2025-02-07T13:00:00.000Z + + + <![CDATA[The urgent need to replace SMS-based MFA | 1Password Blog]]> + https://blog.1password.com/sms-based-mfa-risks/ + + 2025-02-07T00:00:00.000Z + + + + info@1password.com (Elaine Atwell) + + 2025-02-07T00:00:00.000Z + + + <![CDATA[Cloudflare incident on February 6, 2025 | The Cloudflare Blog ]]> + mDiwAePfMfpVHMlYrfrFu + + 2025-02-07T00:00:00.000Z + + + + Matt Silverlock + + + + + 2025-02-07T00:00:00.000Z + + + <![CDATA[How to Debug and Log in PHP | Sentry Blog RSS]]> + https://blog.sentry.io/how-to-debug-and-log-in-php/ + + 2025-02-07T00:00:00.000Z + + + 2025-02-07T00:00:00.000Z + + + <![CDATA[ESLint v9.20.0 released | ESLint Blog]]> + https://eslint.org/blog/2025/02/eslint-v9.20.0-released/ + + 2025-02-07T00:00:00.000Z + + + 2025-02-07T00:00:00.000Z + + + <![CDATA[Customer story: Otto | Inngest Product & Engineering Blog]]> + https://www.inngest.com/blog/otto-customer-story + + 2025-02-07T00:00:00.000Z + + + 2025-02-07T00:00:00.000Z + + + <![CDATA[Preload Fonts On Your Website For Better Core Web Vitals | DebugBear Blog]]> + https://www.debugbear.com/blog/preload-web-fonts + + 2025-02-07T00:00:00.000Z + + + 2025-02-07T00:00:00.000Z + + + <![CDATA[コラム:Webサイト運用の最前線へ 新設部署「オペレーションセンター」が目指すもの / 矢野 | Mitsue-Links [ミツエーリンクス]]]> + https://www.mitsue.co.jp/knowledge/column/20250207.html + + 2025-02-07T00:00:00.000Z + 2025-02-07T00:00:00.000Z + + + <![CDATA[CRDTs and Y.js | Frontend Masters Boost RSS Feed]]> + https://frontendmasters.com/blog/?p=5149 + + 2025-02-06T18:56:26.000Z + + + + Chris Coyier + + + + + + + 2025-02-06T18:56:26.000Z + + + <![CDATA[GitHub Copilot: The agent awakens | The GitHub Blog]]> + https://github.blog/?p=82456 + + 2025-02-06T17:04:30.000Z + + + + Thomas Dohmke + + + + + + + + + 2025-02-06T17:04:30.000Z + + + <![CDATA[5 tips for promoting your open source project | The GitHub Blog]]> + https://github.blog/?p=82429 + + 2025-02-06T17:00:07.000Z + + + + Klint Finley + + + + + + + 2025-02-06T17:00:07.000Z + + + <![CDATA[Continuing the AX conversation: The Agent Web and Its Interface | Netlify RSS]]> + https://www.netlify.com/blog/continuing-the-ax-conversation-the-agent-web-and-its-interface/ + + 2025-02-06T17:00:00.000Z + + + 2025-02-06T17:00:00.000Z + + + <![CDATA[Container query units: cqi and cqb | CSS-Tricks]]> + https://css-tricks.com/?p=384468 + + 2025-02-06T15:29:35.000Z + + + + Geoff Graham + + + + + 2025-02-06T15:29:35.000Z + + + <![CDATA[New execution duration limit for Edge Functions | Vercel News]]> + https://vercel.com/changelog/new-execution-duration-limit-for-edge-functions + + 2025-02-06T13:00:00.000Z + + + 2025-02-06T13:00:00.000Z + + + <![CDATA[Faster deploy times for large builds | Vercel News]]> + https://vercel.com/changelog/faster-deploy-times-for-large-builds + + 2025-02-06T13:00:00.000Z + + + 2025-02-06T13:00:00.000Z + + + <![CDATA[Handling Relationships in React Admin | Marmelab blog]]> + https://marmelab.com/blog/2025/02/06/handling-relationships-in-react-admin.html + + 2025-02-06T12:00:00.000Z + + + 2025-02-06T12:00:00.000Z + + + <![CDATA[What I learned from migrating a Vue project from Vuex to Pinia | Piccalilli - Everything]]> + https://piccalil.li/blog/what-i-learned-from-migrating-a-vue-project-from-vuex-to-pinia/?ref=main-rss-feed + + 2025-02-06T11:00:00.000Z + + + + Michelle Barker + + 2025-02-06T11:00:00.000Z + + + <![CDATA[Linux Foundation Warns Open Source Developers: Compliance with Sanctions Is Not Optional | Socket]]> + https://socket.dev/blog/linux-foundation-warns-open-source-developers-on-sanctions + + 2025-02-06T05:05:00.000Z + + + 2025-02-06T05:05:00.000Z + + + <![CDATA[Maven Central Adds Sigstore Signature Validation | Socket]]> + https://socket.dev/blog/maven-central-adds-sigstore-signature-validation + + 2025-02-06T03:02:58.244Z + + + 2025-02-06T03:02:58.244Z + + + <![CDATA[プロダクトマネージャーが売ったことのないプロダクトは(爆発的には)売れない | エムスリーテックブログ]]> + https://www.m3tech.blog/entry/2025/02/06/110000 + + 2025-02-06T02:00:00.000Z + + + 2025-02-06T02:00:00.000Z + + + <![CDATA[Read-only accessibility in TypeScript | 2ality – JavaScript and more]]> + https://2ality.com/2025/02/typescript-readonly.html + + 2025-02-06T00:00:00.000Z + In this blog post, we look at how can make things “read-only” in TypeScript – mainly via the keyword readonly.

]]>
+ In this blog post, we look at how can make things “read-only” in TypeScript – mainly via the keyword readonly.

]]>
+ 2025-02-06T00:00:00.000Z +
+ + <![CDATA[Introducing the new 1Password Community | 1Password Blog]]> + https://blog.1password.com/1password-community-launch/ + + 2025-02-06T00:00:00.000Z + + + + info@1password.com (Alana Fata) + + 2025-02-06T00:00:00.000Z + + + <![CDATA[[Note] The fastest way to rewrite Git history | Duy NG]]> + https://tduyng.com/notes/git-filter-repo/ + + 2025-02-06T00:00:00.000Z + + + 2025-02-06T00:00:00.000Z + + + <![CDATA[Which auth providers support SCIM? | WorkOS Blog]]> + https://workos.com/blog/scim-providers-comparison + + 2025-02-06T00:00:00.000Z + + + 2025-02-06T00:00:00.000Z + + + <![CDATA[Holes in the Safety Net: Bypassing SSRF Protection in safe-axios | NodeJS Security & NodeJS Secure Coding's Blog]]> + https://www.nodejs-security.com/blog/bypassing-ssrf-protection-safe-axios/ + + 2025-02-06T00:00:00.000Z + + + 2025-02-06T00:00:00.000Z + + + <![CDATA[9 More Reasons to Upgrade to SonarQube Server 2025.1 LTA | Blog RSS feed]]> + 5a63fc6f-79af-510d-a7c5-b732bafd9026 + + 2025-02-05T23:00:00.000Z + + + + Colin Mueller + + 2025-02-05T23:00:00.000Z + + + <![CDATA[HTML & CSS for a One-Time Password Input | Frontend Masters Boost RSS Feed]]> + https://frontendmasters.com/blog/?p=5067 + + 2025-02-05T22:11:57.000Z + + + + Chris Coyier + + + + + + + + + 2025-02-05T22:11:57.000Z + + + <![CDATA[Baseline Status in a WordPress Block | CSS-Tricks]]> + https://css-tricks.com/?p=382311 + + 2025-02-05T14:58:18.000Z + + + + Geoff Graham + + + + + + 2025-02-05T14:58:18.000Z + + + <![CDATA[Cloudflare’s commitment to advancing Public Sector security worldwide by pursuing FedRAMP High, IRAP, and ENS | The Cloudflare Blog ]]> + 1lDDf8OlgEhZP1hFys0cd0 + + 2025-02-05T14:00:00.000Z + + + + Wesley Evans + + + + + 2025-02-05T14:00:00.000Z + + + <![CDATA[Testing browser-use, a scriptable AI browser agent | Blogccasion]]> + https://blog.tomayac.com/2025/02/05/testing-browser-use-a-scriptable-ai-browser-agent/ + + 2025-02-05T13:56:27.000Z + + + 2025-02-05T13:56:27.000Z + + + <![CDATA[Dark mode, expanded search, and more repositories in Grep | Vercel News]]> + https://vercel.com/changelog/dark-mode-expanded-search-and-more-in-grep + + 2025-02-05T13:00:00.000Z + + + 2025-02-05T13:00:00.000Z + + + <![CDATA[Deployment pages now display key configuration settings | Vercel News]]> + https://vercel.com/changelog/deployment-pages-now-display-key-configuration-settings + + 2025-02-05T13:00:00.000Z + + + 2025-02-05T13:00:00.000Z + + + <![CDATA[Chrome for Developers: Thorsten Hans talks with Thomas Steiner | Fermyon • Experience the next wave of cloud computing.]]> + https://www.fermyon.com/blog/chrome-for-developers-talk + + 2025-02-05T12:00:00.000Z + + + 2025-02-05T12:00:00.000Z + + + <![CDATA[How we use AI at Sentry to produce 40% fewer issues–and prevent millions of noisy alerts | Sentry Blog RSS]]> + https://blog.sentry.io/how-sentry-decreased-issue-noise-with-ai/ + + 2025-02-05T09:32:00.000Z + + + 2025-02-05T09:32:00.000Z + + + <![CDATA[Enter picture-in-picture automatically when playing media | developer.chrome.com: Blog]]> + https://developer.chrome.com/blog/automatic-picture-in-picture-media-playback?hl=en + + 2025-02-05T08:00:00.000Z + + + 2025-02-05T08:00:00.000Z + + + <![CDATA[PR TIMES社内のHTMLクライテリアを作成しました | PR TIMES 開発者ブログ]]> + https://developers.prtimes.jp/?p=7555 + + 2025-02-05T01:00:00.000Z + + + + 夛田小百合 + + + + + 2025-02-05T01:00:00.000Z + + + <![CDATA[Exploring the unlikely relationship between hackers and the state with Emily Crose | 1Password Blog]]> + https://blog.1password.com/hackers-state-emily-crose-interview/ + + 2025-02-05T00:00:00.000Z + + + + info@1password.com (Jenn Marshall) + + 2025-02-05T00:00:00.000Z + + + <![CDATA[AppSignal Now Offers Support for Long-Running Streaming Rack Responses in Ruby | AppSignal]]> + https://blog.appsignal.com/2025/02/05/appsignal-now-offers-support-for-long-running-streaming-rack-responses-in-ruby.html + + 2025-02-05T00:00:00.000Z + + + 2025-02-05T00:00:00.000Z + + + <![CDATA[[Note] You don't need husky | Duy NG]]> + https://tduyng.com/notes/husky-alternative/ + + 2025-02-05T00:00:00.000Z + + + 2025-02-05T00:00:00.000Z + + + <![CDATA[Announcing Checkly Traces: Unified Synthetic Monitoring and Distributed Tracing | Checkly Blog: Monitoring Insights & Trends]]> + Z6Nk8RoAAEQAxCCh + + 2025-02-05T00:00:00.000Z + + + + Sara Miteva,María de Antón + + + + + 2025-02-05T00:00:00.000Z + + + <![CDATA[Optimizing The Critical Rendering Path | DebugBear Blog]]> + https://www.debugbear.com/blog/optimizing-the-critical-rendering-path + + 2025-02-05T00:00:00.000Z + + + 2025-02-05T00:00:00.000Z + + + <![CDATA[Is AI Stealing from You? | Playful Programming's Atom Feed]]> + https://playfulprogramming.com/posts/is-ai-stealing-from-you + + 2025-02-05T00:00:00.000Z + + + 2025-02-05T00:00:00.000Z + + + <![CDATA[「チーム全体で品質を考える」文化づくりの第一歩 | カミナシ エンジニアブログ]]> + https://kaminashi-developer.hatenablog.jp/entry/2025/02/05/080000 + + 2025-02-04T23:00:00.000Z + + + 2025-02-04T23:00:00.000Z + + + <![CDATA[38% of CISOs Fear They’re Not Moving Fast Enough on AI | Socket]]> + https://socket.dev/blog/cisos-fear-they-re-not-moving-fast-enough-on-ai + + 2025-02-04T20:52:03.618Z + + + 2025-02-04T20:52:03.618Z + + + <![CDATA[We have a Mux Player iframe, now! | Mux Blog - Video technology and more]]> + https://www.mux.com/blog/mux-player-iframe + + 2025-02-04T19:39:14.000Z + + + 2025-02-04T19:39:14.000Z + + + <![CDATA[Find a Unicode Character via Quick Sketch | Frontend Masters Boost RSS Feed]]> + https://frontendmasters.com/blog/?p=5108 + + 2025-02-04T17:54:35.000Z + + + + Chris Coyier + + + + + 2025-02-04T17:54:35.000Z + + + <![CDATA[Oracle justified its JavaScript trademark with Node.js—now it wants that ignored | Deno]]> + https://deno.com/blog/deno-v-oracle2 + + 2025-02-04T16:00:00.000Z + + + 2025-02-04T16:00:00.000Z + + + <![CDATA[No hallucinations here: track the latest AI trends with expanded insights on Cloudflare Radar | The Cloudflare Blog ]]> + 20evxTmECGafWqkCbVLN6v + + 2025-02-04T14:00:00.000Z + + + + David Belson + + + + + + + + 2025-02-04T14:00:00.000Z + + + <![CDATA[Introducing Fluid compute | Vercel News]]> + https://vercel.com/blog/introducing-fluid-compute + + 2025-02-04T13:00:00.000Z + + + 2025-02-04T13:00:00.000Z + + + <![CDATA[Vercel Functions can now run on Fluid compute | Vercel News]]> + https://vercel.com/changelog/vercel-functions-can-now-run-on-fluid-compute + + 2025-02-04T13:00:00.000Z + + + 2025-02-04T13:00:00.000Z + + + <![CDATA[HalfStack Phoenix Recap | vlt /vōlt/ - blog]]> + halfstack-phoenix-2025 + + 2025-02-04T12:07:57.000Z + + + + luke@vlt.sh (Luke Karrys) + + + + 2025-02-04T12:07:57.000Z + + + <![CDATA[簡易生命表を読んでみる | エムスリーテックブログ]]> + https://www.m3tech.blog/entry/life_table + + 2025-02-04T09:00:00.000Z + + + 2025-02-04T09:00:00.000Z + + + <![CDATA[New in Chrome 133 | developer.chrome.com: Blog]]> + https://developer.chrome.com/blog/new-in-chrome-133?hl=en + + 2025-02-04T08:00:00.000Z + + + 2025-02-04T08:00:00.000Z + + + <![CDATA[Integrations: From Simple Data Transfer To Modern Composable Architectures | Articles on Smashing Magazine — For Web Designers And Developers]]> + https://smashingmagazine.com/2025/02/integrations-from-simple-data-transfer-to-composable-architectures/ + + 2025-02-04T08:00:00.000Z + + + + hello@smashingmagazine.com (Edoardo Dusi) + + 2025-02-04T08:00:00.000Z + + + <![CDATA[2025年2月4日 サイトコンテンツ更新情報 | デジタル庁デザインシステムβ版]]> + https://design.digital.go.jp/2025020401 + + 2025-02-04T04:00:00.000Z + + + 2025-02-04T04:00:00.000Z + + + <![CDATA[Go Supply Chain Attack: Malicious Package Exploits Go Module Proxy Caching for Persistence | Socket]]> + https://socket.dev/blog/malicious-package-exploits-go-module-proxy-caching-for-persistence + + 2025-02-04T02:45:37.295Z + + + 2025-02-04T02:45:37.295Z + + + <![CDATA[Tutorial: publishing ESM-based npm packages with TypeScript | 2ality – JavaScript and more]]> + https://2ality.com/2025/02/typescript-esm-packages.html + + 2025-02-04T00:00:00.000Z + During the last two years, ESM support in TypeScript, Node.js and browsers has made a lot of progress. In this blog post, I explain my modern setup that is relatively simple – compared to what we h]]> + During the last two years, ESM support in TypeScript, Node.js and browsers has made a lot of progress. In this blog post, I explain my modern setup that is relatively simple – compared to what we had to do in the past: