投稿時間:2022-04-06 07:18:35 RSSフィード2022-04-06 07:00 分まとめ(29件)

カテゴリー等 サイト名等 記事タイトル・トレンドワード等 リンクURL 頻出ワード・要約等/検索ボリューム 登録日
IT 気になる、記になる… Twitter、ツイートの編集機能を開発中であることを明らかに − Twitter Blueでテストを実施 https://taisy0.com/2022/04/06/155475.html twitter 2022-04-05 21:58:15
IT 気になる、記になる… 新型「AirPods Pro」は今年後半に発売か https://taisy0.com/2022/04/06/155472.html airpod 2022-04-05 21:24:05
IT 気になる、記になる… Apple、開発者に対し「macOS 12.4 beta 1」をリリース https://taisy0.com/2022/04/06/155470.html apple 2022-04-05 21:13:28
IT 気になる、記になる… Apple、開発者に対し「iOS 15.5 beta 1」や「iPadOS 15.5 beta 1」などを配信開始 https://taisy0.com/2022/04/06/155468.html apple 2022-04-05 21:12:46
IT 気になる、記になる… Apple、「WWDC22」を6月6〜10日に開催へ https://taisy0.com/2022/04/06/155465.html apple 2022-04-05 21:10:03
Google カグア!Google Analytics 活用塾:事例や使い方 兼業イラストレーターのうた坊さんがすごい https://www.kagua.biz/social/twitter/20220406a1.html 魅力 2022-04-05 21:00:33
海外TECH Ars Technica Hydra, the world’s biggest cybercrime forum, shut down in police sting https://arstechnica.com/?p=1846025 market 2022-04-05 21:30:32
海外TECH Ars Technica DirecTV dropped OAN today, rejecting GOP pleas to keep right-wing network https://arstechnica.com/?p=1846012 channel 2022-04-05 21:05:12
海外TECH MakeUseOf Microsoft Is Enhancing Windows 11's Focus Assist Tool https://www.makeuseof.com/microsoft-windows-11-focus-assist-update/ microsoft 2022-04-05 21:19:34
海外TECH DEV Community From Junior to Mid-level: My Top Five Tips on How To Make This Transition https://dev.to/beetlehope/from-junior-to-mid-level-my-top-five-tips-on-how-to-make-this-transition-4jda From Junior to Mid level My Top Five Tips on How To Make This TransitionAs a self taught engineer I know full well how difficult it can be for someone to transition from junior to mid level developer There is always so much to learn and you constantly feel that you are falling behind It might also seem like you will never be good enough with so many technical and soft skills still left to master and the knowledge gap between you and more senior engineers ever so wide Yet at some point you will need to take that “junior off your job title In this article I d like to share my learnings from making this transition myself and talk about what helped me get promoted from junior to mid level at a big tech company Learn to play the gameIn order to stop being junior you need to understand what is making you junior in the first place at least in the eyes of your employer Larger companies usually have a formal and structured approach to engineering levels with clearly defined competencies and skills expected from an engineer at each level If your company doesn t have a defined engineering ladder ask your manager what it would take for you to be promoted to a mid level engineer You can then create a list of action items you need to complete and success metrics you need to meet in order to get promoted Both you and your manager need to agree about the way forward Having this list will not only give you more structure and guidance but will also help you keep your manager accountable and ensure you are not being kept in a junior role forever The more concrete this plan is the better and you should also ensure there are clear time expectations around when you are supposed to make this transition Start making decisionsOne thing that distinguishes a junior engineer is the need for guidance and a limited level of independence This makes sense at the beginning of your career but at a certain point this might also hinder your growth Don t wait until you are ready to start making decisions you might never feel completely ready so just start small Make your own decisions about building a feature assigned to you without getting an approval first Express your opinions and raise concerns during your team s planning session this is especially important if you don t agree with more senior team members Challenge code review suggestions you don t fully agree with With each independent decision you make your confidence will grow and making decisions will get easier and easier until it becomes second nature Get used to making mistakesThis piece of advice naturally follows from the previous one The only way to avoid mistakes is to never make any decisions so once you start being more and more independent you will start making more and more mistakes This is unavoidable Senior engineers make mistakes all the time and that s fine as long as they own their failures in the same way they own their successes Yes this will feel uncomfortable at first Yes you will feel bad about yourself Yes you will cause problems for others and might cause your team to miss some roadmap targets But this too shall pass and the sooner you learn to live with the discomfort of being wrong the sooner you can switch off the “junior mentality Understand what your job truly isAs a junior developer you might think that your job is to write code and close Jira tickets It isn t Your job as a developer is to solve customers problems in the way that makes most sense for them and for your company s business Start with questioning the engineering tasks that get assigned to you Why do you need to build this feature in the first place Which customer problem does it solve Is there a way to avoid building this altogether Where does this fit in the overall strategy of your company How will this feature help your company make money Asking these questions is uncomfortable but this can be seen as the first step towards increasing your value to the company As you grow as a developer you will need to learn more about product management design thinking and customer development You will also need to develop empathy for your users and think of them whenever designing or building features Juniors obsess about tools seniors obsess about users The sooner you learn to see yourself as a problem solver rather than a code pusher the sooner you will take that “junior label off your job title Start sharing knowledgeYou might feel you don t know anything that is worth sharing because you are the only junior developer on your team I ve been there In reality though any developer no matter how junior has things they know and understand better than others on their team either because they have spent more time looking into these things or because they have a particular interest in a certain topic that others don t share Think of the parts of the codebase you understand well and volunteer to help others when they want to understand those areas better The easiest way to do this is to help new engineers onboard Remember that you don t need to know everything in order to be a teacher you just need to know a bit more than others and be willing to share your knowledge You can think of technical topics or tools that you find interesting and consider holding short learning sessions for your team When I was still a junior I led a team learning session about Object Oriented Design Patterns Did I know those patterns beforehand No I didn t but I was interested enough to educate myself and then tell my teammates about what I ve learned To my surprise the session was sufficiently interesting even for the senior engineers who were glad to be reminded of coding patterns they studied in college The rest of the team was glad to learn something new as well and the discussion we had afterwards improved our technical knowledge as well as helped us bond with each other Sharing your knowledge allows you to expand your influence as a team member and a growing influence is a hallmark of a more senior engineer This will help you go from being someone who needs help to someone who can help These are some of the behavior changes that helped me move from junior to mid level engineer I m sure there are other things a junior engineer can work on to get promoted faster If you have made this transition what else helped you Please share below 2022-04-05 21:50:58
海外TECH DEV Community React Self Assessment https://dev.to/gregpetropoulos/react-self-assessment-2lh5 React Self Assessment Question to Audit Your React Dev SkillsI always look for room to improve my react dev skills The react assessment may build your confidence or discover a weakness either way a Win Win disclaimer Although understanding legacy code is great skill The test questions may not be up to date with the latest version of React Lets begin Question  How do you access a function fetch from an h element in JSX  a lt h gt fetch lt h gt b lt h gt fetch lt h gt c lt h gt fetch lt h gt d lt h gt fetch lt h gt Correct answer a lt h gt fetch lt h gt Question Which method in a React Component should you override to stop the component from updating a willComponentUpdateb shouldComponentUpdatec componentDidUpdated componentDidMountCorrect answer b shouldComponentUpdate Question What s used to pass data to a component from outside a setStateb render with argumentsc PropTypesd propsCorrect answer d props Question  Which method in a React Component is called after the component is rendered for the first time a componentDidUpdateb componentDidMountc componentMountedd componentUpdatedCorrect answer b componentDidMount Question  Which of the following is a must API for every React js component a SetinitialComponentb renderComponentc renderd All of the above Correct answer b renderComponent Question  What is the use of webpack command in React js a The webpack command is used to transpileb all the JavaScript down into one fileIt runs React local development serverc It is a module bundlerd None of the aboveCorrect answer c It is a module bundler Question Which of the following is correct syntax for a button click event handler foo a lt button onclick this foo gt b lt button onclick this foo gt c lt button onClick this foo gt d lt button onClick this foo gt Correct answer d lt button onClick this foo gt Question What happens when you call setState inside render method a Repetitive output appears on the screenb Stack overflow errorc Duplicate key errord Nothing happens Life goes on Correct answer b Stack overflow error Question  How do you write an inline style specifying the font size px and color red in JSX a style font size color red b style fontSize px color red c style fontSize px color red d style font size px color red Correct answer b style fontSize px color red Question Which of the following concepts is are key to ReactJS a Event delegation modelb Component oriented designc Both of the aboved None of the aboveCorrect answer c Both of the above Question  Which of the following are the advantages of React js a Increases the application s performance with Virtual DOMb JSX makes a code that is easy to read and writec It renders both on client and server sideEasy to integrate with other frameworks Angular BackboneJS since it is only a view libraryd All of the aboveCorrect answer d All of the above Question Which of the following command is used to install create react app a npm install g create react appb npm install create react appc npm install f create react appd install g create react appCorrect answer a npm install g create react app Alternatively npx create react app if you have Node gt and npm gt on your machine Question  What of the following is used in React js to increase performance a Original DOMb Virtual DOMc Both A and B d None of the above Correct answer b Virtual DOM Question Which of the following keyword is used to create a class inheritance a Createb Inheritsc Extendsd ThisCorrect answer c Extends Question True or false Test should be written before code is written a Trueb FalseCorrect answer a True Question Considering the code below how many times would Hello be displayed in the console import useState useEffect from react export default function App props const counter setCounter useState useEffect gt console log Hello setCounter props visible return lt div className App gt counter lt div gt a b c d Correct answer a Question What happens when the following render method executes render let langs Ruby ES Scala return lt div gt langs map it gt lt p gt it lt p gt lt div gt a Displays the list of languages in the arrayb Error Cannot use direct JavaScript code in JSXc Displays nothingd Error Should be replaced with a for loop for correctCorrect answer a Displays the list of languages in the array ABDBBCDBBCDABCAAA Links CRAReact ComponentsInheritance SocialTwitterLinkedinPortfolioGithubThank you for your time  Best  ️ Happy Coding 2022-04-05 21:24:57
海外TECH DEV Community April 5th, 2022 https://dev.to/hyunjin/april-5th-2022-55hf April th inside JavaScript function function test also function can be value That is the function for the object s property is called methodobjectA B function Method is a function for the object s propertyFunction is a function itself Function includes method Function is independent from object while a method is not Method can access the data inside the class objectProperty and MethodObject is a case made of propertiesproperty is made of key value pairif value is function we call that as method key is an identifier for identifying a propertyconst person name hyunjin say function console log hi name property say methodthe main who practice method is the objectthe main who practice function is the function itself 2022-04-05 21:22:10
海外TECH DEV Community Open Source Adventures: Episode 30: Using D3 and Parcel to visualize Russian Tank Losses https://dev.to/taw/open-source-adventures-episode-30-using-d3-and-parcel-to-visualize-russian-tank-losses-3gn5 Open Source Adventures Episode Using D and Parcel to visualize Russian Tank LossesIn the previous episode I used D to make a simple graph without using any tooling Let s do a more modern take Create a new appThere s a lot of different bundlers and most of them require some painful configuration Let s try parcel this time as it promises to just work out of the box npm init y npm install d parcelIt doesn t quite do what it promises but it s still a lot less configuration that webpack or rollup Parcel configuration for GitHub PagesThe first issue with Parcel is that it outputs everything with absolute path so your app will only work if you host it on top level of a domain Which is not how GitHub Pages are setup and is overall a terrible default The default should be relative paths so it can be served anywhere To make it work we need to passs public url to parcel package jsonWe need to change two things Set source entry with our entrypoint And tell Parcel that we want relative URLs so it works with GitHub Pages name episode version description scripts parcel build parcel build public url keywords author license ISC dependencies d parcel source src index html That s almost the end of our Parcel issues src index htmlHere we can reduce two scripts to one We need to add type module annotation to make it work lt DOCTYPE html gt lt html gt lt head gt lt meta charset UTF gt lt link rel stylesheet href app css gt lt head gt lt body gt lt h gt Russian Tank Losses lt h gt lt script src app js type module gt lt script gt lt body gt lt html gt src app cssUnchanged from previous version body margin min height vh display flex flex direction column justify content center align items center src app jsAnd one more Parcel issue By default it won t copy static assets like our csv files to the build directory There are many solutions to this the way we ll be using it is by importing url of the asset we want Overall only three lines changed from previous episode s version First we need to import d with import as d from d We could also just import specific functions like import csv scaleLinear scaleTime extent select axisBottom axisLeft line from d but D API really wasn t created for it and I wouldn t recommend it Second we need to inform Parcel that our csv needs bundling csvUrl will become the Parcel bundled URL with appropriate hash This isn t the only way to do assets but it works well enough And then we need to use that csvUrl with let data await d csv csvUrl parseRow Nothing else needed changing import as d from d import csvUrl from url russia losses equipment csv let parseRow date tank gt date new Date date tank tank let main async gt let data await d csv csvUrl parseRow data unshift date new Date tank let xScale d scaleTime domain d extent data d gt d date range let yScale d scaleLinear domain d extent data d gt d tank range let svg d select body append svg attr width attr height append g attr transform translate svg append g call d axisLeft yScale svg append g attr transform translate call d axisBottom xScale svg append path datum data attr fill none attr stroke red attr stroke width attr d d line x d gt xScale d date y d gt yScale d tank main Should you use Parcel Parcel didn t quite do zero config bundling and there are some annoying things like it s impossible to turn off hashing no content hash just replaces content hashes with static hashes but that s still a big improvement over other JavaScript bundlers If you use a framework like Svelte or React you already have a bundler setup so you should probably just use that But if you don t Parcel might be the best low config solution right now Story so farI deployed this on GitHub Pages you can see it here Coming nextIn the next episode we ll port this app to Svelte And after that we ll try to figure out how long until Russia runs out of tanks 2022-04-05 21:13:58
海外TECH DEV Community Same visibility into your SDLC as the apps you develop! https://dev.to/thomasgerber/same-visibility-into-your-sdlc-as-the-apps-you-develop-db7 Same visibility into your SDLC as the apps you develop As software engineers we understand how important it is to instrument our applications Without Datadog New Relic Sumologic we know that Engineering would grind to a crawl at the first sign of trouble The same holds true for your Software Delivery Process i e how you review merge build and deploy changes resolve incidents and fix bugs With Faros Community Edition you can now have unprecedented visibility into your Software Delivery Process Anyone used to tackling this problem quickly hits a wall data is in a lot of different places and cannot always be easily leveraged For example for Change Failure Rate your incidents are in PagerDuty your Deployments in CircleCIGitHub only gives you metrics for a single repository and nothing close to PR Cycle TimeAt this point you may think “all those systems have APIs Let s extract all that data and compute metrics ourselves I know the perfect place to put it This is when the REAL fun begins Data Integration is a nightmareLinking data is necessary for some metrics like lead time for changes but incredibly hardIf your teams use several systems say CircleCI and GitHub Actions you have to deal with data modeling and normalizationSelf serve can quickly become daunting and maintenance is hamperedThis is why we built Faros Community Edition Faros Community Edition CE is an open source engineering operations platform that connects the dots between all your operational data sources for a single pane view across the software development life cycle Features to consider Rich Data SchemaConnected canonical models for the whole SDLC entities from tasks to deploymentsImport from a variety of sourcesEasy data import onto our models from Task Management Version Control Incident Management and CI CD systems️Flexible GraphQL APILeverage imported data for automation exploration in our canonical representationPreconfigured dashboardsView well known engineering metrics such as DORA and SPACEExtensibility and shareabilityBuild and share custom metrics and dashboards ️Container based deploymentRun on your laptop private or public cloud with no external dependenciesGet started in min get your questions answered and finally ditch the spreadsheets GitHub repo minute videoQuickstart guide 2022-04-05 21:06:40
海外TECH DEV Community How RudderStack Core Enabled Us To Build Reverse ETL https://dev.to/rudderstack/how-rudderstack-core-enabled-us-to-build-reverse-etl-47j How RudderStack Core Enabled Us To Build Reverse ETLOne of the goals of a customer data platform is to make the movement of data from any source to any destination easy while guaranteeing correctness reliability efficiency and observability In that sense reverse ETL is no different it s just another data pipeline In RudderStack started as a data infrastructure tool supporting event streaming to multiple destinations including the data warehouse From the outset we made the data warehouse or data lake lakehouse a first class citizen supplying automated pipelines that allow companies to centralize all of their customer data in the warehouse It s important not to overlook the impact of this decision because placing the storage layer at the center and making all the data accessible is key to unlocking a plethora of use cases But getting the data into the warehouse is basically only useful for analytics It s getting it back out that enables brand new use cases and that s where Reverse ETL comes in What is Reverse ETL Reverse ETL is a new category enabling the automation of brand new business use cases on top of warehouse data by routing said data to cloud SaaS solutions or operational systems where sales marketing and customer success teams can activate it Building pipelines for Reverse ETL comes with a unique set of technical challenges and that is what this blog is about I ll detail our engineering journey how we built RudderStack Reverse ETL and how Rudderstack Core helped us solve more than half of the challenges we faced In a way building this felt like a natural progression for us to bring the modern data stack full circle What is RudderStack Core RudderStack Core is the engine that ingests processes and delivers data to downstream destinations Main features Ingest events at scale Handle back pressure when destinations are not reachable Run user defined JavaScript functions to modify events on the fly Generating reports on deliveries and failures Guarantees the ordering of events delivered is same as the order in which they are ingested The technical challenges we faced building Reverse ETLFirst I ll give an eagle eye view of the different stages to building Reverse ETL and the challenges associated with them Along this stroll I ll explain how RudderStack Core helped us launch it incrementally making several big hurdles a piece of cake I must give major kudos to our founding engineers who built this core in a think big way Their foresight drastically reduced the amount of effort we had to put into designing and building engineering solutions for Reverse ETL Creating a Reverse ETL pipelineOut of all the steps this was the easiest one though it was still a bit tricky Creating a sourceWarehouse source creation gets complicated because of credentials and because of the read and write permissions one needs to maintain transient tables for snapshots and evaluating diffs It s important to ensure the user can easily provide only the necessary permissions for reverse ETL so the pipeline tool does not end up with access to more tables in the customer s production than needed or with any unnecessary write access This is a tricky problem made harder by the differences between warehouses We asked ourselves a few key questions when building this How can we simplify and streamline the commands and accesses for different warehouses How can we help one validate these credentials when creating a source In this instance our control plane enabled us to reuse and build on existing components This was crucial because we wanted to make validations in a generic way so they would be reusable as we continue adding more data warehouse and data lake sources Our team iterated a lot on how to educate users on which permissions are required and why Check out our documentation on creating a new role and user in Snowflake for an example We had to work to ensure only relevant validations and errors would show when setting up a source and we came up with faster ways to run some validations As an example in our first iteration we used Snowflake queries to verify whether the provided credential allowed us to validate the needed schema for RudderStack so we could read write and manage transient tables to it These queries were scheduled in the normal queue manner by Snowflake but for some customers it took minutes for these queries to run So we found a better solution from Snowflake where SHOW commands do not require a running warehouse to execute With this new solution validations complete within a minute or less for all customers As we built out the reverse ETL source creation flow the big wins that we adopted from the existing RudderStack Core platform were Our WebApp React components modular designs were re usable in the UI We were able to re use code for managing credentials securely and propagate it to the Reverse ETL system in the data plane We were able to deliver faster because RudderStack Core allowed us to focus on the user experience and features vs building infrastructure from the ground up Creating a destinationEvery data pipeline needs a source and a destination When it came to creating destinations for Reverse ETL RudderStack Core really shined Enabling existing destination integrations from our Event Stream pipelines was straightforward We built a simple JSON Mapper for translating table rows into payloads and were able to launch our Reverse ETL pipeline with over destinations out of the box Today the count is over and growing We re also incrementally adding these destinations to our Visual Data Mapper For further reading  here s a blog on how we backfilled data into an analytics tool with Reverse ETL and some User Transformations magic Managing orchestrationThe Orchestrator was critical and one of the more challenging systems to build especially at the scale RudderStack is running Reverse ETL works like any batch framework similar to ETL If you re familiar with tools like Apache Airflow  Prefect  Dagster or Temporal you know what I m talking about the ability to schedule complex jobs across different servers or nodes using DAGs as a foundation Of course you re probably wondering which framework we used to build out this orchestration layer We did explore these options but ultimately decided to build our own orchestrator from scratch for a few key reasons We wanted a solution that would be easily deployed along with a rudder server instance in the same sense that rudder server is easily deployed by open source customers We wanted an orchestrator that could potentially depend on the same Postgres of a rudder server instance for minimal installation and would be easy to deploy as a standalone service or as separate workers We love Go And we had fun tackling the challenge of building an orchestrator that suits us In the long run this will enable us to modify and iterate based on requirements Building our own orchestrator makes local development debuggability and testing much easier than using complex tools like Airflow We love open source and would like to contribute a simplified version of RudderStack Orchestrator in the future Managing snapshots and diffingLet s consider one simple mode of syncing data upsert This means running only updates or new inserts in every scheduled sync There are two ways to do this Marker column  In this method you define a marker column like updated at and use this in a query to find updates inserts since the previous sync ran There are multiple issues with this approach First you have to educate the user to build that column into every table Second many times it s difficult to maintain these marker columns in warehouses for application databases this is natural and many times DBs provide this without any extra developer work Primary key and diffing  In this method you define a primary key column and have complex logic for diffing We went with the second option One major reason was that we could run the solution on top of the customer s warehouse to avoid introducing another storage component into the system Also the compute power and fast query support in modern warehouses were perfect for solving this with queries and maintaining snapshots and diffs to create transient sync tables Hubspot table after incremental sync of new rows Sync screen in RudderStack Snapshot table view Now you might be thinking What s the big deal It s just creating some queries running them and syncing data I wish but it s not as simple as it looks Also this was one of the challenges RudderStack core couldn t help with Here are a few of the challenges that emerge when you dig deeper into the problem Diffing needs to be very extensible not only for the multiple warehouse sources we already support but also for integrating with future warehouse and data lake sources You have to implement state machine based tasks to handle software or system crashes and any errors that occur across a multitude of dependencies You have to maintain record ordering checkpoints during sync to ensure a higher guarantee of delivering exactly once to destinations You have to support functionality for pausing and resuming syncs You have to handle delivery of records that failed to deliver on the previous sync On top of those considerations there were a number of other interesting problems we found related to memory choice of CTE vs temporary table columns data types structs in BigQuery and more but that s another post for another day Managing syncing transformations and delivery to destinationsRudderStack Core significantly shortened the development cycle for syncing running transformations in the data pipeline and final delivery to destinations In large part this is because our Reverse ETL and Event Stream pipelines have a lot in common relative to these use cases In fact from a source perspective Reverse ETL pulling from warehouse tables is much simpler than SDK sources so we were able to have more precise control over ingestion and leverage rudder server for everything else Here s what rudder server took care of Destination transformations mapping payloads to destination API specs Calling the right APIs for add update delete and batch APIs if supported User transformations custom JavaScript code written by users to modify payloads Managing the rate limits of destination APIs which vary significantly and providing a back pressure mechanism for Reverse ETL Handling failed events with retries and providing finally failed events back to Reverse ETL A mechanism to identify completion of sync tasks New integrations and feature enhancements automatically usable by our Reverse ETL pipeline when deployed to RudderStack Core Even though the items above were huge wins from RudderStack Core there were some other interesting problems we had to solve because we use rudder server as our engine to deliver events I won t dive into those now but here s a sample It s challenging to deliver events to our multi node rudder server in a multi tenant setup It s complicated to guarantee event ordering for destinations that require it We have to respect the rate limits of different destinations and use back pressure mechanisms so we don t overwhelm rudder server all while maintaining fast sync times Acknowledging completion of a sync run with successful delivery of all records to destination Maintaining pipelines with observability debuggability and alertingAny automated data pipeline needs some level of observability debugging and alerting so that data engineers can take action when there are problems and align with business users who are dependent on the data This is particularly challenging with systems like Reverse ETL Here are the main challenges we had to solve Long running processes must account for software crashes deployments upgrades and resource throttling The system has dependencies on hundreds of destinations and those destinations have API upgrades downtime configuration changes etc Because RudderStack doesn t store data we have to create innovative ways to accomplish things like observability through things like live debuggers in process counts like sending succeeded failures and reasoning for any errors that are criticalAccounting for software crashes deployments upgrades and resource throttling required a thoughtful design for Reverse ETL here s how we did it State machine State based systems look simple but are incredibly powerful if designed well Specifically if an application crashes it can resume correctly Even failed states like failed snapshots can be handled properly by say ignoring it for the next snapshot run Granular checkpoint  This helps make sure no duplicate events will be sent to destinations For example say we send events in a batch of and then checkpoint The only possibility would be that one entire batch might get sent again if the system restarted or if it happened during deployment as it was sent to rudder server but could not checkpoint On top of this rudder server only has to maintain a minimal batch of data to add dedupe logic on top because it doesn t need to save an identifier for all records for a full sync task Support for handling shutdown and resuming Graceful shutdown handling is critical for any application especially for long running stateful tasks My colleague Leo wrote an amazing blog post about how we designed graceful shutdown in Go which you should definitely read Auto scale systems  Automatically scaling systems handle tasks that are running in a distributed system which is necessary for handling scale both for Reverse ETL side as well as the consumer rudder server At any given time a Reverse ETL task might be running on a single node but might have to be picked up by another node if the original node crashes for some reason On the consumer side rudder server data points might be sent to consumers running on multiple nodes Guaranteeing lesser duplicates in progress successfully sent records and acknowledging completion of sync tasks are really interesting problems at scale Proper metrics and alerts We added extensive metrics and various alerts like time taken for each task number of records processing from extraction to transformation to destination API calls sync latencies for batches of records and more Central reporting on top of metrics Beyond just metrics for Reverse ETL there is a need for a central reporting system as multiple systems are involved in running the pipeline from extraction to final destination We wanted to capture details for all stages to ensure we had full auditability for every pipeline run Again RudderStack Core was a huge help in shipping several of the above components of the system Destinations when it comes to integrations maintenance is critical because things must be kept up to date Many times things fail because of destination API upgrades or different rate limits not to mention upkeep like adding additional support for new API versions batch APIs etc Because destinations are a part of RudderStack Core the Reverse ETL team doesn t have to maintain any destination functionality Metrics rudder server already included metrics for things like successfully sent counts failed counts with errors and more all of which we were able to use for our Reverse ETL pipelines Live Debugger Seeing events flow live is incredibly useful for debugging while sync is running especially because we don t store data in RudderStack We were able to use the existing Live Debugger infrastructure for Reverse ETL Concluding thoughtsBuilding out our Reverse ETL product was an amazing experience While there were many fun challenges to solve I have to reiterate my appreciation for the foresight of our founding engineers As you can see without RudderStack Core this would have been a much more challenging and time consuming project If you made it this far thanks for reading and if you love solving problems like the ones I covered here come join our team Check out our open positions here 2022-04-05 21:05:44
海外TECH DEV Community How To Install Extensions in BlueJ if you have Mac OSX https://dev.to/shalimmo/how-to-install-extensions-in-bluej-if-you-have-mac-osx-5768 How To Install Extensions in BlueJ if you have Mac OSXI m very distracted and I kwnow that there are many people like me so if you are distracted like me and you wanna install an extension in BlueJ you have to follow the next steps You have to download and Install BlueJ you can go to Now you have a BlueJ Folder like this Open the folder and Control click BlueJ app and choose Show Package Contents Extensions are installed by placing the extension jar file into an extension directory BlueJ app Contents Resources Java extensions Now open your BlueJ go to help gt installed extensions and you will can see your installed extensions And in case you didn t see it before all this information can be found on the same BlueJ page I found it after reading carefully and searching unsuccessfully all over the web BlueJ has a rewritten extensions API explained here the extensions page still exists for those interested in extensions for BlueJ and older only but for BlueJ and later you can use this extensions WRITING EXTENSIONS Since BlueJ you can write your own extension if you wanna find out how to write your own extensions you can read this You will need BlueJ extension API documentation If you wanna share an extension with BlueJ you have to contact them here 2022-04-05 21:03:15
海外TECH DEV Community Common Git Mistake Fixes https://dev.to/adelinealmanzar/common-git-mistake-fixes-56ac Common Git Mistake FixesEverybody makes mistakes and everybody has those days especially when it comes to git so here is a summary of solutions to common git errors although of course there may be many approaches Circumstance Made code changes and or staged changes before creating a new branchwe either made changes to our code or made changes and staged those changes to our index while in a wrong branchIf we made changes to our code before branching off of our starter branch for ex main master or we made changes and staged those changes we can run git status to check which files contain changes Since we haven t committed our changes to our current wrong branch s history yet we can simply run git checkout b new branch name and our changes staged or not will follow us to whichever new branch we just created From our new branch we can then add and commit our changes to this new branch s git history We ve tackled a slip up for when we ve been wanting to create a new branch but if we want to move our changes to a pre existing branch we would need to follow some kind of stashing workflow Circumstance Made code changes and or staged changes before checking out a pre existing branchwe made changes to our code and forgot to checkout a pre existing branchwe may have added staged our changes as wellIf we made code changes in the wrong branch but those changes haven t been committed yet we can use a git stash workflow to shelve stash our changes before we checkout the proper pre existing branch git stash WorkflowWhen running git status we can view which file changes we would like to be taking with us to the proper branch Then we can run git stash which will stash shelve all of our current changes whether added staged or not After stashing we can checkout the pre existing proper branch with git checkout lt correct branch gt Once we re in the proper branch we can run git stash pop to pop all of our changes out of the stash shelf After popping we would be able to continue our usual git add and git commit workflow to add and commit those changes to the proper branch Note that if we had changes staged before our stash and we later popped our stashes those staged changes would be un staged on pop automatically So the full workflow would look like git status to check which changes we would be stashinggit stash to stash shelf all of our changesgit checkout lt branch gt to checkout the proper branchgit stash pop to remove the most recent stash from our shelf and track those changes in our proper branchgit add amp git commit workflow to add stage and commit specific files to our proper branch s historyIf we altogether committed in the wrong branch we can use a resetting workflow Circumstance Committed in the wrong branchwe made changes to the codegit add we staged all of our workgit commit m my first commit we committed our workgit branch we check our branch and OH NO We realize we were in the wrong branch all alongIf we added and committed our changes to the wrong branch locally we could always rollback however many commits we need and move our un staged changes into a new branch First we would run git log to check our commit history and view how many commits we would like to undo Then we would run git reset HEADN where N is the number of our commits to undo If we do git log again we can see that our commits are no longer in the history of the current wrong branch When we do git status we can also sanity check that the changes have been tracked and are ready to be staged Because we would be checking out a new branch we can simply run git checkout b new correct branch where new correct branch is the new branch we wish to track stage and commit our changes in Note if were checking out a pre existing branch we would probably need to run our git stash workflow to move our changes to the proper pre existing branch Once we re in our new correct branch we can run git add lt paths for files we wish to add gt or we can also run git add to add all of our changes that appear when we run git status And then we can run our git commit m insert commit message here to finally commit our changes to the proper branch If we run git log we should see the proper commit history in our proper branch So overall the workflow would look like so git log to check our commit history to determine the number of commits we would like to roll backgit reset HEADN to reset the head of our current wrong branch back by our previously determined N number commitsgit log to sanity check that our commit history no longer contains the wrong commitsgit status to sanity check that our changes are being tracked and ready to move with us to whichever branch we checkoutgit checkout b new correct branch to create and move into our new proper branch that will store our accurate commit historygit add lt file paths gt to stage our desired filesgit commit m insert commit message here to commit our changes to the proper branch historygit log to sanity check our current proper branch s commit historySometimes our mistakes aren t related to where our changes were made Sometimes we pulled down the wrong branch altogether so then what Circumstance Pulled the down the wrong branchthinking we re in branch we git pull origin branch and OH NO We realize we pulled down the wrong branch from the remote to our local branchIf we pull down the wrong remote branch to our local branch we can always run a hard reset of the current branch with git reset hard origin current branch Note of caution reset hard is destructive in nature so it will remove all staged and un staged changes to overwrite the current local branch If we want to save our changes somewhere before we do a hard reset of the branch we can use the git stash workflow mentioned above TLDR We shouldn t get into the habit of making mistakes but there are ways to fix themWe can always checkout a new branch if we ve made staged or un staged changes in a wrong branch as long as we don t commit those changes yetIf we re trying to move our changes to a pre existing branch git stash is a pretty useful command for shelving our changes temporarilyIf we ever do commit our changes to the wrong branch we could always run a reset of any branch to rollback commits and then continue to move our staged or un stanged changes to the proper branch If we ever pull down the wrong branch we could run a hard reset For FunsiesHere are some extra useful commands git stash list to view all of the stashes in our shelfgit stash pop lt stashID gt to pop a specific stashgit stash drop lt stashID gt to delete a stash from our shelf use with cautiongit reset lt filepath gt to un stage a specific file from our indexgit checkout lt filepath gt to undo delete all changes of a specific file use with caution Resources git stash documentation git reset documentation git checkout documentation 2022-04-05 21:01:38
海外TECH Engadget Twitter confirms it will test an edit button https://www.engadget.com/twitter-confirms-edit-button-214459796.html?src=rss Twitter confirms it will test an edit buttonMore than a decade and a half into its existence Twitter has confirmed what was once unthinkable an edit button is on the way The company confirmed as much Tuesday saying that it s been quot been working on an edit feature since last year quot nbsp The company was light on details but it did share a mock up of the feature which it said it would test first with Twitter Blue subscribers nbsp pic twitter com IwEeLdnーTwitter Comms TwitterComms April Developing 2022-04-05 21:44:59
海外TECH Engadget Microsoft’s Xbox Series S is $50 off at Adorama today only https://www.engadget.com/xbox-series-s-sale-adorama-210546529.html?src=rss Microsoft s Xbox Series S is off at Adorama today onlyFor today only you can get off the Xbox Series S through camera retailer Adorama With the discount Microsoft s entry level ninth generation console costs That matches one of the best prices we ve seen for the system to date To take advantage of the offer you ll need to input the code“XBOXS at checkout Today s promotion is only available until midnight Buy Xbox Series S at Adorama Engadget awarded the Series S a score of when it was first released in November We liked the console for its compact design and expansive library of Xbox Xbox and Xbox One games accessible through Microsoft s backward compatibility program Since then its library has only grown with the release of first party exclusives like Halo Infinite Forza Horizon and Psychonauts nbsp We called the Series S the next gen starter pack when it came out That aptly highlights some of its shortcomings It only comes with GB of internal storage You ll need to buy one of Seagate s expensive expansion cards to add additional space and those start at for the GB model The Series S is also limited to p and doesn t offer the same backward compatibility experience as its more expensive sibling We don t think those are deal breakers but if you have the money to buy the Series X it s the more capable console Follow EngadgetDeals on Twitter for the latest tech deals and buying advice 2022-04-05 21:05:46
海外科学 NYT > Science Terry Wallis, 57, Dies; Awoke 19 Years After a Traumatic Brain Injury https://www.nytimes.com/2022/04/05/science/terry-wallis-dead.html Terry Wallis Dies Awoke Years After a Traumatic Brain InjuryLong after a car accident left him in a minimally conscious state in he woke up one day and said “Mom Then he kept talking 2022-04-05 21:42:29
ニュース BBC News - Home 'Safe To Be Me' LGBT conference cancelled after boycott https://www.bbc.co.uk/news/uk-61002448?at_medium=RSS&at_campaign=KARANGA conversion 2022-04-05 21:32:04
ニュース BBC News - Home Manchester City 1-0 Atletico Madrid: Kevin de Bruyne goal gives hosts a slender lead https://www.bbc.co.uk/sport/football/60988011?at_medium=RSS&at_campaign=KARANGA Manchester City Atletico Madrid Kevin de Bruyne goal gives hosts a slender leadKevin de Bruyne s second half goal gives Manchester City a narrow victory over Atletico Madrid in the first leg of their Champions League quarter final 2022-04-05 21:42:42
ニュース BBC News - Home Benfica 1-3 Liverpool: Reds in control of Champions League quarter-final https://www.bbc.co.uk/sport/football/60986738?at_medium=RSS&at_campaign=KARANGA Benfica Liverpool Reds in control of Champions League quarter finalLiverpool will take a two goal lead into the Champions League quarter final second leg after earning victory over Benfica in Lisbon 2022-04-05 21:32:21
北海道 北海道新聞 NY株反落、280ドル安 米利上げ加速を懸念 https://www.hokkaido-np.co.jp/article/666167/ 懸念 2022-04-06 06:18:18
北海道 北海道新聞 ロシアの戦争犯罪で予備捜査開始 スウェーデン検察当局 https://www.hokkaido-np.co.jp/article/666174/ 戦争犯罪 2022-04-06 06:18:00
北海道 北海道新聞 不明のダーウィン帳面、見つかる 22年ぶりに英大で、経緯「謎」 https://www.hokkaido-np.co.jp/article/666172/ 経緯 2022-04-06 06:18:17
北海道 北海道新聞 オーカス、極超音速兵器で連携 中ロにらみ首脳声明 https://www.hokkaido-np.co.jp/article/666171/ 安全保障 2022-04-06 06:08:03
ビジネス 東洋経済オンライン 小田急VSE「白いロマンスカー」何が特別だったか 一線退くも「まるで新型車両」の先鋭的デザイン | ベテラン車両の肖像 | 東洋経済オンライン https://toyokeizai.net/articles/-/579674?utm_source=rss&utm_medium=http&utm_campaign=link_back 小田急電鉄 2022-04-06 06:30:00
ニュース THE BRIDGE 【Web3起業家シリーズ】ステーブルコイン「JPYC」の岡部氏に聞いた、日本のWeb3のゆくえ(後編) https://thebridge.jp/2022/04/jpyc-okabe-2-mugenlabo-magazine 【Web起業家シリーズ】ステーブルコイン「JPYC」の岡部氏に聞いた、日本のWebのゆくえ後編本稿はKDDIが運営するサイト「MUGENLABOMagazine」に掲載された記事からの転載MUGENLABOMAGAZINEでは、ブロックチェーン技術をもとにしたNFTや仮想通貨をはじめとした、いわゆるWebビジネスの起業家にシリーズで話を伺います。 2022-04-05 21:15:17

コメント

このブログの人気の投稿

投稿時間: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件)