投稿時間:2022-04-21 03:33:53 RSSフィード2022-04-21 03:00 分まとめ(38件)

カテゴリー等 サイト名等 記事タイトル・トレンドワード等 リンクURL 頻出ワード・要約等/検索ボリューム 登録日
技術ブログ Developers.IO Rustでブラウザを操作する「rust-headless-chrome」を試してみた https://dev.classmethod.jp/articles/rust-headless-chrome/ rustheadlesschrome 2022-04-20 17:41:23
海外TECH Ars Technica Google Pixel Watch leak shows off round, all-glass design https://arstechnica.com/?p=1849347 designyears 2022-04-20 17:28:31
海外TECH Ars Technica Today’s best deals: Roomba robot vacuums, Apple iPads, and more https://arstechnica.com/?p=1849071 games 2022-04-20 17:16:17
海外TECH MakeUseOf How Does Linux Help Reduce E-Waste? https://www.makeuseof.com/ways-linux-reduces-ewaste/ disposal 2022-04-20 17:45:14
海外TECH MakeUseOf Practice Walking Meditation With Inspiring Apps and Videos https://www.makeuseof.com/practice-walking-meditation-inspiring-apps-videos/ Practice Walking Meditation With Inspiring Apps and VideosWalking meditation is a simple way to practice mindfulness while you re on the move and these videos and apps will help you get the most out of it 2022-04-20 17:30:15
海外TECH MakeUseOf Cursor Not Responding In a Specific Area in Windows? Here's the Fix! https://www.makeuseof.com/windows-11-cursor-not-responding-fix/ windows 2022-04-20 17:15:15
海外TECH MakeUseOf Zigma Aerio-300 Will Tell You How Bad Your Air Is (and Clean It!) https://www.makeuseof.com/zigma-aerio-300-smart-air-purifier-review/ Zigma Aerio Will Tell You How Bad Your Air Is and Clean It If you re in the market for an air purifier that can handle a large room you should grab this one with smart features and a built in PM sensor 2022-04-20 17:05:14
海外TECH DEV Community A Designer’s Perspective: How To Improve Communication Between Designers And Developers https://dev.to/loopstudioteam/a-designers-perspective-how-to-improve-communication-between-designers-and-developers-4fb5 A Designer s Perspective How To Improve Communication Between Designers And DevelopersAs a designer you take on a project carefully thinking about every detail to be every so often disappointed because the final product isn t exactly what you expected There are just too many factors that can lead a project astray For instance sometimes there are things designers take for granted or limits to the tools at hand Why is this outcome met so frequently In this article we share our ideas on how to improve and solve miscommunication which we consider in Loopstudio dev the core issue between designers and developers When We CollaborateThere are many different projects where designers and developers may be teamed up Most of the time these are websites web applications mobile applications and product interfaces In these instances it seems inevitable that the team encounters some communication issues that affect the project s outcome Thomas Peham in How to improve communication between developers and designers on web projects states that “Just because you have a great development team there s no reason to think that you can put your design ideas live in a shorter amount of time The same goes for a team of talented designers Developers shouldn t always expect an immediate answer to their questions if it means a design change Main Reasons for MiscommunicationDesign time estimates vary a lot Creative processes and applying them to an actual design sometimes take longer than expected It takes many back and forth with the clients and sometimes the developing team gets frustrated with all the design changes More so if they already began coding Designers leave things unspecified For instance element interactive behaviors and how they should adapt responsively Developers and designers have different mindsets Each team has different priorities backgrounds and approaches to work Designers focus on delivering a good user experience and an attractive interface On the other hand developers prioritize building a product that works it does what the product is intended to do there are no bugs and the performance is top notch This makes us have different perspectives on the project It is easy for developers to neglect design details that don t seem necessary to the product s functionality or for designers to have to redesign because we miss the requirements for developer toolsets We are teamed up but isolated in the tasks we each have For example the entire design process is given to the designers only which is perceived as the correct way to approach projects How to Improve CommunicationHaving these issues in mind we came up with a few ideas on improving communication and achieving better results Andrew Chalkley in Mindset Developer vs Designer states that “Design should lead the development and development should inform design Separating these two roles or facets of your application can cause bad experiences for users Besides having the usual kick off meeting whenever we approach a new project we recommend socializing with the development team and give them access to design source files The sooner they are involved in the design process the better Include both teams in meetings with the client to figure out what the product should accomplish This way designers and developers are on the same page on how they will approach the project You can also create Slack channels to share ideas ask questions and keep the teams updated Invite the developers into your design process and allow them to pitch in on the user stories and flows You can make sure everything is considered the most efficiently and effectively possible and find the best road to design the user interface with no compromises It is crucial to highlight that design sprints are essential to every project Apart from the kick off gathering it comes in handy to hold a meeting the day the sprint starts Together the whole team can review the features to be tackled and the corresponding designs to evaluate if everything s in its place Each element component receives a closer look in these meetings contemplating the future logic so more tangible things come out Allowing both teams to align themselves will enable the design team to address these improvements changes etc during the first days of the sprint and improve the general workflow Developers need to understand the whole design system atomic units of measurements and grids We can help them by giving them access to the design files right from the beginning as we mentioned earlier and by using collaborative tools like Figma and Zeplin These tools can turn designs into code and allow developers to inspect the designs properly By clicking the Inspect tab on the right bar menu developers can easily access the design s CSS code Figma accommodates all the tools that a designer could dream of It includes collaborative designing and prototyping all in one in addition to being an online tool that won t clutter your computer s drive with heavy files and images Another useful tool is Bugherd By installing Bugherd in your websites undergoing development designers can point out implementation details that don t match their designs Then developers can adjust their code to better represent the designs Comments in Figma work in the same way for developers For example they can indicate their doubts or concerns in the design files Connecting these tools to Slack can be convenient so everyone can keep up to date in real time Making a detailed document explaining the default status of each element and how they will change in different instances of your design system can be crucial Getting the developer s feedback early on is critical to detect oversights of this kind Moreover developers can let you know if a feature interaction or animation is complex or simple to implement so that you can adjust the design accordingly Providing developers with detailed documentation explaining things that aren t apparent or obvious whenever handing off a design can save time in the future A great way to ease the flow of conversation is to create a safe space for discussion within the team a place where developers can suggest design changes without feeling like stepping in on the designers work If we don t have these instances the whole team structure could fall apart You can build a regular back and forth daily meeting virtual or face to face to keep up with each other s processes and any doubts that arise This approach wouldn t work if we were working with someone you ve never had a conversation with before The pandemic has reduced our communication and sharing points However people are slowly coming back to the office By having community tables where developers and designers can casually discuss they become more comfortable around each other Communication can flow much more easily when working on a project and building more positive relationships with your coworkers will make it effortless It is worth clarifying that feeling insecure about developers pointing out something that you as a designer hadn t thought about is normal But let that be a lesson embrace it and take it as an opportunity for you to grow as a professional There are lots of things that designers will oversee and vice versa Thus the collaboration of both teams working together is what leads to a better outcome Closing thoughtOur ability to communicate and work within a team is essential and can make us better designers or developers Respecting each other s work and giving a hand whenever a teammate needs it is key to understanding that collaboration is the best way to achieve a great product effectively AcknowledgementsI would like to thank Eugenia Godoy and the entire LoopStudio team for their help writing this post ReferencesPeham T How to improve communication between developers and designers on web projects Retrieved from Chalkley A Mindset Developer vs Designer Retrieved from 2022-04-20 17:39:24
海外TECH DEV Community React Virtual DOM https://dev.to/pujakundu/react-virtual-dom-4f54 React Virtual DOM What is DOM Document Object Model or simply DOM is an Application Programming Interface API for HTML and XML documents When a browser receives an HTML file it parses it and builds a DOM tree HTML elements are considered nodes in a DOM tree What is Virtual DOM Virtual DOM or VDOM is a virtual representation of the real DOM It has the same properties as the real DOM but it can not directly change what s on the screen React uses virtual DOM Why We will get into that now Is the real DOM really slow What is the first thing that comes to your mind when anybody asks why React uses Virtual DOM What s wrong with using the real DOM Well it s because the real DOM is really slow Is it though Adding or removing any element from DOM is actually pretty fast Then why is it called slow When we change something in a React component that change has to be shown on the screen The process of showing the changes in the UI is slow Upon receiving an HTML file the browser render engine parses it and makes a DOM tree In the same way the styles in the CSS file are parsed into CSSOM Both DOM and CSSOM make a render tree The render tree has to go through a phase called Layout In the Layout phase the coordinates of the elements of a render tree are found The coordinates are used to determine the exact position where the elements will be shown on the screen Lastly in the Painting phase the elements are displayed on the screen When we make any changes in a DOM the browser has to build the render tree all over again This repainting process is slow How virtual DOM worksVirtual DOM represents the same DOM elements When we make any change in a react component every single virtual DOM gets updated Before updating the VDOM a snapshot is taken This snapshot is then compared to the updated virtual DOM to figure out which VDOM object has changed This process is called diffing When react knows which object has changed it updates only those objects in the real dom These changes in the real DOM cause the screen to change 2022-04-20 17:35:52
海外TECH DEV Community Coding standards: what are they and why do you need them https://dev.to/codacy/coding-standards-what-are-they-and-why-do-you-need-them-51db Coding standards what are they and why do you need themWhile often ignored coding standards are crucial to creating a consistent and readable codebase  Have you ever tried writing and understanding code on a large codebase that doesn t follow coding standards It can be quite a messy and unmaintainable process But on the other hand having coding standards can significantly impact your software development process and code quality  Continue reading to understand what coding standards are why they are important and the best practices to use them What are coding standards Code standards are rules techniques and guidelines to create cleaner better readable and more efficient code with minimal bugs and errors In addition they offer a uniform way for developers to build highly functional code Remember that coding standards are not personal opinions they are concrete rules determining your code s programming style procedures and methods Therefore they need to be explicitly defined and made available to developers Coding standards make sure all developers follow specified guidelines As a result every developer even newcomers can easily understand debug and maintain the code Ideally your team s source code should look like it was written by a single developer in a single session Why are coding standards necessary They reduce security concerns and performance issues that might have resulted from poor coding practices They help guarantee code quality making your code easier to read analyze and work through The code also becomes easier to maintain and extend even by new developers  They lead to lower code complexity and more elegant design solutions Any developer can examine any part of the code understand it and change it independently of when and who wrote it Advantages of using coding standardsEnhancement of the efficiency of the software development process developers spend a large part of their time fixing code quality issues that could have been avoided Implementing coding standards will help your team detect the problems early on or prevent them entirely Reduction in the code complexity and the number of bugs if your codebase is unnecessarily complex the chances of being vulnerable to errors and bugs are higher Coding standards help you develop less complex software and therefore reduce errors Improvement of the bug fixing process with coding standards it becomes easier for developers to locate and correct bugs in the source code because it is written in a consistent manner Improvement of the code maintenance process if developers are following coding standards the code is consistent and can be easily maintained Anyone can understand it and modify it easily at any time Reduction of development cost and time by enabling reusability A clear code allows the developers to reuse the code whenever required Reusability can radically reduce the cost and time of the development process Better team integration onboarding new developers become painless because the code is uniform and effortless to understand New team members can quickly comprehend the codebase and they know how to contribute to it in the same consistent way Best practices for using coding standardsUnderstand why you are using coding standards remember that using coding standards improve your code s readability maintainability and portability Choose the best coding standard for your industry or primary programming language there are coding standards and style guides for specific application domains or programming languages For example see how to implement the Google JavaScript style guide with Codacy Describe the intent behind each rule if you are using an internal standard each rule or guideline that you are implementing should have a clear description You need to summarize the rules intent and provide deeper context for why they are there Update coding standards with care naturally your organization will evolve and your coding standards might change or you might update them over time However frequent updates may not be a good practice because it s harder to constantly stay up to date Prioritize coding rules when you first check your code against a coding standard you might get a lot of problems Categorizing the rules with a severity matrix helps you assess code quality and prioritize bug fixes Plan for rule deviations coding standards do not fit all situations and there might be some exceptions You need to decide which guidelines can be deviated from and which cannot specify how a deviation can be done property and list what needs to be documented when a deviation takes place Educate your team providing support materials can help your team better understand the coding standards and why they need to be applied If your team knows the advantages they will also be more motivated to follow the coding standards Webinar Don t drop the ball Keeping your code up to standardsAre you interested in getting deeper into coding standards Hélio Rocha our Technical Solution Manager will explore the impact of coding standards in your development process and answer the following questions Why do we need coding standards What are some challenges and best practices How can we automate code standards with Codacy to consistently keep our code up to standards Join us in our Webinar Don t drop the ball Keeping your code up to standards See you there When April th pm UTC am CDTWhere onlineSave me a seat 2022-04-20 17:35:37
海外TECH DEV Community Understanding SushiSwap's MasterChef staking rewards https://dev.to/heymarkkop/understanding-sushiswaps-masterchef-staking-rewards-1m6f Understanding SushiSwap x s MasterChef staking rewards IntroductionAs part of my goal to migrate from Web to Web development I m building a DeFi application from scratch to learn and practice solidity My journey from Web Dev to Web Dev Part Mark Kop・Mar ・ min read web blockchain smartcontracts devjournal I ve started with the staking implementation and used as reference a smart contract from a DeFi that I ve been using lately Turns out that most staking contracts are a copy from SushiSwap s MasterChef contract While reading the contract I could understand how the staking rewards were actually calculated function pendingSushi uint pid address user external view returns uint PoolInfo storage pool poolInfo pid UserInfo storage user userInfo pid user uint accSushiPerShare pool accSushiPerShare uint lpSupply pool lpToken balanceOf address this if block number gt pool lastRewardBlock amp amp lpSupply uint multiplier getMultiplier pool lastRewardBlock block number uint sushiReward multiplier mul sushiPerBlock mul pool allocPoint div totalAllocPoint accSushiPerShare accSushiPerShare add sushiReward mul e div lpSupply return user amount mul accSushiPerShare div e sub user rewardDebt I mean it s easy to see that tokens are minted for each block and distributed between all stakers according to their participation in the pool However it s not clear what role the variables accSushiPerShare and rewardDebt play in this calculation In this blog post I want to share how I managed to understand the logic behind this MasterChef contract and explain why it s written this way Let s start by first figuring out ourselves what would be a fair reward for stakers Simple Rewards SimulationLet s assume thatRewardsPerBlock On block Staker A deposits On block Staker B deposits On block Staker A harvests all rewardsOn block Staker B harvests all rewardsOn block both stakers harvests all rewards Staker A deposits on block and ten blocks later Staker B deposits For the first ten blocks Staker A had of their rewards which is From block to BlocksPassed BlockRewards BlocksPassed RewardsPerBlock BlockRewards StakerATokens TotalTokens StakerAShare StakerATokens TotalTokensStakerAShare StakerAAccumulatedRewards BlockRewards StakerAShareStakerAAccumulatedRewards On block Staker B deposits Now on block Staker A is harvesting its rewards While they got rewards from blocks to from to they are only getting From Block to BlocksPassed BlockRewards BlocksPassed RewardsPerBlock BlockRewards StakerATokens StakerBTokens TotalTokens StakerAShare StakerATokens TotalTokensStakerAShare StakerAAccumulatedRewards BlockRewards StakerAShare StakerAAccumulatedRewardsStakerAAccumulatedRewards StakerBShare StakerBTokens TotalTokensStakerBShare StakerBAccumulatedRewards BlockRewards StakerBShareStakerBAccumulatedRewards Staker A harvests and StakerAAccumulatedRewards resets to Staker B has accumulated for these last blocks Then more blocks pass and B decides to harvest as well From Block to BlocksPassed BlockRewards StakerATokens StakerBTokens TotalTokens StakerAAccumulatedRewards StakerBAccumulatedRewards Staker B harvests and StakerBAccumulatedRewards resets to Finally both staker harvest their rewards on block From Block to BlocksPassed BlockRewards StakerATokens StakerBTokens TotalTokens StakerAAccumulatedRewards StakerBAccumulatedRewards Staker A harvests and B harvests Staker has harvested in total and B The implementationThis way for each action Deposit or Harvest we had to go through all stakers and calculate their accumulated rewards Here s a simple staking contract with this implementation The updateStakersRewards is responsible to loop over all staker and update their accumulated rewards every time someone deposits withdraws or harvests their earnings But what if we could avoid this loop Applying some math manipulationIf we see Staker A rewards as a sum of their rewards on each group of blocksStakerARewards StakerAtoRewards StakerAtoRewards StakerAtoRewards StakerAtoRewardsAnd if we see their rewards from the block N to M as the multiplication between the rewards that were distributed in the same range by their share in the same rangeStakerANtoMRewards BlockRewardsOnNtoM StakerAShareOnNtoMThen we get the staker rewards as the sum of the multiplication between the rewards and their share for each range up to the endStakerARewards BlockRewardsOnto StakerAShareOnto BlockRewardsOnto StakerAShareOnto BlockRewardsOnto StakerAShareOnto BlockRewardsOnto StakerAShareOnto And using the following formula that represents the staker share as their tokens divided by the total tokens in the poolStakerAShareOnNtoM StakerATokensOnNtoM TotalTokensOnNtoMWe have thisStakerARewards BlockRewardsOnto StakerATokensOnto TotalTokensOnto BlockRewardsOnto StakerATokensOnto TotalTokensOnto BlockRewardsOnto StakerATokensOnto TotalTokensOnto BlockRewardsOnto StakerATokensOnto TotalTokensOnto But in this case the staker had the same amount of tokens deposited at all rangesStakerATokensOnto StakerATokensOnto StakerATokensOnto StakerATokensOnto StakerATokensThen we can simplify our StakerARewards formulaStakerARewards BlockRewardsOnto StakerATokens TotalTokensOnto BlockRewardsOnto StakerATokens TotalTokensOnto BlockRewardsOnto StakerATokens TotalTokensOnto BlockRewardsOnto StakerATokens TotalTokensOnto And by putting StakerATokens on evidence we have thisStakerARewards StakerATokens BlockRewardsOnto TotalTokensOnto BlockRewardsOnto TotalTokensOnto BlockRewardsOnto TotalTokensOnto BlockRewardsOnto TotalTokensOnto We can make sure that it works with our scenario by replacing these big words with numbers and getting the total rewards for Staker AStakerARewards StakerARewards Which matches with we were expectingLet s do the same for staker BStakerBRewards BlockRewardsOnto StakerBTokens TotalTokensOnto BlockRewardsOnto StakerBTokens TotalTokensOnto BlockRewardsOnto StakerBTokens TotalTokensOnto StakerBRewards StakerBTokens BlockRewardsOnto TotalTokensOnto BlockRewardsOnto TotalTokensOnto BlockRewardsOnto TotalTokensOnto StakerBRewards StakerBRewards Now that both stakers rewards are matching with what we ve seen before let s check what we can reuse in both rewards calculation As you can see both stakers rewards formulas have a common sum of divisions The SushiSwap s contract call this sum accSushiPerShare so let s call each division as RewardsPerShareRewardsPerShareOnto RewardsPerShareOnto RewardsPerShareOnto RewardsPerShareOnto And instead of accSushiPerShare we will call their sum AccumulatedRewardsPerShareAccumulatedRewardsPerShare RewardsPerShareOnto RewardsPerShareOnto RewardsPerShareOnto RewardsPerShareOntoThen we can say that StakerARewards is the multiplcation of StakerATokens by AccumulatedRewardsPerShareStakerARewards StakerATokens AccumulatedRewardsPerShareSince AccumulatedRewardsPerShare is the same for all stakers we can say that StakerBRewards is that value minus the rewards they didn t get from blocks toStakerBRewards StakerBTokens AccumulatedRewardsPerShare RewardsPerShareOnto This is important because even though we can use AccumulatedRewardsPerShare for every staker rewards calculation we have to subtract the RewardsPerShare that happened before their Deposit Harvest action Let s find out how much the Staker A has harvested on their first harvest using what we discovered out so far Finding out rewardDebtWe know that the rewards that Staker A got is the sum of their first and last harvest that is from blocks to and to Also we know that we can get the same value with the StakerARewards formula we just used aboveStakerARewards StakerARewardsOnto StakerARewardsOntoStakerARewards StakerATokens AccumulatedRewardsPerShareIf we isolate StakerARewardsOnto in the first formula and replace its StakerATokens with the second oneStakerARewardsOnto StakerARewards StakerARewardsOntoStakerARewards StakerATokens AccumulatedRewardsPerSharewe getStakerARewardsOnto StakerATokens AccumulatedRewardsPerShare StakerARewardsOntoNow we can use the following formula for blocks toStakerARewardsOnto StakerATokens AccumulatedRewardsPerShareOntoAnd replace StakerARewardsOnto in the previous oneStakerARewardsOnto StakerATokens AccumulatedRewardsPerShare StakerATokens AccumulatedRewardsPerShareOntoNow you might have noticed that we can isolate StakerATokens againStakerARewardsOnto StakerATokens AccumulatedRewardsPerShare AccumulatedRewardsPerShareOnto And that s very similar to the formula we got for StakerBRewards previouslyStakerBRewards StakerBTokens AccumulatedRewardsPerShare RewardsPerShareOnto We can also replace some values to check if it actually worksStakerATokens AccumulatedRewardsPerShare AccumulatedRewardsPerShare StakerARewardsOnto StakerATokens AccumulatedRewardsPerShare AccumulatedRewardsPerShareOnto StakerARewardsOnto StakerARewardsOnto So yeah it works This means that if we save the AccumulatedRewardsPerShare value multiplied by the staker tokens amount each time their deposits or withdraws we can use this value to simply subtract it from their total rewards This is called rewardDebt on the MasterChef s contract It s like calculating a staker total rewards since block but removing the rewards they already harvested or the rewards their were not eligibly to claim because they weren t staking yet The AccumulatedRewardsPerShare implementationUsing the previous contract as base we can simply calculate accumulatedRewardsPerShare on updatePoolRewards function renamed from updateStakersRewards and get the staker rewardsDebt each time they perform an action You can see the diff code on this commit Gas SavingThe reason we are avoiding a loop is mainly to save gas As you can imagine the more stakers we have the more expensive the updateStakersRewards function gets We can compare both gas spending with a hardhat test it only Harvest rewards according with the staker pool s share async function Arrange Pool const stakeToken rewardToken await stakeToken transfer account address ethers utils parseEther await createStakingPool stakingManager stakeToken address const amount ethers utils parseEther const amount ethers utils parseEther Arrange Account staking await stakeToken approve stakingManager address amount await stakingManager deposit amount Arrange Account staking await stakeToken connect account approve stakingManager address amount await stakingManager connect account deposit amount Act const accHarvestTransaction await stakingManager harvestRewards const accHarvestTransaction await stakingManager connect account harvestRewards Assert blocks with participation reward tokens blocks block with participation reward tokens block Account Total reward tokens const expectedAccountRewards ethers utils parseEther await expect accHarvestTransaction to emit stakingManager HarvestRewards withArgs account address expectedAccountRewards block with participation reward tokens block Account Total reward tokens const expectedAccountRewards ethers utils parseEther await expect accHarvestTransaction to emit stakingManager HarvestRewards withArgs account address expectedAccountRewards With hardhat gas reporter we can see how much expensive each implementation is For the first one loop over all stakers For the last one use AccumulatedRewardsPerShare That s a whole gas saving even with only two stakers That s why SushiSwap s MasterChef contract is similar to the last one I showed In fact is even more efficient because it doesn t have a harvestRewards function The harvesting happens when the deposit function is called with amount What about the e mul and div Since accSushiPerShare can be a number with decimals and Solidity doesn t handle float numbers they multiply sushiReward by a big number like e when calculating it and then divide it by the same number when using it ConclusionI couldn t move on with my project without understanding how most DeFis were calculting their rewards and spent my latest days figuring out how the SushiSwap s contract worked I could only understand the meaning of some MasterChef variables specially accSushiPerShare and rewardDept after implementing and manipulating the math in the rewards system myself While I ve found some material explaining the contract all of them were too superficial So I decided to explain it myself I hope this can be helpful for anyone who is also studying DeFi in more depth 2022-04-20 17:33:27
海外TECH DEV Community How to get the order on fiverr anyone help me? https://dev.to/muzamil00/how-to-get-the-order-on-fiverr-anyone-help-me-2i3p Detail Nothing 2022-04-20 17:31:50
海外TECH DEV Community New to Docker? Try it out for free! https://dev.to/mwagner24/new-to-docker-try-it-out-for-free-dbe New to Docker Try it out for free Docker is a powerful tool used to for containerization of microservices This provides a quick way to spin up sections of an application or website that are needed at the time and spin them down after their function is served This process saves server space money and makes it easier for pushing updates and fixes to a part of the project without breaking the whole thing The Good and BadDownside the full power of Docker costs money But you are able to use a free virtual server on Play with Docker to sharpen your skills test out projects or just learn how it all works Try it OutIf you click the link above you ll be brought to Docker s free service where you get the full experience of Docker for hours at a time I m going to show deploying a project on Github named HAXcms HAXcms is a next gen content management system fully built out of the open source project HAX Headless Authoring eXperience StepsClick the Login button on Play with Docker s homepage and either login or create a new account don t worry it s free Once you re logged in hit the Start button and you will be brought to a page that looks like this From here you want to click the Add New Instance button which will spin up a virtual server for you to run your project on Now since we ve started an instance we can begin running commands to build and run our project Start by cloning the HAXcms project into your instance by clicking in the black box typing git clone then hit Enter You ll see the progress of the project being cloned into your environment Once it s done cloning let s navigate to that folder with cd HAXcms Now we re going to build an image of the project We do this by running docker build t haxcms docker build is our command to run the build selects the files in our project and t haxcms declares the name of the image we re making Once your image is built we re ready to run the project in our container Run docker run dp haxcms and you ll notice a blue link shows up next to the Open Port button Click that link and a new tab will open with the running project on your computer You re all set That s the basics to getting a project running with Play with Docker If you d like to run your own project or another project you ve found you can follow the same steps and replace the HAXcms areas with any project you d like 2022-04-20 17:26:43
海外TECH DEV Community My beginner project roadmap https://dev.to/peeleebee/my-beginner-project-roadmap-5645 My beginner project roadmapI am currently in my second year finishing up my fourth semester of computer science in college and I ve come to a realization I embarrassingly don t actually have that much code under my belt Obviously I have been learning a lot in this time but it s been foundational knowledge such as data structures algorithms hardware and I have not put them to use yet I have implemented Karatsuba s algorithm but I haven t made a UI I decided I ve had enough beating around the bush building my fundamentals and I want to make something What am I making There is an old adage for writers write what you know Frank Herbert spent years researching and studying desert ecology and used all the knowledge he built up to write the Dune books It was praised for its great plot and writing and also for the world building and how accurate it was and felt like a desert planet Through understanding his source material he was able to tailor his vision around it Why am I bringing up science fiction writers from the s Because for what I want to make I believe in my made up principle code what you know I had ideas for web apps and mobile apps I would love to use personally so I wanted to make them myself However for every idea somebody has already done it There are millions of websites and apps out there that already exist for everything so what do I have to offer with my project I boldly proclaim they all suck Many are outdated awkward to use lacking features and don t feel intuitive I am over exaggerating when I say all but many websites and apps I use don t feel great and I think I can try to do better There s nothing better than a seamless experience and I want to create these experiences for practical daily use programs I would use Now what are you actually making Sorry for my rambling but yes to the point what am I making I have been going to the gym and lifting for a little less than a year and one thing about lifting is that it s a good idea to write down your routine and track your lifts and progress Naturally once I started I tried using some gym apps for this off the google play store and I hated them They felt clunky in practice and had little things that felt like it wasn t actually made by somebody who s stepped foot in a gym My solution Create a gym app myself using my experiences and knowing what I a semi frequent lifter would want out of it What do I want A clean and responsive UI the ability to make and follow a routine while having flexibility to not follow it to a T during a workout and robust progress tracking The roadmapI have talked to a few friends and senior CS students who have more experience than me and I ve come up with a roadmap on how I am going to develop this I have three main stages learning making and finishing LearningThere is gonna be a lot I have to touch up on and learn before I make this app First I am learning JavaScript right now as I plan to make this app using the React Native framework and NodeJS Then I am going to learn NodeJS for the backend and React Native for the front end These are all valuable tools that are widely used in the industry and will allow me to make the app cross platform I am excited about learning JavaScript as it is one of the most popular languages and is also required for web development which I plan to learn in the near future Next I m going to have to learn the basics of databases and SQL This one I m a little intimidated about as I m going to have to create the format for my databases and be able to read from and write to them without formal knowledge I remember somebody mentioned that databases need to be formatted in very specific ways I would learn during my database management class which I m not taking until next semester There is a lot of free information on the internet and I do hope that I am able to scrape on it to make the app functional before I do formally learn about databases Last I just need to touch up on my github skills which shouldn t take too long I want to keep the project open sourced to have a good backlog for myself and for potential employers to see MakingMy first step in making the app is going to be creating the databases and connecting them to be able to be read from and written to through the app using SQL and NodeJS Once I have the core features made here I m going to have to design the UI I plan on experimenting with Figma first and then doing it for the app in React Native I m sure there is some inaccuracies here but this is just my general understanding of it right now and I m going to figure it out a bit more as I learn more how these tools work FinishingOnce I make the rough draft for my app I definitely need to debug it and also user test it with myself and other people I know I m going to have to fix both user experience and technical issues Once I am satisfied enough with the app I can release version But development never ends There are always going to be bugs I missed optimizations to be made and features to be added This is just my proposal of everything I want the app to have at a minimum and how much I think I could realistically do while working during the summer which is totally subject to change Depending on the time line of development if I have more time than I thought I would I d definitely love to create online features But that time will come when it comes ConcludingIf you ve made it this far thank you I am very excited going into this I m in a continual process of learning and I hope doing this project will teach me a lot and make me more industry ready I am open to any and hoping for criticism and advice This has been much lengthier than I thought it would Hope it s been entertaining and I definitely plan to blog like this more 2022-04-20 17:26:16
海外TECH DEV Community Kubernetes Learning Part III - K8s Concepts, Pods and Init-Containers https://dev.to/kcdchennai/kubernetes-learning-part-iii-k8s-concepts-pods-and-init-containers-1pcn Kubernetes Learning Part III Ks Concepts Pods and Init Containers Kubernetes Learning Part III Table of ContentsIntroductionKubernetes objectsKubernetes APIWorkloadsPodsPod controllersInit containers and App containersInit ContainerKubernetes yamlFunctionality of the sample Pod definitionRun the Pod DefinitionVerify PodVerify the Nginx Container ContentConclusionFurther Reference IntroductionThis is part III of the Kubernetes learning series In this blog we will discuss the concepts like Kubernetes objectsPods init containers and Kubernetes Yaml structure Please note these concepts definitions are picked up from Kubernetes documentation Also to note documentation usually has more topics to cover so I have hand picked some important concepts for the purpose of learning This blog is part of the Kubernetes Learning series Kubernetes objectsKubernetes objects are persistent entities in the Kubernetes system Kubernetes uses these entities to represent the state of your cluster Specifically they can describe What containerised applications are running and on which nodes The resources available to those applicationsThe policies around how those applications behave such as restart policies upgrades and fault toleranceA Kubernetes object is a record of intent it means once you create the object the Kubernetes system will constantly work to ensure that object exists By creating an object you re effectively telling the Kubernetes system what you want your cluster s workload to look like this is your cluster s desired state We ll need to use the Kubernetes API to work with Kubernetes objects whether to create modify or delete them kubectl command line interface or simply CLI makes the necessary Kubernetes API calls for you We can also use the Kubernetes API directly in your own programs using one of the Client Libraries It is for advanced or pro users Kubernetes APIThe core of Kubernetes control plane is the API server The API server exposes an HTTP API that allows end users different parts of your cluster and external components to communicate with one another The Kubernetes API lets you query and manipulate the state of API objects in Kubernetes for example Pods Namespaces ConfigMaps and Events Most operations can be performed through the kubectl command line interface or other command line tools such as kubeadm which in turn use the API However you can also access the API directly using REST calls WorkloadsA workload is an application running on Kubernetes Whether your workload is a single component or several that work together on Kubernetes you run it inside a set of pods In Kubernetes a Pod represents a set of running containers on your cluster PodsPods are the smallest deployable units of computing that you can create and manage in Kubernetes A Pod is a group of one or more containers with shared storage and network resources and a specification for how to run the containers A Pod models an application specific logical host it contains one or more application containers which are relatively tightly coupled In Kubernetes pods have a defined life cycle For example once a pod is running in your cluster then if the node that runs the pod fails then all the pods in that node also will fail Kubernetes treats that level of failure as final so it would need to create a new Pod to recover even if the node later becomes healthy However to make life considerably easier we don t need to manage each Pod directly Instead we can use workload resources that manage a set of pods on your behalf These resources configure controllers that make sure the right number of the right kind of pod are running to match the state you specified in the config Pod controllersWe can use workload resources to create and manage multiple Pods for us A controller for the resource handles replication and rollout and automatic healing in case of Pod failure For example if a Node fails a controller notices that Pods on that Node have stopped working and creates a replacement Pod The scheduler places the replacement Pod onto a healthy Node Here are some examples of workload resources that manage one or more Pods Deployment Manages the replicated applicationStatefulSet Manages deployment and scaling of Pods with durable storage and persistent identifier for each podDaemonSet Ensures a copy of pod is running across the nodes in the clusterThe diagram below depicts A multi container Pod that contains a file puller and a web server that uses a persistent volume for shared storage between the containers In this example the pod has a container that acts as a web server for files in a shared volume and a separate sidecar container that updates those files from a remote source Init containers and App containersSo the file puller is an init container and webserver is an app container in this example Init containers run and complete before the app containers are started Pods natively provide two kinds of shared resources for their constituent containers networking and storage Init ContainerThese containers are short lived containers which runs in the same pod and used to perform below functions and then dies To install utility tools required for the app containersIt can create some necessary config files or dependent files required for the app containersWe can compare the init containers with the similar functionality of cloud init userdata or metadata scripts used in the Cloud service providers instance creation Kubernetes yamlEvery Kubernetes object includes two nested object fields that govern the object s configuration the object spec and the object status For objects that have a spec you have to set this when you create the object providing a description of the characteristics you want the resource to have its desired stateBelow is the structure of a Kubernetes config yaml file apiVersion kind metadata spec Here is the yaml config definition for the Pod that contains an init container and nginx app containerSave the file as initcontainer ymlapiVersion vkind Podmetadata name init demo pod labels tier frontendspec restartPolicy Always containers name nginx image nginx alpine ports containerPort resources limits memory Mi cpu m volumeMounts name workdir mountPath usr share nginx html These containers are run during pod initialization initContainers name install image busybox command wget O work dir index html volumeMounts name workdir mountPath work dir dnsPolicy Default volumes name workdir emptyDir Functionality of the sample Pod definitionIt has two Pods defined App container pod which runs nginx appInit container pod which runs busy box containerResponsibility of the init container is to run the wget command over the url and it adds the output to the mounted value path usr share nginx html Run the Pod DefinitionWe can run the pod definition using kubectl create command with option f kubectl create f initcontainer yml pod init demo created Verify PodUse kubectl get po command to check the current state of Pod kubectl get po init demoNAME READY STATUS RESTARTS AGEinit demo Running mAnd then use kubectl describe po command to see the full details of Pod events container image used volume information and init container execution details kubectl describe po init demoName init demoNamespace defaultPriority Node minikube Start Time Sun Sep Labels tier frontendAnnotations lt none gt Status RunningIP IPs IP Init Containers install Container ID docker dabfccbefcacdeacecee Image busybox Image ID docker pullable busybox sha bddfacfbedcaeeacbbdafaecb Port lt none gt Host Port lt none gt Command wget O work dir index html State Terminated Reason Completed Exit Code Started Sun Sep Finished Sun Sep Ready True Restart Count Environment lt none gt Mounts var run secrets kubernetes io serviceaccount from kube api access vnxz ro work dir from workdir rw Containers nginx Container ID docker cadcdcdfcedbefcaebdcbdefdedca Image nginx alpine Image ID docker pullable nginx sha ecfdccdebfbcbbdcccfafbfbead Port TCP Host Port TCP State Running Started Sun Sep Ready True Restart Count Limits cpu m memory Mi Requests cpu m memory Mi Environment lt none gt Mounts usr share nginx html from workdir rw var run secrets kubernetes io serviceaccount from kube api access vnxz ro Conditions Type Status Initialized True Ready True ContainersReady True PodScheduled True Volumes workdir Type EmptyDir a temporary directory that shares a pod s lifetime Medium SizeLimit lt unset gt kube api access vnxz Type Projected a volume that contains injected data from multiple sources TokenExpirationSeconds ConfigMapName kube root ca crt ConfigMapOptional lt nil gt DownwardAPI trueQoS Class BurstableNode Selectors lt none gt Tolerations node kubernetes io not ready NoExecute op Exists for s node kubernetes io unreachable NoExecute op Exists for sEvents Type Reason Age From Message Normal Scheduled m default scheduler Successfully assigned default init demo to minikube Normal Pulling m kubelet Pulling image busybox Normal Pulled m kubelet Successfully pulled image busybox in s Normal Created m kubelet Created container install Normal Started m kubelet Started container install Normal Pulled m kubelet Container image nginx alpine already present on machine Normal Created m kubelet Created container nginx Normal Started m kubelet Started container nginx Verify the Nginx Container ContentWe can verify the index html file inside the nginx container using the command kubectl exec it kubectl exec it init demo bin shDefaulted container nginx out of nginx install init curl localhost lt html gt lt head gt lt head gt lt body gt lt header gt lt title gt lt title gt lt body gt lt html gt When we run the command curl localhost we see the html content of the file is getting served ConclusionIn this blog We have seen the concepts like Kubernetes objectsPods and init containersKubernetes Yaml structurePod definition sample of app and init containerThis article was previously published on my dev community personal profile re publishing for the benefit of a wider audience Hope this article is helpful to people getting started with kubernetes Thanks for reading Heads up for Next BlogIn the next blog we will deep dive into Workload resources and how to create and manage them Follow me and share your thoughts GitHubLinkedInTwittergsaravanan dev Further ReferenceInit containerPod with init containerWorkloads 2022-04-20 17:25:11
海外TECH DEV Community A Tale of Three Scopes https://dev.to/mrispoli24/a-tale-of-three-scopes-2feh A Tale of Three ScopesOne of the hardest things to figure out while running Cause of a Kind was how to scope different engagements The entire agency business runs of fixed scopes but they are incredibly risky and in the long run don t help the client but hurt them through strained relationships Now we have three types of engagement Fixed ScopesRetainer Time and MaterialsSubscriptionWe limit fixed scopes to well defined engagements For example client has some designs and well defined business logic for the software We also limit these to things that can be built in weeks This is about as far out as I feel comfortable gazing into a crystal ball Retainer works in the most cases This is just straight hourly billing and works well for anything that requires a complete engagement from planning and architecture to design to development It can support an agile workflow as new things are learned and requirements change The downfall to retainer is it can get very expensive in the long term As an agency we can only trust a retainer so much to grow the business so you still rely on contractors and have unpredictability in your head What if they just don t continue after this block Retainers are safe but they are only so predictable Our next option subscription handles this nicely If you have a long term development needs at least one year in length this is the way to go For us we can offer more competitive rates as we can hire longer term employees We also gain efficiency by having a single team truly learn your product It s cheaper than trying to hire your own team and more flexible as we can swap in different engineering resources For example if you need to focus on a mobile app for a few months we can bring in a react native engineer then put it in maintenance mode for the next quarter as your goals change We can move different talents around to fit your goals then scale those down again This is a flex you wouldn t normally get when hiring a team or finding contractors Our agency is designed for it but most product organizations are not Subscription allows agility in both product as well as the team building that product In summary Fixed scopes for well defined short term engagements Retainers pretty much go anywhere and can handle short and relatively long term engagements Subscription for long term evolving agile product development 2022-04-20 17:23:34
海外TECH DEV Community Deploy a NestJS API to AWS Lambda with Serverless Framework https://dev.to/imflamboyant/deploy-a-nestjs-api-to-aws-lambda-with-serverless-framework-4poo Deploy a NestJS API to AWS Lambda with Serverless FrameworkHave you ever wondered how easy it can be to deploy and host an API Scalable stable a piece of cake to deploy and costs almost nothing The goal of this article is to demonstrate just that We will develop a simple API which will be deployed to AWS cloud as a single Lambda function behind an API Gateway a so called Mono Lambda Whether Lambda should be used in that way is a different topic which I d gladly discuss over beer What to expect from this article We will just scratch the surface of NestJS framework and its neat development experience Once we wire it with Serverless Framework we ll learn how quickly our API can see the light of day going from localhost to AWS cloud in just a few steps To demonstrate this we will create an API for managing a database of songs Songs API and we ll pretend it s not useless RequirementsSongs API will expose endpoints for listing all songs in the database fetching a single song details adding and removing songs Given the requirements the song model has properties id name artist length in seconds genre and album API endpoints could look something like this GET songsGET songs idPOST songsDELETE songs id Tech stackNestJS a powerful framework for creating sever side applicationsTypeORM an ORM library for TypeScript integrates nicely with Nest for database accessServerless Framework easy to use framework for developing and deploying serverless appsServerless Jetpack a low config plugin that packages our code to be deployed to AWS LambdaServerless Express library that makes our plain NestJS API play nicely with ServerlessAWS managed services like Lambda API Gateway and RDSI hope it sounds fun and simple enough so let s dig in Install Nest CLI and create a new project and modulenpm i g nestjs clinest new songs apiAt this point the API is already set up run it using npm run start and open localhost to see the hello world response This is made possible by the main ts file that is generated in the project root import NestFactory from nestjs core import AppModule from app module async function bootstrap const app await NestFactory create AppModule await app listen bootstrap Now we re going to create song module which will contain the controller service and entity definitions Each of these can be created individually but the Nest CLI provides a useful command to create the module and all the required files in it in one go It comes in handy when creating REST APIs nest generate resource songSkeleton of the song module is generated Next we have to install dependencies for accessing the database Since the API will run on top of a MySQL database the following libraries should be added to the project npm install save nestjs typeorm typeorm mysql ImplementationGenerating the module skeleton was convenient but of course our business logic needs to be written Perhaps we won t be needing all the generated DTOs we might change or add some paths to the controller and we need to implement our entity of course Since we installed TypeORM dependency let s use it to configure object relational mapping for the Song entity according to the above specification import Column Entity PrimaryGeneratedColumn from typeorm Entity export class Song PrimaryGeneratedColumn id number Column name string Column artist string Column duration number Column genre string Column album string To make it work now we just need to add import to the module definition import Module from nestjs common import SongService from song service import SongController from song controller import TypeOrmModule from nestjs typeorm import Song from entities song entity Module imports TypeOrmModule forFeature Song controllers SongController providers SongService export class SongModule Now let s implement the service layer SongService uses Repository provided by TypeORM to access the database import Injectable from nestjs common import InjectRepository from nestjs typeorm import Repository from typeorm import Song from entities song entity Injectable export class SongService constructor InjectRepository Song private songRepository Repository lt Song gt async create song Song Promise lt Song gt return await this songRepository save song async findAll Promise lt Song gt return await this songRepository find async findOne id number Promise lt Song gt return await this songRepository findOne id async remove id number Promise lt void gt await this songRepository delete id For simplicity I ll re use the entity as a DTO so we can remove the whole dto folder that was generated Then our controller and service will be rewritten to look something like this import Body Controller Delete Get Param ParseIntPipe Post from nestjs common import SongService from song service import Song from entities song entity Controller songs export class SongController constructor private readonly songService SongService Post async create Body song Song Promise lt Song gt return await this songService create song Get async findAll Promise lt Song gt return await this songService findAll Get id async findOne Param id ParseIntPipe id number Promise lt Song gt return await this songService findOne id Delete id async remove Param id ParseIntPipe id number Promise lt void gt await this songService remove id As a general rule it s always better to de couple DTO and entity classes and have some sort of object mapper DatabaseDatabase is mentioned quite a few times but where is it Firstly let s test our code against a local MySQL database Once you connect to local server execute the following init script CREATE DATABASE songsapi USE songsapi CREATE TABLE song id int NOT NULL AUTO INCREMENT name varchar NOT NULL artist varchar NOT NULL duration int DEFAULT NULL genre varchar DEFAULT NULL album varchar DEFAULT NULL PRIMARY KEY id ENGINE InnoDB DEFAULT CHARSET utf After that make sure the API can connect to it by adding the following configuration to app module ts import Module from nestjs common import AppController from app controller import AppService from app service import TypeOrmModule from nestjs typeorm import SongModule from song song module Module imports TypeOrmModule forRoot type mysql host localhost port username root password xxx database songsapi autoLoadEntities true SongModule controllers AppController providers AppService export class AppModule Feel free to hardcode the values above to those corresponding to your local database configuration Run it Type npm run start in the terminal and in a few seconds it should be up and running Test it by sending some requests curl X POST localhost songs header Content Type application json data raw name In corpore sano artist Konstrakta duration album In corpore sano genre pop Response name In corpore sano artist Konstrakta duration album In corpore sano genre pop id Get a single song by idcurl localhost songs Response name In corpore sano artist Konstrakta duration album In corpore sano genre pop id It works Now that we ve tested our API locally it s time to deploy it to the cloud and make it available to the world Moving to the cloud NOTE It is assumed that you already have an AWS account so creating one will not be covered NOTE Make sure you have enough privileges to follow the steps In case of IAM user the shortcut is to have arn aws iam aws policy AdministratorAccess managed policy attached Configure AWS account credentialsAdd a profile to your AWS credentials file usually aws credentials profile name region your regionaws access key id xxxaws secret access key yyyaws session token if applicable After that an environment variable should be set to activate the profile export AWS PROFILE profile nameYou should be ready to interact with your AWS cloud feel free to quickly test if it s setup correctly by listing all S buckets for example aws s ls Spin up a free tier RDS databaseSo far we have successfully tested the API with local MySQL database but now we need one on AWS It can be done manually through the AWS Console or you can execute the CloudFormation template provided here WARNING Please be informed about the pricing and free tier eligibility of your account All new AWS customers should get year of free tier for certain services Otherwise you might incur some costs as described in the official AWS RDS pricing guide gt AWSTemplateFormatVersion Resources SongsDatabase Type AWS RDS DBInstance Properties AllocatedStorage DBInstanceClass db t micro DBInstanceIdentifier songs database PubliclyAccessible true StorageType gp MasterUsername xxx change MasterUserPassword yyy change Engine mysql EngineVersion Save the file above as rds yaml for example and run it using AWS CLI aws cloudformation deploy stack name songs api db template file rds yamlIn a few minutes the database will be ready Obtain the database URL either through AWS Console by navigating to RDS or by listing exports of CloudFormation using the following command aws cloudformation list exports Connect to it and execute the database init script as it was done for the local instance Now that our database is running in the cloud it s time to reconfigure our app to work with the RDS database instead of local one so don t forget to update the relevant details like url password and the rest in app module ts file After that it s ready to be deployed which is covered in the next ste Install and configure Serverless FrameworkInstall Serverless Framework CLI npm install g serverlessIn the root of the project we should create the serverless yaml file which describes the deployment service songs apiframeworkVersion plugins serverless jetpackprovider name aws runtime nodejs x region eu central or whatever your region isfunctions api handler dist lambda handler events http method any path proxy With this configuration the API Gateway will just proxy every request to the Lambda function and our NestJS app will handle it The handler value is a file that contains the entry point for our app and will be explained in a minute Notice the serverless jetpack plugin it takes care of packaging our app very efficiently for Serverless There are other plugins for this but I ve discovered this one recently and it s a lot faster than others I ve used so far Read more about it on its official github page Install it as a dev dependency using npm npm i D serverless jetpackNow there s one more step before we can deploy our API Serverless Express library to make it work in Lambda environment and it concerns the function handler Serverless ExpressInstall serverless express library that bootstraps Express based apps to work with Lambda npm i vendia serverless expressThen in the source folder create a lambda ts file that contains the Lambda handler function which is the entry point as referenced in the above serverless yaml import configure as serverlessExpress from vendia serverless express import NestFactory from nestjs core import AppModule from app module let cachedServer export const handler async event context gt if cachedServer const nestApp await NestFactory create AppModule await nestApp init cachedServer serverlessExpress app nestApp getHttpAdapter getInstance return cachedServer event context Build deploy amp test Finally we are going to deploy our API to the cloud It s fairly simple first it should be built npm run build and then deployed serverless deployShortly you ll get an auto generated url which you can use to hit the API so feel free to test it by adding listing and removing songs You can see logs and monitor how your app performs in the built in dashboards on Lambda amp CloudWatch services on AWS Management Console Clean upAfter you ve played around a bit with your API it s time to clean up all the resources you created on your AWS cloud If you followed the steps exactly you ll have two CloudFormation stacks deployed one for the database and the other for the Serverless deployment You can either remove them manually via the Console or by running the following CLI commands serverless removeaws cloudformation delete stack stack name songs api db Conclusion amp final thoughtsI hope you made it this far and that I didn t bore you too much Even though the main focus was on Serverless deployment on AWS Lambda this article covered a few things along the way like setting up a simple NestJS project with TypeORM and creating an RDS MySQL database instance on AWS via CloudFormation What would be great for this kind of API to scale better is configuring an RDS Proxy on top of the database Also adding user authentication by using AWS Cognito is something which would fit nicely into this setup Very recently AWS announced Lambda function URL feature which eliminates the need for API Gateway but has other trade offs which I plan to explore next There are definitely some security aspects worth discussing for this to become production ready but it is beyond the scope of this article Thanks for reading and if you have any questions or suggestions feel free to comment 2022-04-20 17:22:39
海外TECH DEV Community Taking the Pain Out of Securing Your Code: A Native, Automated Approach https://dev.to/github/taking-the-pain-out-of-securing-your-code-a-native-automated-approach-a0m Taking the Pain Out of Securing Your Code A Native Automated ApproachToday it is more important than ever to take steps to secure your code As a developer you want to make sure that your applications are safe from attack and as a business owner you need to ensure that your intellectual property is protected Unfortunately securing your code can be difficult and time consuming But what if there was a way to take away the pain and effort of keeping your code secure Well there is In this blog post we will introduce you to Dependabot a dependency security solution that reduces your risk increases your productivity and improves your security What is Dependabot Dependabot is GitHub s supply chain security experience and it automates the way you find and fix vulnerabilities in the software you depend on Think automation for security How does Dependabot work GitHub curates information on vulnerable packages in our Advisory Database As part of the advisory publication process GitHub maintains a database of vulnerable packages which we use to inform you about them We perform static analysis on these functions using GitHub s semantic code graph in order to create an impacted call graph for your repository and generate a Dependabot alert What s a Dependabot Alert If a security vulnerability is detected Dependabot will create a security alert and provide you with all the information you need to fix the issue Additionally Dependabot can automatically update your dependencies to keep them secure How can I turn Dependabot on Enabling Dependabot alerts is easy and only takes a few minutes Simply go to your repository settings and enable the dependency graph and Dependabot alerts That s it Your code is now being monitored for security vulnerabilities around the clock so you can rest easy knowing that your applications are safe Is that simple If you re looking for an automated solution to keep your code secure look no further than Dependabot By enabling Dependabot you take the effort out of keeping your dependencies up to date Automation makes it easy for teams to integrate security into the development lifecycle let Dependabot do the work for you and enable it today Learn more about Dependabot alerts or read more about our other security features 2022-04-20 17:22:04
海外TECH DEV Community Django REST FRAMEWORK Tutorial 8 -- snippet_detail の GET/PUT/DELTE を csrf_exempt で作成する https://dev.to/kaede_io/django-rest-framework-tutorial-8-snippetdetail-no-getputdelte-wo-csrfexempt-dezuo-cheng-suru-21pd DjangoRESTFRAMEWORKTutorialsnippetdetailのGETPUTDELTEをcsrfexemptで作成する何をやるのか前々回の記事と前回の記事で、snippetlistの一覧のAPIをCSRFEXEMPTとAPIVIEWでGETPOSTできるようにした。 2022-04-20 17:15:44
Apple AppleInsider - Frontpage News Second public betas of iOS 15.5, iPadOS 15.5, macOS 12.4 now available https://appleinsider.com/articles/22/04/20/second-public-betas-of-ios-155-ipados-155-macos-124-now-available?utm_medium=rss Second public betas of iOS iPadOS macOS now availableApple has released the second public beta of iOS iPadOS and macOS to members of its public software testing program Second public operating system betas have been releasedThe second public betas should be essentially the same as the second developer betas which Apple seeded on Tuesday The builds can be acquired from the Apple Beta Software Program web portal Read more 2022-04-20 17:21:04
海外TECH Engadget A Ghostbusters VR game is coming to Meta Quest 2 https://www.engadget.com/ghostbusters-vr-game-meta-quest-2-175307499.html?src=rss A Ghostbusters VR game is coming to Meta Quest Meta hid a heck of a surprise up the sleeve of its boiler suit for the end of its Quest gaming showcase A Ghostbusters VR game is in the works for Meta Quest Sony Pictures Virtual Reality SPVR will publish the four player co op game which is being developed by Far Cry VR Dive Into Insanity studio nDreams Ghostbusters VR as the game is called for the time being shifts the action from the franchise s home base of New York City to San Francisco No prizes for guessing that you ll hunt down and trap ghosts with the help of your proton pack and particle thrower SPVR says the game will have an quot extensive and engrossing campaign quot that you can experience solo or with up to three friends No release window was announced but SPVR says more will be revealed in the coming months nbsp It s not the only Ghostbusters title in the pipeline either Friday the th The Game developer Illfonic is making Ghostbusters Spirits Unleashed which will pit a team of four players against someone else who controls the ghost That game is scheduled to arrive on PC PlayStation and Xbox later this year 2022-04-20 17:53:07
海外TECH Engadget 'Among Us VR' will arrive later this year with literal finger pointing https://www.engadget.com/meta-quest-showcase-nfl-vr-game-moss-book-2-among-us-172621081.html?src=rss x Among Us VR x will arrive later this year with literal finger pointingMeta just held its latest Quest gaming showcase and it included some fresh looks at previously announced games as well as reveals of new titles The stream offered a more in depth look at Among Us VR gameplay for one thing as well as a release window It s coming to Meta Quest Rift and S Steam VR and PlayStation VR later this year This version looks like it ll completely shake up the dynamics of Among Us It shifts the perspective to first person rather than a top down view You ll still be running around the level to complete tasks but you won t be able to see if there s a potential impostor right behind you Hilariously during the voting phase you ll be able to literally point fingers at sus crewmates Meanwhile Schell Games which worked on the VR version has teamed up with Meta Quest to develop three unannounced projects Meta also showed off the initial gameplay trailer for the first officially licensed NFL VR game NFL Pro Era Developer StatusPro is using actual game data in a bid to make the experience feel authentic You ll play as a quarterback and you can build up your skills in drills read the defense and call audibles If you can avoid getting sacked too many times you can take your team to the Super Bowl Alternatively you can just play catch with friends in a virtual NFL stadium NFL Pro Era which features all teams and will also be available on PS VR will arrive this fall Speaking of PS VR one game that platform initially had as an exclusive will land on Quest this summer Moss Book II Polyarc s sequel to Moss which is already available on Quest is well regarded and more players will be able to check it out in the coming months The Walking Dead Saints amp Sinners Chapter Retribution nbsp will arrive this year too nbsp In addition a Mercenaries horde mode for the VR version of Resident Evil just arrived as a surprise free update You ll need to take out as many Ganados as possible before time runs out There are online leaderboards and challenges Completing challenges will earn you rewards like a black and white classic horror mode and golden skins for weapons Unlocked features will be available in the main game too Elsewhere an electronic mixtape pack is coming to Beat Saber including songs by Deadmau Marshmello and Pendulum A release date for Cities VR a virtual reality take on Cities Skylines was announced as well it s coming to Quest on April th The event included trailers for some other titles including an impressive looking follow up to sci fi puzzle game Red Matter espionage sequel Espire narrative driven JRPG Ruinsmagus and action adventure title Bonelab 2022-04-20 17:26:21
Cisco Cisco Blog Helping build skilled professionals for the future https://blogs.cisco.com/government/helping-build-skilled-professionals-for-the-future Helping build skilled professionals for the futureGovernments of today harness digital technologies to improve resident services security and economic prosperity To accomplish this the foundation for operations must be built on a secure platform from the edge to the cloud and across multiple domains A digital networked infrastructure connecting people devices and assets across a city county or state enables critical 2022-04-20 17:29:46
ニュース ジェトロ ビジネスニュース(通商弘報) 広東省、電力需要は5~6月にピークか、ピークシフト要請の可能性も https://www.jetro.go.jp/biznews/2022/04/ae1e89015cf801a6.html 電力需要 2022-04-20 17:40:00
ニュース ジェトロ ビジネスニュース(通商弘報) 米政府、ウイグル強制労働防止法に関する公聴会開催、米産業界からは法執行の透明性求める声 https://www.jetro.go.jp/biznews/2022/04/13a3c639cc471c37.html 強制労働 2022-04-20 17:30:00
ニュース ジェトロ ビジネスニュース(通商弘報) 重症化リスクが高い者へ4回目のワクチン、政府が承認 https://www.jetro.go.jp/biznews/2022/04/a4be073dbb402ca1.html 高い 2022-04-20 17:20:00
ニュース ジェトロ ビジネスニュース(通商弘報) 韓国産業通商資源部がCPTPP加盟に関するFAQを公表 https://www.jetro.go.jp/biznews/2022/04/7d98443022497d1b.html cptpp 2022-04-20 17:10:00
ニュース BBC News - Home Germany to stop Russian oil imports by end of this year https://www.bbc.co.uk/news/business-61164894?at_medium=RSS&at_campaign=KARANGA russia 2022-04-20 17:10:47
ニュース BBC News - Home Alec Baldwin: Rust film producers fined over fatal shooting on set https://www.bbc.co.uk/news/entertainment-arts-61169495?at_medium=RSS&at_campaign=KARANGA baldwin 2022-04-20 17:36:58
ニュース BBC News - Home Boris Johnson ignores Labour call to apologise to Archbishop https://www.bbc.co.uk/news/uk-politics-61163702?at_medium=RSS&at_campaign=KARANGA archbishopsir 2022-04-20 17:01:41
ニュース BBC News - Home French election: Macron and Le Pen to clash in TV presidential debate https://www.bbc.co.uk/news/world-europe-61166601?at_medium=RSS&at_campaign=KARANGA emmanuel 2022-04-20 17:11:30
ニュース BBC News - Home Ukraine war: Mariupol commander makes 'last' plea for help https://www.bbc.co.uk/news/world-europe-61159812?at_medium=RSS&at_campaign=KARANGA serhiy 2022-04-20 17:30:31
ニュース BBC News - Home Ukraine war: Holocaust survivor aged 91 among Mariupol's civilian dead - reports https://www.bbc.co.uk/news/world-europe-61165270?at_medium=RSS&at_campaign=KARANGA civilian 2022-04-20 17:29:33
ニュース BBC News - Home World Snooker Championship 2022: John Higgins goes through https://www.bbc.co.uk/sport/snooker/61164857?at_medium=RSS&at_campaign=KARANGA World Snooker Championship John Higgins goes throughFour time champion John Higgins is made to work hard for his first round win over Thepchaiya Un Nooh at the World Championship in Sheffield 2022-04-20 17:07:10
ビジネス ダイヤモンド・オンライン - 新着記事 テレワーク時代に 部下を叱る時の 6つの鉄則 - テレワーク時代のマネジメントの教科書 https://diamond.jp/articles/-/301108 2022-04-21 02:55:00
ビジネス ダイヤモンド・オンライン - 新着記事 意外と知らないロシア周辺国「中央アジア最大の産油国カザフスタン」 - 読むだけで世界地図が頭に入る本 https://diamond.jp/articles/-/301153 2022-04-21 02:50:00
ビジネス ダイヤモンド・オンライン - 新着記事 相手を不幸にするNGあいづち「たちつてと」 - オトナ女子のすてきな語彙力帳 https://diamond.jp/articles/-/301743 語彙力 2022-04-21 02:45:00
ビジネス ダイヤモンド・オンライン - 新着記事 【史上最ラク&最速弁当】 レンチン5分以内で完成! しっとりむね肉とバター醤油がおいしい 激うまどんぶり弁当 - てんきち母ちゃんのらくべん! https://diamond.jp/articles/-/301894 【史上最ラク最速弁当】レンチン分以内で完成しっとりむね肉とバター醤油がおいしい激うまどんぶり弁当てんきち母ちゃんのらくべん春から始まる毎日のお弁当作り、憂鬱だな‥という方にとにかく、日本一、簡単に、失敗なくできるしかも喜ばれるお弁当の本が作りたいそんな思いで作ったのが、発売すぐに大重版となった史上最ラク最速の弁当本「てんきち母ちゃんのらくべん」です。 2022-04-21 02:40:00

コメント

このブログの人気の投稿

投稿時間:2021-06-17 05:05:34 RSSフィード2021-06-17 05:00 分まとめ(1274件)

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2020-12-01 09:41:49 RSSフィード2020-12-01 09:00 分まとめ(69件)