Google |
カグア!Google Analytics 活用塾:事例や使い方 |
なんと10倍!光回線が遅いのをケーブル変えたら爆速になった。原因は、通信速度100Mbpsのケーブル使ってたからだった(汗)。 |
https://www.kagua.biz/family/diy/20210917a2.html
|
通信速度 |
2021-09-17 14:59:38 |
AWS |
AWS Government, Education, and Nonprofits Blog |
Announcing the keynote speakers for the AWS Summit – Washington, DC |
https://aws.amazon.com/blogs/publicsector/announcing-keynote-speakers-aws-summit-washington-dc/
|
Announcing the keynote speakers for the AWS Summit Washington DCThe AWS Summit Washington DC keynote will be hosted by Max Peterson vice president of public sector at AWS Peterson will take a look at the latest innovative advancements happening across the public sector and share key learnings on how organizations can continue to push boundaries with the cloud Learn more about the inspiring guest speakers who will join him on stage to explain how they are leveraging the cloud to further drive their missions |
2021-09-17 14:03:28 |
python |
Pythonタグが付けられた新着投稿 - Qiita |
ABC194 C - Squared Error から学んだ |
https://qiita.com/AKpirion/items/b6f9585d5016422961a6
|
シグマ使ってるけど、結局、Aの要素の組み合わせで差gt二乗で良くねだがしかし、WASquaredErrorrpyNintinputAlistmapintinputsplit辞書で要素をリストdicforiinrangeNifAinotindicdicAidicAi配列長のNでカウントするともあるので条件のAltを使ってcombinationすれば良いかと。 |
2021-09-17 23:49:40 |
python |
Pythonタグが付けられた新着投稿 - Qiita |
Seabornってすごいのよ! |
https://qiita.com/Hayaa6211/items/a803d7b78b1192c95286
|
|
2021-09-17 23:32:53 |
js |
JavaScriptタグが付けられた新着投稿 - Qiita |
👵インターネット老人👴のためのホームページ(死語)リフォーム術 |
https://qiita.com/u83unlimited/items/9121e921c78da9504c35
|
ちなみに自分はJSでファイルを生成→DLさせられるのを知らなくて、途中までconsolelogに吐き出し→エディタにコピペでせっせとJSONファイルを作ってました参考JavaScriptでファイルダウンロード処理を実現するQiita旧サイトとの連携を気にしつつ好きな技術で作り直すわざわざ作り直したいと思うぐらいですし、サイトの規模としてはそこそこ大きいですよねとなると、旧サイトと繋がりを意識しつつ徐々に入れ替えていく形を取る方が良いかと思います。 |
2021-09-17 23:36:46 |
js |
JavaScriptタグが付けられた新着投稿 - Qiita |
[初学者]javascriptのクロージャー |
https://qiita.com/MG2PlqaX1snUyNF/items/78c491150170ef0cc691
|
ここで思うのは関数が終わったタイミング変数のデータは解放されると思いますが違っていて次に解放されないパターンですfunctionAletareturnaconstBAconsolelogBやってることはリターンで返して変数に入れてるだけです。 |
2021-09-17 23:12:13 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
vue.jsでパララックスを作成したい |
https://teratail.com/questions/360066?rss=all
|
vuejsでパララックスを作成したいvuejs勉強中で、パララックスを作成したいのです。 |
2021-09-17 23:54:32 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
pg_dumpの日本語schemaの指定について |
https://teratail.com/questions/360065?rss=all
|
pgdumpの日本語schemaの指定について前提・実現したいことローカルのpostgresqlからサーバーのpostgresqlにschema単位でデータを移行したいため、pgdumpを利用してダンプファイルを作成しています。 |
2021-09-17 23:51:30 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
webサイトからAWS S3にファイルをアップロードできません。 |
https://teratail.com/questions/360064?rss=all
|
web サイト から AWSS に ファイル を アップ ロード でき ませ ん 。 |
2021-09-17 23:41:31 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
firefoxのhtmlスクロールバー背景透過がうまくいかない |
https://teratail.com/questions/360063?rss=all
|
firefoxのhtmlスクロールバー背景透過がうまくいかないfirefoxのhtml要素のスクロールバー背景指定に困っています。 |
2021-09-17 23:31:43 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
Electron %で大きさをしているのに見切れてしまう |
https://teratail.com/questions/360062?rss=all
|
Electronで大きさをしているのに見切れてしまうわからないこと大きさをで指定して、ウィンドウの大きさに合わせて要素の大きさを変えたいのですがうまくいきません。 |
2021-09-17 23:21:11 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
RのfPortfolioってパッケージ生きてますか? |
https://teratail.com/questions/360061?rss=all
|
fportfolio |
2021-09-17 23:08:02 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
tslearnのインストール時のエラーを解決したい |
https://teratail.com/questions/360060?rss=all
|
|
2021-09-17 23:07:44 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
データフレーム内の文字表記の単位を数値に置換する方法 |
https://teratail.com/questions/360059?rss=all
|
bgtnbsp |
2021-09-17 23:04:55 |
Ruby |
Rubyタグが付けられた新着投稿 - Qiita |
👵インターネット老人👴のためのホームページ(死語)リフォーム術 |
https://qiita.com/u83unlimited/items/9121e921c78da9504c35
|
ちなみに自分はJSでファイルを生成→DLさせられるのを知らなくて、途中までconsolelogに吐き出し→エディタにコピペでせっせとJSONファイルを作ってました参考JavaScriptでファイルダウンロード処理を実現するQiita旧サイトとの連携を気にしつつ好きな技術で作り直すわざわざ作り直したいと思うぐらいですし、サイトの規模としてはそこそこ大きいですよねとなると、旧サイトと繋がりを意識しつつ徐々に入れ替えていく形を取る方が良いかと思います。 |
2021-09-17 23:36:46 |
AWS |
AWSタグが付けられた新着投稿 - Qiita |
AWSソリューションアーキテクト-アソシエイト試験にWell-Architectedが役立った話 |
https://qiita.com/Shoei-Yokoyama/items/89e1f9bb22295f6aa741
|
試験の参考書知識で「ioは結構高い」と分かっていたので確認してみたところ、「しばらく前に作ったボリュームで、DB処理のために不定期にIOPSくらいの性能が必要になる。 |
2021-09-17 23:57:33 |
技術ブログ |
Developers.IO |
Amazon CloudWatch SyntheticsのCanary実行が「Cannot find module ‘SyntheticsLogHelper’」となり失敗する場合の対処(AWS CDK) |
https://dev.classmethod.jp/articles/when-canary-execution-of-amazon-cloudwatch-synthetics-fails-with-cannot-find-module-syntheticsloghelper-deal/
|
AmazonCloudWatchSyntheticsのCanary実行が「CannotfindmoduleSyntheticsLogHelper」となり失敗する場合の対処AWSCDKこんにちは、CX事業本部IoT事業部の若槻です。 |
2021-09-17 14:20:02 |
海外TECH |
Ars Technica |
Cryptocurrency launchpad hit by $3 million supply chain attack |
https://arstechnica.com/?p=1796093
|
github |
2021-09-17 14:10:49 |
海外TECH |
Ars Technica |
Dell XPS 15 9510 review: Come for the screen, stay for everything else |
https://arstechnica.com/?p=1793336
|
excellent |
2021-09-17 14:00:39 |
海外TECH |
DEV Community |
What I learned from selling a side project online |
https://dev.to/js_bits_bill/what-i-learned-from-selling-a-side-project-online-370f
|
What I learned from selling a side project online What happened In I made a simple website and Chrome extension that let users save recipes online It was extremely basic and initially started out as a project where I could learn basic authentication with services like PassportJS Over time I continuously improved it and added more features and better UX I didn t market at all but after several months a few hundred people were using the service Eventually I wanted to move on to other projects so I listed and sold my site online last year Recipe Saver My side project baby Insights Your site is worth whatever someone is offeringStart with a number in your head Now throw it out Sure you can list a minimum bid amount but you ll quickly see your true market value once you start fielding inquiries Unless you re selling a well known highly established website you ll need to negotiate off whatever buyers are offering Mine had serious inquiries and ultimately sold for a few thousand dollars Not enough to buy that yacht but I m proud of it Selling can relieve the burden of perpetual maintenanceVery few web apps require little maintenance Customers will forget their credentials server stacks and databases will require upgrades and so on In my case I felt that I had experimented enough in monetizing my app without success There s an opportunity cost to everything and selling can award you peace of mind of successfully ending to your side project baby You don t need a ton of customersYou may think your product needs hundreds of thousands of customers for buyers to be interested Not necessarily I had a userbase of accounts many of which were very active Based on user feedback my customers liked the site overwhelmingly because it was extremely easy to use Potential buyers may see value in less obvious ways Perhaps your site uses some technology or algorithm that can be repurposed for a different application Or maybe user generated content is valuable for marketers to understand trendlines in an industry There are dozens of ways your application can hold value for others There s no guarantee your project will live onThis was the most painful lesson learned Despite the buyer agreeing to continue supporting the site after a year it was sold again and the new new owner was apparently only interested in the data Not only were old customers unable to use the service anymore but I had to retrieve backups of their data so they wouldn t lose their recipes I felt terribly about it and did my best to make things right for those who loyally used my service Be prepared to support things for a whileSet expectations for both the buyer and your customers that services WILL be disrupted for a time In my case these were just some of the supporting services that had to be individually transferred to the new owner Heroku GitHub Cloudinary Gmail Mailgun Google Facebook Stripe Google Analytics MongoDB the domain etc A few of these did not allow adding an admin to the account so transferring can take lot of time Further it s essential that you create stellar documentation so that your buyer can be self serviceable otherwise be prepared to be pinged a lot ConclusionSo that s it Despite the eventual discontinuation after the second sale it was still the right decision as my desire to support and evolve the site had waned long before I listed it Another driving factor was that similar sites starting cropping up and this kind of service became available for a dime a dozen With competing priorities and interests I knew it was time Hopefully this gives you an idea of what to expect if you go this route but if you have any more questions about the process or how it went down let me know in the comments Where can you sell side projects There are actually a look of places Here s a few popular ones SideProjectors where I sold mine IndieHackersFlippaPlaces where you can showcase your site and garner feedback before taking to market RedditProductHuntOwwlyYo I post byte sized tips like these often Follow me if you crave more I m on TikTok Twitter and I have a new debugging course dropping soon |
2021-09-17 14:42:08 |
海外TECH |
DEV Community |
Set Sail with Tailwind CSS |
https://dev.to/giantmachines/set-sail-with-tailwind-css-4o06
|
Set Sail with Tailwind CSSCSS frameworks have become incredibly prevalent in web design over the years with Google s Material Design aesthetic gradually appearing throughout the web and Bootstrap s library of plugins and themes becoming a popular default Good news is the days of pages looking like this are long behind us thanks in part to CSS frameworks But like many rebellious people you may be asking what can I use that s not mainstream yet Is there a better more modern solution Isn t there something out there that doesn t involve Google s or Twitter s participation at all Tailwind CSS a new up and comer is a framework that s been making a name for itself since Tailwind was rated highest in satisfaction and interest by users from over countries in both and as recorded by the State of CSS survey Tailwind provides a collection of pre built utility classes allowing developers to directly style HTML elements without needing to create CSS classes or write any CSS at all This lets Tailwind shine in its simplicity flexibility and available customization options Unlike Material and Bootstrap which provide opinionated pre built elements and which require a substantial setup and demanding syntax Tailwind provides hassle free access to styling CSS simply and quickly via utility classes If you ve ever had a great idea for a frontend project jumped straight into coding and wanted to immediately flesh out that brilliant UI in your mind Tailwind would allow you to style quickly before the inspiration left you simply by slapping some of their utility classes on your markup In this article we ll be discussing how Tailwind works and the benefits and drawbacks of using it We ll examine the basic setup and workflow of Tailwind Then we ll look at implementing Tailwind with SASS or Styled Components as well as building for responsiveness Let s get on with it shall we How does Tailwind work Utility ClassesTailwind is a utility first CSS framework A utility class is a reusable CSS class that styles an element for a specific purpose Let s say we re expecting multiple elements to need a background color of blue To create a utility class for this we d create a CSS class named bg blue and give it the style background color blue Now we can place our utility class bg blue onto the numerous HTML elements where the background needs to be blue With that concept understood Tailwind essentially provides a huge collection of pre built utility classes so you don t have to create them yourself It relies on stacking these classes onto HTML elements to fully style the element Using Tailwind you may never need to write CSS Instead you d just insert utility classes For example to easily create a button with rounded corners a mild box shadow and centered white text you d simply add the following utility classes to your element lt button className bg blue rounded md shadow md text center p text white gt Button lt button gt NOTE The examples in this blog will be referencing React components hence the usage of className That s all you d need to do to get a styled button that looks like this Tailwind provides hundreds if not thousands of utility classes each with specific styling purposes There is a class named text center with a single CSS property of text align center another named p that has padding rem and so on This is how Tailwind works Benefits amp Drawbacks ProsThe most apparent benefit to using Tailwind s utility classes is it allows the developer to create their markup and style it at the same time without the need of creating CSS classes or writing any CSS A developer using Tailwind would never need to leave their HTML or JSX code when building out views and components This can be especially beneficial if you ve ever needed to put together a quick demo or MVP or simply scaffold a UI to better visualize your project An enormous perk provided by default is that Tailwind will automatically remove all unused CSS from the bundle sent to the browser At build time Tailwind will purge all unused CSS classes creating the smallest CSS bundle your code can possibly provide averaging at less than kb This can dramatically improve page load times As a styling framework Tailwind is arguably less opinionated than other frameworks like Bootstrap and Material Very often when using other frameworks developers will find themselves rewriting the CSS provided by the framework to fully suit their needs For more see the differences between Tailwind CSS amp Bootstrap ConsThe initial learning curve of Tailwind can be unappealing as you will inevitably find yourself returning to its docs to learn the correct utility class name Something as traditional as setting padding top rem is nowpt with Tailwind In the beginning this could potentially outweigh all the benefits Tailwind provides in regards to speed Once you ve familiarized yourself with Tailwind however I guarantee you ll find the utility class names to be as simple as remembering CSS attributes themselves Though Tailwind is relatively unopinionated the pre built utility classes still have set values For example text red is a utility class for text color with preset values for red specifically rgba Thankfully these defaults can all be adjusted in a tailwind config js file to suit your needs By default Tailwind doesn t provide any styled components out of the box All the components provided in a library like Bootstrap for example general navigation buttons headers need to be implemented from scratch Tailwind Implementation amp WorkflowTo start off you ll want to install Tailwind with npm To get the latest version and its peer dependencies run npm install D tailwindcss latest postcss latest autoprefixer latest If you re going to customize some things run npx tailwindcss init to create the tailwind config js file This file allows custom implementation of styling which we ll discuss in the next section To inject Tailwind s functionality you will need a CSS file that includes these lines your css folder styles css tailwind base tailwind components tailwind utilities From here you re free to jump straight into coding Some things to keep in mind are the purpose and roadmap of your project If you simply need something up and running with a deadline coming up the basic implementation of Tailwind is fine If you know you re going to be refactoring and potentially even removing Tailwind further down the road be sure to pair your Tailwind code with SASS or Styled Component files Keeping these details in mind will foster a cleaner codebase or a better transition into one Tailwind ConfigChances are you re going to be customizing your Tailwind utility classes because let s be honest their utility library doesn t include everything As an example any kind of custom animation that isn t a pulse or bounce will require a configuration To set this up make sure to run npx tailwindcss init This will create a minimal tailwind config js file in the root of the project Here you can set whatever you might need that isn t included by default in Tailwind which may be custom fonts animations specific breakpoints new utility classes or adjusting Tailwind s pre built utility classes Any custom styles here will take precedence over Tailwind s existing classes module exports purge src js jsx ts tsx public index html darkMode false or media or class theme extend fontFamily sans AvenirLTPro Heavy AvenirLTPro Light AvenirLTPro Black body AvenirLTPro Medium light AvenirLTPro Light screens xs px sx px colors blue lighter b light CAEFE DEFAULT EFB dark gray lightest FFAFC lighter EBEFF light EEAF DEFAULT DDBE dark EEE darkest animation slideIn slideIn ms ease in out keyframes slideIn transform translateX vw transform translateX Tailwind with Other Styling PackagesAn obvious issue with Tailwind is the verbose class names that will eventually clutter your HTML or JSX If we look at the previous example for the button the full list of classes applied is bg blue rounded md shadow md text center If we wanted to add more styling we would need even more utility classes making this line even longer And if every element were to look like this the markup would become harder and harder to read const Name gt return lt div className flex flex col md flex row overflow ellipsisoverflow hidden gt lt div className p w r md w r md p lg w r inline block text gray darkest font sans flex items center gt lt h className text xs overflow ellipsis overflow hiddenxs truncate md text base md overflow clipmd whitespace normal md overflow visible max h gt name lt h gt lt div gt lt div className p w r md w r inline block flex items center justify center gt lt p className text xs md text base gt date formatDate date Unspecified lt p gt lt div gt lt div gt Possible solutions to this problem involve pairing Tailwind with either SASS or Styled Components With SASS Using applyA common practice with Tailwind is to combine its usage with SASS SCSS A convention I ve found useful is to limit the utility classes on any HTML element to or If an element requires further styling you can use apply to style a SASS class using Tailwind utility classes like so card body p apply px pb text lg pt font helvetica neue text centertext white Then you re free to set this class wherever you need With Styled Components Using tw macroTo use Tailwind alongside Styled Components we re going to need some extra dependencies these being tailwind macro and babel plugin macros The combination of these two will allow Babel to read Tailwind utilities Once that s done you can start setting Tailwind utilities under className in your styled components import styled from styled components import tw from tailwind macro const AppStyles styled div attrs className w full h screen flex flex col items center justify center h tw font sans text xl text teal p tw text lg text gray ul tw inline flex mx For a more detailed implementation check out these blogs by Ibrahima Ndaw and Derek Shanks Building for Responsiveness Media QueriesOne of the nice perks of using Tailwind is the simplicity of responsive styling By default Tailwind is mobile first in regards to responsiveness In other words the breakpoints under the hood are specified using min width lt button className bg blue rounded md shadow md text centerp text white text sm md text md md p lg text lg gt Button lt button gt In this example the font size and padding will change when the breakpoint for md is reached and the font size is enlarged even further when lg the breakpoint is reached To know the exact measurements for sizes like md or lg you ll have to refer to the Tailwind docs for the specific attributes In regards to breakpoints sm is px md is px and lg is px These can all be adjusted and more sizes can be added in the tailwind config js file For example if you wanted md to represent px you can change that in tailwind config js tailwind config jsmodule exports theme screens sm px gt media min width px md px gt media min width px lg px gt media min width px xl px gt media min width px xl px gt media min width px ConclusionWhat Tailwind provides is a streamlined experience to web styling It doesn t require a massive amount of boilerplate to get started and certainly doesn t push pre styled button components or form elements which you might end up needing to restyle yourself Tailwind simply provides developers an efficient and fast method of styling so they can get straight to work It can especially come in handy when you want to quickly add some pizzazz to early stage and personal projects and it can even scale to larger projects as well You made it to the end Thanks for reading |
2021-09-17 14:25:15 |
海外TECH |
DEV Community |
How to deploy your NodeJS / Flask application to Qovery in less than five minutes |
https://dev.to/leviathanprogramming/how-to-deploy-your-nodejs-flask-application-to-qovery-ld3
|
How to deploy your NodeJS Flask application to Qovery in less than five minutesAll my prayers have been answered once I found Qovery It s a super affordable hosting service that is amazingly powerful and gives you maximized ease If you are still clinging to Heroku Netlify Terraform etc consider reading these articles Qovery vs HerokuQovery vs NetlifyQovery vs TerraformOkay so that being said I will show you how to deploy a nodeJS and python application to Qovery in less than five minutes Deploying a NodeJS ApplicationI m assuming you ve already signed up for Qovery developed your app and put all the code into a github repository Those are the main steps you need to do and the rest is a breeze The next step is to create a file called Dockerfile in your application Assuming you are deploying an expressJS app your dockerfile should look like this FROM node RUN mkdir p usr src appWORKDIR usr src appCOPY RUN npm installEXPOSE CMD node index js Also you don t even need to have docker installed Qovery takes care of all that for you After that push to the git repo and update it Next you re going to want to create a new project on your qovery console Next create an environment in that project Add your first app connect to the correct git repo and finally a very important step set the build mode to Docker and set the port to You can technically use a different port to add your app on but in this tutorial let s use Make sure your app is listening on that port If you want to change that port make sure you change the code in your dockerfile the EXPOSE to EXPOSE lt your port gt Update your settings if you want then click the Actions button and then deploy your app Once it s in a RUNNING state your app is ready Deploying your Python Flask appSign up for qovery create your project and then link it to a github repo Add your dockerfile into your app It should look like this FROM python slim busterWORKDIR usr src appCOPY RUN pip install r requirements txtEXPOSE CMD python app py Make sure your app is listening on port You don t need to install docker Push your code to the git repo create a new project a new environment and then an app Make sure the build mode is Docker and not Buildpacks Click the Actions button deploy your project and you should be ready to go I hope qovery is something you ll be enjoying from now on It is something that is super amazing secure and reliable Don t forget to follow the Founder of Qovery on DEV Happy Coding and deploying |
2021-09-17 14:25:12 |
海外TECH |
DEV Community |
Tutorial Purgatory 😢😢 |
https://dev.to/yusuf_software/tutorial-purgatory-1901
|
Tutorial Purgatory Tutorial purgatoryDo you know that feeling Like you re stuck in this infinite loop of just watching tutorial after tutorial every single day but you re still not making any real progress towards becoming a developer It s really common among developers We ve ALL been there But the question is how do you pull yourself out Thankfully I got lucky and figured it out pretty soon when I was learning to code but I still stumble on it sometimes when am learning something new So here s the secret Projects BUILD PROJECTS Build a TON of them That s it There s no other way around it The more you build The more you break The more you learn…Most times we watch alot or even download lots of tutorial videos on a language or framework or even a library but most of those who watch it STILL don t know how to build an application like that from scratch why It s because most people just watch a tutorial and code along You don t think beyond the code you just code it up Don t just code Think Think about what you re coding in your IDE or text editor What does this for loop do Why do we have this piece of code here Ask questions to yourself and do some research why is this like this and so forth When you do that you understand how the code works and why we do it the way we do This is what YOU have to do Take the code into your own hands and mess around with it BREAK IT Debug it on your own…Google it Ask Questions and ask more Figure out why it broke in the first place…Now before you know it you re building projects on your own Maybe you come up with a passion project that you ve always wanted to build and start working on that Keep taking on those clone applications to flex and build your skills but start to customize them Make them your own Look for cool new features you could implement find specific tutorials and figure out how to add them You re thinking like a developer That s great already And that s really it Learn through projects and your growth will be MASSIVE Projects are what kept me out of tutorial hell as a new Software Engineer Real World Projects Cos not only do they unlock your learning they also land you JOBS On the long run we need funds actually That s the real power of projects when you start taking this stuff seriously In conclusionThe fastest way to get out of tutorial hell is by building projects upon projects try to finish one completely before going to another add some extra features to the clone you are doing Change the colours use different style of icons or Change some design patterns And that s all If you got questions or confusion or anything you are free to hit me up would really love to help out as fast as I can Yusuf Tech enthusiast Twitter Yusuf software |
2021-09-17 14:08:16 |
海外TECH |
DEV Community |
JavaScript vs JavaScript: Round 2. Fight! |
https://dev.to/this-is-learning/javascript-vs-javascript-round-2-fight-2m44
|
JavaScript vs JavaScript Round Fight After I finished the first article I wasn t sure how long it would be before we d have enough topics for the next round But given the continuing atmosphere around the JavaScript ecosystem many of these topics just fell on my lap So let s get this started Fight Build vs No BuildSeveral years ago I read a great article which I can t seem to find anymore that saw JavaScript being at a crossroads That the language of JavaScript was at odds with what the author considered the machine I barely appreciated the nuance in the take but standing here now it all makes sense For some of us old timers our first introduction to JavaScript was through viewing the page source on public websites We saw something we liked we d just copy it And the web being the open platform it is we embraced this freedom Fast forward years later and we re trying to support some ancient browser while lamenting all the new features we know are coming out So what do we do Compile CoffeeScript and later Babel And our desire to build native experiences has meant more and more JavaScript so we minimize and we optimize our bundles And now over years after the launch of the web we ve been doing this for over years Almost half the time JavaScript has been around So which is the truer JavaScript I ve been calling JavaScript a meta language for several years We use JavaScript to rewrite how other JavaScript executes to the point now that looking at some source code you see in a random Github repo you don t really know what you are going to get by the time it gets to the browser Is that good or bad Not sure But it s definitely a thing The ecosystem has become ingrown feeding off itself Machine writing the machine Our compilers are more advanced Our tooling is more sophisticated Do we even know how to write without these Do we even need to Well according to some it s time for the great collapse The native platform has improved greatly over the same period of time and is more capable than ever But can it dead code eliminate all the concurrent mode code out of the core routines of a reactive library based on what the end application imports Can it analyze cross templates how all state is used in declarative views to determine exactly what JavaScript needs to be sent to the browser No Not even close Ever wonder why Bundle less tools like Vite still pre bundle node modules How Svelte can resemble plain HTML CSS and JavaScript but do so much more Tooling is becoming so ingrained we don t even think about it It keeps shifting left moving right into our IDEs But that might be alright if you don t need any of that As the author of the original article concluded it s too late to stop the machine What tools offer us paint a world of developer experience we can only imagine in our dreams We don t need to give up UX for this DX either More tools don t mean more JavaScript in the browser In the next several years I expect it to mean less Much less But what is great about the web is we can always just turn it off index html anyone You won t find me in that lineup But who knows with import maps and native ESM you might even feel like exposing your unminified source to inspire the next generation of JavaScript developers anew Framework Specific vs Framework AgnosticFramework Agnostic I mean that s the dream right We ve been trying to achieve this for decades So why aren t we here yet As much as people we like to generalize if frameworks were all the same there wouldn t be so many At best being framework agnostic is catering to the lowest common denominator It isn t just about syntax React s concurrent mode Svelte s animations Marko s automatic partial hydration and progressive rendering the list goes on The wider the net the harder it is to generalize and to optimize And these differences are usually rooted in fundamental philosophies and architectures Every decision has tradeoffs and we can t expect everything to align Even when you have things that look as similar as React s Hooks and Solid s Reactivity Every decade or so the trends and the patterns change and adapt Would you be happy to use jQuery plugins in your declarative modern SPA framework So what does framework agnostic actually mean Well it just means we have a new framework This is a great approach to gaining adoption and it can consolidate on like things If all things are equal wouldn t you take the most efficient option If you were going to use Web Components to create your cross framework micro frontend design system would you author them in React Would you use Preact perhaps Over time the agnostic thing will naturally consolidate on the most optimal underlying means that most align with its philosophy and goals And at that point you have to evaluate whether the wrapper actually adds sufficient value The thing is it is always possible to write a better version of a framework agnostic thing when you make it specific Interop definitely has value and a sense of future proofing but done wrong it s akin to over engineering The avarice that we can predict the future Even true when sufficiently complicated things are presented as standards or part of an official platform As long as there are options some people number of people will gravitate to the most efficient way to accomplish something or what fits the guiding principles they are working under There is nothing wrong with that and like any pendulum we really need both parts experimentation growth and consolidation standardization Just I wouldn t be so sure that either side presents more stability over the long term Ultimately all things need to be adopted to ensure survival Language Primitive vs CompositionComposition is King Or was it Never bet against JavaScript composition As a framework author this is something I hold near and dear Composition lets you build simple and extendable things without adding complexity Being adaptable is much better than being flexible So what does this have to do with JavaScript Well frameworks have been working hard at reducing the experience of describing UIs to first principles Regardless of approach frameworks have landed on the language of reactivity as those building blocks Call it reactivity hooks composition api they all have concepts State observables refs signals atomsDerivations computeds memos selectorsReactions effects autorunEven if we don t name it like Svelte we have the same let x state y x derivation console log y is double x reactionSo are all of these the same Well not quite Svelte went the way of language keyword versus React s use of functions It isn t unlike the difference between for let i i lt list length i doSomething list i andlist forEach item gt doSomething item What s the difference Well once you want to abstract our list iterator here you can no longer call it with the same for syntax Instead we need to use functions like forEach In fact you can make myForEach with the exact same signature And do so ad nauseum Know what else is composable Components They weren t always part of the frontend framework landscape but since their introduction have been ubiquitous You might use list map somewhere but lt VirtualList gt lt PaginatedList gt also extend the pattern forward in a composable way Like for loop template helpers like Svelte s each are language level instead of composable This allows for a dedicated and clean syntax But when you move to lt PaginatedList gt it requires a completely different syntax Slot Props And Svelte isn t alone Most template DSLs have gone this way with their control flow So who cares Well there is something incredibly powerful about the framework provided primitives and the end user creations being the same It provides a simplicity in its consistency and makes extensions feel native If you ve used useState you know how to use useLocalState If you ve used lt For gt you know how to use lt PaginatedList gt It isn t special The best part is if you don t like what is provided with composable APIs you can create your own and have it feel first party It lets developers own their experience and drive the ecosystem entirely on what fits their usage React s Components and Hooks have been incredibly successful for this reason And though I ve been using Svelte as the counterpoint Svelte Stores are good at this as well Language level primitives do have benefits They are often easier to analyze which lends to compilers being able to optimize So I look forward to seeing how developers look to incorporating the best of both worlds without too much compromise So far that s things like Vue s ref sugar and Marko s Tags API It s definitely something to keep an eye out for Runtime vs Runtime less FrameworksOk I admit it This one is complete bait It would be interesting to see a truly runtime less JavaScript framework with a significant feature set But these don t really exist and for good reason To clarify I m not talking about frameworks that enable not sending JavaScript to the browser I am talking about ones that make heavy use of compilation to do work ahead of time The term disappearing or runtime less has floated around but it is hyperbole Re using code is good You don t want to compile away the framework completely as that can lead to a lot of duplication that doesn t scale More often than not compiling away the library just moves the size from one place to another Often some of the savings you make in the runtime translate into larger components For that reason Svelte who is the poster child for small runtime is also the poster child for comparisons on how Components scale React Svelte Size AnalysisVue Svelte Size Analysis TodoMVCs or TodoMVCs is still a steep curve to reach size equivalency so obviously this is net positive on size for the most part And making this trade can have other benefits More specific code can be more performant than generalized code and at each touchpoint be less code than the equivalent generic method Obviously these can add up but these sorts of tradeoffs are often worth it Alternatively there are frameworks that are completely runtime that have even smaller base runtimes HyperApp advertises a size of about kb which is even smaller than Svelte s kb So there is no hard and fast rule In fact it s become a mostly pointless exercise even looking at bundlephobia com sizes Modern tree shaking and dead code elimination can produce sizes noticeably smaller than advertised But probably more important is that a pattern you find in many frameworks of using submodules like preact hooks svelte motion or solid js store don t count towards the advertised bundle size So the takeaway is the only way to really know framework size is in examples of where it is being used Marketing buzz like runtime less is mostly irrelevant to the conversation on size There are small libraries and there are smaller libraries Progressive Enhancement vs HydrationI hear the term progressive enhancement thrown around a lot Although the first place I really acknowledged it was the promise of Web Components The idea is that you could define extra behavior and fallback to native behavior if say the browser didn t support certain features or JavaScript was enabled Sadly due to Apple blocking progress on native built ins it s pretty hard to consider Web Components successful here Nowadays I hear this term to mean adding small amounts of JavaScript to enhance a server rendered page Things like Stimulus Alpine js or Petite Vue And admittedly these can be progressive enhancement but they can also not be Simply adding JavaScript to add functionality to a page doesn t mean it works fine without it There is no guarantee a button works as intended without the JavaScript Conversely anyone who watched Svelte Summit this year or saw the Remix Run beta preview video knows these frameworks were showing off fully functioning sites with all JavaScript turned off even though they are full blown Single Page Apps Sure it s Svelte or React but that s progressive enhancement in my book Alpine js Stimulus and company are ultra small frameworks that are built for adding JavaScript functionality on top of server rendered DOM nodes instead of more substantial client side rendering But all JavaScript frameworks that server render do this as well They just call it Hydration A framework might run top down instead of doing the independently targeted hydration these smaller libraries do but that is more of an implementation detail Same steps of initializing client state and attaching event listeners And that s it Progressive enhancement is a consideration like Accessibility A choice we make as developers to implement rather than a specific technology Hydration is an inevitability that comes with adding JavaScript functionality to server rendered nodes The only thing that matters is how much or little of it we do This brings us to Partial vs Progressive vs Resumable HydrationSo there are things here Or is this one thing That s the whole problem I m sure some of you are just thinking this all makes you thirsty Just how hydrated should our JavaScript be All joking aside this is an area with a huge amount of confusion and the reason is instead of naming a specific technique these are loosely held descriptors They describe a characteristic of the approach but not how it works Regardless of the solution we all need to do it to have interactive JavaScript on our server rendered pages Partial Hydration as the name implies is that not all of the page needs hydration In practice this means we don t need to send all of our component code to the browser The term Islands gets used a lot and it makes sense as the most common approach involves breaking the app into a static page with only these Islands of components we need to send to the Browser Progressive Hydration is the ability to hydrate the page as needed Maybe when it comes into view or maybe on interaction Even if you end up hydrating the whole page by breaking up Hydration we can reduce the time spent during the initial load Resumable Hydration is a technique to reduce the execution time during Hydration by serializing the data needed at a local component level to skip the need to do any calculations at hydration time In so Hydration s only job at that point is to add event handlers These techniques are all not mutually exclusive Astro leverages Partial and Progressive Hydration through its manual Islands approach to extend this capability on top of familiar frameworks Qwik has been pioneering Resumable Hydration alongside its use of Component level Progressive Hydration to do a pretty good impression of Partial Hydration without explicit Islands Marko has long used its compiler to automatically detect Islands but has been incorporating Resumable Hydration as a means to ship the least possible code to the browser But what this all means in a mechanical sense is a lot less clear It comes down to what gets hydrated and when There is a very fine line between deferring work until later and never doing it all Is your hydration truly resumable if you need to redo work that was done on the server the second your component updates Is backloading JavaScript to when you interact with it a different sort of cost metrics today aren t capturing You might have noticed the lack of mention of the common solutions in this section like React Vue or Svelte And part of that is Multi Page App Frameworks are dominating innovation in this space given Single Page Apps are less optimizable in this way But VuePress split bundles and React Server Components are looking at ways to apply some of the savings there too And that does it for another installment of JavaScript vs JavaScript I m sure it won t be long before new topics present themselves in this ever evolving ecosystem |
2021-09-17 14:01:56 |
海外TECH |
Engadget |
Rolls-Royce's all-electric aircraft completes 15-minute maiden voyage |
https://www.engadget.com/rolls-royces-all-electric-aircraft-completes-15-minute-maiden-voyage-143051424.html?src=rss
|
Rolls Royce x s all electric aircraft completes minute maiden voyageRolls Royce best known in aviation for its jet engines has taken an all electric airplane on its maiden voyage The quot Spirit of Innovation quot completed a minute flight marking quot the beginning of an intensive flight testing phase in which we will be collecting valuable performance data on the aircraft s electrical power and propulsion system quot the company announced nbsp Rolls Royce said the one seat airplane has quot the most power dense battery pack every assembled for an aircraft quot The aircraft uses a cell battery pack with a three motor powertrain that currently delivers kW plus horsepower and Rolls Royce said the aircraft will eventually achieve speeds of over MPH nbsp The flight comes about a year after the originally scheduled takeoff and about six months after taxi trials Rolls Royce is also developing an air taxi with manufacturer Tecnam with the aim of delivering an quot all electric passenger aircraft for the commuter market quot according to the companies It has previously teamed with Siemens and Airbus on another e plane concept nbsp Aircraft companies have been exploring electric airplanes for a number of years as air travel and cargo accounts for an increasing amount of greenhouse gases The World Wildlife Foundation has called it quot currently the most carbon intensive activity an individual can make quot nbsp Weight is a much bigger problem for airplanes that it is for cars however Ford s all electric Lightning pickup weighs pounds more than the gas powered model and offers a range that s slightly under half However if you added pounds to to a Cessna Turbo Stationair you d exceed its useful load by pounds before you even loaded passengers or the pilot ーso it wouldn t even get off the ground nbsp The project was half funded by the Aerospace Technology Institute and UK government with the aim of eventually creating all electric passenger planes quot This is not only about breaking a world record the advanced nbsp battery and propulsion technology developed for this programme has exciting applications for the Urban Air Mobility market and can help make jet zero a reality quot said Rolls Royce CEO Warren East nbsp nbsp |
2021-09-17 14:30:51 |
海外TECH |
Engadget |
Apple's new iPad mini is already discounted by up to $50 |
https://www.engadget.com/apple-ipad-mini-sixth-gen-good-deal-walmart-140220810.html?src=rss
|
Apple x s new iPad mini is already discounted by up to Pre orders have only just opened for Apple s latest lineup of products but you can already find some discounts on the hardware Along with a price cut on the base iPad Walmart is offering some savings on the new iPad mini The GB WiFi only option is off at while the retailer has dropped the price of the GB variant by to Walmart isn t offering any price reductions on the G iPad mini though ーthe GB version costs Buy iPad mini GB at Walmart Buy iPad mini GB at Walmart It s the first new iPad mini in two and a half years and Apple has given the tablet a major overhaul It runs on the A Bionic chip the same SoC as in iPhone with Apple promising a big jump in performance compared with the fifth gen iPad mini The inch screen runs closer to the edge of the device and there s no more physical home button The Touch ID sensor is now built into the power button The volume buttons are now at the top to make space for an Apple Pencil that you can attach magnetically to the side The Lightning port is a thing of the past on iPad mini with Apple switching to a USB C port The cameras have been upgraded and there s support for Apple s Center Stage feature which keeps you in the center of the frame during video calls Walmart says it will ship the tablet by September th if you pre order now |
2021-09-17 14:02:20 |
Cisco |
Cisco Blog |
Using Infrastructure as Code to deploy F5 Application Delivery and Cisco ACI Service Chaining |
https://blogs.cisco.com/datacenter/using-infrastructure-as-code-to-deploy-f5-application-delivery-and-cisco-aci-service-chaining
|
Using Infrastructure as Code to deploy F Application Delivery and Cisco ACI Service ChainingInfrastructure as Code IaC provides the means to automatically deploy both the Cisco ACI network infrastructure configuration and the BIG IP L L services for applications Here we provide our customers a joint solution and a series of tools that can be used to start their IaC journey |
2021-09-17 14:00:46 |
Linux |
OMG! Ubuntu! |
Spotify Linux Client (Finally) Fixes Its Annoying Bug |
http://feedproxy.google.com/~r/d0od/~3/L3Z2FmghkhI/spotify-linux-client-finally-fixes-missing-artwork-bug-improves-speed
|
Spotify Linux Client Finally Fixes Its Annoying BugIt s a bug that has irritated me for the past months but at last Spotify devs have fixed it in the latest update to the official Spotify Linux client This post Spotify Linux Client Finally Fixes Its Annoying Bug is from OMG Ubuntu Do not reproduce elsewhere without permission |
2021-09-17 14:18:13 |
海外科学 |
NYT > Science |
There Is Honor Among Giraffe Warriors |
https://www.nytimes.com/2021/09/17/science/giraffes-fighting.html
|
similar |
2021-09-17 14:19:27 |
金融 |
金融庁ホームページ |
銀行持株会社(株式会社北國フィナンシャルホールディングス)の設立認可についてを公表しました。 |
https://www.fsa.go.jp/news/r3/ginkou/20210917_1-3/hokkoku.html
|
株式会社 |
2021-09-17 16:00:00 |
金融 |
金融庁ホームページ |
銀行持株会社(株式会社十六フィナンシャルグループ)の設立認可について公表しました。 |
https://www.fsa.go.jp/news/r3/ginkou/20210917_1-1/juroku.html
|
株式会社 |
2021-09-17 16:00:00 |
金融 |
金融庁ホームページ |
銀行持株会社(株式会社おきなわフィナンシャルグループ)の設立認可について公表しました。 |
https://www.fsa.go.jp/news/r3/ginkou/20210917_1-2/okinawa.html
|
株式会社 |
2021-09-17 16:00:00 |
金融 |
金融庁ホームページ |
株式会社十六銀行の産業競争力強化法に基づく事業再編計画の認定について公表しました。 |
https://www.fsa.go.jp/news/r3/ginkou/20210917_2-1/juroku.html
|
株式会社十六銀行 |
2021-09-17 16:00:00 |
金融 |
金融庁ホームページ |
株式会社沖縄銀行の産業競争力強化法に基づく事業再編計画の認定について公表しました。 |
https://www.fsa.go.jp/news/r3/ginkou/20210917_2-2/okinawa.html
|
株式会社沖縄銀行 |
2021-09-17 16:00:00 |
金融 |
金融庁ホームページ |
株式会社北國銀行の産業競争力強化法に基づく事業再編計画の認定についてを公表しました。 |
https://www.fsa.go.jp/news/r3/ginkou/20210917_2-3/hokkoku.html
|
株式会社北國銀行 |
2021-09-17 16:00:00 |
金融 |
金融庁ホームページ |
株式会社福邦銀行及び福井銀行の産業競争力強化法に基づく事業再編計画の認定についてを公表しました。 |
https://www.fsa.go.jp/news/r3/ginkou/20210917_2-4/fukuho_fukui.html
|
株式会社福邦銀行 |
2021-09-17 16:00:00 |
金融 |
金融庁ホームページ |
銀行に対する子会社取得の認可についてを公表しました。 |
https://www.fsa.go.jp/news/r3/ginkou/20210917_3/fukui.html
|
銀行 |
2021-09-17 16:00:00 |
ニュース |
BBC News - Home |
Ruling limiting under-16s puberty blockers overturned |
https://www.bbc.co.uk/news/uk-58598186?at_medium=RSS&at_campaign=KARANGA
|
court |
2021-09-17 14:39:19 |
ニュース |
BBC News - Home |
Covid vaccine and test passes to be introduced in Wales |
https://www.bbc.co.uk/news/uk-wales-politics-58596128?at_medium=RSS&at_campaign=KARANGA
|
events |
2021-09-17 14:28:42 |
ニュース |
BBC News - Home |
Broadcasting cash offsets Man Utd's Covid losses |
https://www.bbc.co.uk/news/business-58593589?at_medium=RSS&at_campaign=KARANGA
|
broadcast |
2021-09-17 14:44:22 |
LifeHuck |
ライフハッカー[日本版] |
ちょっとネジを締めたら手が痛くなる握力がツラい…。というわけで、高コスパな電動ドリルを入手! |
https://www.lifehacker.jp/2021/09/amazon-irisohyama-drilldriver-jcd421d.html
|
電動 |
2021-09-17 23:30:00 |
北海道 |
北海道新聞 |
「無罪否定は不適切」と知事謝罪 滋賀県警、県と合議せず |
https://www.hokkaido-np.co.jp/article/590505/
|
滋賀県東近江市 |
2021-09-17 23:12:06 |
北海道 |
北海道新聞 |
長時間労働は75万人の死に影響 国連機関、重大な危険と指摘 |
https://www.hokkaido-np.co.jp/article/590532/
|
世界保健機関 |
2021-09-17 23:10:09 |
北海道 |
北海道新聞 |
大会スローガン「共に未来へ」 北京冬季五輪組織委が発表 |
https://www.hokkaido-np.co.jp/article/590534/
|
北京冬季五輪 |
2021-09-17 23:10:03 |
コメント
コメントを投稿