TECH |
Engadget Japanese |
ソニー、PS5新作情報State of Playを7月9日朝6時配信。『デスループ』ゲームプレイ9分 |
https://japanese.engadget.com/state-of-play-playstation-152355964.html
|
stateofplay |
2021-07-06 15:23:55 |
IT |
ITmedia 総合記事一覧 |
[ITmedia News] 「Nintendo Switch 有機ELモデル」予約は9月下旬から |
https://www.itmedia.co.jp/news/articles/2107/07/news055.html
|
itmedia |
2021-07-07 00:15:00 |
IT |
ITmedia 総合記事一覧 |
[ITmedia News] ポケモンGO、5周年イベントで「そらをとぶピカチュウ」再び 「ダルマッカ」「メルタン」は色違いチャンス |
https://www.itmedia.co.jp/news/articles/2107/07/news052.html
|
itmedia |
2021-07-07 00:05:00 |
AWS |
AWS Compute Blog |
Translating content dynamically by using Amazon S3 Object Lambda |
https://aws.amazon.com/blogs/compute/translating-content-dynamically-by-using-amazon-s3-object-lambda/
|
Translating content dynamically by using Amazon S Object LambdaThis blog post shows how you can use S Object Lambda with Amazon Translate to simplify dynamic content translation by using a data driven approach With user provided data as arguments you can dynamically transform content in S and generate a new object |
2021-07-06 15:01:33 |
AWS |
AWS |
Centralized Authorization with IAM Authentication and RDS Proxy |
https://www.youtube.com/watch?v=CdtLwsIGKfg
|
Centralized Authorization with IAM Authentication and RDS ProxyAWS had couple of ways customers can achieve centralized authentication However to centrally manage authorizations in RDS PostgreSQL and Aurora PostgreSQL customer has to depend on rd party products In this video blog we would show how to achieve the centralized authorization by integrating AWS IAM Authentication with RDS Proxy AWS Secrets manager with RDS PostgreSQL This will work for Aurora PostgreSQL as well By using Amazon RDS Proxy you can allow your applications to pool and share database connections to improve their ability to scale RDS Proxy makes applications more resilient to database failures by automatically connecting to a standby DB instance while preserving application connections RDS Proxy also enables you to enforce AWS Identity and Access Management IAM authentication for databases and securely store credentials in AWS Secrets Manager Learn more about Amazon RDS Proxy Subscribe More AWS videos More AWS events videos ABOUT AWSAmazon Web Services AWS is the world s most comprehensive and broadly adopted cloud platform offering over fully featured services from data centers globally Millions of customers ーincluding the fastest growing startups largest enterprises and leading government agencies ーare using AWS to lower costs become more agile and innovate faster AWS AmazonWebServices CloudComputing AWSDemos |
2021-07-06 15:34:08 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
CNNを用いた2クラス分類における、訓練データ数による出力値分布の変化について |
https://teratail.com/questions/348066?rss=all
|
CNNを用いたクラス分類における、訓練データ数による出力値分布の変化についてCNNを使ってクラス分類をしていますが、訓練データの枚数を変えると出力層softmax関数のクラスの出力値分布が変わる理由が知りたいです。 |
2021-07-07 01:00:03 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
Laravel6.20.27 Gmail Timed Out |
https://teratail.com/questions/348065?rss=all
|
LaravelGmailTimedOut【環境について】ホストOSCentOSLaravelnbspdockerにて稼働ホストOSでnginxを稼働させ、dokcer上のapacheへ転送しています。 |
2021-07-07 00:49:10 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
ClickOnceで発行したアプリケーションが起動できません |
https://teratail.com/questions/348064?rss=all
|
ClickOnceで発行したアプリケーションが起動できませんClickOnceで発行したアプリケーションにつきまして。 |
2021-07-07 00:41:54 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
JavaScriptのFetchでBodyの中身を取得したい |
https://teratail.com/questions/348063?rss=all
|
JavaScriptのFetchでBodyの中身を取得したいGASで文字列を返すスクリプトを作ったのですが、それを外部のjavascriptからアクセスして文字列を取得したいです。 |
2021-07-07 00:26:52 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
staticなメソッドしかない場合、クラスをstaticにする/しない場合の違い |
https://teratail.com/questions/348062?rss=all
|
staticなメソッドしかない場合、クラスをstaticにするしない場合の違い前提・実現したいこと例えば、下記のようなクラスがあるとします。 |
2021-07-07 00:21:10 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
コンポーネントへの値の受け渡し。not defined on the instance but referenced during render. |
https://teratail.com/questions/348061?rss=all
|
コンポーネントへの値の受け渡し。 |
2021-07-07 00:15:39 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
BigQueryで定義した変数名をもとに集計及びカラム名を指定する方法について |
https://teratail.com/questions/348060?rss=all
|
BigQueryで定義した変数名をもとに集計及びカラム名を指定する方法について前提・実現したいことBigQueryで定義した変数名をもとにカラム名を指定することで、SQLを別期間で自動で集計されるようにしたいと考えています。 |
2021-07-07 00:13:29 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
seabornのpairplotでhueを使うかどうかの波形の違いを教えてください。 |
https://teratail.com/questions/348059?rss=all
|
seabornのpairplotでhueを使うかどうかの波形の違いを教えてください。 |
2021-07-07 00:00:34 |
Ruby |
Rubyタグが付けられた新着投稿 - Qiita |
【Ruby】【Trello】リストのカードを一括コピーする |
https://qiita.com/kure/items/c31e051b4f0025854837
|
【Ruby】【Trello】リストのカードを一括コピーするTrelloのWebUIからならテンプレートのカードをポチポチ作れるのですが、複数カードをコピーするのは面倒。 |
2021-07-07 00:48:33 |
Ruby |
Rubyタグが付けられた新着投稿 - Qiita |
〜旅人育成アプリ「TABIGINNER」を作りました〜 |
https://qiita.com/m3t/items/676c7ec8570864c715a8
|
細かくて作るのが大変でしたが、可愛くできたので満足です改善amp追加したい機能・アプリのUIを全体的にもっと触っていてワクワクするようなものに改善現在は簡素的な感じ…ampPCでも快適に使えるように改善・AWSでデプロイする現在学習中・パスワードリセット機能実装・デフォルトのタスクamp持ち物リストの削除機能を実装・旅の目的地を決定する際、渡航が危険と思われる国は警告文出すもしくは国名削除・旅の予定目的地の配列が剥き出し→修正改善を試みたものの、中々解決に時間がかかっているものもあり汗今後じっくり改善していきたいと考えています反省点力技なコードになってしまった「もっときれいで簡潔な書き方や方法がありそう」と思う箇所が本当に沢山あります。 |
2021-07-07 00:45:53 |
AWS |
AWSタグが付けられた新着投稿 - Qiita |
AWSのセッションマネージャーの設定に失敗する |
https://qiita.com/piyo8810/items/a150bab24efa8cbc199a
|
AWSのセッションマネージャーの設定に失敗するECインスタンスにセッションマネージャーからRDPする方法を試した。 |
2021-07-07 00:05:59 |
Docker |
dockerタグが付けられた新着投稿 - Qiita |
docker-compose build が失敗する |
https://qiita.com/isaatsu0131/items/1b81b340bf8a9a1b04b6
|
|
2021-07-07 00:14:05 |
Ruby |
Railsタグが付けられた新着投稿 - Qiita |
〜旅人育成アプリ「TABIGINNER」を作りました〜 |
https://qiita.com/m3t/items/676c7ec8570864c715a8
|
細かくて作るのが大変でしたが、可愛くできたので満足です改善amp追加したい機能・アプリのUIを全体的にもっと触っていてワクワクするようなものに改善現在は簡素的な感じ…ampPCでも快適に使えるように改善・AWSでデプロイする現在学習中・パスワードリセット機能実装・デフォルトのタスクamp持ち物リストの削除機能を実装・旅の目的地を決定する際、渡航が危険と思われる国は警告文出すもしくは国名削除・旅の予定目的地の配列が剥き出し→修正改善を試みたものの、中々解決に時間がかかっているものもあり汗今後じっくり改善していきたいと考えています反省点力技なコードになってしまった「もっときれいで簡潔な書き方や方法がありそう」と思う箇所が本当に沢山あります。 |
2021-07-07 00:45:53 |
技術ブログ |
Developers.IO |
CloudEndure Migration を使ったAWS移行を計画する |
https://dev.classmethod.jp/articles/migration_with_cloudendure/
|
cloudendure |
2021-07-06 15:00:45 |
海外TECH |
Ars Technica |
Peugeot plans to win Le Mans in 2022 with this 9X8 hybrid prototype |
https://arstechnica.com/?p=1778311
|
sarthe |
2021-07-06 15:27:14 |
海外TECH |
DEV Community |
24 time management tips for students |
https://dev.to/codextreame/24-time-management-tips-for-students-1hmi
|
time management tips for studentsThe goal of realizationMake a daily planKeep your agenda Your curriculum and priorities are ready Set your time limit Demanding work in priority Learn to outsource Configure your setting place Ignore buffer time tasks and other tasks Go offline on social mediaDo not multitask Break Management Don t wait for inspiration to do your work now Follow rulesUse the online calendar Create a TODO list Don t hang on to small things Use your waiting time The rest day is Saturday or Sunday Stop pretending to be perfect Say NoBe inspired Do the same thing together Sleep Well All Topic Explanation |
2021-07-06 15:46:43 |
海外TECH |
DEV Community |
What is AWS InfiniDash? |
https://dev.to/rainleander/what-is-aws-infinidash-2mjn
|
What is AWS InfiniDash TL DR AWS InfiniDash is a fake project It started innocently enough with tweet I am convinced that a small and dedicated group of twitter devs could tweet hot takes about a completely made up AWS product idk AWS Infinidash or something and it would appear as a requirement on job specs within a weekーJoe Nash jna sh June And it exploded from there Ellen Korbes made an explanatory spoof video hope this helps someone re infinidash ih pic twitter com fmzLtWHbー ellenkorbes ellenkorbes July Sy Brand followed up with their own explanation using a bubble machine and their cat AWS Infinidash explained with a bubble machine I found in a cupboard and my cat pic twitter com hTToTsDxkーSy Brand tartanllama July The most AMAZING song was composed and performed An ode to Infinidash the imaginary AWS service pic twitter com dCntHtUyGーForrest Brazeal forrestbrazeal July Massive application developer Signal followed up with their own tweet Here at Signal we have always placed an emphasis on developer productivity so Infinidash lifecycle management has been at the core of everything we do from the jump We hire for it accordingly ーSignal signalapp July And yes a stream with a live demo arrived Y all aren t ready for this AWS Infinidash live streamMake sure you like and subscribe ーJustin Garrison rothgar July Now that you understand the joke too please don t bash on recruiters AWS or anyone who isn t in on the joke |
2021-07-06 15:39:42 |
海外TECH |
DEV Community |
CSS3 Clip-Path Property. |
https://dev.to/swastikyadav/css3-clip-path-property-1dne
|
CSS Clip Path Property I recently learned about the clip path property in CSS The clip path creates a clipping region that sets what part of an element should be shown This can help in creating really cool slanted Hero sections The following CSS code snippet will create a slanted hero background section clip path polygon vh The polygon shape takes values in a pair of x y each for top left top right bottom right and bottom left But sometimes it can be very tricky to create a clipping path So here is a really cool tool for generating a CSS clip path Now go and create your own clip designs shapes and backgrounds If you enjoyed reading this little CSS tip then join my newsletter here There I share more amazing stuff on web development I also help beginners to Learn CSS in a days workshop without the tutorial hell with CSS Thanks a lot for reading |
2021-07-06 15:18:54 |
海外TECH |
DEV Community |
Building Scalable Full Stack Apps on Ethereum with Polygon |
https://dev.to/dabit3/building-scalable-full-stack-apps-on-ethereum-with-polygon-2cfb
|
Building Scalable Full Stack Apps on Ethereum with Polygon Building a digital marketplace with Next js Tailwind Solidity Hardhat Ethers js IPFS and PolygonIn my last end to end Ethereum tutorial The Complete Guide to Full Stack Ethereum Development I introduced how to build a basic app on Ethereum using modern tooling like Hardhat and Ethers js One thing that has become apparent over the past few months is how fast Ethereum scaling solutions like Polygon Arbitrum and Optimism are gaining momentum and adoption These technologies enable developers to build the same applications they would directly on Ethereum with the added benefits of lower gas costs and faster transaction speeds among other things Because of the value proposition that these solutions offer combined with the general lack of existing content I will be building out various example projects and tutorials for full stack applications using these various Ethereum scaling solutions starting with this one on Polygon To view the final source code for this project visit this repo PrerequisitesTo be successful in this guide you must have the following Node js installed on your machineMetamask wallet extension installed as a browser extension The stackIn this guide we will build out a full stack application using Ethereum Layer PolygonWeb application framework Next jsSolidity development environment HardhatFile Storage IPFSEthereum Web Client Library Ethers jsThough it will not be part of this guide coming in a separate post we will look at how to build a more robust API layer using The Graph Protocol to get around limitations in the data access patterns provided by the native blockchain layer About the projectThe project that we will be building will be Metaverse Marketplace a digital marketplace When a user puts an item for sale the ownership of the item will be transferred from the creator to the marketplace When a user purchases an item the purchase price will be transferred from the buyer to the seller and the item will be transferred from the marketplace to the buyer The marketplace owner will be able to set a listing fee This fee will be taken from the seller and transferred to the contract owner upon completion of any sale enabling the owner of the marketplace to earn recurring revenue from any sale transacted in the marketplace The marketplace logic will consist of two smart contracts NFT Contract This contract allows users to mint unique digital assets Marketplace Contract This contract allows users to put their digital assets for sale on an open market I believe this is a good project because the tools techniques and ideas we will be working with lay the foundation for many other types of applications on this stack dealing with things like payments commissions and transfers of ownership on the contract level as well as how a client side application would use this smart contract to build a performant and nice looking user interface In addition to the smart contract I ll also show you how to build a subgraph to make the querying of data from the smart contract more flexible and efficient As you will see creating views on data sets and enabling various and performant data access patterns is hard to do directly from a smart contract The Graph makes this much easier About PolygonFrom the docs Polygon is a protocol and a framework for building and connecting Ethereum compatible blockchain networks Aggregating scalable solutions on Ethereum supporting a multi chain Ethereum ecosystem Polygon is about x faster than Ethereum amp yet transactions are more than x cheaper Ok cool but what does all that mean To me it means that I can use the same knowledge tools and technologies I have been using to build apps on Ethereum to build apps that are faster and cheaper for users providing not only a better user experience but also opening the door for many types of applications that just would not be feasible to be built directly on Ethereum As mentioned before there are many other Ethereum scaling solutions such as Arbitrumand Optimism that are also in a similar space Most of these scaling solutions have technical differences and fall into various categories like sidechains layer s and state channels Polygon recently rebranded from Matic so you will also see the word Matic used interchangeably when referring to various parts of their ecosystem because the name still is being used in various places like their token and network names To learn more about Polygon check out this post as well as their documentation here Now that we have an overview of the project and related technologies let s start building Project setupTo get started we ll create a new Next js app To do so open your terminal Create or change into a new empty directory and run the following command npx create next app digital marketplaceNext change into the new directory and install the dependencies cd digital marketplacenpm install ethers hardhat nomiclabs hardhat waffle ethereum waffle chai nomiclabs hardhat ethers webmodal openzeppelin contracts ipfs http client axios Setting up Tailwind CSSWe ll be using Tailwind CSS for styling we we will set that up in this step Tailwind is a utility first CSS framework that makes it easy to add styling and create good looking websites without a lot of work Next install the Tailwind dependencies npm install D tailwindcss latest postcss latest autoprefixer latestNext we will create the configuration files needed for Tailwind to work with Next js tailwind config js and postcss config js by running the following command npx tailwindcss init pFinally delete the code in styles globals css and update it with the following tailwind base tailwind components tailwind utilities Configuring HardhatNext initialize a new Hardhat development environment from the root of your project npx hardhat What do you want to do Create a sample project Hardhat project root lt Choose default path gt Now you should see the following files and folders created for you in your root directory hardhat config js The entirety of your Hardhat setup i e your config plugins and custom tasks is contained in this file scripts A folder containing a script named sample script js that will deploy your smart contract when executedtest A folder containing an example testing scriptcontracts A folder holding an example Solidity smart contractNext update the configuration at hardhat config js with the following In this configuration we ve configured the local Hardhat development environment as well as the Mumbai testnet You can read more about both Matic networks here Next create a file named secret at the root of your project For now we will leave this file empty Later on we will populate it with a test wallet private key that will hold some Matic tokens that we will get from the Matic testnet faucet Be sure to never commit any private keys to Git To be extra safe consider storing these values in temporary environment variables when working with wallets that contain real tokens To omit from Git add secret to your gitignore file Smart ContractsNext we ll create our smart contracts We ll start with the NFT contract for the unique digital assets Create a new file in the contracts directory named NFT sol Here add the following code This is a pretty straightforward NFT smart contract that allows users to mint unique digital assets and have ownership of them In this contract we are inheriting from the ERC standard implemented by OpenZepplinNext we ll create the contract for the Marketplace This is a much larger smart contract I ve done my best to document what each function is doing Now the smart contract code and environment is complete and we can try testing it out To do so we can create a local test to run through much of the functionality like minting a token putting it up for sale selling it to a user and querying for tokens To create the test open test sample test js and update it with the following code To run the test run npx hardhat test from your command line If the test runs successfully it should log out an array containing a single marketplace item Building the front endNow that the smart contract is working and ready to go we can start building out the UI The first thing we might think about is setting up a layout so that we can enable some navigation that will persist across all pages To set this up open pages app js and update it with the following code The navigation has links for the home route as well as a page to sell a digital asset view the assets you have purchased and a creator dashboard to see the assets you ve created as well as the assets you ve sold Querying the contract for marketplace itemsThe next page we ll update is pages index js This is the main entry point of the app and will be the view where we query for the digital assets for sale and render them to the screen When the page loads we query the smart contract for any items that are still for sale and render them to the screen along with metadata about the items and a button for purchasing them Creating and listing digital itemsNext let s create the page that allows users to create and list digital assets There are a few things happening in this page The user is able to upload and save files to IPFSThe user is able to create a new unique digital item NFT The user is able to set metadata and price of item and list it for sale on the marketplaceAfter the user creates and lists an item they are re routed to the main page to view all of the items for sale Viewing only the items purchased by the userIn the Market sol smart contract we created a function named fetchMyNFTs that only returns the items owned by the user In pages my assets js we will use that function to fetch and render them This functionality is different than the query main pages index js page because we need to ask the user for their address and use it in the contract so the user will have to sign the transaction for it to be able to fetch them properly Creator dashboardThe final page we will be creating is the creator dashboard that will allow them to view both all of the items they have created as well as the items they have sold This page will be using the fetchItemsCreated function from the Market sol smart contract which returns only the items that match the address of the user making the function call On the client we use the sold boolean to filter the items into another separate array to show the user only the items that have been sold Create a new file called creator dashboard js in the pages directory with the following code Running the projectTo run the project we will need to have a deploy script to deploy the smart contracts to the blockchain network Deploying the contracts to a local networkWhen we created the project Hardhat created an example deployment script at scripts sample script js To make the purpose of this script more clear update the name of scripts sample script js to scripts deploy js Next update the main function in scripts deploy js with the following code async function main const NFTMarket await hre ethers getContractFactory NFTMarket const nftMarket await NFTMarket deploy await nftMarket deployed console log nftMarket deployed to nftMarket address const NFT await hre ethers getContractFactory NFT const nft await NFT deploy nftMarket address await nft deployed console log nft deployed to nft address This script will deploy both contracts to the blockchain network We will first test this on a local network then deploy it to the Mumba testnet To spin up a local network open your terminal and run the following command npx hardhat nodeThis should create a local network with accounts Next keep the node running and open a separate terminal window to deploy the contract In a separate window run the following command npx hardhat run scripts deploy js network localhostWhen the deployment is complete the CLI should print out the addresses of the contracts that were deployed Using these addresses create a new file at the root of the project named config js and add the following code replacing contract address with the contract addresses printed out by the CLI export const nftmarketaddress contract address export const nftaddress contract address Importing accounts into MetaMaskYou can import the accounts created by the node into your Metamask wallet to try out in the app Each of these accounts is seeded with ETH To import one of these accounts first switch your MetaMask wallet network to Localhost Next in MetaMask click on Import Account from the accounts menu Copy then paste one of the Private Keys logged out by the CLI and click Import Once the account is imported you should see some the Eth in the account I d suggest doing this with or accounts so that you have the ability to test out the various functionality between users Running the appNow we can test out the app To start the app run the following command in your CLI npm run devTo test everything out try listing an item for sale then switching to another account and purchasing it Deploying to PolygonNow that we have the project up and running and tested locally let s deploy to Polygon We ll start by deploying to Mumbai the Matic test network The first thing we will need to do is save one of our private keys from our wallet to the secrets file To get the private key you can use one of the private keys given to you by Hardhat or you can export them directly from MetaMask For production apps I d suggest never hardcoding private key values in your as we are doing here but instead setting it as something like an environment variable Configuring the networkNext we need to switch from the local test network to the Mumbai Testnet To do so we need to create and set the network configuration First open MetaMask and click on Settings Next click on Networks and then Add Network Here we will add the following configurations for the Mumbai test network as listed here Network Name Mumbai TestNetNew RPC URL Chain ID Currency Symbol MaticSave this then you should be able to switch to and use the new network Finally you will need some testnet Matic tokens in order to interact with the applications To get these you can visit the Matic Faucet inputting the address of the wallets that you would like to request the tokens Deploying to the Matic Polygon networkNow that you have some Matic tokens you can deploy to the Polygon network To do so be sure that the address associated with the private key you are deploying your contract with has received some Matic tokens in order to pay the gas fees for the transaction To deploy to Matic run the following command npx hardhat run scripts deploy js network mumbaiOnce the contracts have been deployed you should be able to update the contract addresses in your project and test on the new network npm run dev Deploying to MainnetTo deploy to the main Matic Polygon network you can use the same steps we set up for the Mumbai test network The main difference is that you ll need to use an endpoint for Matic as well as import the network as listed here An example update in your project to make this happen might look like this hardhat config js adding Matic main network config to existing config matic url accounts privateKey Public RPCs like the one listed above may have traffic or rate limits depending on usage You can sign up for a dedicated free RPC URL using services like Infura MaticVigil QuickNode Chainstack or Ankr For example using something like Infura url infuraId To view the final source code for this project visit this repo Next stepsCongratulations You ve deployed a non trivial app to Polygon The coolest thing about working with solutions like Polygon is how little extra work or learning I had to do compared to building directly on Ethereum Almost all of the APIs and tooling in these layer s and sidechains remain the same making any skills transferable across various platforms like Polygon For the next steps I d suggest porting over the queries implemented in this app using The Graph The Graph will open up many more data access patterns including things like pagination filtering and sorting which are necessary for any real world application I will also be publishing a tutorial showing how to use Polygon with The Graph in the coming weeks |
2021-07-06 15:14:09 |
海外TECH |
DEV Community |
JavaScript Frameworks and Metagaming |
https://dev.to/this-is-learning/javascript-frameworks-and-metagaming-pb5
|
JavaScript Frameworks and MetagamingLast week we released SolidJS A JavaScript framework built on a foundation of ideas long ago dismissed that accomplishes what some thought to be impossible It was also a great personal achievement for me Years of work realized and put on display And many of you know that Since I made the deliberate choice to write about every detail of building a JavaScript framework That s several dozen articles In a lot of ways Solid was built in public And just because we ve hit doesn t mean I have any intention to stop writing about my experiences and the things I learn in a highly introspective way It s no secret it s been hard to push a new JavaScript framework in such an overcrowded space And release has lead me to reflect further on this Metagaming in GamesI was an avid Magic the Gathering collectable card game player for several years I mostly was a deck designer and play tester I was not the best technical player but what I did well was understand how the the whole field of possible decks would play against each other and how to take a given strategy and have it invalidate another approach You can view this as a huge game of Rock Paper Scissors except there were more than just options What makes Magic interesting is that each match is a best out of games and the person who goes first in a game generally has the advantage But for game that is random and something you can t control In games the loser goes first and should it go to game the person who won the first game goes first again But what makes it really interesting is after game either player can swap up to a quarter of the cards in their deck And depending on each strategy one can change their approach to combat other strategies This is incredibly deep when you consider the Princess Bride leveling game involved Through Magic I learned lessons on game theory It s immensely deep I ve applied these sort of patterned thinking to a lot of problems I ve faced since Mark Rosewater the Head Designer gives one of my favorite talks on lessons learned when designing Framework DesignSo what does this have to do with designing JavaScript Frameworks Well features wise it is just as much about positioning as anything How to balance a solution with no obvious weakness yet offer the best offering on average Sometimes you win in game and there is nothing anyone can reasonably do to catch up Other times you just need to be able draw it into the deciding game where you will have the advantage While this seems sort of ruthless it has given me a framework for looking at balance You don t get to change your fundamental identity or say colors in Magic Only certain tools can be available to you depending on the choices you make All you can do is look at maximizing your strengths and adjusting what is actually the deciding factor that is being fought over In Framework design this means sometimes the solution isn t to solve a known problem but redefine it to avoid being trapped in solutions that don t suit the toolset I had to do a lot of work to re imagine things with VDOM less JSX and how hydration and SSR could work in a granular reactive library These technologies had been built on diffing Solid doesn t have Time and time again when I get stuck I don t concede I go back to the drawing board and see if there is a way to re imagine the problem Now picture this from another perspective There is a reason Solid has such an unorthodox combination of elements between mixing reactivity JSX doing some compilation but leaving some to the runtime adopting uni directional flow and immutable patterns with mutable internals These things together edge out existing solutions in all the places they are weakest Where the common knowledge is that we re reaching the limits of that abstraction I ve had framework authors say things like I d love to do blank but it s not worth focusing on incremental improvements And they are right But what if the actual base configuration of a framework was setup to live in that space I m not necessarily claiming Solid s tradeoffs are better Obviously I have personal bias here and I think at least it provides a unique set of strengths However I m finding that those decisions have bigger implications beyond the technical Social MetagamingSocial is not something I had as much experience in I had MySpace to promote my band and when Facebook came around I was like Pass I don t need to do this again I eventually signed up years later I didn t join Twitter for over a decade after that All I had were articles that I wrote and the output of my work And you can probably see the flaw in my approach to framework design That s not how to make friends and influence people Now framework authors live and breathe these problems They ve thought about the tradeoffs They ve chose their place and continue to work to understand these tradeoffs and implications of their decisions Great video by Evan You on the topic This video establishes axis to compare our projects on and clearly states how moving the dial from left to right has different repercussions It doesn t get super deep here but decisions on one slide directly impact which options are open to you on the next Now this is the kind of simple message that influencers can carry and amplify out to the masses It is always an oversimplification but it serves the purpose But what if what is in contention are the axis that we make these comparisons on What if something bends the rules of the established model People are tired The term JavaScript fatigue has been thrown around a lot There is this perspective that JavaScript ecosystem as it matures should stabilize and look more like Ruby or Java on the backend There should be established tools and practices that we make incremental improvements on The last thing any influencer wants is to push more uncertainty on their followers People trust them because they bring clarity Things fit into clear buckets An idea that breaks down those walls has no place I don t expect people to drop what they are doing to change frameworks but I ve repeatedly found myself against an incredible barrier in the mind space No one wanted JSX to be analyzable No one wants to hear a well written VDOM scales better than most other solutions Hell no one wants to hear that React might as well be considered reactive when you consider how similar all frontend frameworks are Or so I thought Reflecting on releaseI m used to people seeing Solid and dismissing it After all it is intentionally designed to be a sleeper But what I saw was positivity from people around the React community They saw the release looked at it and said you know this is kind of incredible Isn t Solid some sort of React killer replacement Why would the React community welcome it and where others wouldn t Simple It reaffirms their values They don t see Solid as a competitor Maybe just a re imagining of their favorite framework Despite the surface story playing up this React vs Solid narrative there is no reality where they d feel threatened by this From a cynic s perspective Solid s existence gives them a gift Here is the foil in those framework discussions Touching on topics that compare with other frameworks on compilation templates reactivity they can simply point at Solid as proof that one doesn t need to go through such lengths to get all the benefits One could even argue if anything Solid re enforces why you should be using React Where to go from hereWell not to disappoint anyone but React isn t going to take this path Some critics have said React is an idea and the VDOM is just an implementation detail Well I have it on good authority it s an implementation detail they neither want to nor can escape at this point This isn t a Vue AlpineJS scenario where the larger player only has to flex We ve had a lot of new exposure from places where we ve struggled to get even a nod They might not all have positive things to say but the acknowledgement is a step in the right direction That s the important part In my experience it is the fellow maintainers and contributors that have the greatest understanding and tolerance of different ideas I m still learning to work with influencers to not well actually them all the time I have a body of work that may contradict what they ve been telling people And I am in a position where I have no choice really in the matter Solid has grown beyond what I singularly can focus on So I m going to keep working on the things that I can and have trust in people who continue to share my passion for this great little framework so that we continue to grow It s come to my attention there are international communities sprouting up and there is already a demand for localization of the documentation into different languages That s so amazing I ve seen renewed interest in people taking their reactive state libraries and trying to skip the framework and see what they can do That s where this all started I ve learned so much a long the way Watching people take the same steps and making the same discoveries I did years ago is the greatest validation I could hope for Honestly this all is so amazing So thank you all for being with me on this journey |
2021-07-06 15:14:07 |
海外TECH |
DEV Community |
Laravel: Easily Customize Email Verification URL |
https://dev.to/frknasir/laravel-easily-customize-email-verification-url-58f9
|
Laravel Easily Customize Email Verification URLThis is not something you d want to do if you re building an application the traditional laravel way that is a monolithic app I ve had to do this recently while working on a project that has the backend and frontend existing in different code bases Normally when you setup a laravel project for new users to verify their email a temporarily signed url is generated and sent to them The url is generated based on the project s set APP URL in the env file and subsequently in the config app php file The problem arises when you are building a SPA front end for a laravel backend api In that case you may have your frontend at say and the backend at Because the user will not have a direct access to the api endpoints it won t be ideal to generate a user clickable link based on the api s base url What you d want is a url that is based on the frontend s base url So how can that be achieved Easy Create a custom method for generating the URL and pass it to the createUrlUsing method of the VerifyEmail notification class Set a callback that should be used when creating the email verification URL param Closure callback return void public static function createUrlUsing callback static createUrlCallback callback The only other step that we have to take is to call this function inside the AuthServiceProvider passing the callback that returns our custom URL The complete code is as below Register any authentication authorization services return void public function boot VerifyEmail createUrlUsing function notifiable frontendUrl verifyUrl URL temporarySignedRoute verification verify Carbon now gt addMinutes Config get auth verification expire id gt notifiable gt getKey hash gt sha notifiable gt getEmailForVerification return frontendUrl verify url urlencode verifyUrl In the frontend you can have a page with a logic that makes a GET http request to the verify url And there you have it a customized email verification url |
2021-07-06 15:12:03 |
海外TECH |
DEV Community |
Using Next.js and Vercel to instantly load a data-heavy website |
https://dev.to/seif_ghezala/using-next-js-and-vercel-to-instantly-load-a-data-heavy-website-3gn5
|
Using Next js and Vercel to instantly load a data heavy websiteArticle originally published on Tinloof A React application is JavaScript code that gets transformed into static HTML This transformation is called rendering Whenever you build a React application you re inevitably making a decision on when to render it and you usually have choices Client side rendering the application is rendered on the browser when the script loads Server side rendering the application is rendered on the server at every page request Static site generation the application is rendered on the cloud provider e g AWS Vercel Netlify at every deployment A while ago we faced this scenario when building illuminem an energy news aggregator that showcases thousands of posts daily In this article we ll talk about the performance problems we faced and how we ended up leveraging Next js and Vercel to solve them The architectureilluminem s architecture consists of a service that crawls RSS feeds and web pages for energy related posts categorizes them and pushes them to a headless CMS called Sanity On the CMS content managers create collections of these posts based on filters like category For example they can create a collection called Renewables and use the category filter to only include posts that match the renewables category Renewables category created from the CMS The frontend is a Next js application that fetches these collections and displays them as carousels illuminem s architecture Using server side rendering on all pagesBuilding a product is not easy because requirements change throughout the process so we played it safe to make sure we can be flexible enough to handle these changes and reach the finish line ahead of time We were not sure how often we d get new posts from the crawler so we rendered most of our pages server side We used getServerSideProps to fetch pages data from the CMS at every request Here s a simplified example from the homepage export default function HomePageContainer data return lt Layout gt lt HomePage data data gt lt Layout gt Called on the server after each requestexport async function getServerSideProps try const data await fetchHomeDataFromCMS return props data catch error console error Error fetching homepage data error The problem with server side renderingBy the time we were done the crawler had been running for months and we started to feel the heavy page load Even after limiting the number of posts per collection each carousel could have hundreds of posts and most of our pages had dozens of carousels so we re talking about thousands of posts per page On average it took seconds to load a page on a very good WiFi connection It was no surprise that our TTFB Time to First Byte was heavily impacted since every time a user visits a page The server had to make a request with a huge query to the CMS The CMS had to parse that query and form the response data Once the server received a response from the CMS with thousands of posts it had to render the React application before sending it to the browser Why not making pages static Some of the pages were not making any requests in getServerSideProps to get data before rendering Next js made these pages static by default But what if a page needs to fetch data before building Well Next js provides a getStaticProps that allows to fetch the data and render the page at build time This would create static pages that load instantly export default function HomePageContainer data return lt Layout gt lt HomePage data data gt lt Layout gt Called at build timeexport async function getStaticProps try const data await fetchHomeDataFromCMS return props data catch error console error Error fetching homepage data error Unfortunately most of the other pages could not be completely static In fact most of them have a Most Trending carousel to display the most viewed posts in the past hours so it had to be up to date with the actual views metrics If we fetch the data at build time the Most Trending carousel wouldn t be updated until the next build Most Trending carousel Why not making pages render client side At this point we wondered why not make these pages render client side The server wouldn t have to make any heavy work querying data and rendering the page Instead each carousel can make a request to fetch its collection of data and then render it The main advantage would be that the TTFB would drastically decrease making the page reach the browser pretty fast However knowing that each page has on average carousels that would result in queries per page visit Our CMS payment plan is based on the number of queries we make so this would make us reach the limit in no time and would certainly blow up when illuminem picks up more users On top of that what we gain in performance in the server is lost in the client The page would reach the browser fast but it will be mostly a bunch of spinners Each carousel would yet have to make a request to get its data and then render it Because of these two reasons client side rendering was out of the table Generating static pages dynamicallyNote if you prefer video format here s a video explaining this section Next js introduced incremental static regeneration in the version release making it possible to generate static pages at run time We can now generate static pages at build time which makes them load instantly But how can we keep the Most Trending carousel content up to date Every time a user visits one of these pages getStaticProps is run by the Next js server in the background When the result of getStaticProps is different from the previous run because the CMS data changed the stale page is replaced by an updated one The updated page is generated at run time without affecting the user experience The best part is that we only had to set the revalidate property to to revalidate the page every hour export default function HomePageContainer data return lt Layout gt lt HomePage data data gt lt Layout gt Called at build and run timeexport async function getStaticProps try const data await fetchHomeDataFromCMS return props data Revalidates the page every hour revalidate catch error console error Error fetching homepage data error For pages that depend on a route parameter e g category we were able to generate a static page for each possible parameter by using the getStaticPaths method import categories from categories export default function CategoryPageContainer data return lt Layout gt lt CategoryPage data data gt lt Layout gt export async function getStaticProps params category try const data await fetchCategoryDataFromCMS category return props data revalidate catch error console error Error fetching homepage data error export async function getStaticPaths const categories await fetchCategoriesFromCMS return paths categories map category gt params category Solving edge cases with client side renderingUsers can click on a post to see its details in a modal and share it on social media Modal to share social media Each post modal has a URL and we could add the meta data tags required to show a card preview snippet on the social media platforms Unfortunately when such URLs are shared social media platforms could not get the right meta data tags since they are only added once the modal appears in the client To fix that we generated at run time a static page for each post Such pages only have the post modal rendered statically with the right meta data The rest of the page is rendered client side We then used the URLs of these pages when sharing on social media export default function PostPage postData const homeData setHomeData React useState React useEffect gt fetchHomeDataFromCMS then setHomeData return lt gt lt Layout gt homeData null lt HomePage data homeData gt lt Layout gt lt PostModal data postData gt lt gt export async function getStaticProps params postId const postData await fetchPostDataFromCMS postId try return props postData revalidate catch error console error Error fetching post data error Fallback to page in case of error return notFound true Nothing is generated at build timeexport async function getStaticPaths return paths fallback blocking We set fallback to blocking in getStaticPaths to only return the page once it has finished loading You can read more about the other fallback possibilities Next js offers here The first request to such pages might be a bit slow but all the following requests resolve immediately because their static version was already generated Social media platforms display now a proper snippet of the shared post because its required meta data tags are available immediately in the HTML response Twitter card validation Are you building a product with Vercel and Next js If you plan to build or need help building a product using Vercel and Next js get in touch |
2021-07-06 15:03:43 |
Apple |
AppleInsider - Frontpage News |
Stutter charity calls out Apple for 'stammering' emoji gaffe |
https://appleinsider.com/articles/21/07/06/stutter-charity-calls-out-apple-for-stammering-emoji-gaffe?utm_medium=rss
|
Stutter charity calls out Apple for x stammering x emoji gaffeA charity in the U K has called out Apple for users seeing a woozy face emoji when they type the word stammering into iOS messaging apps The keyboard and apps on the iPhone are prone to suggesting emoji alongside other words when entering letters On Tuesday a charity publicly complained about one suggestion which offers a woozy face emoji when users type the word Stammering STAMMA the British Stammering Association claims it has been contacted by hundreds of its members who saw the offending emoji on their iPhone and iPad when searching for the word Read more |
2021-07-06 15:34:44 |
海外TECH |
Engadget |
Roblox deal with Sony will create (legal) in-game music experiences |
https://www.engadget.com/roblox-sony-in-game-music-153541190.html?src=rss
|
Roblox deal with Sony will create legal in game music experiencesRoblox is rushing to strike official music deals in the wake of a million lawsuit over alleged copyright violations TechCrunchreports that Roblox has unveiled a team up with Sony Music that will bring more of the label s artists to the game platform The two will collaborate on quot innovative music experiences quot beyond what you ve seen so far including a Lil Nas X concert in November and a Zara Larsson launch party in May The companies didn t say what kind of events you might expect or when you might see them This isn t Roblox s first such deal The gaming giant reached a similar agreement with BMG in June It does represent Roblox s largest music pact to date however and leaves Universal and Warner as the only two heavyweight labels that haven t signed agreements Roblox might not have much choice but to keep making these arrangements The music industry sued Roblox for allegedly doing little to stop gamers from making virtual boomboxes that stream copyrighted music That s not including Robloxcore and other music designed for game worlds The developer maintains that it screens uploaded music and cracks down on violators but that clearly hasn t been enough for labels convinced Roblox is enabling piracy Deals could help Roblox persuade Sony BMG and others to call off their lawsuit or at least soften the blow |
2021-07-06 15:35:41 |
金融 |
金融庁ホームページ |
金融活動作業部会(FATF)による「暗号資産・暗号資産交換業者に関する新たなFATF基準についての12ヵ月レビューの報告書」について掲載しました。 |
https://www.fsa.go.jp/inter/etc/20210706/20210706.html
|
金融活動作業部会 |
2021-07-06 17:00:00 |
ニュース |
BBC News - Home |
Covid: Self-isolation to be scrapped for double-jabbed and children in England |
https://www.bbc.co.uk/news/uk-57733276
|
august |
2021-07-06 15:30:53 |
ニュース |
BBC News - Home |
School bubbles to be axed in England |
https://www.bbc.co.uk/news/education-57736739
|
covid |
2021-07-06 15:16:20 |
ニュース |
BBC News - Home |
Wembley park stabbings: Danyal Hussein guilty of murdering sisters |
https://www.bbc.co.uk/news/uk-england-london-57721663
|
bibaa |
2021-07-06 15:43:24 |
ニュース |
BBC News - Home |
Raducanu feeling better after Wimbledon retirement |
https://www.bbc.co.uk/sport/tennis/57737252
|
Raducanu feeling better after Wimbledon retirementEmma Raducanu says the whole experience of her run to the Wimbledon fourth round caught up with her but is now feeling better after her mid match retirement |
2021-07-06 15:32:37 |
ニュース |
BBC News - Home |
Stockwell Six: Three men have 1972 convictions quashed by Court of Appeal |
https://www.bbc.co.uk/news/uk-england-london-57735027
|
appealthe |
2021-07-06 15:55:30 |
ニュース |
BBC News - Home |
Cavendish wins 33rd Tour stage to close within one of Merckx record |
https://www.bbc.co.uk/sport/cycling/57729678
|
Cavendish wins rd Tour stage to close within one of Merckx recordMark Cavendish surges to his rd stage victory at the Tour de France to move within one win of the all time record held by Belgian legend Eddy Merckx |
2021-07-06 15:42:14 |
ニュース |
BBC News - Home |
Wimbledon 2021: 'It's been the best week of my life' - Emma Raducanu |
https://www.bbc.co.uk/sport/av/tennis/57739078
|
Wimbledon x It x s been the best week of my life x Emma RaducanuEmma Raducanu tells Sue Barker about her whirlwind first Wimbledon experience her plans for the future and her score prediction for England v Denmark in the Euros |
2021-07-06 15:39:42 |
北海道 |
北海道新聞 |
女子単、プリスコバが4強入り ウィンブルドン第8日 |
https://www.hokkaido-np.co.jp/article/564193/
|
女子 |
2021-07-07 00:16:00 |
北海道 |
北海道新聞 |
楽天の三木谷氏が「正式に抗議」 バルサ選手の日本人差別で |
https://www.hokkaido-np.co.jp/article/564187/
|
日本人差別 |
2021-07-07 00:06:00 |
コメント
コメントを投稿