IT |
気になる、記になる… |
Googleストア、「Pixel 7」を1万円、「Pixel 7 Pro」を2万円オフで販売するセールを開催中(6月13日まで) |
https://taisy0.com/2023/06/11/172857.html
|
google |
2023-06-10 15:42:06 |
IT |
気になる、記になる… |
Google、Android版「Google ドライブ」アプリを折りたたみ式デバイスに最適化 |
https://taisy0.com/2023/06/11/172853.html
|
android |
2023-06-10 15:33:11 |
python |
Pythonタグが付けられた新着投稿 - Qiita |
ROS2 Joy Stick Controller を使って Turtlesim を動かす |
https://qiita.com/moriitkys/items/c90e9d292b897725458c
|
turtlesimpictwitterco |
2023-06-11 00:26:07 |
python |
Pythonタグが付けられた新着投稿 - Qiita |
numpyで全4桁パターンから10を作る計算式を列挙する |
https://qiita.com/FallnJumper/items/81e086ee98caa3886bed
|
numpy |
2023-06-11 00:24:07 |
python |
Pythonタグが付けられた新着投稿 - Qiita |
20分でまとめる備忘録 import PySimpleGUIでいきなりエラー |
https://qiita.com/z-yuki-tachi/items/4d693dccdfa181a35b0d
|
ysimpleguiimportpysimple |
2023-06-11 00:07:52 |
js |
JavaScriptタグが付けられた新着投稿 - Qiita |
自分がよく使うJavascript関数まとめ |
https://qiita.com/poruruba/items/850cf2c994a1b2332831
|
porurubaamplifytemplate |
2023-06-11 00:30:12 |
js |
JavaScriptタグが付けられた新着投稿 - Qiita |
javaScript |
https://qiita.com/mokomokosparta/items/7a42150c1e1d5b48c7c2
|
javasc |
2023-06-11 00:03:09 |
AWS |
AWSタグが付けられた新着投稿 - Qiita |
AWS RDS で MySQL5.7 と MariaDB10.6 でレプリケーションを組んだ話 |
https://qiita.com/j_shirota/items/4c1de351d29a978620a5
|
mariadb |
2023-06-11 00:14:36 |
Ruby |
Railsタグが付けられた新着投稿 - Qiita |
【Rails】rails db:migrateするとクラッシュレポートが出力されて出来ない。 |
https://qiita.com/30113011tr/items/4c5efb3ab95e65daa36e
|
importantdontforgettoin |
2023-06-11 00:51:29 |
海外TECH |
MakeUseOf |
10 Ways to Open the Date and Time Settings on Windows 11 |
https://www.makeuseof.com/open-date-time-settings-windows-11/
|
windows |
2023-06-10 15:15:19 |
海外TECH |
MakeUseOf |
Smart Lighting in Large Homes: Everything You Need to Know |
https://www.makeuseof.com/large-home-smart-lighting/
|
device |
2023-06-10 15:15:19 |
海外TECH |
DEV Community |
6 Must-Try Coding Problem Websites 💻 |
https://dev.to/jd2r/6-must-try-coding-problem-websites-53c0
|
Must Try Coding Problem Websites Do you know your language No really A lot of us myself included can learn the basics of a programming language and think that we ve mastered every possible dimension And while all you really need are the basics to get started it s helpful to test your newfound knowledge as you begin to dive deeper into the specific technicalities of your particular choice To test we ll turn to some of the simplest free resources out there coding practice problems Solving these problems turns a threefold profit gaining experience with your particular language strengthening your problem solving and critical thinking skills take that AI and in some cases learning about and becoming comfortable with DSA tech interviews anyone And yes LeetCode isn t the only option Ready to get started Let s explore this list of my favorite coding practice sites CodewarsI really love the Codewars platform Why They re really fun problems While other platforms might have you finding primes under Codewars features unique problems like Vigenère cipher cracking and fraction mixed number converters The system revolves around honor a measurement of your contribution to the platform and your competency at solving kata practice problems It features many different language options and opportunities to contribute your own solutions once you solve enough kata besides from their remixing refactoring challenges called Kumites Get stuck on a problem and need help There s an active Discord community that s ready to point you in the right direction There is a paid plan Codewars Red which goes for about USD a year but the subscription is not required to have a blast on the platform with all the free offerings Codewars also connects developers searching for a job with opportunities through their platform Qualified Jobs so if you re looking for hire then you might want to make an account and check around CodinGameThis is probably my top pick to spend time on as of the time I m writing this post CodinGame was introduced to me probably about a month ago by one of my friends who was just enthralled about the code golf aspect of it I m actually writing another post right now about golfing and Ruby make sure to drop a follow so you don t miss it The platform revolves around games It s learning through gaming And who doesn t like games Whether you re clashing it out with other coders around the world to solve a coding problem or personally optimizing a particular solution by yourself it s super fun to do Plus it gives me the satisfaction of seeing that I m currently in the top of all users that s worth a friend request right with their live ranking system This is a great touch that s missing from a lot of other platforms but if you re not one for competition it might not be a great choice CodinGame also provides certifications to prove your skills that measure things like speed efficiency and proficiency in a certain language LeetCodeHere s the classic Pretty much everyone knows about LeetCode s platform nowadays and for good reason It s an expansive library of over questions grouped into topic specific lists Mainly used for interview preparation it s also a good platform to just spend time working through problems for the sheer knowledge about problem solving and DSA you ll learn But fear not you don t have to just do problems from onward LeetCode offers fun contests and incentives frequently as a reason to solve challenges I recently participated in the Days of LC challenge from which I earned LeetCoins LC currency which can be used to exchange for rewards and a whole lot of knowledge The platform does offer a paid plan which though pricey a year will probably check out if you devote time studying for interviews Who knows a job specific preparation available with premium might just pay off in the form of getting a job at a big tech company someday Is it the most exciting platform No not in my opinion Will it equip you with problem solving skills that will come in clutch in real world applications like tech interviews Most certainly and often that s more important than having fun initially You ve got to have the job to enjoy the job GeeksForGeeksIf you ve read my posts before you ve probably seen that I recommend GeeksForGeeks as one of my favorite platforms and it s because it literally does everything Tutorials Got it Code examples Got that too Interview prep and coding problems Check and check In their Practice portal you can find many problems that you might find useful especially if you re looking to prep for DSA These problems are also grouped into helpful lists that categorize by data structure company or experience level suggested There s no paid plan in general but GFG courses are available for purchase at any time If you get on their email list and wait a bit you might just get a better deal during a sale incentive they ll occasionally push It s not the most complex or in depth study and it s not the most exciting platform to learn on but the resources that are available will make it well worth your time Project EulerWhile all the other platforms have built in editors and code checkers that will measure the efficiency and speed of the code you re running the next two challenge websites have a different take on problems off site solutions What does that mean A prompt is given and it s up to you to find the answer The only input from you that is required is the answer not the code You can write the code however you want to as long as the answer is correct Project Euler is one of these platforms The problems start pretty easy but get very hard as you work your way up the list I like the freedom to come up with the answer on your own but a feature I find slightly annoying is the fact that every time you get an answer wrong you have to wait a progressively larger time span before a new submission is accepted A unique feature of Project Euler s platform is that its problems are on lockdown Above problem no solutions are allowed to be shared publicly or else account shutdown is threatened While you can google the answer to any LeetCode question granted you won t learn anything by cheating Project Euler answers are much harder to come by and perhaps that s why the popularity of this platform is much lower than others Project Euler offers a couple less than questions but this doesn t cut down on the depth of the platform as working through all will take you quite a while Everything is free so no paid plan is offered or required Would I recommend it for any use No If you re looking to study for a specific interview or preparation track then use LeetCode or GFG s platform If you re looking to go on a programming adventure and use your skills of any level then this and the next option might be good to look into Advent of CodeI really enjoy Advent of Code The platform is laid out really well and I love the style of the whole thing The challenges are all Christmas themed which is super unique and contributes a lot to the feel of the website Canonically you re supposed to do each problem on the day it s released December st through th In doing so you ll qualify for a placement on the leaderboard but good luck beating the cult that surrounds this every December In contrast to Project Euler solutions for each problem are publicly available anywhere from GitHub to private blogs If you get stuck on a problem these solutions are always around to push you in the right direction If you really feel like blazing your own trail and challenging yourself pick some rare script like Befunge Coming in too late to solve the problems on the exact days they re issued Don t worry each problem is still available for you to solve today The use case is the same as that of Project Euler If you re specifically studying for something this isn t a great choice However I think it s a great way to test your knowledge and problem solving skills because it s formatted the way it is each problem strengthens problem solving skills instead of specific language skills ConclusionCoding challenges are some of the best ways to boost your problem solving skills along with other good qualities like language familiarity coding speed and optimization If you re not doing coding challenges every day it s definitely a habit you should develop Pick one of these platforms and give it a go I promise it s worth your time I hope you enjoyed this article If you want to see more from me don t forget to drop a like and a follow Thanks and see you in the next post |
2023-06-10 15:53:13 |
海外TECH |
DEV Community |
TypeScript Decorators: A complete guide |
https://dev.to/alakkadshaw/typescript-decorators-a-complete-guide-4jgg
|
TypeScript Decorators A complete guideDecorators are awesome features Many libraries are made out of decorators like react and angular These are an awesome conceptIn this article we are going to learn about typescript decorators What are TypeScript Decorators Decorators are basically just functions at their core With decorators you can apply re useable behaviors to classes methods properties Decorators are inspired by decorators in other languages like Java and PythonDead Simple Chat offers Javascript Chat API and SDK to add in app chat to your React applications in minutes Dead Simple Chat is a highly customizable chat solution and can be used for any chat use case Types of DecoratorsThese Decorators can apply toClassMethodClass PropertyAccessor andMethod ParameterClass decoratorClass decorator is applied to the constructor of a class and can be used to observe modify and change a class definitionexample of a class decoratorstype ClassDecorator lt TFunction extends Function gt target TFunction gt TFunction void Paramstarget The constructor of the class ReturnsIf the decorator returns a value It replaces the class definition and it is a way to extend class definition with new properties and methodsLet us look at this with the help of an example function TechClass constructor Function console log Class Name constructor name TechClass class CoolClass constructor console log New Class instance has beed created Here TechClass is a class decorator when the is created the decorator is triggered and the class name that is CoolClass is logged to the console Method DecoratorsMethod decorators are used for methods they can change and replace or observe a functions definitionLet us learn more about method decorators with an example function Techfunc target any propertyName string descriptor PropertyDescriptor const realMethod descriptor value descriptor value function args any console log function Name propertyName return realMethod apply this args class CoolClass Techfunc testFunc console log from testFunc const instance new CoolClass instance testFunc Here the techfunc decorator logs the functions name to the console the TestFunc method of the CoolClass triggers the TechFunc decorator which in turn logs the function name to the consolelet us look at another examplefunction CoolLogs target any propertyKey string descriptor PropertyDescriptor const original descriptor value descriptor value function args console log params args const result original call this args console log const result result return result class C CoolLogs add a number b number return a b const c new C c add gt params gt result Here we have a CoolLogs function that serves as a decorator for the class named cOur decorator takes parameterstargetpropertyKeydescriptorInside the const original the original value of the function is stored then the original function is replaced by another function that takes a number of argumentsthen it calls the new function with the same arguments Property DecoratorsProperty descriptors can be used to change or observer a properties property definitionDead Simple Chat offers Javascript Chat API and SDK to add in app chat to your React applications in minutes Dead Simple Chat is a highly customizable chat solution and can be used for any chat use case for examplefunction TestProperty target any propertyName string console log Name of the Property propertyName class MyClass TestProperty CoolProperty string constructor this CoolProperty Aweseome we are so happy Here the TestProperty defines the TestProperty decorator that observes a ClassProperty with the type stringwhenever a new class instance is created the Test property logs the name of the property to the console Parameter DecoratorParameter decorators are used to watch and change the functional or methods parameterslet us look at the parameter decorator with an examplefunction TestParameter target any propertyName string CoolParameter number console log Cool Parameter CoolParameter class SomeClass exampleMethod TestParameter saySomething string console log from exampleMethod saySomething const instance new SomeClass instance exampleMethod Hello Here we have a function TestParameter that console logs the CoolParameter parameterand then we have SomeClass with a method named exampleMethod When the exampleMethod is called the decorator is triggered and the TestParameter function is called which then logs the CoolParameter to the console Accessor DecoratorsAccessor decorators are like method decorators but the only difference is the that the Method decorators have keys in their descriptor likeValuewritableconfigurableenumerableThe descriptor in the Accessor decorators has keysgetsetenumerableconfigurableThe accessor decorators accept the follow thee parametersConstructor function or target prototypeproperty nameproperty descriptorDead Simple Chat offers Javascript Chat API and SDK to add in app chat to your React applications in minutes Dead Simple Chat is a highly customizable chat solution and can be used for any chat use case When to use DecoratorsBefore After HooksWatch property changes and method calls Transform parametersAdd extra method or propertiesRuntime type validationAuto serialization and deserializationDependency Injection Before After HooksBefore After hooks means the decorator is called before and after the function is called which is quite useful in debugging logging and measuring performanceLet us look into it through an examplefunction ExampleOfBeforeAfterHookFunction target any propertyName string descriptor PropertyDescriptor const originalMethod descriptor value descriptor value function args any console log Before propertyName const result originalMethod apply this args console log After propertyName return result class SomeClass ExampleOfBeforeAfterHookFunction coolFunction console log Inside coolFunction const instance new SomeClass instance coolFunction Here we have the ExampleOfBeforeAfterHookFunction functionwhere we are storing the originalMethod in the orignalMethod constThen we replace the original method with a new function implement that takes n number of arguments using the args propertythen we log a before property name and then we call the originalMethod function and then we log the after property name This is how you can implement the before after hooks method Watch property changes and method calls Watch is a property decorator that logs the property as well as the method calls of a decorated methodThis is especially useful when debugging and performance monitering Let us learn more about Watch property and how it works using an examplefunction see target any propertyName string descriptor PropertyDescriptor const originalMethod descriptor value descriptor value function args any console log function has been called propertyName with args args return originalMethod apply this args class SomeClass myProperty string see setProperty value string console log Set the value to this myProperty value const instance new SomeClass instance setProperty Awesome Great work Done Transform ParametersIn transform parameters function applies the transformation function to a specific parameter before the method is calledLet us learn more about transform parameters with the help of an examplefunction CoolFunc SomeFunc arg any gt any ParameterDecorator return target any propertyKey any parameterIndex any gt const originalMethod target propertyKey target propertyKey function args any args parameterIndex SomeFunc args parameterIndex return originalMethod apply this args class MyClass myMethod CoolFunc x gt x num number console log Transformed parameter num const instance new MyClass instance myMethod What is happening hereThe method decorator see logs the names and arguments of the decorated methodWhen the method see is called in the instance of MyClass it logs the method name and sets the property value of myproperty Add extra method or propertyYou can add an extra method or property using the decorators Here is how you can achieve this using an examplefunction AddMethod return function constructor Function constructor prototype AddMethod function console log Added a new method the property by the decorator AddMethod class SomeClass const instance new SomeClass instance as any AddMethod the code has a function called AddMethod which adds a function ot the prototype of the decorated class which in this case is SomeClassWhen an instance of SomeClass is called the addMethod can be called on it The add method logs a message to the console Runtime Type ValidationRuntime type validation is ensuring the type of values of the parameters and variables and const and data used in the function during run time matches the values of the expected typeunlike static type validation which happens during software compilation the run time type validation happens when the function or programing is running thus it is helpful in validating external input dataLet us learn more about Runtime Type Validation using an examplefunction SomeFunc target any propertyKey string parameterIndex number const originalMethod target propertyKey target propertyKey function args any if typeof args parameterIndex number throw new Error An error has occoured parameterIndex return originalMethod apply this args class TestClass calculateArea SomeFunc radius number return Math PI radius radius const instance new TestClass try instance calculateArea this is NaN catch error console error error message console log instance calculateArea Auto serialization and deserializationAuto serialization and deserialization refers to the practice of converting from one data type to another data type deserialization in order to store the data in a particular formatthen converting again from one data type to the orignal data type for the purpose of rendering the data or other function can consume the dataHere is an example explaining how decorators can be used to do thisfunction SerializeFunc constructor Function constructor prototype serialize function return JSON stringify this constructor deserialize function json string return new constructor JSON parse json function DeserializeFunc target any propertyKey string descriptor PropertyDescriptor const originalMethod descriptor value descriptor value function serializedData string const deserializedData JSON parse serializedData return originalMethod apply this deserializedData SerializeFuncclass Person constructor public name string public age number SerializeFunc greet data name string age number return Awesome people call me data name my age is data age years old const man new Man Jim Class const serializedMan man serialize console log serializedMan name Jim Class age const deserializedMan Man as any deserialize serializedMan console log deserializedMan greet const serializedData name Don markell age console log man greet serializedData Dependency InjectionDecorators can also be used for dependency injection Dependency injection is the practice of providing the functions and Objects that a method depends upon to it as parameterthis helps in decoupling the code and makes it cleanerDecorators helps in dependency injection by providing a way to inject dependencies directly into class constructors without changing class implementationThis making them easier to maintain and testDead Simple Chat offers Javascript Chat API and SDK to add in app chat to your React applications in minutes Dead Simple Chat is a highly customizable chat solution and can be used for any chat use case Advantages of using decorators Cross Cutting concernsWhen parts of a program relay on many other parts of the program Like a program might relay on other classes methods or properties then this could be a use case for decorators and they provide an easy way to maintain the code and provide improved readability Dependency InjectionDependency injection is a software design pattern where an object or a function that relies on other objects or functions receives thenThis is like an inversion of control and results in loosely coupled program and a code base that is modularHere also decorators can in useful ValidationDecorators can be used to validate inputs or the state of an Object Code organizationThe code that doesn t belong in the main function or logic can be encapsulated using decorators thus making the code more readable and maintainableDead Simple Chat offers Javascript Chat API and SDK to add in app chat to your React applications in minutes Dead Simple Chat is a highly customizable chat solution and can be used for any chat use case ConclusionIn this article we have learnt that how to use typescript decorators and we also have used a number of examples to make them easier to understandI hope you find this article usefulThanks for reading the article |
2023-06-10 15:42:56 |
海外TECH |
DEV Community |
How did you get interested in software development? |
https://dev.to/dinerdas/how-did-you-get-interested-in-software-development-402g
|
origin |
2023-06-10 15:33:56 |
海外TECH |
DEV Community |
Creating a Custom Curved Navigation Bar in Flutter |
https://dev.to/blackcoda/creating-a-custom-curved-navigation-bar-in-flutter-29e5
|
Creating a Custom Curved Navigation Bar in FlutterIntroduction Flutter is a popular cross platform framework for building beautiful and interactive mobile applications One of the essential components of many mobile apps is a navigation bar that allows users to navigate between different sections or screens In this tutorial we will learn how to create a custom curved navigation bar in Flutter Table of ContentsPrerequisitesSetting Up the ProjectCreating the CurvedNavigationBar WidgetDefining Navigation ItemsStyling the Navigation BarImplementing Tap CallbacksClipping the ContainerSummaryConclusion Prerequisites Before we begin make sure you have Flutter installed on your machine and have a basic understanding of Flutter concepts Setting Up the Project To start create a new Flutter project using your preferred IDE or by running the following command in your terminal flutter create curved navigation barCreating the CurvedNavigationBar Widget In Flutter we can create reusable widgets to encapsulate specific functionality Let s define a new widget called CurvedNavigationBar by creating a new file named curved navigation bar dart in the lib directory of your project Defining Navigation Items To configure the navigation items for our curved navigation bar we will create another class called CurvedNavigationBarItem Each item will consist of an IconData for the default icon and an optional IconData for the selected state We will define these classes in the same curved navigation bar dart fileStyling the Navigation Bar In the CurvedNavigationBar widget we will use a Row widget to arrange the navigation items horizontally We will also specify the colors for the selected and unselected states Implementing Tap Callbacks To handle tap events on the navigation items we will pass a callback function called onTap to the CurvedNavigationBar widget Inside the Row widget we will wrap each navigation item with an IconButton and set the onPressed property to call the onTap callback with the corresponding index Clipping the Container To achieve the curved shape for our navigation bar we will use the ClipPath widget We will create a custom clipper called CurvedClipper by extending CustomClipper Inside the getClip method we will define the curved shape using Path operations A Little SauceSummary of the codesThe code defines a custom curved navigation bar widget in Flutter The navigation bar has a curved shape and contains a row of icons Here s a breakdown of the code The CurvedNavigationBar widget is the main widget that represents the curved navigation bar It takes the following parameters items a list of CurvedNavigationBarItem objects representing the navigation items onTap a callback function to handle the tap event on the navigation items unselectedColor the color of unselected navigation items selectedColor the color of the selected navigation item currentIndex the index of the currently selected item The CurvedNavigationBarItem class represents a single item in the navigation bar It contains the iconData property for the default icon and the selectedIconData property for the icon when the item is selected The CurvedClipper class is a custom CustomClipper that defines the curved shape of the navigation bar using the getClip method It creates a path with a quadratic Bezier curve and lines to form the curved shape In the build method of the CurvedNavigationBar widget the navigation bar is constructed using a ClipPath and a Container The navigation items are generated using a Row and IconButton widgets The selected and unselected colors are applied based on the currentIndex The Padding widget is used to add spacing at the bottom of the first and last navigation items To use this custom curved navigation bar you can create an instance of CurvedNavigationBar and provide the necessary parameters For example Note Make sure to import the necessary dependencies and define the PhotoAppColors class to use the desired colors Entire Code import package flutter material dart class CurvedNavigationBar extends StatelessWidget const CurvedNavigationBar Key key required this items this onTap this unselectedColor Colors grey this selectedColor Colors blue this currentIndex assert items length The correct functioning of this widget depends on its items being exactly super key key final List lt CurvedNavigationBarItem gt items final ValueChanged lt int gt onTap final Color unselectedColor final Color selectedColor final int currentIndex override Widget build BuildContext context return ClipPath clipper CurvedClipper child Container alignment const Alignment height kToolbarHeight color Colors white padding const EdgeInsets symmetric horizontal child Row mainAxisAlignment MainAxisAlignment spaceBetween children List generate items length index final item items index return Padding padding EdgeInsets only bottom index index child IconButton onPressed gt onTap call index color index currentIndex selectedColor unselectedColor icon Icon index currentIndex item selectedIconData item iconData item iconData insert const SizedBox class CurvedNavigationBarItem const CurvedNavigationBarItem required this iconData this selectedIconData final IconData iconData final IconData selectedIconData class CurvedClipper extends CustomClipper lt Path gt override Path getClip Size size return Path quadraticBezierTo size width kToolbarHeight size width lineTo size width size height lineTo size height override bool shouldReclip covariant CustomClipper lt Path gt oldClipper gt false gt The code overrides the build method of the CurvedNavigationBar widget and returns a widget tree The ClipPath widget is used to clip the container with a custom shape defined by the CurvedClipper class Inside the Container the alignment property is set to Alignment to align the contents at the bottom of the container The height property is set to kToolbarHeight to determine the height of the navigation bar kToolbarHeight is a predefined height constant in Flutter The color property is set to Colors white to give the navigation bar a white background color The padding property is set to provide horizontal spacing for the navigation itemConclusion In this tutorial we learned how to create a custom curved navigation bar in Flutter We defined a CurvedNavigationBar widget and configured its navigation items styling and tap callbacks We also used a custom clipper to create the curved shape for the navigation bar By following these steps you can easily create your own custom navigation bar with a curved design to enhance the user experience of your Flutter applications That s it With the custom curved navigation bar implemented you can further customize it by adjusting colors icons and adding animations to create a unique and visually appealing user interface Feel free to explore more possibilities and incorporate this navigation bar into your Flutter projects Happy coding |
2023-06-10 15:27:53 |
ニュース |
BBC News - Home |
Ukraine counter-offensive actions have begun, Zelensky says |
https://www.bbc.co.uk/news/world-europe-65866880?at_medium=RSS&at_campaign=KARANGA
|
russian |
2023-06-10 15:23:17 |
ニュース |
BBC News - Home |
Blundell's School: Boy charged with two counts of attempted murder |
https://www.bbc.co.uk/news/uk-england-devon-65867858?at_medium=RSS&at_campaign=KARANGA
|
assault |
2023-06-10 15:46:12 |
ニュース |
BBC News - Home |
Annecy stabbings suspect held over attempted murders |
https://www.bbc.co.uk/news/world-europe-65866514?at_medium=RSS&at_campaign=KARANGA
|
alpine |
2023-06-10 15:31:15 |
ニュース |
BBC News - Home |
Surbiton Trophy 2023 results: Andy Murray beats Jordan Thompson to reach final |
https://www.bbc.co.uk/sport/tennis/65866381?at_medium=RSS&at_campaign=KARANGA
|
Surbiton Trophy results Andy Murray beats Jordan Thompson to reach finalAndy Murray reaches his first singles final on British soil in almost seven years by beating Jordan Thompson in straight sets at the Surbiton Trophy |
2023-06-10 15:14:58 |
IT |
週刊アスキー |
最速のNVMe SSD、Crucial「T700」シリーズが販売開始 |
https://weekly.ascii.jp/elem/000/004/140/4140463/
|
crucial |
2023-06-11 00:13:00 |
IT |
週刊アスキー |
コンパクトサイズのUSB接続マイク「Capsule Mini」がNZXTから発売 |
https://weekly.ascii.jp/elem/000/004/140/4140462/
|
capsulemini |
2023-06-11 00:03:00 |
コメント
コメントを投稿