IT |
気になる、記になる… |
「LINE」のiOS版、一部端末で正常に開けない不具合が発生中 |
https://taisy0.com/2021/12/14/149746.html
|
調査 |
2021-12-14 12:20:39 |
python |
Pythonタグが付けられた新着投稿 - Qiita |
python 3 エンジニア認定基礎試験 模擬問題解説 PRIME STUDY |
https://qiita.com/Bulldog_Market/items/43a9c24571f5e4a02047
|
正確には、変数に値を代入したときに変数の宣言が自動的に行われます。 |
2021-12-14 21:15:09 |
python |
Pythonタグが付けられた新着投稿 - Qiita |
threadを運動会に例えて理解してみる |
https://qiita.com/msh/items/c54f11a4f51e2f8ef44e
|
このために、各スレッド毎にロックを利用する。 |
2021-12-14 21:13:51 |
python |
Pythonタグが付けられた新着投稿 - Qiita |
【Python】Jinja2で表を作る |
https://qiita.com/tnozoo/items/d520f52557234fc10ce1
|
|
2021-12-14 21:08:05 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
arduinoのサーボ制御について |
https://teratail.com/questions/373829?rss=all
|
arduinoのサーボ制御について°回転するモーターの制御をする回路です。 |
2021-12-14 21:46:54 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
axiosでPOSTした画像をLaravel APIで保存すると、500 (Internal Server Error) |
https://teratail.com/questions/373828?rss=all
|
axiosでPOSTした画像をLaravelAPIで保存すると、InternalServerErroraxiosでPOSTした画像をLaravelnbspAPIで保存するプログラム以下を書きました。 |
2021-12-14 21:45:17 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
二次元配列とポインタ(char型) |
https://teratail.com/questions/373827?rss=all
|
二次元配列とポインタchar型前提・実現したいことここに質問の内容を詳しく書いてください。 |
2021-12-14 21:36:28 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
【Rails×AWS】http//Elastic IPにアクセスすると「We're sorry, but something went wrong.」が表示される |
https://teratail.com/questions/373826?rss=all
|
【Rails×AWS】httpElasticIPにアクセスすると「Wexresorrybutsomethingwentwrong」が表示されるrailsnbspアプリをcapistranoでデプロイ後にhttpElasticIPにアクセスするとタイトルのエラーが発生しますconsole上だと、FailednbsptonbsploadnbspresourcenbspthenbspservernbsprespondednbspwithnbspanbspstatusnbspofnbspnbspBadnbspGateway。 |
2021-12-14 21:31:07 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
C# aysnc awite について |
https://teratail.com/questions/373825?rss=all
|
Caysncawiteについて前提・実現したいことawaitnbspTaskRunasyncgt関数awitenbspTaskDelay関数実行後待ちたい←OK発生している問題・エラーメッセージawiteの中にawiteを入れてよいでしょうか。 |
2021-12-14 21:24:23 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
Java Spring モデルのテストが通らず困っています・・・ |
https://teratail.com/questions/373824?rss=all
|
JavaSpringモデルのテストが通らず困っています・・・前提・実現したいこと作成しているWebアプリのモデル箇所でテストを通しいのですが、JUnityテストが通らず、投稿しました。 |
2021-12-14 21:20:50 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
Taxicentrale Arnhem |
https://teratail.com/questions/373823?rss=all
|
|
2021-12-14 21:19:40 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
open cv python 顔認証について |
https://teratail.com/questions/373822?rss=all
|
opencvpython顔認証についてpythonnbspOpenCVusrbinenvpythoncodingutfファイル名capturepyimportcvifnamemainHaarlike特徴分類器ファイルの読み込み。 |
2021-12-14 21:00:27 |
Ruby |
Railsタグが付けられた新着投稿 - Qiita |
RSpec始めよう!簡単セットアップ |
https://qiita.com/i-f/items/1234c8cd869df21f39f4
|
requirespechelperformatdocumentation追加テストファイル記述実際に処理を行うファイルを記述します。 |
2021-12-14 21:04:19 |
技術ブログ |
Mercari Engineering Blog |
How to do QA for Merwork |
https://engineering.mercari.com/blog/entry/20211214-how-to-do-qa-for-merwork/
|
hellip |
2021-12-14 12:14:07 |
技術ブログ |
Mercari Engineering Blog |
メルペイでの運用環境とオブザーバビリティ |
https://engineering.mercari.com/blog/entry/20211213-e228df121f/
|
shellip |
2021-12-14 12:00:49 |
海外TECH |
Ars Technica |
Analogue Pocket, continued: What’s worth adding to retro system’s $220 base? |
https://arstechnica.com/?p=1820191
|
cables |
2021-12-14 12:30:41 |
海外TECH |
Ars Technica |
Win hardware, collectibles, and more in the 2021 Ars Technica Charity Drive |
https://arstechnica.com/?p=1819712
|
causes |
2021-12-14 12:00:51 |
海外TECH |
MakeUseOf |
Safari vs. Chrome for Mac: Which Is Right For You? |
https://www.makeuseof.com/tag/safari-vs-chrome-os-x-browser-right/
|
safari |
2021-12-14 12:46:22 |
海外TECH |
MakeUseOf |
Why Microsoft and iFixit's Partnership Is Great News for the Right to Repair Movement |
https://www.makeuseof.com/microsoft-ifixit-partnership-right-to-repair/
|
Why Microsoft and iFixit x s Partnership Is Great News for the Right to Repair MovementThe new partnership will make it easier to fix Microsoft Surface devices which can only be a good thing for consumers |
2021-12-14 12:40:12 |
海外TECH |
MakeUseOf |
How to Keep Chrome Tabs Pinned on Top of Other Apps |
https://www.makeuseof.com/tag/how-to-keep-chrome-tabs-pinned-on-top-of-other-apps/
|
chrome |
2021-12-14 12:30:11 |
海外TECH |
DEV Community |
Rust HTTP Testing with httpmock |
https://dev.to/alexliesenfeld/rust-http-testing-with-httpmock-2mc1
|
Rust HTTP Testing with httpmockAt some point most developers had the need to test calls to external HTTP based services such as third party APIs authentication providers data sources etc These services are not always available to you Furthermore automated tests should be able verify that access to these services works as expected without actually accessing the real service This is where mocking stubbing tools can help HTTP mocking libraries usually provide an HTTP server and mechanisms to configure it for custom request response scenarios These mock HTTP servers can then be part of automated tests or run as a standalone server application installed on a test environment to mimic third party APIs This article shows how you can use httpmock to do this in Rust The AppLet s suppose we are building a Rust app that will create a GitHub repository on our behalf To perform these operations we will use the GitHub REST API We will then write some automated tests to verify correct behavior by simulating HTTP responses from GitHub Let s start Let s first create a new cargo package for our app and name it github api client cargo new github api client binWe ll also need some libraries so let s add them to Cargo toml We ll use isahc as our HTTP client library serde json for easy JSON serialization and deserialization and custom error to create custom error types Cargo toml dependencies isahc version features json serde json anyhow The ClientNow let s write some code that will allow us to access the GitHub REST API We will create a structure named GithubClient that will contain all the logic required to access the GitHub API use isahc RequestExt ResponseExt prelude Request use serde json json Value use anyhow Result ensure pub struct GithubClient base url String token String impl GithubClient pub fn new token amp str base url amp str gt GithubClient GithubClient base url base url into token token into pub fn create repo amp self name amp str gt Result lt String gt let mut response Request post format user repos self base url header Authorization format token self token header Content Type application json body json name name private true to string send let json body Value response json ensure response status as u Unexpected status code ensure json body html url is string Missing html url in response return Ok json body html url as str unwrap into fn main let github GithubClient new lt github token gt let url github create repo myRepo expect Cannot create repo println Repo URL url The only method our client provides for now is create repo It takes the repository name as an argument and returns a Result containing the repository URL as a string value To keep this example simple we use the anyhow crate for generic error handling The ProblemNow that we have a functional app we need to write some tests to make sure it doesn t have any obvious problems One tricky part is to find a good target for mocking so we can test the behaviour of our client in different scenarios In our case the HTTP client such as the Request post method in our client implementation looks like a good place to start Unfortunately mocking HTTP clients is not very practical This is because in a larger application we would need to reimplement a big chunk of the HTTP clients API to be able to simulate request response scenarios So what to do The SolutionTo test our GitHub API client conveniently we can use an HTTP mocking library Such libraries can help us verify that HTTP requests sent by our client are correct and allow us to simulate HTTP responses from the Github API to see if our client can deal with them accordingly At the time of writing there are noteworthy Rust libraries that can help us with this mockitohttpmockhttptestwiremock The following comparison matrix shows how the libraries compare to each other LibraryExecutionCustom MatchersMock able APIsSync APIAsync APIStand alone Modemockitoserialnoyesnonohttpmockparallelyes∞yesyesyeshttptestparallelyes∞yesnonowiremockparallelyes∞noyesnoAccording to the comparison matrix the most complete package is currently provided by httpmock For this reason we will use this one for the rest of this article Creating MocksIn this section we ll write some tests to verify that our GitHub API client works as expected Let s first add the httpmock crate to our Cargo toml dev dependencies httpmock Now we re all set Let s create a test that will make sure the good path in our client implementation works as expected cfg test mod tests use crate GithubClient use httpmock MockServer use serde json json test fn create repo success test Arrange let server MockServer start let mock server mock when then when method POST path user repos header Authorization token TOKEN header Content Type application json then status json body json html url let client GithubClient new TOKEN amp server base url Act let result client create repo myRepo Assert mock assert assert eq result is ok true assert eq result unwrap To easier grasp what this test does we arranged it following the AAA Arrange Act Assert pattern which divides the test into three parts Arrange Act and Assert ArrangeThe first thing we do in our test is to create a MockServer instance line Next we create a Mock object on the MockServer with all our request requirements and a response specification lines This makes the mock server match incoming requests to this specification and if a request matches the mock server will respond accordingly Notice how we used the when variable to define HTTP request requirements lines We used the then variable to define what data the corresponding HTTP response will contain lines The mock server will only respond if it receives an HTTP request that meets all the request criteria from the when part Otherwise it will respond with an error message and HTTP status code Important Observe how we set the base URL in our client to point to the mock server instead of the real GitHub API line ActNext we execute the code under test line which is the method create repo from our GithubClient structure AssertAt last we use the assert method provided by the mock object line This method makes sure that the mock server received exactly one HTTP request that matched all the mock requirements If not it will fail the test and print a detailed problem description see next section VerificationMock objects provide an assert method which ensures our app did actually send a request to the mock server and that it matched the mock specification the when part If not this method will fail the test In this case httpmock will try to find a request in its request journal that is most similar to your mock specification It will then identify the differences between the two so you can easily spot incorrect or missing values To demonstrate this feature we will modify our client to send text plain in the content type header instead of application json If we rerun the test we ll see that this change is detected and the test fails now with the following message At least one request has been received but none exactly matched the mock specification Here is a comparison with the most similar request request number Expected header with name Content Type and value application json to be present in the request but it wasn t Expected key equals value equals Content Type application jsonActual closest match content type text plainDepending on the IDE you are using you will also be able to see the differences between the expected and actual value in a differences viewer For example this is how it would look like in IntelliJ or CLion ConclusionThis article showed how httpmock can be used to test HTTP based API clients in Rust It allowed us to verify that our app is sending HTTP requests that match all of our requirements We could simulate HTTP responses from GitHub using httpmock to make sure that our app can process them as expected You can find the source code from this article on Github |
2021-12-14 12:52:22 |
海外TECH |
DEV Community |
What is the Process to Develop Mobile Apps? |
https://dev.to/pankajdas0909/what-is-the-process-to-develop-mobile-apps-5fi1
|
What is the Process to Develop Mobile Apps Today mobile apps are a big part of start ups and big enterprises So in this article we will see what is the process to develop a mobile app We will see the few points which you need to keep in mind to develop the mobile app Process to Develop a Mobile ApplicationA good mobile application can handle full business itself Also there are many technologies available to develop a mobile application Mobile applications allow you to manage everything in a few scrolls and clicks on a screen So if you want to develop an application you have to keep in mind the following points Requirement GatheringEvery project starts with requirement gathering It is the first step to understanding the basic requirements of the applications Later on it will become the functionality of your application You also need to identify the domain for which you want to create the app Some famous domains are Healthcare Edtech Fintech etc You can prepare the following questions for requirement gathering What services the developed app will provide to customers Is the app already available or not on play store or Appstore What are the extra features of the app Is there a scope to update the app in the future You can also analyze other similar applications already published on the Play Store to get a better understanding of the actual behavior model This will help you decide what details to add to your application Without understanding your needs your project is difficult to measure and can cause long term problems Therefore without proper homework it is not advisable to consult with the mobile app developer to request a budget Once you have collected and prioritized all the information it is up to you to decide how to create this app Wireframing amp Data flowOnce all the functional requirements are established the second step is to prepare the application visuals to determine the data flow This includes launching the app and an orderly flow of data from one to the other Prepare sketches to present your ideas in a more visual way for developers to understand By doing so you can develop the app in the right direction and provide the desired output These sketches should at least contain key information about your app s visuals Platform FeaturesThere are many platforms available for mobile development It includes two major platforms Android and IOS as well So you need to make a decision on which platform your application will run on After analyzing your target domain you can select the platform of your app In addition after selecting the platform for your application you need to select the minimum version you want for compatibility with your application This application will not work on devices that do not meet the minimum version The increasing trend of mobile application development has created major challenges to stay one step ahead of the competition Therefore to get the attention of the audience you need to create the best mobile app Project EstimationAfter completing the first three steps you can send this data to the developer to start developing your application There are many companies in the market that provide application development services but the budget is your choice You can contact your local IT hub to get a rough estimate You can also search online for startups that offer the services you need or hire a freelancer to do the job When you hire a freelancer for a job you need to read their reviews and work experience before handing them over to the project Once you have collected all the cost data and assessments you can compare them to ultimately determine what is right for your particular job Choosing the developerAll requirements related to the application must be met so that a developer or company can start work on the project App developers and development companies work hard to keep up with customer demands But once you ve chosen someone to work with you can t leave all the work to them Developers need to have the imagination to develop apps according to the client s vision Developers need to provide all the details they need and formulate their vision accurately so that they can understand it correctly You can also ask developers for other changes that may improve the application PricingIt s important to check the price quotation as the budget is only fixed Before delivery of the application please make sure if the price is fixed or not The price may vary depending on the time required So you need to check if you are working on a project on a fixed budget or on an hourly daily basis This is important because pricing can affect your budget The model of pricing will play important role in the pricing Conclusion Thanks for remaining till the end of the article We hope you have enjoyed reading this article To summarize in this article we have discussed what is the process to develop a mobile app Do let us know your feedback comments on the same Flutter agency is the best Flutter Mobile App development company with a highly experienced team of Flutter developers We promise to deliver the best application developed in Flutter which will excel in the market Also Flutter Agency is a portal full of excellent resources like Flutter Widget Guide Flutter Projects Code libs etc So contact us for your next project |
2021-12-14 12:46:54 |
海外TECH |
DEV Community |
Setting up MWAA to use a KMS key |
https://dev.to/aws/setting-up-mwaa-to-use-a-kms-key-4p6b
|
Setting up MWAA to use a KMS key IntroductionIn a previous post I shared how you can using AWS CDK to provision your Apache Airflow environments using the Managed Workflows for Apache Airflow service MWAA I was contacted this week by Michael Grabenstein who flagged an issue with the code in that post The post used code that configured a kms key for the MWAA environment but when trying to deploy the app it would fail with the following error CREATE FAILED AWS MWAA Environment airflowtestenvironmentResource handler returned message Creation failed RequestToken bba cee ea ea aabada HandlerErrorCode NotStabilized This issue was that the CDK stack did not have everything needed to properly configure a customer KMS key so I wanted to address that in this post how to configure MWAA so that you can use your own KMS key to properly ensure that everything is encrypted I want to thank Michael for flagging the issue and his PR to the project and help getting this tested Configuring KMS for MWAAIn order to get KMS configured we need to do a number of things create new IAM policies to configure access to our KMS keyscreate our KMS key configure MWAA to use that KMS keyOnce we have done that we can then deploy our stack and create our MWAA environment Lets get started Creating new IAM policies to configure access to our KMS keysIn the original CDK stack we created IAM policies for the MWAA execution role which covered what was defined in the MWAA docs In the stack this was as follows Effect Allow Action kms Decrypt kms DescribeKey kms GenerateDataKey kms Encrypt Resource arn aws kms your region your account id key your kms cmk id Condition StringLike kms ViaService sqs your region amazonaws com s your region amazonaws com As this stands this should be ok for what we need What we needed to do however is create a new policy that will be used and assigned to our KMS key This policy will provide the right permissions for MWAA and the workers to be able to access the keys to decrypt encrypt messages and logs Within the MWAA CDK stack we create a new policy as follows and thanks to Michael for his help with this kms mwaa policy document iam PolicyDocument statements iam PolicyStatement actions kms Create kms Describe kms Enable kms List kms Put kms Decrypt principals iam AccountRootPrincipal Optional iam ArnPrincipal f arn aws sts self account assumed role AWSReservedSSO rest of SSO account resources iam PolicyStatement actions kms Decrypt kms Describe kms GenerateDataKey kms Encrypt kms ReEncrypt kms PutKeyPolicy effect iam Effect ALLOW resources principals iam ServicePrincipal logs amazonaws com region f self region conditions ArnLike kms EncryptionContext aws logs arn f arn aws logs self region self account We will use this policy in the next step when we create the key Note When I originally put this together I did not have the principals iam AccountRootPrincipal statement and it did work for me However Michael saw the following error Resource handler returned message The new key policy will not allow you to update the key policy in the future Service Kms Status Code Which was resolved by adding that additional statementCreating our KMS keyNow that we have our policy we can create the key The previous code is modified slightly to incorporate this new policy policy kms mwaa policy document key kms Key self f mwaa props mwaa env Key enable key rotation True policy kms mwaa policy document key add alias f alias mwaa props mwaa env When the key is created it will incorporate the policy we created which you can see from the KMS console Configuring MWAA to use that KMS keyNow that we have that done we can now configure MWAA to use this In the original CDK code I incorrectly used key id instead of key arn The correct CDK code is as follows managed airflow mwaa CfnEnvironment scope self id airflow test environment name f mwaa props mwaa env airflow configuration options core default timezone utc airflow version airflow version dag s path dags environment class mw small execution role arn mwaa service role role arn kms key key key arn logging configuration logging configuration max workers network configuration network configuration plugins s object version None plugins s path None requirements s object version None requirements s path None source bucket arn dags bucket arn webserver access mode PUBLIC ONLY weekly maintenance window start None You can view the complete code in the GitHub repo blogpost cdk mwaa and the changeset here Deploying MWAAYou can now deploy and create your MWAA environment in the same way using the following CDK command and responding Y when prompted cdk deploy MWAA Backendcdk deploy MWAA EnvironmentI have upgraded to v of CDK so this was tested on build bce Once deployed it will take minutes typically you should now be able to access your MWAA environment as per usual The only difference is that now all the interactions between MWAA and the worker nodes the messages in the scheduler the log files written to CloudWatch are all encrypted using that key Other observations and possible improvementsWhilst troubleshooting this I used CloudWatch Logs and CloudWatch Trail to narrow down the source of the problem CloudWatch Logs show med that there were some AccessDenied errors and looking within CloudWatch Trail I could dive deeper into those errors eventTime T Z eventSource kms amazonaws com eventName Decrypt awsRegion eu central sourceIPAddress airflow amazonaws com userAgent airflow amazonaws com errorCode AccessDenied errorMessage User arn aws sts xxx assumed role MWAA Environment V mwaaserviceroleCFB VOIDCIZRBxxx AmazonMWAA airflow is not authorized to perform kms Decrypt on resource arn aws kms eu central key cfxxx b db b bbxxx because no resource based policy allows the kms Decrypt action requestParameters null One final note I could improve this setup by encrypting the S bucket that is configured for MWAA using the same kms key When I have some time I will come back and revisit that |
2021-12-14 12:35:08 |
海外TECH |
DEV Community |
Extend python with magic(part-1) |
https://dev.to/saptakbhoumik/extend-python-with-magicpart-1-4828
|
Extend python with magic part Hi everyone In this post I will show you something magical in python What am I even talking about Well I am talking about magic dunder method They are a very useful feature of python and allows you to write code that is more readable less verbose and efficient In my previous post you can read it here here I had talked about operator overloading in python and those are basically magic methods It is not possible to cover every dunder method in one post so I will cover only a few init Most of you already know about it and I am covering it only because it is very important This method is called automatically when you create any instance of the object The codeclass Object def init self print Object innitialized x Object Breaking it down init self This is the method that is called when you create an instance of an object In this case it prints a stringx Object Here we are initializing x with an instance of the object repr This method returns a string that is printed when you try to print the instance of an object It is helpful for debugging purposesThe codeclass Object def init self value self x def repr self return f Value is self x x Object print x Breaking it down repr self It returns the string to be printed and doesn t take any argumentOn running the above code you will get Value is as result If you want to get the string representation instead of printing it then you can use repr x len This method returns the length of the instance of the object when you use the lens function on it The codeclass Object def len self return x Object print len x Breaking it down len self This method returns the length of the object and that s it It must return an integer and should not take any argument The codeclass Object def len self return x Object print len x Breaking it down len self This returns the length of the object and that s it It should always return a number and should never take any argument ConclusionMagic method are extremely powerful and there are many of them It is not possible for me to cover all of them in one post so I will post more about them in the future If you have enjoyed this please read my post about peregrineThanks for reading lt |
2021-12-14 12:20:27 |
海外TECH |
DEV Community |
4 Types of Web Visitors |
https://dev.to/csesingh/4-types-of-web-visitors-20o9
|
Types of Web VisitorsWe all use web but we are not alone the users of web Yes strange but true you will also know it in a minute after reading this article So broadly there are types of visitors for any website End Users people Specially abled Users eg people having challenging optical abilities Web Crawlers Web ScrapersDevelopers End Users people Undoubtedly this is clear in everyone s mind because if you are reading this even you are a End User of the Website too Absorbing the information here and making sense out of it in your head This directly correlates to the entire population of our planet as Possible Potential audience and the people who will get the most benefit from our provided information as Target audience Specially abled UsersThese are the users beginner developers often miss to consider and thus end up building apps software that is very difficult for them to use For example we have websites right but specially abled depends on screen readers so as they can hear what is written on web These screen readers again depend on developers to use semantic coding styles so screen readers can pick right text for users to hear Thereby professional developers also keep a part of their development process for making their solutions friendly for screen readers as well like by using aria labels role attributes alt attributes in images and many others Bit size fact Over billion people are estimated to experience disability This corresponds to about of the world s population with up to million people aged years and older having significant difficulties in functioning often requiring health care services Web Crawlers Web Scrapers These are automated bots that scan your website webpages for ranking and showcasing in search results for web search engines or otherwise for data collection and data mining from your site for Data Science related use cases Also the more easily crawl able scrap able site you have the better ranking results you get or better SEO And at the same time more easier for web scrapers to extract data from your site DevelopersThis one may sound strange but developers to check into other websites and it s source code sometimes to find a font graphic they liked a lot or sometimes to found pretty good and novel approaches for code structuring that they can adapt to build better solutions as well Also more importantly while working in a team often your peers will also need to understand your code before contributing their part of the logic software Definitely something new for the day references What is Semantic HTML and Why Should We Care Dylan Oh・Dec ・ min read html webdev beginners programming |
2021-12-14 12:15:11 |
海外TECH |
DEV Community |
Creating An Automated Personal Finances Dashboard With AWS - Part 2 (Request Lambda) |
https://dev.to/bradenrichardson/creating-an-automated-personal-finances-dashboard-with-aws-part-2-request-lambda-1chi
|
Creating An Automated Personal Finances Dashboard With AWS Part Request Lambda G day folks last time we spoke we covered the following Pain points of my manual solutionUse cases of an automated solutionBasic MVP designIn this post we re going to tackle the first obstacle the Provision New User lambda Now these two lambdas could be packaged as a single lambda with separate functions for each use case however for the sake of simplicity we are going to split these out and in the future they will probably end up together in some fashion Lambda Overview Provision New UserSends a GET requestManually triggeredNormally only used once or when data needs to be completely refreshedProcess WebhookReceives a POST requestTriggered every time a transaction is registered through a webhook we ll get to that later This is the core of the automated dashboard and will provide real time data Plan Of ActionCreate a lambda in AWSWrite some python code that sends a GET request to Up s API endpoint and stores the transaction history in a dictionarySounds simple enough right Let s crack on with it Creating a lambda function in AWSNavigate to the AWS console and create a new Lambda function we re choosing Python as our runtime and leaving everything else default Note the default execution role this will come up later when we look at deploying our solution with Cloudformation Write some code to hit the UP Api endpointThis code filters through the response and grabs all of the relevant info putting it all into a dictionary of arraysimport jsonimport osimport requestsapi token os getenv api token api url base headers Authorization Bearer format api token def create list api url response requests get api url headers headers if response status code data data append response json get data if response json get links get next token response json get links get next while token response requests get token headers headers data append response json get data token response json get links get next if token print Processing token format token else print Finished processing tokens return data else print response status code def create csvDictionary api url api url base transactions data create list api url csvDictionary id description value category parentCategory createdAt for array in data for transaction in array if Transfer in transaction get attributes get description continue if transfer in transaction get attributes get description continue if Cover in transaction get attributes get description continue if Round Up in transaction get attributes get description continue if float transaction get attributes get amount get value gt continue else csvDictionary id append transaction get id csvDictionary description append transaction get attributes get description csvDictionary value append transaction get attributes get amount get value if transaction get relationships get category get data csvDictionary category append transaction get relationships get category get data get id else csvDictionary category append Uncategorized if transaction get relationships get parentCategory get data csvDictionary parentCategory append transaction get relationships get parentCategory get data get id else csvDictionary parentCategory append Uncategorized csvDictionary createdAt append transaction get attributes get createdAt print csvDictionary return csvDictionarydef lambda handler event context create csvDictionary Our first roadblock Our lambda doesn t have the requests library how are we going to sort this one out There are a couple of ways to solve this problem my favourite one is to create a lambda layer as these are then reusable across your AWS account with other functions Creating a lambda layerInstall the package locally specify no user tag if on Windows pip install requests target requests no userZip the packageUpload to the Lambda Layer console ensuring your runtime is correctAdd the layer to your lambda functionOkay so now our lambda function has access to the request library we re going to try this block of code out and see how it goes Awesome It s hitting the Up API endpoint and processing tokens Not Awesome The lambda initially timed out because there is so much data there years worth of transactions In SummaryWe built a Lambda function that sends a GET request to an API endpoint and receives a response backWe created a Requests lambda layer to enable the GET request and attached it to our lambdaThe Lambda function takes A LONG time to pull a historical dataset let s revisit this in the future but for now it works Next TimeNext post will be covering the Webhook event based lambda function and the corresponding API gateway and endpoint that will be required Can t wait |
2021-12-14 12:12:32 |
海外TECH |
DEV Community |
Understanding Angular Component |
https://dev.to/anubhab5/understanding-angular-component-2bpa
|
Understanding Angular ComponentToday we will be learning what is an Angular Component First of all you need to have angular installed in your system If you don t have it installed you can quickly install it by following the below link setup angularWhen you visit any website say dev to on the first glance you will see it as a pretty big application A big application is always difficult to manage So the Angular team came up with a concept called components where they broke a big chunk of the application into smaller pieces These smaller pieces are combined together to form a big application which is easy to maintain also Another advantage is reusability which I will show you later So now lets see how we can break the above diagram into various components Now if we try to break the above big application there can be multiple ways one of them could be having one nav bar component at the top colored in red One side bar component colored in green one more component colored in blue the main section component colored in violet which is a long scrollable one Now the main section have multiple topics which you can read and they are represented in cards we developers call so P are repeated So that can also be a card component So here comes the reusability Using the same card again and again with different content Develop once use again and again So till now we understood what is a component and its advantage When you create a new angular project using the command ng new MyFirstProject and open in your fav editor I used VS Code you should see something like below Now if you open a command prompt from the same path of the project and run the application by typing in npm start you will see your application running in localhost like below At this moment you must be wondering how this beautiful page came up So the answer is Angular team already provided the first component to us which is shown when the application is loaded Let s now slowly introspect the component provided by Angular Under app folder refer the above diagram you will see a file named with app component ts This is the core part of this component If you open the file you will get to see the below codeimport Component from angular core Component selector app root templateUrl app component html styleUrls app component css export class AppComponent title MyFirstProject Every normal typescript class can be converted into a component if we put the decorator Component on the top of the class Decorator is actually a function which takes in an object as an argument So here you can see Component has a that means a function call is happening and it is taking an object This object we call as metadata Here we can see that there are three metadata present namely selector templateUrl styleUrls a selector Its a string there are few other variations available which I will discuss in advanced component part which determines the name of the component or by which you can use the componentb templateUrl A relative URL path pointing to the html that will be rendered when Angular sees the above selectorc styleUrls An array of stylesheets to style the above html file content Now if you remove the whole content from the app component html file and replace with any of your favorite string and save then you will se that the page in browser which you opened earlier reloads and is displaying the text you just now typed in The next question can come to your mind why this particular component is getting displayed For that you need to navigate to the index html file located in the project It would like something like below lt doctype html gt lt html lang en gt lt head gt lt meta charset utf gt lt title gt MyFirstProject lt title gt lt base href gt lt meta name viewport content width device width initial scale gt lt link rel icon type image x icon href favicon ico gt lt head gt lt body gt lt app root gt lt app root gt lt body gt lt html gt Now if you look at the third last line you will see some unusual html element But if you look closely you will see its the same selector name app root that we came across in the Component decorator selector metadata So when the index html page loads and angular sees this selector it pulls the component and displays it to the screen So by now you must be having a fair bit of idea on what is a component its use and its different parts Bonus SectionIf you inspect the DOM of your application you will be able to see the app root selectorChallenge SectionChange the selector name in the Component decorator to your name and see what happens Eg Instead of app root write india Write the same selector name Eg india replacing app root what you just gave in your selector in the index html file and let me know what happens So it should be lt india gt lt india gt Hope you had a great learning session Cheers Happy Coding |
2021-12-14 12:10:30 |
海外TECH |
DEV Community |
Adding events to calendar automatically from email |
https://dev.to/arxeiss/adding-events-to-calendar-automatically-from-email-1h0a
|
Adding events to calendar automatically from emailMany email clients can show a small calendar widget with info about event sent in email That one can also appear in the user s calendar but only if is well formatted V češtiněsi lze článek přečíst na kutac cz Method Request and AttendeeThe email client can show info about the event based on attached iCalendar ics file However it must satisfy a few easy requirements Attach ics file with all information about the event Body of the ics file must contain property METHOD REQUEST The Content Type of the attachment must also contain method REQUEST part The Attendee property must be part of the body of iCal file and must contain the email address of the recipient Below is the code in PHP for Laravel framework with spatie icalendar generator library For more about sending emails in Laravel framework check the documentation use Carbon Carbon use Illuminate Notifications Messages MailMessage use Illuminate Notifications Notification use Spatie IcalendarGenerator Components Calendar use Spatie IcalendarGenerator Components Event use Spatie IcalendarGenerator Properties TextProperty class EventCreatedNotification extends Notification public function toMail MailMessage calendar Calendar create gt productIdentifier Kutac cz gt event function Event event event gt name Email with iCal gt attendee attendee gmail com gt startsAt Carbon parse gt endsAt Carbon parse gt fullDay gt address Online Google Meet calendar gt appendProperty TextProperty create METHOD REQUEST return new MailMessage gt subject Invitation gt markdown mail invite created gt attachData calendar gt get invite ics mime gt text calendar charset UTF method REQUEST Issues are comingEverything described above is enough to make it work But every email client behaves differently And that produces some issues In the code I skipped the gt organizer part and on purpose When the organizer is specified email clients are sending emails when the user accepts or declines the invitation So it can spam the organizer mailbox Especially when the system is sending hundreds of emails However web Outlook is sending those emails even if the organizer is not specified Then the response is sent to the sender email But what is even worse Outlook will delete this email after accepting or declining This can be changed in the settings but may confuse less skilled users Especially when the email contains tickets or payment information Automatic replies can be filtered outIt is possible to filter out those automatic replies But it is not so easy so most likely normal filter in the email client will not be enough And probably some filter on the email server must be used The reply contains the same ics file But instead of REQUEST method it has method REPLY in the Content Type and METHOD REPLY inside the body of the file More than an invitationGMail supports much more than just a calendar widget It can show information about your upcoming flights hotel reservations or Call to action button directly in the email list But that is more complicated and you must register your application to have this available But it is still possible and more can be found on Email markup page I would appreciate if anyone solved some issues described here and would share them in comment |
2021-12-14 12:01:14 |
Apple |
AppleInsider - Frontpage News |
Vox buying Group Nine, forming one of the largest online publishers |
https://appleinsider.com/articles/21/12/14/vox-buying-group-nine-forming-one-of-the-largest-online-publishers?utm_medium=rss
|
Vox buying Group Nine forming one of the largest online publishersAfter news of the deal leaked out early Monday Vox and Group Nine have announced the all stock merger which will further grow the merged entity into one of the largest online publishers The previously rumored deal was confirmed on Monday night in a post on Vox s Recode The throughline for all these deals ーreal and proposed ーis scale Get big enough the rationale goes and it makes it easier to sell ads or subscriptions or both wrote Recode s Peter Kafka And at this point in the pitch you re supposed to mention the looming digital media duopoly of Google and Facebook and argue that consolidation is an antidote to that Read more |
2021-12-14 12:28:41 |
海外TECH |
Engadget |
California suspends Toyota-backed Pony.ai's driverless testing permit |
https://www.engadget.com/california-suspends-ponyai-driverless-testing-permit-122914859.html?src=rss
|
California suspends Toyota backed Pony ai x s driverless testing permitPony ai a Chinese autonomous driving company backed by Toyota can no longer test fully self driving vehicles in California for now at least According to Reuters the DMV suspended its driverless testing permit on November th a few weeks after a reported collision in Fremont Based on the report filed with the state s DMV a Pony ai vehicle operating autonomously hit a road center divider and a traffic sign on October th nbsp It was a single vehicle incident and there were no injuries and other vehicles involved As Reuters said it s unclear what aspect of the accident prompted the DMV to suspend Pony ai s permit but the company said it immediately launched an investigation and is working with the agency to figure out what caused the collision nbsp While Pony ai won t be able to test fully autonomous vehicles in California anymore it can continue its trials with safety drivers behind the wheel The company has Hyundai Motor Kona electric vehicles registered for testing and only secured its driverless testing permit six months ago for three cities in the state It s the eighth company to receive that kind of permit in California following the likes of Waymo Cruise and Baidu Under the terms of the permit Pony ai was given permission to conduct driverless tests in Fremont Milpitas and Irvine on open roads and with a speed limit of miles per hour Further the vehicles could only operate in clear weather and light precipitation Pony ai recently received approval to run paid autonomous taxi services in Beijing which it was also hoping to achieve in California by It remains to be seen whether this suspension will delay those plans considerably nbsp |
2021-12-14 12:29:14 |
海外TECH |
Engadget |
The Morning After: The Analogue Pocket could be the definitive retro handheld |
https://www.engadget.com/the-morning-after-the-analogue-pocket-could-be-the-definitive-retro-handheld-121543620.html?src=rss
|
The Morning After The Analogue Pocket could be the definitive retro handheldAfter teasing delaying and just generally riling up retro gamers Analogue s Pocket is almost here Engadget s James Trew ーone of those aforementioned riled up types ーis currently testing one out So while he racks up enough hours of play for a full review we get a few first impressions Tetris the Game Boy OG is pretty much exactly how you remember it with the original pixel grid motion blur and even the sound There s even a link port for some very old school multiplayer nbsp Analogue has announced that orders for the Pocket open again today If you want this surprisingly authentic taste of handheld gaming s past it ll set you back nbsp ーMat SmithApple s Tracker Detect app will help protect Android users from AirTag stalkersNo Apple account needed Apple has released Tracker Detect an Android app to help you if you don t have an iOS device to find out if someone is using an AirTag or other Find My compatible device to snoop on your location When the app finds a nearby AirTag it flags it as an Unknown AirTag If it follows you for minutes you can use the app to tell the tracker to play a sound making it easier to find You can tap the device with your NFC compatible phone for instructions on how to disable it Continue reading Dremel announces its first smart toolNaturally it has Bluetooth DremelDremel is the standard when it comes to rotary tools and the new features firsts for the company Not only does it feature a Bluetooth connection it s got a more powerful brushless motor The former means it can connect to Dremel s mobile app which has an interactive guide that tells you what accessory and RPM you need to use to cut through specific materials Continue reading Universal Music is bringing Rihanna and Migos into the metaverseOh and there are NFTs Universal Music Group is working with avatar company Genies to create digital versions of its artists as well as non fungible token NFT outfits and accessories for use in virtual worlds In the coming months through an NFT marketplace run by Genies fans will be able to buy and sell virtual merchandise Universal Music is fascinated by NFTs Last month it announced a virtual band comprising four characters from the Bored Ape Yacht Club NFT collection Continue reading Square Enix s Forspoken mixes magical parkour with an unforgiving worldAnd magical nail art upgrades Square EnixJudging by all the teaser videos released so far Forspoken is promising a swathe of visually stunning elemental spells and a hero that can dash glide and traverse a fantasy world quicker than any Assassin s Creed protagonist It s from an entirely new game studio ーunder Square Enix s wing ーrunning on a proprietary games engine While we didn t get to play it we do have a better idea of exactly how Forspoken will play Continue reading Sony will begin selling official PlayStation covers next monthMatching DualSense wireless controllers are coming too SonyAfter shutting down third party PS console covers with legal threats Sony has launched its own official PlayStation five colors And they re pretty bright And bucks Continue reading nbsp nbsp The biggest news stories you might have missedMGM lets potential employees try out jobs in VR Apple Music s Siri only plan is now available as iOS rolls outApple s inch core iMac M falls to a new all time low at AmazonGOG offers steep discounts on Disco Elysium Cyberpunk and moreNike acquires virtual sneakers and crypto collectibles startup RTFKTApple delays macOS Universal Control until spring |
2021-12-14 12:15:43 |
海外TECH |
CodeProject Latest Articles |
How Does Your Development Team Decide What To Do Next? |
https://www.codeproject.com/Articles/5319960/How-Does-Your-Development-Team-Decide-What-To-Do-N
|
How Does Your Development Team Decide What To Do Next What feature should you work on next When the product owner provides a well groomed backlog you may think selecting the next feature to work on is obvious but often it isn t A development team should consider many factors before picking an item from the product backlog to work on |
2021-12-14 12:08:00 |
海外TECH |
WIRED |
The Best VR Headsets and Games to Explore the Metaverse |
https://www.wired.com/gallery/best-vr-headsets-in-this-reality
|
perfect |
2021-12-14 13:00:00 |
金融 |
金融庁ホームページ |
職員を募集しています。(金融モニタリング業務に従事する職員) |
https://www.fsa.go.jp/common/recruit/r3/souri-10/souri-10.html
|
Detail Nothing |
2021-12-14 14:00:00 |
ニュース |
BBC News - Home |
Star Hobson: Savannah Brockhill guilty of murder |
https://www.bbc.co.uk/news/uk-england-leeds-59637683?at_medium=RSS&at_campaign=KARANGA
|
mother |
2021-12-14 12:35:36 |
ニュース |
BBC News - Home |
Covid: PM faces big rebellion as MPs vote on new restrictions |
https://www.bbc.co.uk/news/uk-politics-59640792?at_medium=RSS&at_campaign=KARANGA
|
labour |
2021-12-14 12:28:54 |
ニュース |
BBC News - Home |
Covid-19: High demand blamed for shortage of PCR appointments in England |
https://www.bbc.co.uk/news/uk-59651166?at_medium=RSS&at_campaign=KARANGA
|
england |
2021-12-14 12:47:57 |
ニュース |
BBC News - Home |
Belarusian opposition leader jailed for 18 years |
https://www.bbc.co.uk/news/world-europe-59650238?at_medium=RSS&at_campaign=KARANGA
|
candidate |
2021-12-14 12:11:57 |
ニュース |
BBC News - Home |
Some schools struggling to stay open as cases rise |
https://www.bbc.co.uk/news/education-59650108?at_medium=RSS&at_campaign=KARANGA
|
covid |
2021-12-14 12:01:38 |
ニュース |
BBC News - Home |
Arsenal strip Aubameyang of club captaincy after 'latest disciplinary breach' |
https://www.bbc.co.uk/sport/football/59653090?at_medium=RSS&at_campaign=KARANGA
|
breach |
2021-12-14 12:29:54 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
ユアテック(1934)、「増配」を発表し、配当利回りが 3.1%⇒3.7%に! 年間配当額は1年で1.2倍に増加、 2022年3月期は前期比4円増の「1株あたり24円」に! - 配当【増配・減配】最新ニュース! |
https://diamond.jp/articles/-/290740
|
ユアテック、「増配」を発表し、配当利回りが⇒に年間配当額は年で倍に増加、年月期は前期比円増の「株あたり円」に配当【増配・減配】最新ニュースユアテックが、年月期の配当予想の修正増配を発表し、配当利回りがにユアテックは、年月期の年間配当を前回予想比で「円」の増配、前期比でも「円」の増配となる「株あたり円」に修正すると発表した。 |
2021-12-14 21:25:00 |
北海道 |
北海道新聞 |
気球で宇宙の旅を 岩谷技研が開発加速 |
https://www.hokkaido-np.co.jp/article/622970/
|
宇宙旅行 |
2021-12-14 21:18:19 |
北海道 |
北海道新聞 |
デジタル田園都市構想へ基盤整備 政府施策の重点計画案判明 |
https://www.hokkaido-np.co.jp/article/622976/
|
田園都市 |
2021-12-14 21:17:00 |
北海道 |
北海道新聞 |
新装「ほっくる」客足好調 新函館北斗駅併設 客数5割、売上高4割増 |
https://www.hokkaido-np.co.jp/article/622966/
|
新函館北斗駅 |
2021-12-14 21:14:51 |
北海道 |
北海道新聞 |
「チセ」を資料館にリニューアル 白糠町、23年度開業目指す |
https://www.hokkaido-np.co.jp/article/622972/
|
開業 |
2021-12-14 21:13:00 |
北海道 |
北海道新聞 |
EV普及へ官民で研究会 十勝振興局、脱炭素へ独自取り組み |
https://www.hokkaido-np.co.jp/article/622971/
|
十勝総合振興局 |
2021-12-14 21:09:00 |
北海道 |
北海道新聞 |
ハムやベーコン手間暇掛け 興部で製造たけなわ |
https://www.hokkaido-np.co.jp/article/622969/
|
第三セクター |
2021-12-14 21:05:00 |
コメント
コメントを投稿