TECH |
Engadget Japanese |
「エルデンリング」は死にゲーだけど心が折れにくい「優しさ」があるから嵌っちゃうんです |
https://japanese.engadget.com/elden-ring-100037853.html
|
「エルデンリング」は死にゲーだけど心が折れにくい「優しさ」があるから嵌っちゃうんです毎月、様々なタイトルのゲームをプレイする筆者ですが、「エルデンリング」PlayStationPlayStationXboxOneXboxSeriesXPCが発売されてからは、他のゲームを一切触らずにひたすらプレイしています。 |
2022-03-27 10:00:37 |
python |
Pythonタグが付けられた新着投稿 - Qiita |
GoogleColabでweb上のGIFを画像に分解して保存 |
https://qiita.com/johnpapapa/items/70f05b19f8de0b1a8954
|
というわけで、web上のデータをダウンロードして保存する処理の方がコピペして使いまわせるし、自分的に楽なのではと思ったのが始まり。 |
2022-03-27 19:37:35 |
python |
Pythonタグが付けられた新着投稿 - Qiita |
未知のpandas.DataFrameの中身をサクッと確認する |
https://qiita.com/mochi_gu_ma/items/6bf17a2cf6d22dc23236
|
まとめ未知のデータを扱う際に、データの中身をサクッと確認できるようになった関連記事今回の例で使用したランダムな架空のデータは以下の記事の関数を使って作成しました。 |
2022-03-27 19:10:41 |
Ruby |
Rubyタグが付けられた新着投稿 - Qiita |
Ruby on Rails 超簡単レベル上げ機能 |
https://qiita.com/kubochiro/items/5478698774426ebcdd48
|
RubyonRails超簡単レベル上げ機能投稿ごとにレベ上がる。 |
2022-03-27 19:30:46 |
Ruby |
Rubyタグが付けられた新着投稿 - Qiita |
DockerでRuby on Railsの環境を構築する際のDockerfileのコマンド及びコード理解 |
https://qiita.com/zakino123/items/5e7ddf96096156ef814f
|
DockerfileコマンドFROMDockerイメージとバージョンの指定RUNコンテナ内で実行するコマンドの指定WORKDIRDockerfileで設定した命令の作業ディレクトリの指定COPYローカルのディレクトリ及びファイルをDockerコンテナにマウントENTRYPOINT最初に実行するコマンドの指定EXPOSEDockerコンテナを公開するポート番号の指定CMDデフォルトで実行するコマンドの指定コード理解と用語理解setxsetはシェルの設定を確認、変更するコマンドでxによって、シェルが実行したコマンドとその引数を出力。 |
2022-03-27 19:30:26 |
AWS |
AWSタグが付けられた新着投稿 - Qiita |
AWS MWAA (Amazon Managed Workflows for Apache Airflow) にて、`airflow.exceptions.AirflowTaskTimeout: DagBag import timeout`のエラー |
https://qiita.com/Hisaaki-Kato/items/6ee45e0d3a39d524a93e
|
どう解決したか原因のところで述べたように、DAGの複雑性を低くするかタイムアウト時間を伸ばすことでエラーは解決します。 |
2022-03-27 19:16:04 |
AWS |
AWSタグが付けられた新着投稿 - Qiita |
CloudEndure Migration とは |
https://qiita.com/miyuki_samitani/items/ecc0d10077d42b3232e3
|
CloudEndureMigrationの特徴移行が簡単物理でも仮想でも、クラウドでもどのインフラからでもアプリケーションの移行を可能にします。 |
2022-03-27 19:03:58 |
Docker |
dockerタグが付けられた新着投稿 - Qiita |
DockerでRuby on Railsの環境を構築する際のDockerfileのコマンド及びコード理解 |
https://qiita.com/zakino123/items/5e7ddf96096156ef814f
|
DockerfileコマンドFROMDockerイメージとバージョンの指定RUNコンテナ内で実行するコマンドの指定WORKDIRDockerfileで設定した命令の作業ディレクトリの指定COPYローカルのディレクトリ及びファイルをDockerコンテナにマウントENTRYPOINT最初に実行するコマンドの指定EXPOSEDockerコンテナを公開するポート番号の指定CMDデフォルトで実行するコマンドの指定コード理解と用語理解setxsetはシェルの設定を確認、変更するコマンドでxによって、シェルが実行したコマンドとその引数を出力。 |
2022-03-27 19:30:26 |
Git |
Gitタグが付けられた新着投稿 - Qiita |
シェルスクリプトで書くgit エイリアス |
https://qiita.com/iNomaG/items/58722af4ce7c9f7616f3
|
シェルスクリプトで書くgitエイリアスこの記事は、gitエイリアスを作るにあたってより適した方法を紹介していません。 |
2022-03-27 19:45:49 |
Git |
Gitタグが付けられた新着投稿 - Qiita |
git branch と毎回打つのはめんどくさい |
https://qiita.com/iNomaG/items/54edb514125bfe6a140c
|
gitbraaabbbmaster何が起きたのかgitディレクトリ内部のconfigが更新されていますcdgitlsCOMMITEDITMSGhooksobjectsHEADindexrefsconfiginfodescriptionlogscatconfigcorerepositoryformatversionfilemodetruebarefalselogallrefupdatestrueignorecasetrueprecomposeunicodetruealiasbrbranchaliasにbrbranchという記述が追加されているのがわかります。 |
2022-03-27 19:14:33 |
Ruby |
Railsタグが付けられた新着投稿 - Qiita |
Ruby on Rails 超簡単レベル上げ機能 |
https://qiita.com/kubochiro/items/5478698774426ebcdd48
|
RubyonRails超簡単レベル上げ機能投稿ごとにレベ上がる。 |
2022-03-27 19:30:46 |
Ruby |
Railsタグが付けられた新着投稿 - Qiita |
DockerでRuby on Railsの環境を構築する際のDockerfileのコマンド及びコード理解 |
https://qiita.com/zakino123/items/5e7ddf96096156ef814f
|
DockerfileコマンドFROMDockerイメージとバージョンの指定RUNコンテナ内で実行するコマンドの指定WORKDIRDockerfileで設定した命令の作業ディレクトリの指定COPYローカルのディレクトリ及びファイルをDockerコンテナにマウントENTRYPOINT最初に実行するコマンドの指定EXPOSEDockerコンテナを公開するポート番号の指定CMDデフォルトで実行するコマンドの指定コード理解と用語理解setxsetはシェルの設定を確認、変更するコマンドでxによって、シェルが実行したコマンドとその引数を出力。 |
2022-03-27 19:30:26 |
海外TECH |
MakeUseOf |
5 Ways to Buy Video Games With Bitcoin |
https://www.makeuseof.com/how-to-buy-games-with-bitcoin/
|
games |
2022-03-27 10:15:13 |
海外TECH |
DEV Community |
oop in javascript! part1: prototype |
https://dev.to/samaghapour/oop-in-javascript-part1-prototype-55ie
|
oop in javascript part prototypeHello friendsWhen I was learning Javascript I ve always wondered when I define a string or function etc…how is it possible to get some properties and methods like length or search or forEach or any other methods When we see the backstage we realize where all these come from Finally we find out a little bit about oop in javascript and what exactly is going on under the hood So we ll explore oop in javascript in two parts The first part is going to be about the prototype and setup for oop and the second part is just all about oop in javascript Javascript is an object based language based on prototypes in contrast to other languages which are class based This causes the Javascript object hierarchy and inheritance a little bit weird and complex But what exactly are prototypes Let s begin our journey with a simple example Here I declared an object and logged its three properties But wait a minute I just declared a name and age property where the hell is that hasOwnProperty method object property which is a function called method coming from Hmmm…let s log the whole object itself to see what it includes Well well well look who s here now we can see when we define an object javascript gives it a hidden but accessible property which is an object and called proto Now let s take a look at the proto property Here is where we can see the hasOwnPropert method and some other methods as well The interesting thing is if we define thousands of objects with millions of properties there is still going to be one more default property in all of them which is this object with all these methods and this object called Global object prototype and what is more interesting is javascript is not going to define or in other word duplicate this object for every object we define it is just going to give them proto property that references to global object prototype and in other word inherit global object prototype so it will ensure to not blow up memory and what is much more interesting is if we look at global object prototype it has proto property itself Although it is null and kind of a reference to a dead end the point is there is no object that doesn t have proto Javascript is full of interesting things Let s investigate proto with different ways Object literal using object create and object setPrototypeOf methods using object create So we have a Car object with three properties or methods and nothing else Then we declared a tesla variable and assigned it to object create with parameters which is a Car object and the second parameter is an object with name property and value of tesla it is a simple object but with a different shape of defining inside object create Let s log tesla variable and see what object create does As we can see object create defines an object with a name property and value of tesla using the second parameter and this object s proto is referred to the object we gave in object create s first parameter which is Car object in this example and the proto of the Car object is referred to global object prototype and proto of global object is referred to as null object prototype chainingRemember all prototypes are connected no matter how nested they are going to be at the end it comes to the global object prototype and then null and this is called object prototype chaining the second variable we defined is detail Let s just log it It is an object with its special property called speed and value of and its proto is referred to tesla as you can guess from the example picture and tesla s proto is referred to Car object and Car object s proto is referred to global object prototype and that is the prototype chaining Prototypal delegationif you pay more attention to the example you can see that detail can access to the name property of tesla object and car object but tesla can t have access to detail s speed property and it s because they only can have access or inherit objects that their prototypes are referred to and it is a top to bottom relationship called Prototypal delegation so when we log tesla speed javascript is going to look for it inside the tesla object and if not find it it will look for it inside its proto which is Car object and if there is no such property it will keep looking for it inside other proto on the prototype chain which is global object prototype and if it isn t there too it will give us an undefined reason of annoying error known as is not a function As I explained above when javascript can t find a property inside the prototype chain it returns an undefined But if the speed property was a function method instead of number and javascript can t find it it will return an error tesla speed is not a function so when we call some methods on arrays or functions and javascript can t find them it returns an error and I m sure you were in that situation that keep getting is not a function before the third variable called volvo is going to have the same process as tesla has and the difference between volvo and tesla is just the name property s value is volvo using object setPrototypeOf three variables tesla detail volvo that we defined above can be defined using object setPrototypeOf method In this use case we define an object with its special property and value Then object setPrototypeOf s first parameter selects the object which we want to manipulate its proto reference and the second parameter is the object we want proto to be referred to So in the above image we select tesla and set its proto reference to Car object select detail object and set its proto to tesla object and then volvo object s proto to Car object Constructor function using new keywordFunctions are function and object Functions can behave like an object because when we define them javascript gives them a bunch of methods and properties and as you can see I defined a Car function and gave it name property Now let s investigate the above image When there is a function whose name is capitalized and it has the this keyword inside we tell javascript that this is an object and can be instantiated by using the new keyword By putting this inside the constructor function we tell javascript every object that has instantiated from this function this will be referred to as that object In the example above defining tesla with the new keyword and Car function and this name inside Car function is something like “hey javascript tesla should have a name property and its value should be whatever it passes as an argument as well as volvo The car function is called the Constructor function Hey we missed that prototype part what about that In the above example we are manipulating the Car object s proto So when Car becomes any object s proto s reference it is going to be an object containing those methods that we gave to the Car prototype Note that name is not in proto object name is something we need to give to each object we defined with its special value Let s log tesla and see the result When we instantiated the Car as tesla we created the object with the name property and value of tesla and its proto is referred to Car prototype which is an object with three methods that we defined and this object is referred to global object prototype the same process is true about volvo Note that without new keyword we can t instantiate constructor function and new keyword is the one who creates an object and refers “this keyword to object that it created and adds Car s prototype to object s proto that it created Now the main reason why we have prototypes Imagine we want to declare thousands of objects with name property and some methods that all of them should have and all of those methods are doing the same thing as other objects methods Do you think it is a good idea to declare all of those objects one by one and define all those methods one by one for every object Hell no this will kill the memory by using constructor function and prototypes we just have to declare one object with all methods we need and let other objects just inherit these methods and use them in the above example we are not declaring volvo object and tesla object and each of them with three methods we just instantiate Car and inherit methods from it note that this keyword inside sayName method is referred to the object that inherit it note that in above example at last line we are logging tesla noneFunction method So javascript is going to look for it in its prototype chain and if not find it will return tesla noneFunctoin is not a function and yes Global object prototype is one prototype object containing methods for all objects in javascript difference between proto and prototypeWe have gone so far I m not going to leave you with this question without an answer Although you may have already noticed the difference Prototype just exists on a function and is defined as a property when a function is declared A prototype is just an object of methods we give to the constructor function as a reference for its instance object s proto as we can see Car prototype is the same tesla proto because tesla is an instance of the Car and its proto is referred to Car prototype proto for objects and prototype for functions ES classes using the new keywordNow we are getting closer to the oop area…In many programming languages we have a concept called oop or object oriented programming which is a paradigm for designing programs using classes and objects Classes are introduced in ES and made Javascript able to use oop but it just fakes it and makes it look like oop but it is totally different under the hood and javascript uses the same prototype process we already knew about it In other word javascript has oop but in its own way Now let s see the prototype process with classes and new syntaxes to get a better understanding of what oop looks like and how the prototype and inheritance process happen I declared a class called Car and inside this class we have a constructor This is the same constructor function we saw earlier And the methods we declared inside Car class is like we set the prototype of Car to some methods but more easily and cleanly Now Let s talk about this part Well you already know the new keyword and what it does It instantiates Car and creates a new object with name property and value of tesla and a proto object which is referred to an object containing those three methods that we declared inside Car class and another proto object that is referred to Global object prototype…same for volvo Then we declare another class called Detail with its special property named speed and by using extends and super we inherit all things inside Car class including name property and proto object of three methods Here is the result of logging the detail object that is instantiated from the Car object This is how javascript implements oop We learned about the prototype and what it is and how you can take advantage of it in many different ways in javascript In the next part we will explore the four pillars of oop and all the things we need to know with real world and code examples Until the next part Goodbye and Good luck |
2022-03-27 10:30:17 |
海外TECH |
DEV Community |
The easiest way to upload your own pip package to pypi.org |
https://dev.to/chaosprint/the-easiest-way-to-upload-your-own-pip-package-to-pypiorg-1dnk
|
The easiest way to upload your own pip package to pypi orgPython s package choice is a selling point of it Yet the package management pip can be quite tricky for starters with issues like env version number etc To publish a package using pip to pypi org is not easier at all due to the complicated and unintuitive process The good news is we have now have a wonderful template to work with and the powerful GitHub Action to help Use a templateFirst you should download this repo Some things to do change the name of mypackage to YOUR PACKAGE NAMEEdit the core py to fit your needEdit the setup py based on the comment inside Use GitHubNow create a new GitHub repo Upload your package and double check the license readme version number author etc Create a new actionAfter you upload your code click Action on your repository Choose Publish Python Package Change the token to your username on pypi org you should have registered one Then commit it Create a secret in your repo settingsSettings gt Secrets gt New repository secretkey PYPI API TOKENvalue YOUR PASSWORD FOR PYPI FinallyCreate a release Then the project will be built and uploaded to pypi automatically |
2022-03-27 10:20:52 |
海外TECH |
DEV Community |
Pretending to be a tradesman 🕵️♂️ |
https://dev.to/adam_cyclones/pretending-to-be-a-tradesman-nbo
|
Pretending to be a tradesman ️ ️Being an IT professional lends itself a particular tract of logic shared with other problem solvers is it any wonder then that some of us love DIY In the past year I have expanded my hobbies from just Coding and D modelling to Trains Woodworking D CADMakerGardener LandscapingAnd to the point in question I join groups on Facebook and use my skills from each to maximum effect coding calculators for trains functions for solving woodworking D gardening designs etc but then talking to the pros I m a little embarrassed to say I m actually a developer I even have a tradesman coat when I go shopping so I look more the part it s my ForgeRock where I work coat but to most people it s a brick layit company for example I guess as an engineer I m also pretending |
2022-03-27 10:14:18 |
海外TECH |
DEV Community |
Feedparser: Python package for reading RSS feeds |
https://dev.to/mr_destructive/feedparser-python-package-for-reading-rss-feeds-5fnc
|
Feedparser Python package for reading RSS feeds IntroductionFeedparser is a simple but powerful python package that can be used to extract information about a specific webpage or a publication with its RSS feed not only RSS By providing the RSS feed link we can get structured information in the form of python lists and dictionaries It can be basically used in a pythonic way to read RSS feeds it is really simple to use and it even normalizes different types of feeds Today we will be taking a look at the feedparser package in python and how to extract information from a given RSS feed What is feedparserFeedparser is a python package for parsing feeds of almost any type such as RSS Atom RDF etc It is a package that allows us to parse or extract information using python semantics For example all the latest posts from a given blog can be accessed on a list in python further different attributes like links images titles descriptions can be accessed within a dictionary as key value pairs Installing feedparserAs feedparser is a python package you can install it with pip very easily pip install feedparserThis will install feedparser in your respective python environment it can be a virtual environment or a global environment Using feedparserTo test out feedparser you can open up a python repl in the environment where you installed the Feedparser package pythonFirstly import the package import feedparserNow we can use the module in our application to get all of the functions or methods from the package Parse an RSS feed URLTo parse an RSS feed link we can simply use the parse function from the feedparser package The parse function takes in a string that can be a URL or a file path Generally the URL seems to be more useful So we can look up any RSS feed on the internet like your blog s feed publications feeds and so on feedparser parse url of the rss feed The parse function basically fetches the feed from the provided URL or the file It extracts the feed in a systematic way storing each piece of information in a structured format At the high level it returns a dictionary with a few key value pairs Further each key might have a list or nested dictionaries in it The key identifiers are named in a uniform manner for any feed you parse in the function Though there might be a few cases where there might be additional information to be parsed it can even add more information ad shape the structure accordingly This will give you a dictionary in python that can have more or less similar keys The most common keys that can be used in extracting information are entries and feed We can get all the keys associated with a feed that is parsed using the keys function feedparser parse url of the rss feed keys The keys function basically gets all the keys in the dictionary in python gt gt gt feedparser parse keys dict keys bozo entries feed headers etag href status encoding version namespaces This will give out a list of all the keys in the feed which we have parsed from the RSS feed previously From this list of keys we can extract the required information from the feed Before we extract content from the feed we can store the dictionary that we get from calling the parse function We can assign it to a variable and store the dictionary for later use feed feedparser parse url of the rss feed Extract the contents from the feedNow we have the dictionary of the feed we can easily access the values from the listed keys We can get the list of all the posts podcasts entries or any other form of content the feed is serving for from the entries key in the dictionary To get more information and the most possible keys in the returned dictionary you can refer to the feedparser reference list Access Articles from FeedTo access the articles from the feed we can access those as a list of the articles Using the entries key in the dictonary as follows feedparser parse url of the rss feed entries ORfeedparser parse url of the rss feed entriesIf you have already defined a variable set to the parse function you can use that for more efficient extraction feed feedparser parse url of the rss feed feed entries OR feed entries Get Number of Articles Entries from FeedTo get the number of entries in the list we can simply use the len function in python len feed entries OR len feedparser parse url of the rss feed entries This gives us the number of entries in the provided feed This is basically the list that stores all the content from the publication website So we can iterate over the list and find all the different attributes we can extract Get details of the entries from the feedTo get detail information about a particular article entry in the feed we can iterate over the feed entries list and access what we require So we will iterate over the entries and simply print those entries one by one to inspect what and how we can extract them for entry in feed entries print entry It turns out that every entry in the list is a dictionary again containing a few key value pairs like title summary link etc To get a clear idea of those keys we can again use the keys function in python feed feedparser parse url of the rss feed print feed entries keys gt gt gt feed entries keys dict keys title title detail authors author author detail published published parsed links link id guidislink summary summary detail tags Now we have all the keys associated with the entries we can now extract the specific details like the content like title author summary detail actual content in this case Though this might not be the same for all RSS feeds it might be very similar and a matter of using the right keyword for the associated keys in the list of dictionaries Let s say we want to print out the titles of all the entries in the feed we can do that by iterating over the entries list and fetching the title from the iterator as entry title if entry is the iterator for entry in feed entries print entry title Similarly we will get the links of the entries using the link key in the dictionary for entry in feed entries print entry link Get information about the Website PublicationTo get the metadata about the information you are extracting from i e the website or any publication we can use the key feed This key stores another dictionary as its value which might have information like title description or subtitle canonical url or any other data related to the website company feed feedorfeedparser parse url of the rss feed feedFrom this dictionary we can now simply extract the specific information from the keys But first as in the previous examples we need a clear idea of what are the keys in the dictionary where we can extract the specific value feed feed keys orfeedparser parse url of the rss feed feed keys Using the keys like title links subtitle we can get the information on the website company level and not related to the specific post in the entries list get the title of the webpage publicationfeed feed title get the links associated with the webpagefeed feed links get the cover image for the webpagefeed feed imageYou can further get information specific to your feed Checking for keys existence in the dictionary of feedWe also need to check for the existence of a key in a dictionary in the provided feed this can be a good problem if we are parsing multiple RSS feeds which might have a different structure This problem occurred to me in the making of podevcast where I had to parse multiple RSS feeds from different RSS generators Some of the feeds had the cover image but most of them didn t So we need to make sure we have a check over those missing keys feedlist for feed in feedlist feed feedparser parse feed print feed entries keys for entry in feed entries if image in entry image url entry image else image url feed feed image print image url gt gt gt feedlist gt gt gt for feed in feedlist feed feedparser parse feed for entry in feed entries if image in entry image url entry image else image url feed feed image print feed entries keys dict keys title title detail itunes title published published parsed id guidislink links link image summary summary detail content itunes duration itunes explicit subtitle subtitle detail itunes episode itunes episodetype authors author author detail dict keys title title detail links link published published parsed id guidislink tags summary summary detail content subtitle subtitle detail authors author author detail itunes explicit itunes duration As we can see we do not have an image key in the second RSS feed which means each entry doesn t have a unique cover image so we have to fetch the image from the feed key then the image key in the entries list As we can see here the image url will pick up the image key in the dictionary if it is present else we will assign it to another URL which is the website podcast cover image This is how we handle exceptions in providing the keys when there are multiple feeds to be extracted though they are quite similar they will have subtle changes like this that need to be handled and taken care of ConclusionFrom this little article we were able to understand and use the feedparser Python package which can be used to extract information from different feeds We saw how to extract contents for the entries a number of entries in the feed check for keys in the dictionary and so on Using Python s Feedparser package some of the projects I have created include podevcastdailydotdev bookmark cliDjango NewsletterFor further reading you can specifically target a feed type by getting the appropriate methods from the feedparser documentationThank you for reading if you have any suggestions additions feedback please let me know in the comments or my social handles below Hope you enjoyed reading Happy Coding |
2022-03-27 10:07:18 |
海外TECH |
DEV Community |
Monitoring Serverless Applications with Epsagon |
https://dev.to/ymwjbxxq/monitoring-serverless-applications-with-epsagon-m30
|
Monitoring Serverless Applications with EpsagonSome say that you cannot observe without monitoring Of course you can also go into production without monitoring in place but it will make your life extremely complicated if you must find a problem Considering that everything around us is running by software applications and competition is remarkably high in every sector we cannot allow our applications to underperform or have unresolved issues because we may have very high cost consequences All systems fail and every software has bugs Given that application performance monitoring is a crucial part of our development time we should aim to have a solution that mitigates issues before they become problems and let us face them No one wants to wake up in the middle of the night because of some unexpected situation you could find out by looking at your application during the development phases Selecting the right tool is essential for your business Bugs are expensive and quickly finding them will save you a lot of time money and mental health We all have been in a situation where we jump from one log to another trying to put all the pieces together and we all know that it is not funny when you have a production bug and your customers are facing some disruptions What should we look for Before shopping around I have heavily used what AWS offers to us It was important because all the products have their strengths and weaknesses I had to understand the limitations and the needs of my application to be successful For me the significant points are Alert systemReportsUser ExperienceEnd to end tracing with multiple accounts teamsSearchService MapsAWS Observability offers multiple services around Amazon CloudWatch X Ray and CloudWatch Insights Logging why By default it is not centralised and you have many log groups CloudWatch Logs Insights enables you to search and analyse your log data interactively up to log groups Metrics what Several services provide free metrics for resources by default Amazon CloudWatch can display all the services metrics of your account Tracing where Distributed tracing with X Ray helps you determine where the failures are Moreover they give you excellent visibility of performances Insights Collects and aggregates Lambda function runtime performance metrics and logs for your serverless applications You have everything you need in theory but you must actively enable tracing AWS X Ray Lambda Insights For example if you want to see a connection between your Lambda and a service like SQS you manually instrument the code to do so Let s take a simple case The X Ray will show you two traces like this Without connecting them and so at debug level you cannot follow a single request Because of this you won t know which request is causing a problem EpsagonEpsagon stitches together metrics logs and traces increasing observability and is almost painless The onboarding is straightforward You must deploy Epsagon CloudFormation into your AWS account by clicking one button Once your account is integrated you can auto trace your Lambda functions but I would not use this choice because with CI CD you want to be on top of your integration So in a few steps you are ready to go With CloudFormation you can configure your Lambda functions like this Globals Function Runtime nodejs x Environment Variables AWS NODEJS CONNECTION REUSE ENABLED EPSAGON TOKEN xxxxxxx EPSAGON DEBUG false Layers arn aws lambda eu central layer epsagon node layer In the Lambda code you need only to initialise the library and wrap your function import epsagon from epsagon import DynamoDB from aws sdk clients dynamodb import MyQuery from query myQuery epsagon init token process env EPSAGON TOKEN appName ApplicationName labels service xxx metadataOnly false const dynamoDbClient new DynamoDB DocumentClient const myQuery new MyQuery export const startExecution any epsagon lambdaWrapper async event SQSEvent Promise lt void gt gt do something Suppose you are now using SQS SNS EventBridge etc In that case Epsagon will trace them automatically for you without you adding instrumentation for each service and you will end up with a Service Map that will connect all your services like this Service Map is not helpful if you cannot search or filter Something convenient in Epsagon is the concept of tagging traces Tagging traces can help you enrich the data collected as part of the trace for two main reasons To pinpoint a specific event in our application To detect trends based on a unique business dimension Tagging adds more context to an existing trace You can do it in two ways and it depends on what you want to achieve By code epsagon label key value Indexing custom tags from your trace Now you can search traces and filter by your custom tags if you need The message s payload that triggers the Lambda function is something you are not getting with AWS X RAY but I have found it extremely useful Finally I would like to spend some words on the Alert system Compared to AWS options it is much easier plus you have better options out of the box like visibility on timeout and you get alerts if your Lambda is close to reaching the configured setting like Memory NoteEpsagon is now part of Cisco and FREE for everyone under the M trace which is a lot for many If you are over this limit I think you need to look for alternatives and there are many of them out there A good one is Lumigo ConclusionI like Epsagon However as I already mentioned every solution out there has its strength and weakness Thanks to the enhanced observability I can now find issues earlier before becoming a problem All the services are very similar but only a few do not require a code change For example writing code to instrument the tool writing uni tests is not where you want to go |
2022-03-27 10:04:49 |
海外TECH |
DEV Community |
Journey to AWS Certified Architect Professional |
https://dev.to/ymwjbxxq/journey-to-aws-certified-architect-professional-36a5
|
Journey to AWS Certified Architect ProfessionalMy journey to AWS certifications started in a time of the pandemic I started using the cloud much before but like the majority of people that I know I was shift and lift This practice could be a quick way to move to the cloud without touching the application However even if it reduces on premises infrastructure costs it is often inefficient and expensive because the ToC will still be high Moreover existing applications are often not correctly resized for the cloud and the infrastructure and setup are often over provisioned for the actual load Back in I started using AWS Lambda functions and since then I have learned more about others services moving to a cloud native setup Unfortunately I never had time to study and most companies where I worked never required them I had the opportunity to meet a great manager Clive Hibberd who believe in people and push me to do more not just the job We had a working application that was doing its job We decided that it was time to improve the current status so we moved to a serverless approach This post is not about the application but how I got into the AWS Certification circuit I needed to know more because I was alone on this serverless journey and could not talk about it because of the lack of knowledge interest around me except for the team that I was leading There are certifications which vary in content and difficulties I started the whole AWS certification journey with the Practitioner exam that is very easy for people already familiar with AWS I started with this because once you pass each exam you earn a discount for your next exam Initially my focus was on Architect AssociateDeveloper AssociateThere are some overlaps in the content requirement between the Solution Architect Associate and Developer exams They were great studying to confirm that was I was doing was correct Because the exams cover many services they will expand your visions on how you will architect your applications following best practice first and not the standard practice around us of let s build it and we will see later on Once I got those two certifications I thought I was done Still I took the SysOps Administrator Associate out of curiosity that I found personally boring and based on concepts that are most used if you do mostly lift and shift With the three Associate certifications in my pocket I advocate my team members do the same because I found benefits in seeing that we were doing things correctly Mostly they could see with their eyes that I was not crazy in saying and doing things in a certain way The knowledge acquired comes with a problem You will be asking questions more and more and keeping the bar high which could be seen as a problem by managers and colleagues It seems absurd but this is the reality so do not get upset if you start hearing them saying Certifications are not worth It would be best if you did not challenge the way we workBest practices do not apply here becauseCertifications are for you and trust me they are worthy and will give you confidence A Certification based on PositionAs I said there are certifications to take and I would suggest taking them based on your positions and speciality Suppose you are a PO PM QA and VP without technical knowledge In that case I think getting the Practioner is good because it will give you basic knowledge on the AWS Cloud platform and AWS core services and use cases billing and pricing models security concepts and how the cloud impacts your business If you are a team leader or a developer I suggest you take at least two Associate certifications Developer and Architect You will gain a good knowledge of AWS service best practices and use cases In addition you will know about AWS services you are not using every day gaining that experience and curiosity to push forward For Solution Architect I would say the three Associate are helpful to know the services especially if they need to talk to a developer or showcase something Still the Architect Professional is an excellent achievement on top of them The exam is complex not impossible and will test you in scenarios like migration and disaster recovery with multiple correct answers but only one is correct The amount of scenarios and services is immense which is why this certification is one of the most respected in the market Unless you are like me interested in knowing more about sectors you are not working on in your everyday life I will not be bothered to get this certification I took it because I got interested in migration plans disaster recovery and multi region design and wanted to move the bar higher How to prepareFor the Associate exams you will find a lot of materials and practise exams out there and they are well made and give you the confidence to pass the exam Professional and Speciality certifications are not enough and you should not rely on them They can help you understand the arguments but studying is up to you The primary resources are Udemy course by Stephane MaarekAWS White papers AWS videosAWS FAQ of each serviceAWS Developer guide for each service ConclusionCertifications do not make a job or a title but taking them as a companion while building things will help you a lot The order is not essential and you can pick the AWS certification that best matches your aptitude interest and professional goals Happy studying |
2022-03-27 10:04:08 |
海外TECH |
DEV Community |
Why Podcast Apps have no comment section? |
https://dev.to/ivanjeremic/why-podcast-apps-have-no-comment-section-1595
|
Why Podcast Apps have no comment section I find it weird that audio only podcast apps have no comment section like for example videos on youtube or vimeo I find this a good idea to have a discussion under the podcast but it is weird to me that no App has this yet I really think if nobody does this I will create my own App but I wanted to hear more opinions about it here on DEV so what do you all think |
2022-03-27 10:03:07 |
海外TECH |
DEV Community |
Fall in Love with Your Environment Setup : part-2 |
https://dev.to/sandeepk27/fall-in-love-with-your-environment-setup-part-2-3nkc
|
Fall in Love with Your Environment Setup part Run Scripts from Command LineRecommend Terminal for Mac Users Git Bash for Windows UsersWhen developing within an integrated system you will have to ditch notebooks and get used to running scripts commands from the command line Mac s Terminal app is ideal for this because it is Linux based and most apps are deployed to Linux machines in Production due to their cost effectiveness On a Windows you can get very close to Mac terminal functionality by using the Git Bash terminal that comes with Git for Windows Key differences in functionality include notepad instead of open for opening a fileshift ins to copy paste into from the terminalpython i instead of just python to use an interactive Python shell in the terminalFormat Your Command Line InterfaceNo matter the command line interface CLI you use it helps to format your CLI to work well with Git so that you know what branch you are working on and don t accidentally commit code to the wrong branch Edit and Debug Your CodeRecommend VS CodeWhile there are many IDE s out there Visual Studio Code VS Code is my favorite editor for local code editing I have also tried Atom PyCharm and Spyder I like VS Code for Python development because of its superior ability to trace function class definitions across nested files In PyCharm this feature stops working as the trace becomes more complex VS Code also has great source control features You can easily see what branch of the repo you are viewing in the bottom left of your screenIf you are working across multiple repos i e using one repo as a standard tools library that you import as a locally editable package you can easily see the changes across repos without having to “cd and “git status multiple times For example if you add a script in both the app and tools repos below you can view these changes simultaneously in VS Code s Source Control tab Additionally VS Code s Debugging tool is super helpful as long as you know the following tricks Select your Python Interpreter as your project s venv NOTE we will talk more about venv s later but it is important that the venv is in the root of your project Select a Python file to runSet breakpoints if desired by clicking in the left marginNavigate to the Debug tab and choose the “Python File ーDebug the currently active Python file for the Debug ConfigurationNOTE For this to work your VS Code workspace must be open to the directory the script is meant to be run from Thus it is easiest to have your scripts built to be run from the root of your project Step through the code and view the variables data created along the way Lastly when it is appropriate to use Jupyter notebook files i e for testing code snippets VS Code has a Jupyter extension to support this All you need to do is set the kernel to be the venv in the root of your project and install the ipykernel package when prompted The VS Code Exception Remote Code EditingDespite my love for VS Code when editing local files I have been disappointed by its remote edit packages Thus when working with remote files i e editing code hosted on a Linux machine I have found Atom to be the most useful due to its “ftp remote edit package Manage the Python Version You Use to Run Your CodeRecommend PyenvPyenv is a tool that allows you to seamlessly manage multiple Python versions on your machine at once While the same task can be accomplished with Anaconda Anaconda is a heavier install and not free for commercial use To get started using pyenv Install Pyenv ーMac Linux WindowsReference this list of useful pyenv commands bashprofile vs bashrcWhile reviewing the Mac and Linux pyenv install instructions you may notice that they are very similar barring one key difference ーthe Linux instructions include a bashrc file In Linux you can use the crontab to schedule jobs On my current project we use cron to run a script every minute to check if our apps are running and restart them if they aren t We use pyenv to control our Python version and initially installed pyenv on Linux the same way we had on our Macs only including pyenv in the bash profile file We could not figure out why our cron jobs weren t running when the same command worked fine when executed from the command line That s when we discovered the importance of the bashrc file Cron jobs that execute scripts use a non interactive shell login that loads startup files from the bashrc file not the bash profile file So it is important to add pyenv to both the bash profile and bashrc files during the Linux pyenv install Manage the Python Package Versions You Use to Run Your CodeRecommend PoetryCreating a Python virtual environment is crucial for dependency management For more information on what a virtual environment is and why you should always use one While pip installing from an up to date requirements txt file that specifies hard coded package versions is better than nothing this method fails to account for your dependencies dependencies For example you may think you only installed pandas to run your code but the pandas library is actually dependent on other packages You can easily cause errors when creating a virtual environment from a requirements txt if for example You specify a numpy version that is incompatible with the pandas version you specifiedYou specify a package version that has a numpy version that is incompatible with the numpy version needed for your pandas versionEven if there are no errors when creating the virtual environment from the requirements txt file team members may wind up with slightly different sub dependency versions which may cause problems down the line Thinking about sub dependencies can easily make your head spin Thankfully poetry accounts for all of these inter related dependencies and creates a “poetry lock file that you can push to your repo All your teammates need to do to mirror your setup is run the “poetry install command Is there a case where the lock file may actually cause issues among team members Yes but this case is the exception For example if your code is loading other repos as locally editable packages you won t want your team members to be locked into the absolute path of your space where you may be working on different git branches of the sub repos If you encounter a situation like this you can always revert to pip installing dependencies from a requirements txt with hard coded versions after controlling your Python version with pyenv Congratulations you now have an awesome environment setup You have all the tools you need too effectively Version control your codeRun scripts from command lineEdit and debug your codeManage the Python version you use to run your codeManage the Python package versions you use to run your codeI hope this helps and you find yourself ready to hit the ground running the next time you start a new project |
2022-03-27 10:01:14 |
海外ニュース |
Japan Times latest articles |
The making of Vladimir Putin |
https://www.japantimes.co.jp/news/2022/03/27/world/vladimir-putin-two-decade-rise/
|
enigma |
2022-03-27 19:13:00 |
海外ニュース |
Japan Times latest articles |
Wakatakakage outlasts Takayasu in playoff thriller to win Osaka Basho |
https://www.japantimes.co.jp/sports/2022/03/27/sumo/basho-reports/osaka-basho-day-15-wakatakakage-takayasu/
|
thrilling |
2022-03-27 19:25:48 |
ニュース |
BBC News - Home |
Ukraine: No Russia regime change plans, says Blinken |
https://www.bbc.co.uk/news/world-60891803?at_medium=RSS&at_campaign=KARANGA
|
putin |
2022-03-27 10:17:25 |
ニュース |
BBC News - Home |
England schools set for minimum week length in new rules |
https://www.bbc.co.uk/news/education-60875162?at_medium=RSS&at_campaign=KARANGA
|
children |
2022-03-27 10:53:27 |
ニュース |
BBC News - Home |
Minister vows 'tougher guidelines' after schoolgirl strip-searched |
https://www.bbc.co.uk/news/uk-england-london-60888317?at_medium=RSS&at_campaign=KARANGA
|
policy |
2022-03-27 10:39:57 |
サブカルネタ |
ラーブロ |
渡なべ@西早稲田、高田馬場 |
http://ra-blog.net/modules/rssc/single_feed.php?fid=197626
|
一粒万倍日 |
2022-03-27 11:00:56 |
北海道 |
北海道新聞 |
日本、ベトナム戦へ調整 サッカーW杯アジア最終予選 |
https://www.hokkaido-np.co.jp/article/661839/
|
大会出場 |
2022-03-27 19:20:57 |
北海道 |
北海道新聞 |
長万部―小樽、全面バス転換を正式決定 廃線時期焦点に |
https://www.hokkaido-np.co.jp/article/661787/
|
北海道新幹線 |
2022-03-27 19:34:55 |
北海道 |
北海道新聞 |
海底耕運、活性粘土散布、餌止め 道外の赤潮対策、道内でも可能性 |
https://www.hokkaido-np.co.jp/article/661844/
|
道東 |
2022-03-27 19:32:46 |
北海道 |
北海道新聞 |
維新の松井氏、参院選で自公打破 党大会、政権交代目標 |
https://www.hokkaido-np.co.jp/article/661843/
|
松井一郎 |
2022-03-27 19:22:00 |
北海道 |
北海道新聞 |
爽やかな白ワイン 小樽・祝津産ホタテと相性抜群 オサワイナリー発売 |
https://www.hokkaido-np.co.jp/article/661840/
|
白ワイン |
2022-03-27 19:12:00 |
北海道 |
北海道新聞 |
後志管内78人感染 新型コロナ |
https://www.hokkaido-np.co.jp/article/661774/
|
新型コロナウイルス |
2022-03-27 19:07:30 |
北海道 |
北海道新聞 |
裏金問題「政治不信招いた」 自民新潟県連の調査 |
https://www.hokkaido-np.co.jp/article/661838/
|
国土交通 |
2022-03-27 19:06:00 |
北海道 |
北海道新聞 |
31日に室蘭子ども劇場 |
https://www.hokkaido-np.co.jp/article/661833/
|
食器 |
2022-03-27 19:02:00 |
北海道 |
北海道新聞 |
韓国報道「火星15と結論」 核実験は4月にも可能か |
https://www.hokkaido-np.co.jp/article/661835/
|
聯合ニュース |
2022-03-27 19:02:00 |
北海道 |
北海道新聞 |
J1神戸に橋本拳人が加入 FIFA特例でロシアから |
https://www.hokkaido-np.co.jp/article/661834/
|
橋本拳人 |
2022-03-27 19:02:00 |
コメント
コメントを投稿