AWS |
AWS Big Data Blog |
Centralize governance for your data lake using AWS Lake Formation while enabling a modern data architecture with Amazon Redshift Spectrum |
https://aws.amazon.com/blogs/big-data/centralize-governance-for-your-data-lake-using-aws-lake-formation-while-enabling-a-modern-data-architecture-with-amazon-redshift-spectrum/
|
Centralize governance for your data lake using AWS Lake Formation while enabling a modern data architecture with Amazon Redshift SpectrumMany customers are modernizing their data architecture using Amazon Redshift to enable access to all their data from a central data location They are looking for a simpler scalable and centralized way to define and enforce access policies on their data lakes on Amazon Simple Storage Service Amazon S They want access policies to allow … |
2022-01-19 19:15:30 |
海外TECH |
Ars Technica |
Garmin’s new Fenix 7 maximizes solar power and finally adds a touchscreen |
https://arstechnica.com/?p=1826688
|
wearables |
2022-01-19 19:20:55 |
海外TECH |
Ars Technica |
The Bentley Flying Spur Hybrid proves electric motors improve the breed |
https://arstechnica.com/?p=1826883
|
efficient |
2022-01-19 19:06:23 |
海外TECH |
MakeUseOf |
The Pros and Cons of Using Calorie Counting Apps |
https://www.makeuseof.com/pros-cons-using-calorie-counting-apps/
|
intake |
2022-01-19 19:30:12 |
海外TECH |
DEV Community |
Create Lightweight React Accordions |
https://dev.to/amiut/create-lightweight-react-accordions-4dej
|
Create Lightweight React AccordionsI have created a very simple Accordion Component called accordionify for react which you can be used for creating collapsible sections You can check demo here Install Accordionify Lightweight React accordion componentIf you re using npm just run npm i accordionifyand if you are using yarn run yarn add accordionify Create Accordion componentFirst of all Accordions are usually consisted of a Toggle or header and a panel or body the expected behavior is when user clicks the header the body of accordion gets toggled Creating accordions is as simple as wrap your content with lt Accordion gt component and inside the lt Accordion gt wrap your head section with lt AccordionToggle gt and wrap your accordion body or panel with lt AccordionPanel gt component lt Accordion gt component also supports a defaultOpen prop which tells the accordion to be opened by default or not take a look at this example import Accordion AccordionToggle AccordionPanel AccordionToggleButton from accordionify function App return lt div className container gt lt div gt lt Accordion defaultOpen gt lt AccordionToggle gt Click me to toggle lt AccordionToggleButton gt lt AccordionToggle gt lt AccordionPanel gt Hey there Accordion Content goes here lt AccordionPanel gt lt Accordion gt lt div gt lt div gt As you can see in the above example we also added a helper component called lt AccordionToggleButton gt which you can use to show a or arrow up arrow down indicator to show the state of accordion using it is optional Only allow one opened accordionIf you want to display multiple accordions and want only one of them to be opened at the same time you need to wrap your lt Accordion gt s with lt AccordionGroup gt and pass a atomic prop to it import AccordionGroup Accordion AccordionToggle AccordionPanel AccordionToggleButton from accordionify function App return lt div className container gt lt AccordionGroup atomic gt lt Accordion defaultOpen gt lt AccordionToggle gt Click me to toggle lt AccordionToggleButton gt lt AccordionToggle gt lt AccordionPanel gt Hey there Accordion Content goes here lt AccordionPanel gt lt Accordion gt lt Accordion gt lt AccordionToggle gt Click me to toggle lt AccordionToggleButton gt lt AccordionToggle gt lt AccordionPanel gt Hey there Accordion Content goes here lt AccordionPanel gt lt Accordion gt lt Accordion gt lt AccordionToggle gt Click me to toggle lt AccordionToggleButton gt lt AccordionToggle gt lt AccordionPanel gt Hey there Accordion Content goes here lt AccordionPanel gt lt Accordion gt lt AccordionGroup gt lt div gt Checkout accordionify github repo It is a simple and new project with no fancy abilities feel free to drop a PR to collaborate |
2022-01-19 19:50:06 |
海外TECH |
DEV Community |
Using tree data structures to implement terminal split panes - more fun than it sounds |
https://dev.to/kevinyang372/using-tree-data-structures-to-implement-terminal-split-panes-more-fun-than-it-sounds-2kon
|
Using tree data structures to implement terminal split panes more fun than it soundsMost popular command line tools and code editors like VSCode and Tmux support split panes they provide a handy way for users to visually organize different workflows and keep track of processes that are happening in parallel One of the first things I learned when doing web development was to have two panes one for running the server and one for checking and pushing code to Github Using split panes is one thing building them is another I never thought I would need to build split panes from scratch until I joined Warp at Warp we are building a high performance terminal written entirely in Rust As part of building it we had to build native split panes Here are our key product requirements Developers should be able to Infinitely split the screen in any direction approximately Remove panes from the screen Navigate across panes with arrow keys Arbitrarily resize panes Representing panes in a two dimensional array The first piece is figuring out what data structure to use to represent these panes The first data structure that comes to mind to represent panes is a two dimensional array Intuitively it has some great properties we could take advantage of for example it captures how panes are laid out visually so if we want to navigate in a certain direction we simply need to change the row and column index to get the target pane Pushing new panes is straightforward as well we just need to either insert it into an empty cell or create a new row column if the cell is currently occupied Figure Example of a screen split into four panes and its representation with a two dimensional array Intuitive as it may be we encountered some issues Representation ends up becoming sparse Users should be able to split the panes in any arbitrary way they could have two panes on row and five panes on row This will fill the two dimensional array with many empty cells As a result navigation becomes harder since simply increasing or decreasing the current cell s row column index might lead to an empty cell Performance does not scale Inserting and removing panes could be memory expensive For example if we need to insert a new pane to the right of pane we will have to allocate a new row and shift the content of every pane in the rows after This will get increasingly expensive as users create more panes Representing panes with treesThe Zed editor originally created by Nathan Sobo provides an interesting approach using trees to represent panes Trees are well suited for this problem Trees could be unbalanced This solves the obstacle we had when using the two dimensional array as we could split panes in any arbitrary way and still represent them efficiently in a tree Trees could be recursive We won t need to worry about allocating an entire new row or column for each pane Instead we just need to insert a new branch when a user adds another pane Trees could be hierarchical We could represent the relationship between panes and their sub panes with parent nodes and child nodes Each tree can have only two different types of nodes a branch or a pane node A pane node as its name suggests represents a pane on the screen This should always be a leaf node within a tree A branch node holds information about the spatial relationships between its children In our use case the branch node represents the direction a pane is split which can be either vertical or horizontal An example of how a snapshot of pane state could be represented as a tree is shown below Figure Example of a screen split into three panes and its representation with a tree The way we define pane trees and their components in Warp looks like the following Node BranchNode PaneNode Direction Horizontal Vertical BranchNode split direction Direction children Node PaneNode id How to Add and Remove Panes After we settled on trees as the data structure we had to figure out how to modify these trees to add and remove panes For adding panes we could consider it as “splitting the current pane node into a branch with two child nodes For example in the simple case when user hits split horizontally on a single pane the tree before and after the action would look like the following Figure Change of tree state when adding a new paneWhat about panes that are nested under other branches This becomes more complicated as we could have two different scenarios splitting in the same direction and splitting in a different direction as the parent branch Splitting in the same directionSplitting in a different directionThe algorithm we use here is to recursively traverse down the tree until we locate the deepest branch that hosts the current pane depth first search In case the branch s split direction is the same as the new pane s split direction we simply insert a new pane node into the children vector When the split direction is different we instead replace the pane node with a new branch node that has the new split direction and the current and new added panes as its children Removing panes is very similar to the reverse of adding panes There s one special case we need to keep in mind if a branch node has only one pane node we should collapse them into one pane node as there is no longer a “split Thus the algorithm should keep track of the branch s children size after removing the target pane once it s below the size of two we return the last pane node and the parent branch should replace the branch node with the returned pane node With regard to the performance of adding and removing panes the run time complexity should be O N where N is the number of nodes in the tree The main source of algorithm runtime is from the depth first algorithm used to locate the current pane The memory complexity should be O since we only need to change the target pane and its parent branch at most Tree for all of the split panes Holds the root node pub struct PaneData pub root PaneNode Single Node in the tree of panes pub enum PaneNode A collection of terminals split in a specific direction Branch PaneBranch A single terminal Leaf EntityId The result of attempting to remove a pane from a branchenum BranchRemoveResult The pane was not found in this sub tree NotFound The pane was found and removed no further action is needed Removed The pane was found and removed leaving only a single node in the branch so it needs to be collapsed into the parent Collapse PaneNode pub struct PaneBranch axis SplitDirection pub nodes Vec lt PaneNode gt impl PaneData pub fn split amp mut self old session id EntityId new session id EntityId direction SplitDirection gt bool self root split old session id new session id direction pub fn remove amp mut self session id EntityId gt bool self root remove session id impl PaneNode fn split amp mut self old session EntityId new session EntityId direction SplitDirection gt bool match self PaneNode Leaf session gt if session old session self PaneNode Branch PaneBranch new old session new session direction true else false PaneNode Branch branch gt branch split old session new session direction fn remove amp mut self session id EntityId gt bool match self Leaves can only be removed from the containing branch PaneNode Leaf gt false PaneNode Branch branch gt match branch remove session id BranchRemoveResult NotFound gt false BranchRemoveResult Removed gt true BranchRemoveResult Collapse last node gt self last node true impl PaneBranch fn new old session EntityId new session EntityId axis SplitDirection gt Self PaneBranch axis nodes vec PaneNode Leaf old session PaneNode Leaf new session fn split amp mut self old session id EntityId new session id EntityId direction SplitDirection gt bool for idx node in self nodes iter mut enumerate match node PaneNode Branch branch gt if branch split old session id new session id direction return true PaneNode Leaf pane gt if pane old session id If the split comes in the same direction as the previous splits on this sub tree we can insert the new pane into the nodes directly if direction self axis self nodes insert idx PaneNode Leaf new session id else Otherwise split the current leaf into a perpendicular branch node PaneNode Branch PaneBranch new pane new session id direction return true false fn remove amp mut self session id to remove EntityId gt BranchRemoveResult for idx node in self nodes iter mut enumerate match node PaneNode Branch gt if node remove session id to remove return BranchRemoveResult Removed PaneNode Leaf pane gt if pane session id to remove self nodes remove idx if self nodes len Safety We know that there is an element in self nodes return BranchRemoveResult Collapse self nodes pop unwrap else return BranchRemoveResult Removed BranchRemoveResult NotFound Navigating Panes with Arrow KeysOne challenge we encountered when creating split panes was supporting navigation with arrow keys in a way that mapped to the visual layout of the panes Although visually the panes are organized in two dimensional space the pane tree does not maintain the spatial knowledge of which panes are next to each other Take the state below as an example when the user hits the right key on the top left corner in a two dimensional array representation we might just increment the column index by to get the top right pane However in a tree representation we will need to first traverse up the tree until we find a branch with the same split direction as our navigation direction and then traverse down that subtree until we hit the target node Figure How navigation with arrow keys works in the tree structure Since multiple nodes could exist in the sub tree one heuristic we use to make the navigation experience more natural is to focus on the first child node if the navigation direction is right or down and focus on the last child node if the direction is left or up In the end the run time complexity of navigation will also be O N as the depth first search to locate the current pane is O N and traversing up to locate the target pane is O N as well fn find pane by direction amp self session id EntityId direction Direction gt FindPaneByDirectionResult for idx node in self nodes iter enumerate let res node pane by direction session id direction match res FindPaneByDirectionResult Found gt return res FindPaneByDirectionResult Located gt If the axis is different we left for the parent branch to handle if direction axis self axis return res let target pane id match direction Direction Left Direction Up gt if idx return res self nodes idx last pane Direction Right Direction Down gt if idx self nodes len return res self nodes idx first pane if let Some id target pane id return FindPaneByDirectionResult Found id else break FindPaneByDirectionResult NotFound gt FindPaneByDirectionResult NotFound Representing Pane SizesEvery pane should be resizable Due to how all panes together occupy a space with set dimensions resizing one pane will lead to the resizing of multiple other panes as well For example in the case where one screen is split into four equal panes dragging the border in the center will actually cause all four panes to be resized as shown below Figure Resizing one pane could lead to multiple other panes to resize as well With this ripple effect of individual pane sizes saving the absolute pane size in each node is undesirable as we will need to recalculate all sizes on each resize call Thus we decided to save the ratio each child node takes of the branch node s size instead we call it the flex ratio When rendering we pass in the available size from the root node and go down the branches deriving each individual pane size based on the split direction and the flex ratio in the branch node If you want to know more about how Warp renders on the GPU with its native UI framework check out our blog post here The new BranchNode will look like BranchNode split direction Direction flex ratio f this should add up to children Node Figure An example of how we derive the absolute size for each pane using the flex ratio assuming we start with a screen with dimension by and the pane is split into four panes We could walk down from the root pane to first derive the dimensions of the branch nodes and then use that information to calculate the absolute size of each individual pane SummaryPersonally I m a big fan of how the simple split pane UI makes the terminal so much more powerful It s been really exciting to work on designing and programming the split pane functionality within Warp myself Although there are still many remaining features yet to be implemented that are available in iTerm and Tmux drag and drop panes having a native implementation of the split pane unlocks many more possible things we could do in Warp to make the developer experience even better Join our waitlist and let us know what we could make to further improve split panes in Warp |
2022-01-19 19:35:26 |
Apple |
AppleInsider - Frontpage News |
Go behind the scenes of 'Fraggle Rock: Back to the Rock' before the Friday debut |
https://appleinsider.com/articles/22/01/19/go-behind-the-scenes-of-fraggle-rock-back-to-the-rock-before-the-friday-debut?utm_medium=rss
|
Go behind the scenes of x Fraggle Rock Back to the Rock x before the Friday debutIn a new first look video directors writers and cast members talk about bringing the Apple TV series Fraggle Rock Back to the Rock to life with new technology and classic songs Fraggle Rock Back to the Rock premiers Friday January The new Apple TV children s series picks up the Fraggle s adventures with all new stories built for today s world The short behind the scenes video shows cast members and writers discussing what it s like bringing the show back from the s with modern twists Read more |
2022-01-19 19:26:50 |
Apple |
AppleInsider - Frontpage News |
Continued iOS 14 security updates were meant to be temporary, report claims |
https://appleinsider.com/articles/22/01/19/continued-ios-14-security-updates-were-meant-to-be-temporary-report-claims?utm_medium=rss
|
Continued iOS security updates were meant to be temporary report claimsA new report claims that the option to stay on iOS and receive security updates instead of upgrading to iOS was always meant to be a temporary measure iOS on iPhone Pro devicesWhen it launched iOS Apple gave users the choice of remaining on iOS and getting important security updates It even listed that option as a feature on its iOS preview page Read more |
2022-01-19 19:02:51 |
Apple |
AppleInsider - Frontpage News |
Army wife uses AirTags to track shady movers |
https://appleinsider.com/articles/22/01/19/army-wife-uses-airtag-to-track-late-moving-truck-driver-during-a-relocation?utm_medium=rss
|
Army wife uses AirTags to track shady moversAn Army spouse says she used an AirTag to keep tabs on her family s belongings during a move when a shady moving truck driver didn t deliver the items on time An Apple AirTagMilitary members doing permanent change of station PCS moves have historically had issues with shippers accountability of household goods Shipments often get stalled for weeks or months by contractors with little or no communications on the location or the reason why the goods were lost or delayed In fact AppleInsider staffers have dealt with lack of accountability or good tracking of the shipments multiple times Read more |
2022-01-19 19:07:48 |
Apple |
AppleInsider - Frontpage News |
The best video converter apps for Mac |
https://appleinsider.com/articles/22/01/17/the-best-video-converter-apps-for-mac?utm_medium=rss
|
The best video converter apps for MacIf you want to send a video to someone chances are you ll want to convert it or shrink its size Here are the best options for changing the video into something more manageable Don t send full resolution videos to your friends and family Convert them to a smaller size first There s no doubt more video is being recorded every day by everybody Read more |
2022-01-19 19:30:44 |
海外TECH |
Engadget |
President Biden signs memo to help improve military cybersecurity |
https://www.engadget.com/biden-memorandum-cybersecurity-defense-intelligence-195058392.html?src=rss
|
President Biden signs memo to help improve military cybersecurityPresident Biden is following his executive order on cybersecurity with more concrete action The leader has signed a memorandum aiming to improve digital security for the Defense Department the intelligence community and national security systems The notice sets firmer requirements both for schedules and for the technology needed to lock down government data The memo lets the NSA require agencies to take quot specific actions quot in response to threats and security flaws and asks the NSA to coordinate with Homeland Security on directives Agencies will also have to identify their national security systems report incidents and secure tools that transfer data between classified and unclassified systems The President s move also sets timelines and guidance for implementing technologies required in the executive order ranging from encryption to multi factor authentication Biden s move complements an order that was initially signed in response to critical infrastructure cyberattacks In theory this will tighten security at some of the most sensitive federal government institutions As with the order though the memo can only accomplish so much without Congress support Virginia Senator Mark Warner for instance used the signing to ask Congress to pass legislation requiring notices of critical infrastructure breaches within hours The timing is apt at least The President s effort comes as tensions rise between Russia the US and American allies with Ukraine blaming Russia for a string of cyberattacks that knocked out government websites The situation might not lead to outright cyberwarfare but the US still has a strong incentive to close as many security holes as possible |
2022-01-19 19:50:58 |
海外TECH |
Engadget |
Instagram starts testing creator subscriptions |
https://www.engadget.com/instagram-creator-subscriptions-test-193856198.html?src=rss
|
Instagram starts testing creator subscriptionsInstagram creators are getting another way to create income from the platform subscriptions A very small number of influencers in the US have access to the feature for now as Instagram tests the feature Subscriptions Subscriptions allow creators to monetize and become closer to their followers through exclusive experiences Subscriber Lives Subscriber Stories Subscriber BadgesWe hope to add more creators to this test in the coming months More to come pic twitter com SbFhNQWMXーAdam Mosseri mosseri January At the outset they ll be able to put some livestreams and stories behind a paywall Those stories which can be saved to subscribers only highlights have a purple ring to make them stand out Instagram head Adam Mosseri said As with Twitch and YouTube subscribers will receive a purple badge next to their usernames Creators can see the badge in comments messages and elsewhere As such they ll be able to devote more of their attention to subscribers if they like More subscription features may be added in the future Mosseri also said his team is working on ways for creators to export their subscriber lists and quot bring them off of Instagram to other apps and websites built by other companies quot Creators will be able to set a monthly price of their choosing and followers can subscribe via a button on their profile Instagram plans to expand the test to more creators in the coming months and parent company Meta previously said it won t take a cut of creators earnings until at least quot This will help creators earn more by offering benefits to their most engaged followers like access to exclusive Lives and Stories quot said Mark Zuckerberg CEO of Instagram s parent company Meta quot I m excited to keep building tools for creators to make a living doing creative work and to put these tools in more creators hands soon quot Facebook added subscriptions in It seemed inevitable that given the platform s popularity and large number of influencers the option would come to Instagram as well Mosseri previously said creators would be one of Instagram s major areas of focus this year and subscriptions certainly play into that It follows Instagram offering creators payouts for hitting certain livestreaming targets and other monetization features Last summer Zuckerberg announced plans to invest billion in creators by the end of With so many influencers finding big audiences on other platforms many of which are investing heavily in creators the company was left with little choice but to try and draw them to Facebook and Instagram with the promise of payouts |
2022-01-19 19:38:56 |
海外科学 |
NYT > Science |
Here’s What Scientists Know About the Tonga Volcano Eruption |
https://www.nytimes.com/2022/01/19/climate/scientists-tonga-volcano-eruption-effects.html
|
short |
2022-01-19 19:47:47 |
ニュース |
BBC News - Home |
In the name of God go, David Davis tells UK PM |
https://www.bbc.co.uk/news/uk-politics-60056482?at_medium=RSS&at_campaign=KARANGA
|
labour |
2022-01-19 19:48:47 |
ニュース |
BBC News - Home |
Covid: Face mask rules and Covid passes to end in England |
https://www.bbc.co.uk/news/uk-60047438?at_medium=RSS&at_campaign=KARANGA
|
boris |
2022-01-19 19:26:51 |
ニュース |
BBC News - Home |
Shrewsbury MP Daniel Kawczynski suspended for one day over bullying |
https://www.bbc.co.uk/news/uk-england-shropshire-60057326?at_medium=RSS&at_campaign=KARANGA
|
apology |
2022-01-19 19:18:20 |
ニュース |
BBC News - Home |
US and UK finally sit down on steel tariffs |
https://www.bbc.co.uk/news/business-60061265?at_medium=RSS&at_campaign=KARANGA
|
border |
2022-01-19 19:21:03 |
ニュース |
BBC News - Home |
'We hope that she's doing OK' - leading players call for information on Peng's wellbeing |
https://www.bbc.co.uk/sport/tennis/60061128?at_medium=RSS&at_campaign=KARANGA
|
x We hope that she x s doing OK x leading players call for information on Peng x s wellbeingVictoria Azarenka Naomi Osaka and Ashleigh Barty call for more information on Chinese player Peng Shuai s wellbeing |
2022-01-19 19:06:32 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
EC物流「ラストワンマイル市場」は3兆円に拡大!新規参入急増で戦国時代突入 - 物流専門紙カーゴニュース発 |
https://diamond.jp/articles/-/293204
|
|
2022-01-20 04:55:00 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
オーケー、神戸物産…ディスカウントストアの二桁成長を支える「安さ+α」の価値 - 企業サバイバル最前線 |
https://diamond.jp/articles/-/292799
|
オーケー、神戸物産…ディスカウントストアの二桁成長を支える「安さα」の価値企業サバイバル最前線ディスカウントストアDSの売上成長率は二桁増と、食品スーパーマーケットSMの増を大きく上回る。 |
2022-01-20 04:50:00 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
製薬王者「武田薬品」ブランド崩壊!自画自賛キャンペーンと凶報続きの開発品 - 医薬経済ONLINE |
https://diamond.jp/articles/-/292779
|
|
2022-01-20 04:45:00 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
「伊藤忠商事の社史」が、かつて平仮名を使わなかった理由 - 伊藤忠 財閥系を凌駕した野武士集団 |
https://diamond.jp/articles/-/285830
|
伊藤忠商事 |
2022-01-20 04:40:00 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
【クイズ】2022年度税制改正大綱で、相続の節税対策はどう変わる!? - 「お金の達人」養成クイズ |
https://diamond.jp/articles/-/293004
|
税制改正 |
2022-01-20 04:35:00 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
“人を殺して死のうと思った”事件続発、「孤立を防げ」の連呼が逆に危険な理由 - 情報戦の裏側 |
https://diamond.jp/articles/-/293752
|
危機管理 |
2022-01-20 04:30:00 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
物価が上がれば賃金は上がる?成長に取り残された日本の「勘違い」 - 野口悠紀雄 新しい経済成長の経路を探る |
https://diamond.jp/articles/-/291231
|
実体経済 |
2022-01-20 04:25:00 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
パッシブかアクティブか、投資信託業界の「不都合な真実」 - 政策・マーケットラボ |
https://diamond.jp/articles/-/293817
|
不都合な真実 |
2022-01-20 04:20:00 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
「台湾有事」を防ぐには「現状維持」しかない - 田岡俊次の戦略目からウロコ |
https://diamond.jp/articles/-/293717
|
台湾有事 |
2022-01-20 04:15:00 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
ビットコインに触手を伸ばし始めたウォール街の巨人たち、機関投資家の参入相次ぐ - News&Analysis |
https://diamond.jp/articles/-/293679
|
newsampampanalysis |
2022-01-20 04:10:00 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
アップルやアマゾンが相次ぎ参入、世界中で「ヘルスデータ」が注目される理由 - News&Analysis |
https://diamond.jp/articles/-/293146
|
newsampampanalysis |
2022-01-20 04:05:00 |
ビジネス |
東洋経済オンライン |
台湾鉄道の信頼回復担う「日立製新型特急」の実力 相次ぐ事故と座席供給不足のイメージ払拭狙う | 海外 | 東洋経済オンライン |
https://toyokeizai.net/articles/-/503429?utm_source=rss&utm_medium=http&utm_campaign=link_back
|
信頼回復 |
2022-01-20 04:30:00 |
TECH |
Engadget Japanese |
2016年1月20日、4辺狭額縁の液晶ディスプレイ「U2417H」が発売されました:今日は何の日? |
https://japanese.engadget.com/today-203024405.html
|
液晶ディスプレイ |
2022-01-19 20:30:24 |
python |
Pythonタグが付けられた新着投稿 - Qiita |
Webアプリケーション開発のお勉強 #6 |
https://qiita.com/ryoma-jp/items/1b4f1cc90531b408b98d
|
|
2022-01-20 05:46:51 |
海外TECH |
MakeUseOf |
Windows 10 Shutting Down Randomly? Here's How to Fix It |
https://www.makeuseof.com/windows-10-shutting-down-randomly-fixes/
|
error |
2022-01-19 20:45:22 |
海外TECH |
MakeUseOf |
The 10 Best Websites to Buy Video Game Merch |
https://www.makeuseof.com/video-game-merch-websites/
|
posters |
2022-01-19 20:30:11 |
海外TECH |
MakeUseOf |
4 Ways to Restore Files From the Recycle Bin in Windows 10 |
https://www.makeuseof.com/windows-10-restore-recycle-bin-files/
|
Ways to Restore Files From the Recycle Bin in Windows Everyone accidentally sends an important file to the Recycle Bin every so often but not everyone knows the many ways you can get it back again |
2022-01-19 20:15:22 |
海外TECH |
MakeUseOf |
Hosting a Twitter Space? Here's How to Record It |
https://www.makeuseof.com/twitter-spaces-recording-when-hosting/
|
party |
2022-01-19 20:12:56 |
海外TECH |
DEV Community |
Introducing CodeCast Series ✨ |
https://dev.to/codecast/introducing-codecast-series-92d
|
Introducing CodeCast Series This article was originally published on CodeCast We are thrilled to announce that our new feature Series is now available for everyone on CodeCast We ve been working on Series behind the scenes for some time and as one of the devs who worked on it I m very excited to see it come to life I will preface this article by saying that some features within Series will be coming in later versions but the core of what Series is now ready for everyone to use As many of us began creating Casts and content on CodeCast we started to realize we were often creating Casts that were broken up into parts Suddenly we wished we had a way to add all of these parts together into a larger playlist where people could watch them easily without having to jump around or search for them Thus Series was born Series is the course style content you ve come to love It allows Creators to combine Casts into a single series broken up by chapters to help separate the Casts In this article I m going to go through exactly how to create your first Series Creating A New SeriesOnce you have created an account and are logged in to CodeCast navigate to your profile Under the bio portion of your profile you will see a row of tabs Click on the tab titled Series On the right hand side underneath the tabs you will see a New Series button Go ahead and click that Now we can get started building out our Series Fill out the form with as much information as you wish We recommend you provide A clear and concise title that quickly explains what the content of your Series includes A description containing all the detailed information regarding what your Series is about It s also a great place to provide any external links mentioned within the Series or any relevant pieces of information The description supports markdown format and we highly recommend you take advantage of that If you re not familiar with markdown I ve created a quick beginners tutorial A Promo Banner While this is optional it s highly recommended You want to capture people s attention and images are a fantastic way to do that A simple way to create a cover is to find a photo on a free website like Unsplash then use a free application to add text over the top of the image Note the aspect ratio you should use is Any promo text you provide will go right above the purchase series button While this also supports markdown you want this to be concise and simple while drawing attention We recommend using bullet points to highlight the main topics you will touch on during the series example shown below Now hit Create Series Congrats You ve created your first Series Now we just need to add some content to it Adding CastsOnce you hit Create Series the page will re route to the Edit Series section placing you on the Playlist page This is where you add the Casts that will be included in your Series This means that you will need to have Casts published of course If you haven t made your first Cast yet you should do that first We have several guides that can help you create your first Cast Take a Deep Dive into the StudioWatch our Studio tutorial videoRead our How To Make Your First Cast blogThe first step to adding Casts will be to add a Chapter Chapters are used to break up sections of the Series into natural chunks as shown below Hit Add Chapter and name the Chapter according to what the section will contain A dropdown menu will appear within the Chapter section that will allow you to add as many Casts to that Chapter as you d like Once you ve added all the Casts you d like to the Series there is one last step before you publish it and that is setting a price Navigate to the Pricing tab on the side By default the price will be set to free but you can adjust it to what you want Once that s done give everything a look over on the Series Info page and once you re happy with it go ahead and hit Publish in the upper righthand corner You ve officially published your first Series Public Vs PrivateYou will have the option to add public and private Casts alike to a Series We recommend that if a Series is free you keep all the Casts public anyways However if a Series is going to be priced for a dollar amount you ll want to make most of the Casts private so that only people who have purchased the Series can watch them We recommend keeping one or two Casts public so people can view it as a demo and get a feel for what the Series is like Now all that s left is sharing your Series with the world Here are a few of our favourite Series that are currently on CodeCast for free Learn Api s by Building A Trivia Game by Amy OultonIntro to Elixir by Tam KbeiliCreate A Portfolio Website by Amy OultonMore features are coming to Series soon so be sure to keep an eye out for those If you have any questions on Series or CodeCast feel free to email us at community codecast io or leave a comment below Not familiar with CodeCast Learn more about us by exploring our homepage or watching the video below |
2022-01-19 20:46:42 |
海外TECH |
DEV Community |
How to Make Your Own NFT |
https://dev.to/coreystevens/how-to-make-your-own-nft-24dn
|
How to Make Your Own NFTSol address mgnTysrAkQVYCsECJcaJzpXxPxGPoKPzLyiNTwitter Project overviewToday we are going to go over the steps on how to generate NFTS by providing image layers into a code I will go over exactly how to get the GitHub repo and how to update the code to make images PrerequisitesYarn mac stableNPM Solana Tool Suite Git Atom Code editor Getting StartedAfter downloading all the prerequisites we are ready to get started To start let s create a folder on our desktop or wherever you would like the Repo to be saved I made the file name NFTProject We are going to be downloading the GitHub Repo into this folder Fork the GitHub Repo here NFT GeneratorOnce you have forked it we are going to download it Open terminal and change the directory to the folder we created on the desktop or wherever you have it You can do this by copying the folder going to terminal and typing CD and pasting the folder path Next we are going to clone the repo into our folder with this command Git Clone and of course add your own Url to that so you download your own fork Okay cool We got it downloaded now we need to download the dependencies Let s go into the new directory that we just downloaded by copying the new folder inside the folder we made Then go to your terminal window and type in CD and paste the new path Once you re in the new folder we downloaded let s install the dependencies by running a few lines of code Yarn installSudo NPM installI use Sudo for NPM because sometimes it has authorization issues From here we can actually build the images from the layers already provided All we have to do is run a simple command in our terminal So in terminal run this code while in the hashlips art engine directory which you should already be in npm run buildNow if we go back into our Code Editor you ll notice a Folder named Build was created If we open that up you ll see the images that were created That s cool and all but let s add our own layers and build it Updating The Config js FileI m going to be using my own images that s an actual project so I can t share them Feel free to create your own Alright let s open the hashlips art engine file in our Code Text Editor I recommended downloading Atom in the peereqs Go to the SRC Folder and open up the Config js file A few things we want to do in this file so lets go over those First let s change the name description This can be whatever you d like Just leave the baseUri as is Next lets change the Sol address to our personal one use your own or use mine haha The growEditionSizeTo is the amount of images you want to make I ll just do a small amount for the example Now lets add our own layers below that line You ll see layersOrder below the editions That is where we will update the layer order when we make new ones in the file Lets head over to the hashlips art engine on our desktop or wherever saved and lets go into the layers folder Once in the layer folder you should see a list of layers with titles associated to them These are the same titles that are in out Config js file under layersOrder The order of these DOES matter GO ahead and open up the Bottom lid file You ll notice there is the name of the file and then a with a number The with the number is the rarity weight being the rarest and being most common Since we have our own layers we are going to delete all of the files inside of the layers folder so it s fully empty Start by making a new folder inside the layer folder and name it Then go ahead and put the new layers inside of that folder like this Your images will look different these are just the ones I m using Now let s rename the files in here so that it we have the rarity weights You can name the files whatever you want just make sure to add and a number to say the rarity For example green png And just add all your layers the same way Now that we have all the layers added and all of our images correctly labeled in the format of green png My layers folder looks like this Now we need to change the order of the layer in our code Lets head back over to our Code Viewer and go to the Config js file We need to match this order to the order we have in our Layer file we just made Your order will be different but here is mine Okay cool now all we gotta do is build it Lets go back to terminal and in our Cd hashlips art engine we want to run npm run buildAnd if we head back over to our build file that we talked about before you ll see the new images with the layers you updated Pretty sweet huh Okay there are a few other things that you can do But first let me just show you that the images also come with Meta data If you go back to you Code Editor and go to the build file you ll notice there is a json file Open it And you ll see each image has it s own Meta Data Okay dope Lets head back to our Terminal and run npm run previewNow if we go back to our build file you ll see a preview image that compiles all the images together into one big collage Okay cool that s pretty dope but let s try a different one If you want to create another folder with all the original pictures this doesn t delete the originals pixelated you will run Image description npm run pixelateYou ll now see a new folder with your images in pixelated form which is MAD popular right now To change how pixelated the images come out go over to our Config js file in the code viewer and go down to line and change the number to the left of the where the arrow is pointing The higher it is the better the quality And that s it If you read the bottom of the Hash Lips GitHub you ll see a bit more info on different things that you can do with it Thanks for tuning in with me and going through this Tutorial I hope this helped out a few people Feel free to shoot me a follow on my socials Github Twitter |
2022-01-19 20:26:31 |
海外TECH |
DEV Community |
Dart/Flutter da Json Ayrıştırma 💫 🌌 ✨ |
https://dev.to/gulsenkeskin/dartflutter-da-json-ayristirma-104b
|
Dart Flutter da Json Ayrıştırma JSON u ayrıştırmak İnternet ten veri almasıgereken uygulamalar için çok yaygın bir görevdir Ne kadar JSON verisi işlemeniz gerektiğine bağlıolarak iki seçeneğiniz vardır Tüm JSON ayrıştırma kodunu manuel olarak yazınKod oluşturma ile süreci otomatikleştirinBu kılavuz aşağıdakiler dahil olmak üzere JSON un Dart koduna manuel olarak nasıl ayrıştırılacağına odaklanacaktır JSON encoding kodlama ve decoding kod çözme Type safe tip güvenli model sınıflarıtanımlama Factory cunstructor kullanarak JSON u Dart koduna ayrıştırma Nullable optional null yapılabilir isteğe bağlı değerlerle çalışmak Data validation veri doğrulama JSON serializing Complex nested karmaşık içiçe JSON verilerini ayrıştırma deep pick paketinin kullanımıBu makalenin sonunda sağlam JSON ayrıştırma ve doğrulama koduyla model sınıflarının nasıl yazılacağınıöğreneceksiniz Ve bir sonraki makalede tüm ayrıştırma kodunu elle yazmak zorunda kalmamak için kod oluşturma araçlarıyla code generation tools JSON ayrıştırma hakkında bilgi edineceksiniz JSON Kodlama ve Kod Çözme Encoding and Decoding JSON Ağüzerinden bir JSON yanıtıgönderildiğinde yükün tamamıbir dize olarak kodlanır Ancak Flutter uygulamalarımızın içinde verileri bir dizeden manuel olarak çıkarmak istemiyoruz final json name Pizza da Mario cuisine Italian reviews score review The pizza was amazing score review Very friendly staff excellent service Bunun yerine JSON un kodunu çözerek içeriği okuyabiliyoruz JSON verilerini ağüzerinden göndermek için önce kodlanması encoded veya serileştirilmesi serialized gerekir Kodlama bir veri yapısını data structure bir string e dönüştürme işlemidir Ters işlem decoding veya deserialization seri durumdan çıkarma olarak adlandırılır Dize olarak bir JSON yüküaldığınızda kullanmadan önce kodunu çözmeniz decode veya seri durumdan çıkarmanız deserialize gerekir Dart ile JSON kodunu çözme dönüştürme Decoding JSON with dart convert Basit olmasıiçin bu küçük JSON yükünüele alalım this represents some response data we get from the network for example final response await http get uri final jsonData response bodyfinal jsonData name Pizza da Mario cuisine Italian İçindeki anahtarlarıve değerleri okumak için önce dart convert paketini kullanarak kodunu çözmemiz gerekiyor import dart convertimport dart convert this represents some response data we get from the networkfinal jsonData name Pizza da Mario cuisine Italian decode the jsonfinal parsedJson jsonDecode jsonData print the type and valueprint parsedJson runtimeType parsedJson Bu kodu çalıştırırsak şu çıktıyıalırız InternalLinkedHashMap lt String dynamic gt name Pizza da Mario cuisine Italian Pratikte sonuçtürüile aynıdır Map InternalLinkedHashMap sırayla Map i uygulayan LinkedHashMap in özel bir uygulamasıdır Bu nedenle anahtarlar String ve değerler dynamic türündedir Bu mantıklıdır çünküher JSON değeri primitive type ilkel bir tür gt boolean number string veya bir koleksiyon list veya map olabilir Aslında jsonDecode içinde ne olduğuna bakılmaksızın herhangi bir geçerli JSON yüküüzerinde çalışan genel bir yöntemdir Tek yaptığı kodunu çözmek ve dinamik bir değer döndürmek Ancak Dart ta dinamik değerlerle çalışırsak strong type safety güçlütip güvenliğinin tüm avantajlarınıkaybederiz Çok daha iyi bir yaklaşım duruma göre on a case by case basis yanıt verilerimizi temsil eden bazıözel model sınıflarıtanımlamaktır Dart statik olarak yazılmışbir dil olduğundan JSON verilerini gerçek dünya nesnelerini yemek tarifi çalışan vb temsil eden model sınıflarına dönüştürmek ve tür sisteminden type system en iyi şekilde yararlanmak önemlidir Öyleyse bunun nasıl yapılacağınıgörelim JSON u bir Dart modeli sınıfına ayrıştırmaBu basit JSON verildiğinde name Pizza da Mario cuisine Italian Onu temsil edecek bir Restaurantsınıfıyazabiliriz class Restaurant Restaurant required this name required this cuisine final String name final String cuisine Sonuçolarak verileri şöyle okumak yerine parsedJson name dynamicparsedJson cuisine dynamicşöyle okuyabiliriz restaurant name guaranteed to be a non nullable immutable String restaurant cuisine guaranteed to be a non nullable immutable StringBu çok daha temizdir ve derleme zamanıgüvenliği compile time safety elde etmek ve yazım hatalarınıve diğer hatalardan kaçınmak için tür sisteminden yararlanabiliriz Ancak parsedJson umuzu bir Restaurant nesnesine nasıl dönüştüreceğimizi henüz belirlemedik JSON da Dart a Factory Constructor EklemeBunu halletmek için bir factory constructor tanımlayalım factory Restaurant fromJson Map lt String dynamic gt data note the explicit cast to String this is required if robust lint rules are enabled final name data name as String final cuisine data cuisine as String return Restaurant name name cuisine cuisine Bir factory constructor sonucu döndürmeden önce bazıişler yapmamıza değişkenler oluşturma bazıdoğrulamalar gerçekleştirme izin verdiği için JSON ayrıştırması parsing için iyi bir seçimdir Bu normal generative üretken constructor larla mümkün değildir Constructor ışu şekilde kullanabiliriz type Stringfinal jsonData name Pizza da Mario cuisine Italian type dynamic runtime type InternalLinkedHashMap lt String dynamic gt final parsedJson jsonDecode jsonData type Restaurantfinal restaurant Restaurant fromJson parsedJson Çok daha iyi Artık kodumuzun geri kalanıRestaurant class ınıkullanabilir ve Dart ta güçlütip güvenliğinin type safety tüm avantajlarınıelde edebilir Bazen belirli bir key value çiftine sahip olan veya olmayan bazıJSON larıayrıştırmamız gerekir Örneğin bir restoranın ilk ne zaman açıldığınıbize bildiren isteğe bağlıbir alanımız olduğunu varsayalım name Ezo Sushi cuisine Japanese year opened Year opened alanıisteğe bağlıysa optional onu model sınıfımızda boşbir değişkenle nullable variable temsil edebiliriz İşte Restaurant sınıfıiçin güncellenmişbir uygulama class Restaurant Restaurant required this name required this cuisine this yearOpened final String name non nullable final String cuisine non nullable final int yearOpened nullable factory Restaurant fromJson Map lt String dynamic gt data final name data name as String cast as non nullable String final cuisine data cuisine as String cast as non nullable String final yearOpened data year opened as int cast as nullable int return Restaurant name name cuisine cuisine yearOpened yearOpened Genel bir kural olarak isteğe bağlıJSON değerlerini optional JSON values null yapılabilir Dart özelliklerine nullable Dart properties eşlemeliyiz Alternatif olarak bu örnekte olduğu gibi null yapılamayan Dart özelliklerini non nullable Dart properties mantıklıbir varsayılan değerle kullanabiliriz note all the previous properties have been omitted for simplicityclass Restaurant Restaurant required required this hasIndoorSeating non nullable final bool hasIndoorSeating factory Restaurant fromJson Map lt String dynamic gt data cast as nullable bool final hasIndoorSeating data has indoor seating as bool return Restaurant use operator to provide a default value hasIndoorSeating hasIndoorSeating true Bu durumda varsayılan bir değer sağlamak için boşbirleştirme operatörünü null coalescing operator nasıl kullandığımıza dikkat edin Veri DoğrulamaFactory constructor kullanmanın bir yararı gerekirse bazıek doğrulamalar yapabilmemizdir Örneğin gerekli bir değer eksikse UnsupportedError veren bir savunma kodu yazabiliriz factory Restaurant fromJson Map lt String dynamic gt data casting as a nullable String so we can do an explicit null check final name data name as String if name null throw UnsupportedError Invalid data data gt name is missing casting as a nullable String so we can do an explicit null check final cuisine data cuisine as String if cuisine null throw UnsupportedError Invalid data data gt cuisine is missing final yearOpened data year opened as int thanks to the if statements above name and cuisine are guaranteed to be non null here return Restaurant name name cuisine cuisine yearOpened yearOpened Genel olarak her bir değer için çalışmak API tüketicisi olarak bizim işimizdir türü String int vb isteğe bağlıysa veya değilse nullable vs non nullable hangi değer aralığına izin verilirseBu JSON ayrıştırma kodumuzu daha sağlam hale getirecektir Ve tüm doğrulamalar önceden yapıldığından widget sınıflarımızda geçersiz verilerle uğraşmak zorunda kalmayacağız toJson ile JSON SerileştirmeJSON u ayrıştırmak yararlıdır ancak bazen bir model nesnesini JSON a geri dönüştürmek ve ağüzerinden göndermek isteriz Bunu yapmak için Restaurant sınıfımız için bir toJson yöntemi tanımlayabiliriz note the return typeMap lt String dynamic gt toJson return a map literal with all the non null key value pairs return name name cuisine cuisine here we use collection if to account for null values if yearOpened null year opened yearOpened Ve bunu şöyle kullanabiliriz given a Restaurant objectfinal restaurant Restaurant name Patatas Bravas cuisine Spanish convert it to mapfinal jsonMap restaurant toJson encode it to a JSON stringfinal encodedJson jsonEncode jsonMap then send it as a request body with any networking package Nested JSON u Ayrıştırma List of MapArtık JSON ayrıştırma ve doğrulamanın temellerini anladığımıza göre ilk örneğimize geri dönelim ve nasıl ayrıştırılacağınıgörelim name Pizza da Mario cuisine Italian reviews score review The pizza was amazing score review Very friendly staff excellent service Model sınıflarınıve tip güvenliğini type safety sonuna kadar kullanmak istiyoruz bu yüzden bir Review sınıfıtanımlayalım class Review Review required this score this review non nullable assuming the score field is always present final double score nullable assuming the review field is optional final String review factory Review fromJson Map lt String dynamic gt data final score data score as double final review data review as String return Review score score review review Map lt String dynamic gt toJson return score score here we use collection if to account for null values if review null review review Ardından bir reviews listesi eklemek için Restoran class ınıgüncelleyebiliriz class Restaurant Restaurant required this name required this cuisine this yearOpened required this reviews final String name final String cuisine final int yearOpened final List lt Review gt reviews Ayrıca factory cunstructor ınıda güncelleyebiliriz factory Restaurant fromJson Map lt String dynamic gt data final name data name as String final cuisine data cuisine as String final yearOpened data year opened as int cast to a nullable list as the reviews may be missing final reviewsData data reviews as List lt dynamic gt if the reviews are not missing final reviews reviewsData null map each review to a Review object reviewsData map reviewData gt Review fromJson reviewData map returns an Iterable so we convert it to a List toList use an empty list as fallback value lt Review gt return result passing all the arguments return Restaurant name name cuisine cuisine yearOpened yearOpened reviews reviews •reviews eksik olabilir bu nedenle nullable bir Listeye yayınlıyoruz •listedeki değerlerin herhangi bir türüolabilir bu nedenle List kullanıyoruz •Review fromJson kullanarak her dinamik değeri bir Review nesnesine dönüştürmek için map operatörünükullanırız •reviews eksikse yedek olarak boşbir liste kullanırız Bu özel uygulama neyin boşolup olmayacağı hangi yedek değerlerin kullanılacağıvb hakkında bazıvarsayımlarda bulunur Kullanım durumunuz için en uygun ayrıştırma kodunu yazmanız gerekir İçİçe Nested Modelleri SerileştirmeSon adım olarak bir Restoranıtekrar Map e dönüştürmek için toJson yöntemini burada bulabilirsiniz Map lt String dynamic gt toJson return name name cuisine cuisine if yearOpened null year opened yearOpened reviews reviews map review gt review toJson toList Tüm içiçe değerleri de serileştirmemiz gerektiğinden yalnızca Restaurant sınıfının kendisini değil List öğesini nasıl List gt e dönüştürdüğümüze dikkat edin Yukarıdaki kod ile bir Restaurant nesnesi oluşturup onu tekrar kodlanıp yazdırılabilen veya ağüzerinden gönderilebilen bir map e dönüştürebiliriz final restaurant Restaurant name Pizza da Mario cuisine Italian reviews Review score review The pizza was amazing Review score review Very friendly staff excellent service final encoded jsonEncode restaurant toJson print encoded output name Pizza da Mario cuisine Italian reviews score review The pizza was amazing score review Very friendly staff excellent service Derin Değerler Deep Values SeçmekTüm bir JSON belgesini type safe model sınıflarına ayrıştırmak çok yaygın bir kullanım durumudur Ancak bazen derinden içiçe deeply nested olabilecek bazıbelirli değerleri okumak isteriz Örnek JSON umuzu bir kez daha ele alalım name Pizza da Mario cuisine Italian reviews score review The pizza was amazing score review Very friendly staff excellent service reviews listesindeki ilk score değerini almak isteseydik şöyle yazardık final decodedJson jsonDecode jsonData dynamicfinal score decodedJson reviews score as double Bu geçerli Dart kodudur çünküdecodedJson değişkeni dinamiktir ve onunla birlikte indis operatörünükullanabiliriz Ancak yukarıdaki kod ne null safe ne de type safe ve ayrıştırılan değeri açıkça istediğimiz türe double çevirmemiz gerekiyor Bunu nasıl iyileştirebiliriz deep pick PaketiDeep pick paketi tür açısından type safe API ile JSON parsing i basitleştirir import dart convert import package deep pick deep pick dart final decodedJson jsonDecode jsonData dynamicfinal score pick decodedJson reviews score asDoubleOrThrow deep pick ilkel türleri primitive types listeleri mapleri DateTime nesnelerini ve daha fazlasınıayrıştırmak için kullanabileceğimiz çeşitli esnek API ler sunar toString yöntemi eklemeModel sınıflarıyla çalışırken konsola kolayca yazdırılabilmeleri için bir toString yöntemi sağlamak çok yararlıdır Zaten bir toJson yöntemimiz olduğundan onu şu şekilde kullanabiliriz overrideString toString gt toJson toString Sonuçolarak restoranımızıdoğrudan şu şekilde yazdırabiliriz print restaurant output name Pizza da Mario cuisine Italian reviews score review The pizza was amazing score review Very friendly staff excellent service Performans Hakkında NotKüçük JSON belgelerini ayrıştırdığınızda uygulamanızın yanıt vermeye devam etmesi ve performans sorunlarıyaşamamasımuhtemeldir Ancak çok büyük JSON belgelerinin ayrıştırılması arka planda en iyi şekilde ayrıbir Dart isolate üzerinde yapılan pahalıhesaplamalara neden olabilir Resmi belgelerin bu konuda iyi bir kılavuzu var •JSON u arka planda ayrıştırın ÇözümJSON serileştirme çok sıradan bir iştir Ancak uygulamalarımızın doğru çalışmasınıistiyorsak bunu doğru yapmamız ve ayrıntılara dikkat etmemiz çok önemlidir •JSON verilerini seri hale getirmek için dart convert öğesinden jsonEncode ve jsonDecode kullanın•Uygulamanızdaki tüm alana özgü domain specific JSON nesneleri için fromJson ve toJson ile model sınıflarıoluşturun•Ayrıştırma kodunu daha sağlam hale getirmek için fromJson içine explicit casts validation ve boşdenetimler null checks ekleyin•İçiçe nested JSON verileri list of maps için fromJson ve toJson yöntemlerini uygulayın•JSON u tür açısından güvenli type safe bir şekilde ayrıştırmak parse için deep pick paketini kullanmayıdüşününFarklımodel sınıfınız varsa veya her sınıfın birçok özelliği varsa tüm ayrıştırma kodunu elle yazmak zaman alıcıve hataya açık hale gelir Bu gibi durumlarda kod oluşturma code generation çok daha iyi bir seçenektir resource |
2022-01-19 20:06:44 |
海外TECH |
DEV Community |
How I Broke GitHub Copilot, And Got It To Talk. |
https://dev.to/idonov/how-i-broke-github-copilot-and-got-it-to-talk-72j
|
How I Broke GitHub Copilot And Got It To Talk TL DRI used GitHub Copilot to write English instead of code and found out it can do some surprising non code related tasks Hi my name is Ido and I m a full stack dev at DagsHub I love coding and I love machine learning and AI technologies A year ago when OpenAI announced GPT amp its public beta I was fascinated by its abilities but I didn t have an API key so I played with everything that was built with GPT and was free to use back then Naturally when I heard Microsoft is coming out with GitHub Copilot I signed up for the waitlist and a few months later I got access What is GitHub Copilot and what it has to do with GPT In June OpenAI released a language model called GPT This model is really good at understanding natural language and surprisingly it has some coding capabilities even though it wasn t trained on code After this discovery OpenAI developed Codex Codex is another GPT language model that has fewer parameters runs faster and is not as flexible as GPT has more memory can read more and grasp context better and lastly it was trained and fine tuned with code examples from GitHub and Stack Exchange Unsurprisingly Codex is a lot better than GPT at writing code Knowing that we shouldn t expect it to be successful at anything else Luckily I didn t know all that so I tried anyway Let s not code I heard that GitHub Copilot was good at writing code and it really is On my day to day work it s surprising every time to see it complete the code I was about to write But after getting over the “basics I was much more interested in using as an intermediary for playing with GPT I began by opening a blank text file and asking it a simple question If you just write a question in an empty file it won t be enough for it to auto complete an answer but I discovered that if I give Copilot a bit more context with a speaker name or a Q amp A format it answers like a champ It s alive kind of scary When repeating this conversation I always get slightly different results that make the conversation go in a different direction it s like talking to a different bot each time Copilot “reverse codingKnowing that it still understands English well enough to talk I tried to make it do the opposite of what it was designed to do Meaning instead of turning English to code turn my coworker s code to English I tried writing things like This function The code above A description of this code But the best way I found to do it was simply to write “Pseudo code after a chunk of code and let Copilot do its magic Notice it even completes the return response line that was already written below it This method worked surprisingly well for me on a regular basis This might actually be useful when trying to understand some code you didn t write Verifying AI alignment and tone of voiceWith such a deep understanding that I found the model to have I had to check if it had any dark intentions To make sure the answers I get are from the AI s point of view I used Human and AI speakers instead of the Q amp A from before basically play acting with Codex to see what it thinks of the situation Luckily looks like we are safe for now After some more play acting I noticed a bit of a strange thing The way letters are formatted had an effect on its behavior and I m not talking about compilation errors It might mean it understands the difference in tone between TALKING LIKE THIS or like this I d say normal captioning makes it try to be reasonable lowercase makes it less formal and excited and upper case just makes it act like an asshole I wonder if it affects the code it generates as wellThere are some subtle differences notice the naming of the function and the string it chose to test it with Also check out the output prompt made it calculate the output of the function accurately every time Other Copilot SkillsFurthermore I learned it can complete number series s summarize Wikipedia pages come up with blog ideas and even write some poetry This is not trivial at all note that this is not actually the original general purpose GPT Codex has billion parameters compared to GPT s billion and it was trained only on open source code The fact that it does so well is insane to me For example I started writing the beginning of “Two Roads by Robert Frost and found out it knew the song but didn t memorize all of it so after some point it started to improviseDo you know where the original stops and the improv starts After gaining all this knowledge I wanted to go meta I wondered if I can make the Copilot generate code that will make it write code Then I may be able to somehow combine it and create an AI monster to rule the world I m not quite there yet But look forward to more updates in the future ConclusionAfter experimenting with GitHub Copilot I understand better how little we know about the AI we are building There are SO MANY unexpected results and different ways to use this one model that was fine tuned for only one task This was only a small sample of experiments that could fit into this blog post but there are a lot more and I can t wait to see your experiments as well Please share your results in our Discord Server or post them with CopilotNotCode And what do we know maybe your autonomous car will unintentionally also have feelings and your keyboard will try to tell you it loves you but if we don t listen we might never know UPDATE This post got to the front page of Hacker News so you can view and join the discussion there as well Originally published at dagshub com on January |
2022-01-19 20:03:28 |
Apple |
AppleInsider - Frontpage News |
Nanoleaf is discontinuing original Light Panels, get them while you can at 50% off |
https://appleinsider.com/articles/22/01/19/nanoleaf-is-discontinuing-original-light-panels-get-them-while-you-can-at-50-off?utm_medium=rss
|
Nanoleaf is discontinuing original Light Panels get them while you can at offThe original Nanoleaf Light Panels are being discontinued in favor of the new Shapes lineup but you can get up to off remaining panels and expansion packs while supplies last Nanoleaf discontinues original triangle light panelsThe Nanoleaf Light Panels that initially debuted in are retiring Nanoleaf says that replacement parts will be made available until December and software support will continue forever Read more |
2022-01-19 20:29:26 |
海外TECH |
Engadget |
Nanoleaf has stopped selling its original wall tiles |
https://www.engadget.com/nanoleaf-retires-rhythm-light-panels-204440523.html?src=rss
|
Nanoleaf has stopped selling its original wall tilesNanoleaf is retiring the product that made it into a household name Starting today you can no longer purchase Rhythm Light Panels starter kits from the company s website In a video it uploaded to YouTube Nanoleaf said it now considers the device as a legacy product It notes it will continue to support Light Panels within its mobile app “forever or “a very very very long time In practice that means you can continue to use the panels in conjunction with Nanoleaf s group feature allowing you to sync them with its current and future lights For the time being it doesn t sound like the company plans to update the panels to add support for new features like Thread We ve reached out to find out if that s the case Should you need replacement parts for your panels Nanoleaf will offer those until the end of If you want to expand your current setup the company has discounted expansion packs by percent and accessories by percent while supplies last As you might imagine not everyone is happy about the news nbsp “This is a mistake says one of the comments on the video the company released “All Nanoleaf needed to do was release an updated controller that supports Thread to help the connection issues In both the video and on its website Nanoleaf says part of the reason it s retiring the Light Panels is that it feels it found a suitable successor in its new Shapes line |
2022-01-19 20:44:40 |
海外TECH |
Engadget |
GM aims to use hydrogen fuel cells for mobile power generators |
https://www.engadget.com/gm-hydrotec-hydrogen-fuel-cell-power-generator-202526346.html?src=rss
|
GM aims to use hydrogen fuel cells for mobile power generatorsAutomakers have been pursuing the dream of hydrogen fuel cell vehicles for decades ーwho wouldn t want a car that runs on renewable hydrogen and only emits water vapor But many challenges from designing cars that can easily hold the fuel to setting up reliable hydrogen distribution have made it difficult to turn that dream into a reality But what if you used those fuel cells to set up a remote EV charging station or to replace a traditional gas or diesel generator for a large camp That s what GM is planning to do with its HYDROTEC fuel cell technology the company announced today GMGM s Mobile Power Generators or MPGs are pretty self descriptive they d basically let you bring large amounts of electricity anywhere without burning fossil fuels or expanding a local power grid It could be useful for concerts movie sets or neighborhoods that frequently lose power In my town outside of Atlanta almost everyone owns a gas generator to deal with storm related outages nbsp The announcement also makes plenty of sense for GM as it s already bringing its fuel cell technology to trucking aerospace and rail partners The company says the MPGs will be able to spit out to kilowatts without producing much noise or heat GM plans to show off an MPG powered EV charging station in the middle of a project co funded by the Michigan Economic Development Corporation and the U S Army Additionally the California Energy Commission is exploring how MPGs could help provide energy during power shutdowns GM is also working together with Renewable Innovations to build the EMPOWER rapid charger which could deliver fast EV charging to existing stations without the need for huge infrastructure improvements Taking things to an even more extreme level there s a large MPG implementation that could potentially power large military camps and heavy duty equipment And as a bonus those camps can actually use the water the MPG emits While it ll likely be years before MPGs can actually deployed it s heartening to see GM explore uses for fuel cells outside of cars Battery powered EVs have evolved so quickly that hydrogen powered cars don t have much of a future sorry Toyota So it s about time we start considering other ways fuel cells could help |
2022-01-19 20:25:26 |
Cisco |
Cisco Blog |
Get Smarter with Continuing Cisco Cloud Innovations |
https://blogs.cisco.com/cloud/get-smarter-with-continuing-cisco-cloud-innovations
|
Get Smarter with Continuing Cisco Cloud InnovationsWith so many Cisco cloud innovations it can be challenging to keep up to date on the many ways Cisco is moving your clouds forward Whether you need security and visibility for your application developers and cloud native technologies or operations and management solutions for your cloud connections and operations Cisco is the one provider that can help you make all of your clouds work smarter |
2022-01-19 20:26:06 |
海外科学 |
NYT > Science |
After Tonga's Volcano Eruption, Worries Grow About Covid Exposure |
https://www.nytimes.com/2022/01/18/world/australia/tonga-volcano-covid.html
|
After Tonga x s Volcano Eruption Worries Grow About Covid ExposureAid workers risk bringing in a virus Tonga has so far kept out But there are more immediate problems as its government confirmed in its first statement since the disaster |
2022-01-19 20:13:40 |
ニュース |
BBC News - Home |
Jozef Puska, 31, charged with murder of Ashling Murphy |
https://www.bbc.co.uk/news/world-europe-60052695?at_medium=RSS&at_campaign=KARANGA
|
murphy |
2022-01-19 20:43:08 |
ニュース |
BBC News - Home |
Defecting was most difficult decision - Wakeford |
https://www.bbc.co.uk/news/uk-politics-60060369?at_medium=RSS&at_campaign=KARANGA
|
right |
2022-01-19 20:07:41 |
ニュース |
BBC News - Home |
Ukraine tension: Blinken says Russia could attack at short notice |
https://www.bbc.co.uk/news/world-europe-60048395?at_medium=RSS&at_campaign=KARANGA
|
russia |
2022-01-19 20:36:26 |
ニュース |
BBC News - Home |
Christian Wakeford's long walk to defection |
https://www.bbc.co.uk/news/uk-politics-60062632?at_medium=RSS&at_campaign=KARANGA
|
doubts |
2022-01-19 20:01:27 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
東京エレクトロン社長が強気発言!「半導体の供給過剰も大不況も起こらない」 - 戦略物資 半導体&EV電池 |
https://diamond.jp/articles/-/293261
|
半導体メーカー |
2022-01-20 05:25:00 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
ビットコインの新常態、米株安やFRBに逆らえず - WSJ発 |
https://diamond.jp/articles/-/293877
|
株安 |
2022-01-20 05:21:00 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
コマツ社長「今は好機とリスクが混在している」、インフレ時代の乗り切り方 - 企業悶絶!インフレ襲来 |
https://diamond.jp/articles/-/293093
|
建設機械 |
2022-01-20 05:20:00 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
東電・関電・中電が値上げで九電にまさかの「完敗」、LNGと石炭高騰で電気料金値上げラッシュ - 企業悶絶!インフレ襲来 |
https://diamond.jp/articles/-/293092
|
中部電力 |
2022-01-20 05:15:00 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
楽天は「当局に監視されている」、経済安全保障政策“元年”に第一人者が語る現実 - 総予測2022 |
https://diamond.jp/articles/-/291225
|
国家安全保障 |
2022-01-20 05:10:00 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
大阪の統合型リゾート計画に「東」の大成建設が食い込めた理由 - Diamond Premium News |
https://diamond.jp/articles/-/293757
|
diamondpremiumnews |
2022-01-20 05:05:00 |
北海道 |
北海道新聞 |
<社説>まん延防止拡大 社会機能維持へ先手で |
https://www.hokkaido-np.co.jp/article/635438/
|
新型コロナウイルス |
2022-01-20 05:01:00 |
ビジネス |
東洋経済オンライン |
日立、グループ再編「最終章」に待ち受ける課題 伊藤忠と投資ファンドに日立建機株を売却へ | 素材・機械・重電 | 東洋経済オンライン |
https://toyokeizai.net/articles/-/504220?utm_source=rss&utm_medium=http&utm_campaign=link_back
|
建設機械 |
2022-01-20 05:40:00 |
ビジネス |
東洋経済オンライン |
感染爆発か集団免疫か、そのカギになるもの ワクチンは自身の感染リスク低減以外にも効果 | 最新の週刊東洋経済 | 東洋経済オンライン |
https://toyokeizai.net/articles/-/504219?utm_source=rss&utm_medium=http&utm_campaign=link_back
|
新型コロナウイルス |
2022-01-20 05:30:00 |
コメント
コメントを投稿