IT |
気になる、記になる… |
Apple、「iOS 16.0.2」をリリース − 「iPhone 14 Pro」でカメラが振動する問題など各種問題を修正 |
https://taisy0.com/2022/09/23/162542.html
|
iphone |
2022-09-22 22:56:26 |
IT |
ビジネス+IT 最新ニュース |
P2E(Play to Earn)とは何か? 「ゲームで遊ぶと仮想通貨」の仕組みとは |
https://www.sbbit.jp/article/cont1/95021?ref=rss
|
PEPlaytoEarnとは何か「ゲームで遊ぶと仮想通貨」の仕組みとは「ポスト・インターネット」と評価され、注目されてきたブロックチェーン。 |
2022-09-23 07:10:00 |
海外TECH |
Ars Technica |
USB-A adapter adds instant Wi-Fi 6E support to Windows 11 PCs |
https://arstechnica.com/?p=1883728
|
windows |
2022-09-22 22:14:35 |
海外TECH |
DEV Community |
Class::Plain - Class Syntax for Hash-Based Perl OO |
https://dev.to/yukikimoto/classplain-class-syntax-for-hash-based-perl-oo-4j6a
|
Class Plain Class Syntax for Hash Based Perl OOClass Plain was released at use Class Plain class Point field x field y method new common my self class gt SUPER new self gt x self gt y return self method move my x y self gt x x self gt y y method describe print A point at self gt x self gt y n my point Point gt new x gt y gt point gt describe Inheritance class PointD isa Point field z method new common my self class gt SUPER new self gt z return self method move my x y z self gt SUPER move x y self gt z z method describe print A point at self gt x self gt y self gt z n I m strongly interested in Perl OO I study Corinna and Object Pad now A few weaks ago I wondered These class syntax can be applied to the traditional Perl hash based OO modules The syntax can be used with the all existing modules I remembered many OO modules Net FTP IO Socket INET IO Socket IP LWP UserAgent HTTP Tiny XML Simple Data Page CGI Digest MD Digest SHA Mojolicious Catalyst DBIx Class etc Class Plain Class Syntax for Hash Based Perl OO |
2022-09-22 22:56:07 |
海外TECH |
DEV Community |
Setting up a Factorio Multiplayer Server on DigitalOcean |
https://dev.to/digitalocean/setting-up-a-factorio-multiplayer-server-on-digitalocean-3g7h
|
Setting up a Factorio Multiplayer Server on DigitalOceanWhat is better than Factorio Factorio with friends Multiplayer in Factorio allows you to team up with friends to grow defend and scale your factory to new heights While you can host a multiplayer game on your local machine your friends and collaborators will rely on that local machine running to access the game and with everyone s busy lives this may not be ideal Today I m going to show you how you can host an ongoing Factorio multiplayer game on DigitalOcean that anyone can access whenever they want DigitalOcean simplifies cloud computing so builders can spend more time creating software that changes the world In our case today that means deploying a Factorio headless server so that we can get help from other people in building the world s biggest factory The way that we re going to accomplish this is by deploying a DigitalOcean droplet to host our multiplayer Factorio game To get started with this we re first going to log in or sign up for a Digital Ocean account If you prefer a video version of this tutorial you can watch it here Creating a Droplet on DigitalOceanSince I already have an account I ll just hit the login button which is going to take me to my DigitalOcean dashboard Next what we want to do is create a new droplet I m going to hit the green Create button in the top right and select droplets This is going to take me to the wizard for deploying our droplet and from here we can decide what type of operating system how many resources we want to grant the droplet and so on and so forth We ll keep Ubuntu as the operating system and for our plan we have various different options ranging from a shared to dedicated CPU Intel or AMD workload type size and so on For the purpose of this tutorial I ll select a general purpose dedicated CPU but you can host Factorio on the basic per month plan just as easily With our plan selected the last thing we ll need to do is select our data center region Since I m located in Las Vegas I ll pick the one closest to me which will be San Francisco Finally we ll need to set a password or an SSH key to be able to connect to this droplet once it s created To keep it simple let s use password and add the password that we want to use With all of our options selected let s hit the Create Droplet button and we ll be off to the races In about a minute or so our droplet will be created and deployed and we ll be ready to go When our droplet has finished deploying the first thing we ll need to do is connect to it Open up the terminal of your choice as we ll SSH into the machine Make note of the Droplet IPv address as that s where our Ubuntu server is To SSH into our server we ll connect as the root user at the IP address of our droplet and use our password we set earlier And we re in and ready to install our Factorio headless server The headless version of Factorio does not download any of the games graphic assets so you can t play the game on the server but you can run all of the logic needed for the game Downloading and Installing Headless FactorioWe can download the headless version Factorio directly from the Factorio website To do this execute the following command in your terminal wget O factorio headless tar gz Running this command will download the headless version of Factorio and store it in a file called factorio headless tar gz You can confirm this by running the ls command The next thing we re going to do is go into our opt directory by running cd opt Our Factorio headless server will run out of this directory Unzip the file we downloaded above by runningsudo tar xf factorio headless tar gzAfter this command has finished executing we ll have a new directory in our opt folder called factorio Let s navigate to it by running cd factorio Then run ls to see the files and folders within To enable our headless server to work the next thing we ll need to do is create a saves folder I will make a new directory called saves by running mkdir saves If you run ls again you ll see that now we have the bin directory our data directory and now a saves directory where our game progress is going to be saved The next thing we ll do is create a save zip file The way to do this is we re going to go into our bin directory into the x directory and call the factorio executable and pass in the create command which is going to create a new save file in the saves directory Let s do that and call it digitalocean zip So our command will look like bin x factorio create saves digitalocean zipNow we have a save file and we are good to go At this point we can actually start the game and connect to it and play Connecting to your Factorio ServerNow that we have our headless version of Factorio on our Droplet and a save file ready to go the next step is to actually boot up and start the Factorio server The easiest way to do this is go back into our x directory run the factorio executable and pass in the start server command passing in our digitaocean zip save file bin x factorio start server digitalocean zipRunning this command will start up our server Make a note of the IP address that the server is running on as well as the port the Factorio headless server is running on in my case it s Let s go into our Factorio game select multiplayer click the “connect to an address option and we ll paste in the our IP address and port and hit Connect Within a few seconds we ll be in the game running at frames per second and able to play the game As I play the game the state is being saved on the server in that digitalocean zip file so if I disconnect and reconnect I ll be able to pick things back up where I last left off Our server is now running and anybody that has the IP address and port can connect While this is one way to deploy a Factorio headless server I want to show you another The second way involves setting up a service to run our Factorio headless instance To do this let s navigate to the data directory in our factorio directory and take a look at this server settings example json file This file is going to enable us to control various settings of our Factorio server To utilize this file we re first going to make a copy of it and remove the example extension Do this by running cp server settings example json server settings jsonWe won t make any changes to the file itself for now Next you probably don t want your root user running the factorio service so let s create a new user that only has access to run the Factorio headless server To do this run useradd factoriochown R facotrio factorio opt factorio Creating a Headless Factorio ServiceFinally let s go ahead and create a service that we can turn on or off depending on if we want the server to be running or not To do this execute the following command sudo nano etc systemd system factorio serviceAnd what this is going to look like is this Unit Description Factorio Headless Server Service Type simpleUser factorioExecStart opt factorio bin x factorio start server opt factorio svaes digitalocean zip server settings opt factorio data server settings jsonThis simple service when run is going to start up our server and will use the digitalocean zip save file we created as well as load up the server settings json file we created earlier Save and exit this file To start this service we ll have to restart our service daemon by running systemctl daemon reloadsystemctl start factorioTo ensure that our service is running we can run the systemctl status factorio command And as you can see it is active running and good to go Let s make sure the server is in fact running by reconnecting to it in our Factorio game ConclusionIn this tutorial we deployed and connected to a remotely hosted headless version of Factorio Anybody that we share the IP and port can now connect and join our game We could modify the server settings json file to password protect our game enable mods and other settings The best part about having a headless server running is that the game state is saved on our remote server so our friends can play even when we aren t available I hope you enjoyed this tutorial and good luck building and expanding your factory Happy coding |
2022-09-22 22:29:58 |
海外TECH |
DEV Community |
How to test "window.open" in Vue with Vitest |
https://dev.to/lesalvucci/how-to-test-windowopen-in-vue-with-vitest-56pn
|
How to test quot window open quot in Vue with VitestAs we gain experience as a developer and requirements become more complex testing provides us with a powerful tool to take firm steps forward It also gives us security when we can verify that all tests still pass after making changes in our code In this post we are going to carry out a simple test as an exercise to review some basic concepts and through a practical example understand how to take advantage of testing utilities in case that our component requires opening a new tab using window open function You can find the code in this repository gt githubDisclaimer This post is not about TDD I just try to explain step by step what happens when someone tries to learn new concepts from practice and also show you the way i usually do it Setting up our projectLet s start creating a new project with vite We will name it vue mocking window object yarn create viteSelect Vue and TypescriptVite doesn t install dependencies so we will have to do it cd vue mocking window objectyarn installNow we have to add vitest vue test utils and typescript types to be used in our project yarn add D vitest vue test utils types jestNote D is for installing libraries only as a development dependencyThe next step is to add scripts to package json so we can use them with yarn Just edit package json and add this scripts test vitest coverage vitest run coverage We have to modify vite s config to add testing configuration import defineConfig UserConfigExport from vitest config import vue from vitejs plugin vue const config UserConfigExport plugins vue test globals true environment jsdom export default defineConfig config By setting globals as true it will inject jest into tests without needing to importing it environment is being used for configuring vitest to set a browser like env for our tests otherwise it will be a node js env and some global object like document won t be available in that case And that s all Let s create a simple test to verify if everything is working as expected Creating our first testModify the file App vue see below and delete file HelloComponent vue from components folder lt template gt lt div gt Welcome to Vue Vitest lt div gt lt template gt Then if we start development server with yarn dev and open a browser with url http localhost we should get this page Now create a file named App spec ts in same folder as App vue and write the following code import mount from vue test utils import App from App vue describe Testing APP component gt it render component async gt const wrapper mount App expect wrapper text toContain Welcome to Vue Vitest Run in a terminal yarn test and Yes That s was easy right With help of vue test utils we can render the component into a variable and use jest to create our validations In this test we can verify that the string Welcome to Vue Vitest is being rendered by the component Ok let s try something a little bit more complex Create base componentWe want a component that renders an ethereum wallet address and by clicking on it let us open a new tab that shows the etherscan of that wallet Etherscan io is a public site where you can search and trace Ethereum transactions just like transfer contracts interaction etc For doing this and just keeping this post simple create a file named EthereumAddress vue in components folder and write this code lt script setup lang ts gt type Props address string defineProps lt Props gt lt script gt lt template gt lt div class ethereum address gt address lt div gt lt template gt lt style gt ethereum address font family Courier New lt style gt Edit App vue to import and mount this component and check what happens in browser lt script setup lang ts gt import EthereumAddress from components EthereumAddress vue lt script gt lt template gt lt div gt Welcome to Vue Vitest lt div gt lt EthereumAddress address xBeeeAcCAaEBE gt lt template gt And now we see thisOk great it works It s good time to create a test for our component Create a file named EthereumAddress spec ts and write this code import mount from vue test utils import EthereumAddress from EthereumAddress vue Testing purpose ethereum addressconst testingAddress xBeeeAcCAaEBE describe EthereumAddress Component gt it render address passed as prop async gt Render component const wrapper mount EthereumAddress props address testingAddress Verify expect wrapper text toBe testingAddress run yarn test again and verify that all tests passed Add functionalityWe want to open etherscan when a user clicks on it For making that happen we will open a new tab by using window open function We need base url of etherscan and as a good practice make all the global constants be imported from env file because probably you will need different base urls for each environment development testing production etc Create a env file and write thisVITE APP ETHERSCAN URL https etherscan io address Now create a file named constants ts to import this var from env By using a single file to define all the constants is also a good practice to avoid importing from env all over the app It gives you more flexibility when something changes and adds an extra layer of validation like this export const ETHERSCAN URL process env VITE APP ETHERSCAN URL if ETHERSCAN URL throw new Error VITE APP ETHERSCAN URL must be set on env Modify EthereumAddress vue file and write this code lt script setup lang ts gt import ETHERSCAN URL from constants type Props address string const props defineProps lt Props gt const handleEtherscan gt window open ETHERSCAN URL props address blank lt script gt lt template gt lt div class ethereum address click handleEtherscan data testid ethereumAddress gt address lt div gt lt template gt lt style gt ethereum address font family Courier New cursor pointer lt style gt Notice that we add data testid property in div component it makes easy to find the component on our testsLet s modify EthereumAddress spec ts by adding a test which makes a click on the component and see what happensimport mount from vue test utils import EthereumAddress from EthereumAddress vue Testing purpose ethereum addressconst testingAddress xBeeeAcCAaEBE testid reference tagconst referenceLabel data testid ethereumAddress describe EthereumAddress Component gt it render address passed as prop async gt Render component const wrapper mount EthereumAddress props address testingAddress Verify expect wrapper text toBe testingAddress it click address and verify if a new tab was opened async gt const wrapper mount EthereumAddress props address testingAddress wrapper find referenceLabel trigger click Probably you must see something like this What this means is that in the testing environment window open doesn t exists because it says it s not implemented Okay now what We just want to know if window open was called with etherscan url and blank as parameters and we don t care what this function does in the browser What we are going to do is to use a tool called spy to verify if the function was called or not Vitest provides this functionality Modify the test like thisimport mount from vue test utils import vi from vitest import EthereumAddress from EthereumAddress vue Testing purpose ethereum addressconst testingAddress xBeeeAcCAaEBE testid reference tagconst referenceLabel data testid ethereumAddress Etherscan url from environmendconst ETHERSCAN URL import meta env VITE APP ETHERSCAN URL describe EthereumAddress Component gt it render address passed as prop async gt Render component const wrapper mount EthereumAddress props address testingAddress Verify expect wrapper text toBe testingAddress it click address and verify if a new tab was opened async gt Render component const wrapper mount EthereumAddress props address testingAddress Create spy for testing if window open was called const spy vi spyOn window open Act click on the address wrapper find referenceLabel trigger click Verify if window open was called expect spy toBeCalledWith ETHERSCAN URL testingAddress blank Run tests now must be ok Well our tests pass but what is that window open still throw error ummmWhat happened here was that the function window open was correctly called with correct parameters but the function actually doesn t exists We can use another testing tool to create a global function named window open to avoid this error It s named stub A stub is a piece of code used to substitute another functionality just for testing purposes and vitest provides us with this tool Add this line of code at the beginning of test after describe Mock global window openvi stubGlobal open vi fn And now everything is fine our tests passed and no errors were shown Congratulations |
2022-09-22 22:16:10 |
海外TECH |
DEV Community |
Ship/Show/Ask - A Branching Strategy for Modern Dev Teams |
https://dev.to/linearb/shipshowask-a-branching-strategy-for-modern-dev-teams-2fo4
|
Ship Show Ask A Branching Strategy for Modern Dev TeamsBranching strategy has been reimagined Meet the mind behind it In his first ever podcast appearance Rouan Wilsenach author of Ship Show Ask A Modern Branching Strategy joins Dev Interrupted to talk about his work as an author and the inspiration behind his musings on branching strategy If you haven t already read Ship Show Ask you can find it on Martin Fowler s website It s one of the most influential articles we ve read in years Rouan has been more than an inspiration he s changed the way our dev teams work at LinearB and he might just change yours too Episode Highlights Include Inspiration behind Ship Show Ask What is Ship What is Ask What is Show LinearB s gitStream Reception to Ship Show Ask Rouan s takeaway for dev teamsWhile you re here check out this video from our YouTube channel and be sure to like and subscribe when you do You re invited to Interact on October th Want to know how engineers at Slack and Stripe connect their dev teams work to the business bottom line Or how team leads at Shopify and CircleCI keep elite cycle time while minimizing dev burnout and maximizing retention These are just two of the topics we ll tackle at Interact on October th A free virtual community driven engineering leadership conference Interact is a one day event featuring over of the most respected minds in development all selected by the thousands of engineering leaders in the Dev Interrupted community Register now |
2022-09-22 22:00:34 |
金融 |
金融総合:経済レポート一覧 |
FSBレポ統計の日本分集計結果(2022年8月) |
http://www3.keizaireport.com/report.php/RID/510660/?rss
|
日本銀行 |
2022-09-23 00:00:00 |
金融 |
金融総合:経済レポート一覧 |
FX Daily(9月21日)~ドル円、一時144円台後半まで上昇 |
http://www3.keizaireport.com/report.php/RID/510661/?rss
|
fxdaily |
2022-09-23 00:00:00 |
金融 |
金融総合:経済レポート一覧 |
FRBは3会合連続の75bp利上げでも依然不十分と認識 (22年9月20、21日FOMC)~タカ派色を強めるFOMC参加者はFF誘導目標のターミナルレートを4.6%と大幅引き上げ:Fed Watching |
http://www3.keizaireport.com/report.php/RID/510662/?rss
|
fedwatching |
2022-09-23 00:00:00 |
金融 |
金融総合:経済レポート一覧 |
オピニオン:人的資本経営の未来:期待される「人的資本家」と「人的機関投資家」の出現 |
http://www3.keizaireport.com/report.php/RID/510668/?rss
|
日本総合研究所 |
2022-09-23 00:00:00 |
金融 |
金融総合:経済レポート一覧 |
FRBのパウエル議長の記者会見~New norm:井上哲也のReview on Central Banking |
http://www3.keizaireport.com/report.php/RID/510670/?rss
|
newnorm |
2022-09-23 00:00:00 |
金融 |
金融総合:経済レポート一覧 |
失業率が上がってもインフレ退治を続ける方針を示したFOMC 株安、逆イールドは大きく取り扱わない:Market Flash |
http://www3.keizaireport.com/report.php/RID/510671/?rss
|
marketflash |
2022-09-23 00:00:00 |
金融 |
金融総合:経済レポート一覧 |
景気の犠牲を覚悟で利上げを継続するFRB~米長期金利急騰、円安ドル高急進は終盤戦か...:木内登英のGlobal Economy & Policy Insight |
http://www3.keizaireport.com/report.php/RID/510679/?rss
|
lobaleconomypolicyinsight |
2022-09-23 00:00:00 |
金融 |
金融総合:経済レポート一覧 |
欧州大手保険グループの2022年上期末SCR比率の状況について(3)~ソルベンシーIIに基づく数値結果報告(資本取引等):保険・年金フォーカス |
http://www3.keizaireport.com/report.php/RID/510680/?rss
|
資本 |
2022-09-23 00:00:00 |
金融 |
金融総合:経済レポート一覧 |
Venture Pulse Q2 2022 Global analysis of venture funding 日本語抄訳版 |
http://www3.keizaireport.com/report.php/RID/510695/?rss
|
alysisofventurefunding |
2022-09-23 00:00:00 |
金融 |
金融総合:経済レポート一覧 |
9月FOMC 3会合連続の0.75%利上げ~市場では政策金利は今年中に4%を超えるとの見方が優勢 |
http://www3.keizaireport.com/report.php/RID/510706/?rss
|
政策金利 |
2022-09-23 00:00:00 |
金融 |
金融総合:経済レポート一覧 |
カクヤスグループ(東証スタンダード)~自社で構築した店舗網及び物流・配達網を 特徴とする酒類販売大手。23年3月期は主力の業務用の回復を背景に3期ぶりの営業利益黒字化へ:アナリストレポート |
http://www3.keizaireport.com/report.php/RID/510707/?rss
|
営業利益 |
2022-09-23 00:00:00 |
金融 |
金融総合:経済レポート一覧 |
2022年9月FOMCレビュー~かなりタカ派的な内容に:市川レポート |
http://www3.keizaireport.com/report.php/RID/510708/?rss
|
三井住友 |
2022-09-23 00:00:00 |
金融 |
金融総合:経済レポート一覧 |
調整するアジア・オセアニアリート市場~経済正常化が進むシンガポールやオーストラリアに注目 |
http://www3.keizaireport.com/report.php/RID/510709/?rss
|
三井住友 |
2022-09-23 00:00:00 |
金融 |
金融総合:経済レポート一覧 |
ブラジル金融政策(2022年9月)~利上げサイクルは前回会合が最後だったことを事後的に確認:マーケットレター |
http://www3.keizaireport.com/report.php/RID/510710/?rss
|
金融政策 |
2022-09-23 00:00:00 |
金融 |
金融総合:経済レポート一覧 |
米国金融政策(2022年9月FOMC)~予想通りの利上げ決定と予想以上の政策金利見通し引き上げ:マーケットレター |
http://www3.keizaireport.com/report.php/RID/510711/?rss
|
予想通り |
2022-09-23 00:00:00 |
金融 |
金融総合:経済レポート一覧 |
FOMC、3会合連続の0.75%利上げを決定~大幅利上げ継続への警戒感から米国株式は下落:マーケットレポート |
http://www3.keizaireport.com/report.php/RID/510712/?rss
|
三井住友トラスト |
2022-09-23 00:00:00 |
金融 |
金融総合:経済レポート一覧 |
【ACI】ヘルスケア・マンスリー・レポート(2022年8月)~注目銘柄:バーテックス・ファーマシューティカルズ |
http://www3.keizaireport.com/report.php/RID/510713/?rss
|
野村アセットマネジメント |
2022-09-23 00:00:00 |
金融 |
金融総合:経済レポート一覧 |
【石黒英之のMarket Navi】FOMCは市場想定よりややタカ派的な内容~利上げが信用不安に発展しないか注視... |
http://www3.keizaireport.com/report.php/RID/510714/?rss
|
marketnavi |
2022-09-23 00:00:00 |
金融 |
金融総合:経済レポート一覧 |
当面の金融政策運営について(2022年9月22日) |
http://www3.keizaireport.com/report.php/RID/510715/?rss
|
日本銀行 |
2022-09-23 00:00:00 |
金融 |
金融総合:経済レポート一覧 |
とうとう1ドル145円突破、円安が終わる条件は?~マーケット・カルテ10月号 |
http://www3.keizaireport.com/report.php/RID/510716/?rss
|
突破 |
2022-09-23 00:00:00 |
金融 |
金融総合:経済レポート一覧 |
【注目検索キーワード】フィジカルインターネット |
http://search.keizaireport.com/search.php/-/keyword=フィジカルインターネット/?rss
|
検索キーワード |
2022-09-23 00:00:00 |
金融 |
金融総合:経済レポート一覧 |
【お薦め書籍】世界2.0 メタバースの歩き方と創り方 |
https://www.amazon.co.jp/exec/obidos/ASIN/4344039548/keizaireport-22/
|
宇宙開発 |
2022-09-23 00:00:00 |
ニュース |
BBC News - Home |
Iran headscarf: Raisi says police custody death must be investigated |
https://www.bbc.co.uk/news/world-middle-east-63003344?at_medium=RSS&at_campaign=KARANGA
|
recent |
2022-09-22 22:35:32 |
サブカルネタ |
ラーブロ |
らぁ麺 ブギー@北長瀬(岡山県) 「笠岡らぁ麺(かしわ炙り)、ほか」 |
http://ra-blog.net/modules/rssc/single_feed.php?fid=202988
|
続きを読む |
2022-09-22 23:21:17 |
北海道 |
北海道新聞 |
NY円、一時140円35銭 為替介入で円高進行 |
https://www.hokkaido-np.co.jp/article/735218/
|
円高進行 |
2022-09-23 07:19:00 |
北海道 |
北海道新聞 |
大谷、8試合連続安打 九回に代打で二塁打 |
https://www.hokkaido-np.co.jp/article/735214/
|
大リーグ |
2022-09-23 07:09:30 |
ニュース |
THE BRIDGE |
デジタルヒューマンからファッションモデルアバターまで、AIスタートアップまとめ/GB Tech Trend |
https://thebridge.jp/2022/09/gb-tech-trend-073-from-digital-humans-to-fashion-model-avatars-gb-universe
|
デジタルヒューマンからファッションモデルアバターまで、AIスタートアップまとめGBTechTrend本稿は独立系ベンチャーキャピタル、グローバル・ブレインが運営するサイト「GBUniverse」に掲載された記事からの転載今週の注目テックトレンドGBTechTrendでは、毎週、世界で話題になったテック・スタートアップへの投資事例を紹介します。 |
2022-09-22 22:15:32 |
コメント
コメントを投稿