IT |
気になる、記になる… |
「BALMUDA Phone」向けに最新のソフトウェアアップデート − スケジューラの予定の入力機能の刷新など |
https://taisy0.com/2023/01/11/166957.html
|
balmudaphone |
2023-01-11 11:03:03 |
IT |
ITmedia 総合記事一覧 |
[ITmedia News] 「ショップチャンネル」で不正ログイン なりすまし購入24件確認 「パスワードの使い回し止めて」 |
https://www.itmedia.co.jp/news/articles/2301/11/news171.html
|
itmedia |
2023-01-11 20:22:00 |
AWS |
AWS DevOps Blog |
Team Collaboration with Amazon CodeCatalyst |
https://aws.amazon.com/blogs/devops/team-collaboration-with-amazon-codecatalyst/
|
Team Collaboration with Amazon CodeCatalystAmazon CodeCatalyst enables teams to collaborate on features tasks bugs and any other work involved when building software CodeCatalyst was announced at re Invent and is currently in preview Introduction In a prior post in this series Using Workflows to Build Test and Deploy with Amazon CodeCatalyst I discussed reading The Unicorn Project by Gene … |
2023-01-11 11:44:21 |
python |
Pythonタグが付けられた新着投稿 - Qiita |
jupyter notebookで仮想通貨のリアルタイムチャート |
https://qiita.com/c0ddd/items/d49170e8a8516a26a2fb
|
pipin |
2023-01-11 20:37:03 |
js |
JavaScriptタグが付けられた新着投稿 - Qiita |
【MUI】DataGridのrenderCellでボタンを追加して押してみてもStateを更新できなかった件 |
https://qiita.com/Engineer_Grotle/items/33bf5f3efa3e9981e5e4
|
datagrid |
2023-01-11 20:41:29 |
js |
JavaScriptタグが付けられた新着投稿 - Qiita |
エンジニアインターン1日目 |
https://qiita.com/a27879038/items/fa9f57de4927fbdae561
|
単純作業 |
2023-01-11 20:40:55 |
Ruby |
Rubyタグが付けられた新着投稿 - Qiita |
Rails(Ruby)でPDFを作成、圧縮、S3にアップロード |
https://qiita.com/jerrywdlee/items/6c800a036808f22d71a1
|
railsruby |
2023-01-11 20:42:16 |
Linux |
Ubuntuタグが付けられた新着投稿 - Qiita |
[Linux] ubuntu20.04のPCにCUDA, cudnnをインストールする |
https://qiita.com/2yuu/items/e62367007380e3c564f7
|
wgethttpsdev |
2023-01-11 20:59:25 |
golang |
Goタグが付けられた新着投稿 - Qiita |
Go:健康データの簡易APIサーバーの作り始め |
https://qiita.com/RYO_/items/14f3ffd5b44ef95da9ac
|
情報収集 |
2023-01-11 20:52:08 |
Ruby |
Railsタグが付けられた新着投稿 - Qiita |
Rails(Ruby)でPDFを作成、圧縮、S3にアップロード |
https://qiita.com/jerrywdlee/items/6c800a036808f22d71a1
|
railsruby |
2023-01-11 20:42:16 |
技術ブログ |
Developers.IO |
AWS SAMでデプロイ済みのAPI Gatewayの不要な「Stage」を削除する |
https://dev.classmethod.jp/articles/aws-sam-delete-deploy-unused-stage/
|
apigateway |
2023-01-11 11:01:20 |
海外TECH |
DEV Community |
A Brief History of API: RPC, REST, GraphQL, tRPC |
https://dev.to/zenstack/a-brief-history-of-api-rpc-rest-graphql-trpc-fme
|
A Brief History of API RPC REST GraphQL tRPC BackgroundLast week I joined an event about GraphQL or TRPC discussion hosted by Guild in London The creator of tPRC Alex and urql GraphQL core team member Phil had a good discussion about each camp s general usage and problem You can watch the whole discussion below A little surprise to me is that there are quite a few young guys who only used tRPC since it s really very efficient to start from scratch not knowing much about GraphQL So as an old developer coming from the ice age I probably could give a brief history about that Why As Yuval Noah Harari says in HOMO DEUS This is the best reason to learn history not in order to predict the future but to free yourself of the past and imagine alternative destinies Of course this is not total freedom we cannot avoid being shaped by the past But some freedom is better than none Hope it will free you to see more alternatives What is APILet s start with the definition As defined in Wikipedia An application programming interface API is a way for two or more computer programs to communicate with each other In our scope it s all about how the client sends and receives messages from the server through the internet The Ice AgeIf you come from the same age as me I bet the first network related program you have ever seen or written is the chat application During that time to talk with the server you need to use the Sockets library which has nothing to do with the Socket io or Websocket provided by the operating system to send the message The code on the server side would be something like the below int main Bind if bind server socket struct sockaddr amp server sizeof server lt printf Error binding n exit Listen listen server socket max clients Accept and incoming connection printf Listening for incoming connections n int c sizeof struct sockaddr in while client socket accept server socket struct sockaddr amp client socklen t amp c printf Connection from s n inet ntoa client sin addr Send welcome message to client char message Welcome to the chat room n send client socket message strlen message Create new thread for incoming connection pthread t sniffer thread if pthread create amp sniffer thread NULL connection handler void amp client socket lt printf Error creating thread n exit return void connection handler void socket desc Get the socket descriptor int sock int socket desc int read size char buffer BUFFER SIZE message BUFFER SIZE Receive a message from client while read size recv sock buffer BUFFER SIZE gt printf Client d s sock buffer snprintf message sizeof message Client d s sock buffer So here what the API provides you is simply the send and read function to send receive the char bits The rest is entirely on your own You can imagine how troublesome and error prone to deal with the char bits to do business The Iron AgeAs the trouble is mainly caused by handling bits transmitted over the network people start to wonder if we could be agnostic about the network simply directly call the function in the remote server like we call the local function That gives birth to the RPC Actually during the casual chat after the event one guy said “I still don t quite get what tRPC does I responded to him using the definition of the RPC “tRPC is to allow you to call the remote function simply like calling your local function with Typescript Then he seems to get it See that could be a justification for the benefit of learning history In order to do that you first need to define your API in the IDL Interface Definition Language file like the below file hello idl uuid ac cf bb aaba version interface hello void HelloProc in string unsigned char pszString void Shutdown void Then you can use the IDL compiler tool to generate the code stub to take care of the serialization and deserialization of the message for both the client and server sides Does it should familiar Yes that requires the code generation from the schema file which is the same case for GraphQL now Although it simplifies the work that needs to be done to talk to the server there are several cons Tight coupling to the underlying system It makes the client and server tightly coupled so it s more suitable for the internal API rather than the external API Low discoverability there s no way to introspect the API or send a request and start understanding what function to call based on its requests Hard to debug The data serialization and deserialization rule are defined by NDR Network Data Representation including how to deal with the pointer data in bit and bit systems which are extremely hard to debug if there is anything wrong gRPC vs tRPCI see lots of people asking about the difference between gPRC and tRPC as they look really like twins Although they were both born in the modern age gRPC is more like the lineal descendant of RPC with some advanced equipment like Protocol Buffer as IDLuse of HTTP Bidirectional streaming and flow controlAuthenticationWhereas tRPC is more like the distant relative probably only gets the last name of it So we would take about it later SOAPSOAP is released by Microsoft Apparently it looks like nothing related to RPC but if you know its father s name XML RPC you might see the point Actually SOAP inherited a lot of RPC it uses the WSDL Web Service Description Language as its schema file which is represented by XML so that it is language and platform agnostic which allows different programming languages and IDEs to quickly set up communication Moreover It provides privacy and integrity inside the transactions while allowing for encryption on the message level which meets an enterprise grade transaction quality I happened to work in the protocol suite team at Microsoft there was a big adoption of SOAP where almost all the newly created protocols are based on SOAP a small part of which are REST However REST soon overtook it and was dominate the world Why while water can carry a boat it can also overturn it It is XML that makes it language and platform agnostic it is also XML that causes it consumes more bandwidth and is slow to process It is the security that makes it enterprise grade quality it is also security that causes its lease easy to get up at first So what really changed to make those cons unbearable It s the mobile internet that brings us to the modern age The Modern age RESTunlike others REST doesn t have strict rules standard toolkit comes with it It is an architectural style and it defines a set of architectural constraints and agreements An API that complied with the REST constraints is RESTful So the most advantage it has is simple and intuitive It uses a standard HTTP method and resource centralized way to define API like below It s like bringing the OOP concept to the API world making everyone could easily define the RESTful API which is why it s become popular BTW I have seen lots of projects only use GET and POST which won t affect the power REST granted at all However as aforementioned this loose standard also causes some problems As the project grows the code becomes hard to maintain and error prone It usually makes the frontend and backend team tightly coupled as any change in API requires both to cooperate together It takes a number of calls to API to return the needed staff It usually have the over fetching and under fetching problem Sometimes it has to create duplicate API endpoints to adapt to different client consumers like the browser and mobile appBecause of the above GraphQL came to the stage and become a game changer GraphQLThe main measure it takes to overcome the problem of the loose standard is to bring back the schema file type Book title String author Author type Author name String books Book type Query books Book authors Author type Mutation addBook title String author String Book And once the schema is defined it becomes the single source of the truth The backend team and whatever different front end team can work independently based on the schema With the help of code generation the request could be verified by the compiler to make sure the server will be able to respond to it All the problems mentioned about REST are resolved which you can simply see from the front page of the official website of GrqphlQL The best one I like is that the client gets to decide what the response will return which means they never need to push the backend to add fields for the response Until now I think GraphQL is the most efficient solution for a big project with a separate front end and back end team As long as you get an experienced engineer to make the right schema design it will pay off when you scale The Future AgeWelcome to the future if you have a business idea just build it Don t worry it s much easy now See what I got for you tRPCAlthough it is called RPC it only inherits the concept to call the remote function locally but in a more pure way that doesn t have the IDL file and the code generation process You really have exactly the same experience of creating the local program So what about the tightly coupled issue and low discoverability issues it still exists but the world has changed With the development of Typescript and the framework like Next js it is the first time in history that you can build a full complete web app using one language in one single project So it s definitely tightly coupled and there is no need for discoverability as you can directly go to the definition in the code Although without schema there are some disadvantages like the client can t decide what the response is or it might be difficult to organize the functions when the project scale remember tPRC is just two years old it s the future that matters How about let s hold together and build the brighter feature together P S We re building ZenStackーa toolkit for building secure CRUD apps with Next js Typescript Our goal is to let you save time writing boilerplate code and focus on building what matters ーthe user experience |
2023-01-11 11:48:10 |
Apple |
AppleInsider - Frontpage News |
BOE plans $400 million investment in new Vietnam factories |
https://appleinsider.com/articles/23/01/11/boe-plans-400-million-investment-in-new-vietnam-factories?utm_medium=rss
|
BOE plans million investment in new Vietnam factoriesDisplay maker BOE is reportedly following Foxconn and Samsung in building new production facilities in North Vietnam in part to produce iPhone screens Chinese firm BOE Technology Group previously had issues producing iPhone displays but most recently appears to have regained substantial orders from Apple Now according to Reuters the company is planning to build two new factories and is reportedly in discussions over renting dozens of hectares of land BOE already has a small presence in South Vietnam but these new plants will be in the north Read more |
2023-01-11 11:50:06 |
Apple |
AppleInsider - Frontpage News |
Duex Max Review: Productivity on the go |
https://appleinsider.com/articles/23/01/11/duex-max-review-productivity-on-the-go?utm_medium=rss
|
Duex Max Review Productivity on the goMobilepixels Duex Max is a great mobile investment for on the go workers or for those who require two monitors in their laptop setups The Duex Max is a portable inches P display that can mount onto the back of a screen of a inch laptop or larger Coming in silver blue red and green it only weighs pounds for its size and is inches at its thickest point The monitor slides out from its casing providing options for a landscape experience attached to the laptop and a standing portrait orientation The stand s range of motion is solid being able to fold degrees on the back of the laptop in the case of presentations Read more |
2023-01-11 11:39:22 |
Apple |
AppleInsider - Frontpage News |
MacBook Pro with OLED display rumored to arrive in 2024 |
https://appleinsider.com/articles/23/01/11/kuo-first-macbook-with-oled-display-could-launch-in-2024?utm_medium=rss
|
MacBook Pro with OLED display rumored to arrive in Apple Analyst Ming Chi Kuo believes that Apple plans to release a MacBook with an OLED display before the end of suggesting that the change could allow for more diverse form factor designs Credit AppleUtilizing OLED displays would allow for thinner and lighter MacBooks compared to their current mini LED counterparts Kuo explained via Twitter Read more |
2023-01-11 11:51:28 |
ニュース |
BBC News - Home |
Andrew Bridgen suspended as Tory MP over Covid vaccine comments |
https://www.bbc.co.uk/news/uk-politics-64236687?at_medium=RSS&at_campaign=KARANGA
|
conservative |
2023-01-11 11:56:44 |
ニュース |
BBC News - Home |
Rail strikes: Unions say solution is 'further away' than ever |
https://www.bbc.co.uk/news/business-64234109?at_medium=RSS&at_campaign=KARANGA
|
aslef |
2023-01-11 11:23:23 |
ニュース |
BBC News - Home |
US flight control system hit by technical glitch |
https://www.bbc.co.uk/news/world-us-canada-64236047?at_medium=RSS&at_campaign=KARANGA
|
airspace |
2023-01-11 11:56:30 |
ニュース |
BBC News - Home |
Sainsbury's sees more shoppers in stores in hunt for deals |
https://www.bbc.co.uk/news/business-64225230?at_medium=RSS&at_campaign=KARANGA
|
dealsthe |
2023-01-11 11:44:24 |
ニュース |
BBC News - Home |
NI Protocol: Sinn Féin refuses to attend talks with James Cleverly |
https://www.bbc.co.uk/news/uk-northern-ireland-64228451?at_medium=RSS&at_campaign=KARANGA
|
cleverly |
2023-01-11 11:51:30 |
ニュース |
BBC News - Home |
Benjamin Mendy: Jury can return majority verdict, judge rules |
https://www.bbc.co.uk/news/uk-england-manchester-64211192?at_medium=RSS&at_campaign=KARANGA
|
benjamin |
2023-01-11 11:06:00 |
コメント
コメントを投稿