AWS |
AWS Partner Network (APN) Blog |
How AWS Partners Are Creating New Revenue Streams with VMware Cloud on AWS |
https://aws.amazon.com/blogs/apn/how-aws-partners-are-creating-new-revenue-streams-with-vmware-cloud-on-aws/
|
How AWS Partners Are Creating New Revenue Streams with VMware Cloud on AWSVMware Cloud on AWS helps customers including enterprises government entities and startups migrate to the cloud faster on average and at a lower cost as compared to other solutions AWS Partners that start a VMware Cloud on AWS practice can see anywhere from a revenue lift in their overall services revenue Learn how partners can grow their VMware Cloud on AWS practice through professional and managed services modernization AWS funding and by expanding their customer base |
2023-04-10 17:18:42 |
AWS |
AWS Government, Education, and Nonprofits Blog |
Protecting transportation agencies in the era of cybersecurity |
https://aws.amazon.com/blogs/publicsector/protecting-transportation-agencies-cybersecurity/
|
Protecting transportation agencies in the era of cybersecurityRecently the Transportation Security Administration TSA issued a new cybersecurity amendment in response to persistent cybersecurity threats The new amendment requires that impacted TSA regulated entities develop an approved implementation plan that describes measures they are taking to improve their cybersecurity resilience and prevent disruption and degradation to their infrastructure around four key areas Learn how transportation agencies can use AWS to support these four cybersecurity requirements and position their organizations against cyber threats |
2023-04-10 17:03:24 |
python |
Pythonタグが付けられた新着投稿 - Qiita |
PythonのselfとJavaScriptのthisは似ているようで異なる |
https://qiita.com/shuki/items/995d3c0ebc4253a25fd5
|
javascript |
2023-04-11 02:21:13 |
js |
JavaScriptタグが付けられた新着投稿 - Qiita |
PythonのselfとJavaScriptのthisは似ているようで異なる |
https://qiita.com/shuki/items/995d3c0ebc4253a25fd5
|
javascript |
2023-04-11 02:21:13 |
AWS |
AWSタグが付けられた新着投稿 - Qiita |
【用語】EC2 |
https://qiita.com/yu__programming/items/436d6191ddf071ebd914
|
subnet |
2023-04-11 02:13:59 |
技術ブログ |
Developers.IO |
S3 ストレージクラスの選択に迷った時みるチャートを作ってみた(2023年度版) |
https://dev.classmethod.jp/articles/should_i_choice_s3_storage_class_2023/
|
作ってみた |
2023-04-10 17:33:22 |
海外TECH |
Ars Technica |
Google is killing third-party Google Assistant smart displays |
https://arstechnica.com/?p=1930416
|
assistant |
2023-04-10 17:24:49 |
海外TECH |
DEV Community |
Robotic Arm: Message Controller Software |
https://dev.to/admantium/robotic-arm-message-controller-software-3la8
|
Robotic Arm Message Controller SoftwareA robot arm manipulator consist of joints and servo motors It s attached to a fixed base and upon receiving command executes movement actions Moving is a two step process First the arm needs to receive a command and second it needs to translate this command into coordinated actions that will move the joints accordingly This article focuses on the first question How to send commands effectively to the arm In the last article I assembled a degree of freedom robotic arm kit for the Raspberry Pi The kit provides a Raspberry Pi Motor hat that exposes UART IC analog inputs and enough pins to control stepper and servo motors The Kit offers a complete control suite in the official repository but I wanted to create my own software to control the arm This article presents a step by step implementation of a client server connection protocol based on Python and TCP sockets In particular multiple clients can connect to the server send messages as a header and payload data packet and leave the connection opened as long as necessary The server will be responsible for receiving client connections and messages parsing the bytes to Python objects and process them as movement action This article originally appeared at my blog admantium com Investigating the Arm KitThe official repository contains the setup example code and programs for remote controlling the arm It provides two interfaces to the end user A GUI application written in TK which runs on the Raspberry PI itself or on any computer that can make a socket connection to the Pi Or a webserver that starts on the Pi and to which any client with the right IP address and port can connect Looking into the source code files we can learn this The mechanism to transport movement messages is a TCP socketThe TCP socket is created on the raspberry Pi with a fixed PortThe TK GUI client and the WebServer accept user interactions and send commands to the TCP socket serverThe server accepts the message determines the concrete message content and instructs the arm to moveMessages are either simple command like X minus X add or compound positions of all axis that lead to a continuous movement Design Considerations for Remote ControllingWith this knowledge and the prior experience when designing the control software for my moving robot RADU we can formulate the following requirements The arm needs to be access via a network interfaceThis interface can be written in Python and directly manipulate the armMovement commands should be simple text commandsCommands should be executed immediatelyWhen integrating ROS a message gateway class can be added to transform ROS messages to the custom formatSo messages need to be send to the Pi Effectively that s serial data over the network providing code decoupling giving the means to implement different transport mechanisms I liked the simplicity of the TCP sockets used in the official example And so I choose to replicate the same mechanism Implementing the ServerTo open a TCP socket Pythons built in socket library is used This library is versatile and allows several types of sockets to be created The particular socket type of our choice is AF INET which means TCP with IPv and the subtype SOCK STREAM a bidirectional continuous data stream We also define defaults such as the IP and port address The first iteration of the server code will open a socket object bind itself to the specified IP and Port and then listen to any incoming traffic In a continuous loop the sever waits for any received connection It a client connects it will print a message to the terminal then decode and print the message that the client sends from socket import socket AF INET SOCK STREAMSOCKET HOST localhost SOCKET PORT BUFFER SIZE with socket AF INET SOCK STREAM as server server bind SOCKET HOST SOCKET PORT server listen print f repr server n gt gt Server started waiting for connections while True client addr server accept with client print f Connected from addr msg client recv BUFFER SIZE decode print f Message lt lt msg gt gt This code works as a proof of concept But connection handling is not very effective It waits for exactly one client message and then terminates the connection immediately again Also messages are read with a fixed buffer size This wastes memory when the messages are way smaller and it will be faulty when messages exceeding this limit arrive Let s improve this Server Iteration Flexible Message PassingReading data from the client provides us with a set of very different decisions First how much data do we want to read Second how many data at a time Assuming that messages are just strings then we can read one character at a time all characters until a certain stop signal for example a newline symbol or read all data with a fixed buffer size just as we used before A better option is to let the client decide and inform the server what is about to come The protocol looks like this First send a message header that contains information about the message length And then send the message I got this idea from this great socket tutorial In the following refined version we first define the fixed length of the header message Then upon a successful connection the first message is decoded and stored and then converted to the integer value expected length And following this the next message is read one character at a time until this expected length value is met HEADER MSG PADDING while True client addr server accept with client print f Connected from addr header msg expected length current length header client recv HEADER MSG PADDING decode expected length int header print f Header lt header gt nExpected length expected length while not expected length current length char client recv decode msg char current length print f Full Messages Received n lt lt msg gt gt print Terminating connection n Server Iteration Multithreaded Client Connection HandlingThe final iteration adds another two requirements First the server accepts and keeps tracks of multiple client connection Second the clients decide when they want to close the connection by sending a dedicated message And third the server handles repeatedly receiving messages herder fist then payload of the connected clients Let s start with the first part The list of connected clients is a dictionary When a new client connects but still considered connected an exception is raised Otherwise a new thread is created Then the new connection and the thread are stored in the connection list while True try client addr server accept if client list get addr raise ValueError connection thread Thread target handle socket connection args client client list addr client client handler connection thread print f Connected from addr print LIST client list connection thread start except Exception as e print e The handler method starts a continuous loop that checks for an incoming message It parses the first message as the header extracting the expected length Then it reads all incoming data up to the expected message length If the message contains just the string TERMINATE the loop will close which also stops the thread Otherwise the message content is handled for example as shown here for a move command At the end of this loop the thread is put into a short sleep time This is important otherwise all those threads would continuously consume all available CPUs def handle socket connection client addr client list header msg expected length is alive True while is alive header client recv HEADER MSG PADDING decode if header expected length int header print f Header lt header gt nExpected length expected length msg deserialize client recv expected length if match move msg handle move command msg elif msg TERMINATE is alive False else print f Message n lt lt msg gt gt sleep DELAY MS client list pop addr Complete Server Source CodeThe complete server source code is this usr bin python Copyright c Sebastian Günther devcon admantium com Created from time import sleepfrom pickle import loads as deserializefrom threading import Threadfrom socket import socket AF INET SOCK STREAMfrom re import matchSOCKET HOST localhost SOCKET PORT HEADER MSG PADDING DELAY MS def handle socket connection client addr client list header msg expected length is alive True while is alive header client recv HEADER MSG PADDING decode if header expected length int header print f Header lt header gt nExpected length expected length msg deserialize client recv expected length if match move msg handle move command msg elif msg TERMINATE is alive False else print f Message n lt lt msg gt gt sleep DELAY MS client list pop addr def handle move command msg move cmd msg len msg print MOVE move cmd with socket AF INET SOCK STREAM as server server bind SOCKET HOST SOCKET PORT server listen client list print f repr server n gt gt Server started waiting for connections while True try client addr server accept if client list get addr raise ValueError connection thread Thread target handle socket connection args client addr client list client list addr client client handler connection thread print f Connected from addr print LIST client list connection thread start except Exception as e print e Implementing the ClientThe server code is done now let s define the client code Similar as before the client code also starts simple Connecting to the server sending a message and closing itself The first version of the client code looks very similar to the server It uses the same library sets the same constants and will open a connection from socket import socket AF INET SOCK STREAMSOCKET HOST localhost SOCKET PORT HEADER MSG PADDING def send socket msg client msg msg serialize msg msg length len msg client send f msg length lt HEADER MSG PADDING encode client send msg with socket AF INET SOCK STREAM as client client connect SOCKET HOST SOCKET PORT for i in range if i send socket msg client move x else send socket msg client move x sleep Client Code Serializing Objects with PickleThe second iteration optimized the message type It s both an optimization of speed and optimization of the flexibility what a message contains In Python any object can be serialized with the Pickle library The serialization step will convert the object to bytes which is the native datatype for socket data anyway So instead of explicitly encoding a string we serialize any object and send it from pickle import dumps as serializedef send socket msg client msg msg serialize msg msg length len msg client send f msg length lt HEADER MSG PADDING encode client send msg with socket AF INET SOCK STREAM as client client connect SOCKET HOST SOCKET PORT send socket msg client MOVE X MOVE Y A possible and for production use required extension is to send information about the message type together with the header This makes handling the message on the server side much easier Client Code Interactive Message sendingThe final iteration of the client code will not just open the connection send a message and close it Instead it will open a command prompt in the terminal allowing the user to type in a any message that is send to the server This can be done with the input command in the terminal with socket AF INET SOCK STREAM as client client connect SOCKET HOST SOCKET PORT while True cmd input gt gt if cmd lower stop break else send socket msg client cmd sleep TestingOn the Raspberry Pi server py is started gt python server py lt socket socket fd family AddressFamily AF INET type SocketKind SOCK STREAM proto laddr gt gt gt Server started waiting for connectionsThen we connect to it via client py from any computer in the same network gt python client interactive input pycmd centerOnce connected just type any command in the specified language and the arm will move accordingly LIST client lt socket socket fd family AddressFamily AF INET type SocketKind SOCK STREAM proto laddr raddr gt handler lt Thread Thread initial gt Header lt gt Expected length Message lt lt center gt gt ConclusionWith the Raspberry Pi Robot ARM Kit you can build a degree of freedom robotic manipulator This article presented a step by step tutorial to implement a message controller software In essence a socker server is started on the Raspberry Pi and then a client connects To test different approaches the article showed several iterations of the server code First messages can be parsed as strings or evaluated as Python data structures Second the server can just open one connection or handle multiple client connections simultaneously that are stored in threads Third the message protocol can be improved by separating message header and message body in which the header determines the amount of bytes that the payload provides The resulting implementation is versatile and robust The next article continues this series and shows how to implement simple and complex arm movements |
2023-04-10 17:24:44 |
海外TECH |
DEV Community |
JavaScript for loop |
https://dev.to/max24816/javascript-for-loop-380f
|
JavaScript for loopJavascript for loop is used execute a block of code repeatedly based on a condition until the condition is no longer true In this article you will learn how for loop works Syntax of the Javascript For Loopfor initialization condition increment decrement code block to be executed for loop require three element to make it works initialization used to declare or set a value before starting the loop condition block will be executed for each iteration in the loop this will evaluate from the start If the condition fails then the loop will be terminated increment decrement block will execute at the end of each iteration It usually increments or decrements the counter variable Javascript Program to Check if a Number is Odd or Evenfor let i i lt i if i console log i OutputLearn Javascript Tutorial |
2023-04-10 17:05:43 |
Apple |
AppleInsider - Frontpage News |
iPhone 15 Pro dummy shows unified volume button & possible USB-C port |
https://appleinsider.com/articles/23/04/10/iphone-15-pro-dummy-shows-unified-volume-button-possible-usb-c-port?utm_medium=rss
|
iPhone Pro dummy shows unified volume button amp possible USB C portA new video shares what the iPhone Pro might look like and includes rumored features such as a unified volume button Changes with the iPhone ProThe Hongyang Technology account shared a video via Douyin on Monday featuring a physical metal model of what the iPhone Pro could look like It doesn t add anything different from rumors but it does provide a glimpse into what the new iPhone might look like in a person s hand rather than the D renderings some have created Read more |
2023-04-10 17:54:39 |
Apple |
AppleInsider - Frontpage News |
Apple issues iOS 15.7.5, iPadOS 15.7.5, macOS Monterey, Big Sur security updates |
https://appleinsider.com/articles/23/04/10/apple-issues-ios-1575-ipados-1575-macos-monterey-big-sur-security-updates?utm_medium=rss
|
Apple issues iOS iPadOS macOS Monterey Big Sur security updatesApple has released updates to its older operating systems with users able to download updates for iOS iPadOS macOS Monterey and macOS Big Sur macOS Big Sur has been replaced but still receives updatesApple updated its main operating systems before the weekend but they aren t the only ones to receive an update On Monday Apple issued patches for some of its older operating systems Read more |
2023-04-10 17:32:27 |
海外TECH |
Engadget |
Netflix is making an animated 'Stranger Things' spin-off |
https://www.engadget.com/netflix-is-making-an-animated-stranger-things-spin-off-173732745.html?src=rss
|
Netflix is making an animated x Stranger Things x spin offLike Vecna s creepy encroaching tendrils the Stranger Things universe is continuing to expand Netflix has announced an animated series based on one of its biggest hits The company hasn t revealed many details about the latest spin off just yet Glitch Techs and Fanboy amp Chum Chum creator Eric Robles and Flying Bark Productions are developing the animated series Stranger Things creators the Duffer brothers and producer Shawn Levy are also involved quot We ve always dreamed of an animated Stranger Things in the vein of the Saturday morning cartoons that we grew up loving and to see this dream realized has been absolutely thrilling quot the Duffer brothers told Variety nbsp in a statement quot We couldn t be more blown away by what Eric Robles and his team have come up with ーthe scripts and artwork are incredible and we can t wait to share more with you The adventure continues… quot The original show has been renewed for a fifth and final season but that and the animated show are far from the only Stranger Things projects in the pipeline A VR game is slated to arrive later this year while a stage show prequel is set to debut on London s West End in late Netflix also announced a live action spin off show last year The Duffer brothers certainly have a lot of plates in the air Along with Stranger Things they re working on a live action Death Note series following a separate movie that hit Netflix several years ago as well as an adaptation of The Talisman a book by Stephen King and Peter Straub This article originally appeared on Engadget at |
2023-04-10 17:37:32 |
海外TECH |
Engadget |
Worldwide PC shipments plunged by a third in the first quarter |
https://www.engadget.com/worldwide-pc-shipments-plunged-by-a-third-in-the-first-quarter-172543016.html?src=rss
|
Worldwide PC shipments plunged by a third in the first quarterThe PC market has been reeling for months but it just got worse Both Canalys and IDC estimate that worldwide computer shipments dropped between to percent year over year in the first quarter of That s a steeper drop than during the holidays and this time none of the major brands escaped the worst of the downturn Second place HP escaped relatively lightly with a percent drop in shipments while fourth place Apple felt the most pain with a drop of more than percent ASUS Dell and Lenovo all took a roughly percent hit The explanations may sound familiar Customers are reluctant to buy PCs in a turbulent economy where inflation is running wild and the pandemic era boom in remote work is still winding down People either can t afford new machines or already have ones that are good enough There s no comment on why Apple struggled more than its peers but it generally targets the high end market and is more vulnerable to poor economic conditions TechCrunch also notes that Apple s transition to in house chips helped it avoid the tough times that Windows vendors faced in recent years but that the honeymoon period may be over Analysts are optimistic Canalys believes this is the worst drop the PC market will see in while both research groups expect to see recovery as soon as the second half of Old computers will be due for upgrades including Chromebooks at schools while businesses will update to Windows systems IDC also sees the slowdown as giving manufacturers a chance to move some production outside of China There s still a note of caution IDC warns that the PC industry could be in for a quot slog quot if recessions continue into Although the sharpest declines may be over it could take a long time for the market to bounce back Don t be surprised if brands play it relatively safe with computers they know are likely to sell rather than experimenting with unusual designs This article originally appeared on Engadget at |
2023-04-10 17:25:43 |
海外科学 |
NYT > Science |
Pfizer CEO and Other Drug Company Leaders Condemn Texas Abortion Pill Ruling |
https://www.nytimes.com/2023/04/10/health/abortion-ruling-pharma-executives.html
|
Pfizer CEO and Other Drug Company Leaders Condemn Texas Abortion Pill RulingMore than executives said that the decision ignored both scientific and legal precedent and if it stands would create uncertainty for the pharmaceutical and biotech industries |
2023-04-10 17:57:56 |
ニュース |
BBC News - Home |
UK-Israeli mother wounded in West Bank attack dies |
https://www.bbc.co.uk/news/world-middle-east-65227638?at_medium=RSS&at_campaign=KARANGA
|
palestinian |
2023-04-10 17:37:00 |
ニュース |
BBC News - Home |
Petrol bombs thrown at police at Londonderry republican parade |
https://www.bbc.co.uk/news/uk-northern-ireland-65231790?at_medium=RSS&at_campaign=KARANGA
|
londonderry |
2023-04-10 17:55:07 |
ニュース |
BBC News - Home |
Just Stop Oil activists arrested over dinosaur protest |
https://www.bbc.co.uk/news/uk-england-coventry-warwickshire-65233721?at_medium=RSS&at_campaign=KARANGA
|
exhibit |
2023-04-10 17:13:50 |
ニュース |
BBC News - Home |
UK weather: Rain and 60mph wind gusts to replace Easter sunshine |
https://www.bbc.co.uk/news/uk-65233359?at_medium=RSS&at_campaign=KARANGA
|
blustery |
2023-04-10 17:41:42 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
自分だけがわかっていないカッコ悪い人の共通点 - ゴゴスマ石井のなぜか得する話し方 |
https://diamond.jp/articles/-/319869
|
|
2023-04-11 02:55:00 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
落ち込んでいそうな同僚に、感じのいい人は「どんな一言」をかける? - 気づかいの壁 |
https://diamond.jp/articles/-/320444
|
それを乗り越える、たったつの方法を教えます。 |
2023-04-11 02:45:00 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
【精神科医が教える】 関わると面倒な「つかみどころがない人」の特徴 - 精神科医Tomyが教える 40代を後悔せず生きる言葉 |
https://diamond.jp/articles/-/320937
|
【精神科医が教える】関わると面倒な「つかみどころがない人」の特徴精神科医Tomyが教える代を後悔せず生きる言葉【大好評シリーズ万部突破】誰しも悩みや不安は尽きない。 |
2023-04-11 02:40:00 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
職場での「ごますり」は絶対にやったほうがいい。驚きの調査結果 - 第一印象の魔法 |
https://diamond.jp/articles/-/320815
|
人間関係 |
2023-04-11 02:35:00 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
リーダーが絶対に言ってはいけない「一瞬で信頼を失う発言」――武器としての組織心理学【書籍オンライン編集部セレクション】 - 武器としての組織心理学 |
https://diamond.jp/articles/-/320841
|
人間関係 |
2023-04-11 02:30:00 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
一流のビジネスパーソンは必ずやっている、人生の3つのステップ - 未来がヤバい日本でお金を稼ぐとっておきの方法 |
https://diamond.jp/articles/-/320336
|
一流のビジネスパーソンは必ずやっている、人生のつのステップ未来がヤバい日本でお金を稼ぐとっておきの方法ここ年間、日本人の給料はほとんど上がっていない。 |
2023-04-11 02:25:00 |
Azure |
Azure の更新情報 |
Private Preview: Enable Trusted launch on your existing Azure Gen2 VMs |
https://azure.microsoft.com/ja-jp/updates/enable-trusted-launch-on-existing-gen2vms-preview/
|
azure |
2023-04-10 18:00:08 |
海外TECH |
reddit |
Astralis vs. Team Vitality / LEC 2023 Spring Groups - Group A Qualification Match / Post-Match Discussion |
https://www.reddit.com/r/leagueoflegends/comments/12hpj4b/astralis_vs_team_vitality_lec_2023_spring_groups/
|
Astralis vs Team Vitality LEC Spring Groups Group A Qualification Match Post Match DiscussionLEC SPRING Official page Leaguepedia Liquipedia Eventvods com New to LoL Astralis Team Vitality Team Vitality qualify for spring playoffs Astralis will face the winner of Fnatic vs MAD Lions for the second playoffs spot Player of the Series Bo AST Leaguepedia Liquipedia Website Twitter Facebook YouTube VIT Leaguepedia Liquipedia Website Twitter Facebook YouTube Subreddit MATCH AST vs VIT Winner Team Vitality in m Game Breakdown Runes Bans Bans G K T D B AST leblanc jayce lulu vi leesin k H O VIT varus sejuani xayah malphite elise k C H HT B O B O AST vs VIT Finn olaf TOP kled Photon maokai JNG wukong Bo LIDER sylas MID annie Perkz Kobbe lucian BOT draven Upset JeongHoon nami SUP nautilus Kaiser MATCH AST vs VIT Winner Team Vitality in m Game Breakdown Runes Bans Bans G K T D B AST leblanc jayce lulu wukong vi k O VIT varus sejuani elise viego maokai k H M H HT B AST vs VIT Finn olaf TOP jax Photon xinzhao JNG leesin Bo LIDER sylas MID annie Perkz Kobbe xayah BOT zeri Upset JeongHoon nautilus SUP rakan Kaiser This thread was created by the Post Match Team submitted by u Soul Sleepwhale to r leagueoflegends link comments |
2023-04-10 17:23:41 |
コメント
コメントを投稿