TECH |
Engadget Japanese |
BGMに合わせてカラフルに光る。LED音楽リズムライト【ZITHINK Ml2】 |
https://japanese.engadget.com/zithink-ml2-024054338.html
|
お気に入りの音楽と鮮やかな彩りで、いつでもどこでも楽しく空間を満たすLED音楽リズムライト「ZITHINKMl」が、いよいよ日本に上陸しますパソコンのモニターや車内などにライトの装飾を付けたいと思っているけれど、ケーブルのせいで見栄えが良くなかったり、音楽に合わせて光る機能がなかったり、ライトの色が選べなかったり…これぞという製品と出会えていなかった方、ZITHINKMlをぜひお選びくださいZITHINKジッシンクMlは、音楽のリズムに合わせてカラフルに光るLEDライトです。 |
2021-09-29 02:40:54 |
TECH |
Engadget Japanese |
Microsoft Storeでサードパーティのアプリストアが公開可能に |
https://japanese.engadget.com/windows-microsoft-store-022657311.html
|
microsoft |
2021-09-29 02:26:57 |
ROBOT |
ロボスタ |
「Qoobo」シリーズの累計販売数が3万匹を突破!撫でるとしっぽを振って応えてくれるしっぽロボット 自宅の癒やし時間に一役 |
https://robotstart.info/2021/09/29/qoobo-cumulative-thirty-thousand.html
|
qoobo |
2021-09-29 02:54:12 |
IT |
ITmedia 総合記事一覧 |
[ITmedia News] NTTグループ、リモートワーク基本に 転勤・単身赴任も撤廃 22年度中 |
https://www.itmedia.co.jp/news/articles/2109/29/news091.html
|
itmedia |
2021-09-29 11:22:00 |
TECH |
Techable(テッカブル) |
まるで犬や猫とLINEでトークをしているかのような体験ができる「waneco talk」 |
https://techable.jp/archives/163157
|
waneco |
2021-09-29 02:00:41 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
Pythonで共有メモリを使ってデータを他言語に渡したい |
https://teratail.com/questions/361834?rss=all
|
Pythonで共有メモリを使ってデータを他言語に渡したい実現したいこと共有メモリを使ってPythonと他言語でのデータ共有をしたいと思っています。 |
2021-09-29 11:53:57 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
Python3に関する大学の課題でどうしてもわからない問題があり、困っています。 |
https://teratail.com/questions/361833?rss=all
|
Pythonに関する大学の課題でどうしてもわからない問題があり、困っています。 |
2021-09-29 11:52:28 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
inputで変更した値を取得したい |
https://teratail.com/questions/361832?rss=all
|
inputで変更した値を取得したい初心者ですよろしくお願いいたします。 |
2021-09-29 11:51:20 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
【Flutter】 Cloud Firestoreを使い特定のドキュメントのフィールドを取得したいです |
https://teratail.com/questions/361831?rss=all
|
【Flutter】CloudFirestoreを使い特定のドキュメントのフィールドを取得したいですCloudnbspFirestoreを使い特定のドキュメントのフィールドを取得したいですFlutterを始めて週間ほどです。 |
2021-09-29 11:50:07 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
[eb swap コマンドエラー] InvalidParameterValueError - Environment 'AAAA' is pending deployment. |
https://teratail.com/questions/361830?rss=all
|
ebswapコマンドエラーInvalidParameterValueErrorEnvironmentxAAAAxispendingdeployment前提AWSnbspElasticnbspBeanstalkでBlueGreennbspDeploymentをしています。 |
2021-09-29 11:40:26 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
[VBA]A列に特定の文字がある場合繰り返しをする |
https://teratail.com/questions/361829?rss=all
|
VBAA列に特定の文字がある場合繰り返しをする前提・実現したいことA列に特定の文字が入っているところからFor文をスタートさせたいです。 |
2021-09-29 11:37:37 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
文字列か数値か判断したい。 |
https://teratail.com/questions/361828?rss=all
|
stdisdigit |
2021-09-29 11:34:19 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
MAMPでローカル環境を作りたいが本番サイトにリダイレクトされてしまう |
https://teratail.com/questions/361827?rss=all
|
MAMPでローカル環境を作りたいが本番サイトにリダイレクトされてしまうMAMPMac環境でローカル環境を作成。 |
2021-09-29 11:32:43 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
【Rails】PAYJPのクレジット決済で、Invalid expiration yearが出てしまう |
https://teratail.com/questions/361826?rss=all
|
【Rails】PAYJPのクレジット決済で、Invalidexpirationyearが出てしまう前提・実現したいこと最終的に実現したいのは、クレジットカード登録と同時にユーザー情報を紐付けることです。 |
2021-09-29 11:32:31 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
パックマン ゴーストAI |
https://teratail.com/questions/361825?rss=all
|
Unityで現在このサイトをもとにパックマンのゴーストを制作しているのですが、下に掲載したようなエラーが出てしまいます。 |
2021-09-29 11:29:46 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
Stale Element Reference Exception が出てスクレイピングできない |
https://teratail.com/questions/361824?rss=all
|
StaleElementReferenceExceptionが出てスクレイピングできないやりたいこと日付を桁表示webページを開くクリック場所の定義日日のcsvファイルを取得状況「csvファイルをダウンロードする」のようなボタンをクリックしてデータ取得をしたいのですが、以下のコードを実行しても早速日目から取得できません。 |
2021-09-29 11:26:13 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
Railsのstatusオプションの取得方法が分からない |
https://teratail.com/questions/361823?rss=all
|
Railsのstatusオプションの取得方法が分からない前提・実現したいこと私はフロントとバックエンドに分けて開発を行なっています。 |
2021-09-29 11:18:34 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
python pyocrのエラー |
https://teratail.com/questions/361822?rss=all
|
pythonpyocrのエラー前提・実現したいことanacondaの仮想環境でpyocrを使って画像から文字を読み込みたい。 |
2021-09-29 11:12:14 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
fopenで読み込んだファイルのphp部分がコメントアウトされる |
https://teratail.com/questions/361821?rss=all
|
fopenで読み込んだファイルのphp部分がコメントアウトされる前提・実現したいことindexphpで定義した変数を、fopenで読み込んでいるhtmlで使用したい。 |
2021-09-29 11:10:06 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
【Rust】winapiの関数のアドレスを取得する方法ってありますか |
https://teratail.com/questions/361820?rss=all
|
【Rust】winapiの関数のアドレスを取得する方法ってありますか質問Cのコードの以下をRustwinapiで表したいです。 |
2021-09-29 11:07:23 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
GAS パラメーターエラー スクレイピング出力のスプレッドシートへの転記 |
https://teratail.com/questions/361819?rss=all
|
GASパラメーターエラースクレイピング出力のスプレッドシートへの転記前提・実現したいことGAS入門者です。 |
2021-09-29 11:04:35 |
AWS |
AWSタグが付けられた新着投稿 - Qiita |
【AWS認定試験】SCS-C01取得しました |
https://qiita.com/t_tsuchida/items/71991d3b565fec442737
|
AWSWAF利用できるサービス、対象の攻撃など。 |
2021-09-29 11:22:58 |
Ruby |
Railsタグが付けられた新着投稿 - Qiita |
Railsのタイムゾーン |
https://qiita.com/ishigami_masato/items/83c057b7638b1616d3bb
|
ActiveSupportTimeWithZoneオブジェクトはconfigapplicationに設定したタイムゾーンに変換が可能。 |
2021-09-29 11:11:43 |
技術ブログ |
Developers.IO |
DX実現の第一歩!クラウド技術を活かしたデータ分析、成功のヒント |
https://dev.classmethod.jp/news/snowflake-webinar/
|
第一歩 |
2021-09-29 02:55:32 |
技術ブログ |
Developers.IO |
GrafanaからAmazon Managed Grafanaへダッシュボードの設定を移行してみる |
https://dev.classmethod.jp/articles/aws-grafana-moving-dashboard/
|
amazonmanagedgrafana |
2021-09-29 02:16:34 |
海外TECH |
Ars Technica |
Physicists may have cracked the case of “Zen” stones balanced on ice pedestals |
https://arstechnica.com/?p=1799030
|
creates |
2021-09-29 02:25:13 |
海外TECH |
DEV Community |
Estruturas de dados como Hooks, um guia: Linked List |
https://dev.to/assuncaocharles/estruturas-de-dados-como-hooks-um-guia-linked-list-1c7d
|
Estruturas de dados como Hooks um guia Linked List“Programadores medianos se preocupam meramente com o código Programadores excelentes se preocupam com estruturas de dados e suas relações ー Linus TorvaldsEu amo algoritmos e estruturas de dados quando estava na faculdade eu fui monitor de estruturas de dados basicamente ajudava alunos novos a entender o assunto e o professor a corrigir exercícios Se quiser saber mais sobre minha história vocêpode conferir meu post fazendo um review dos últimos anos Eu também costumo passar algumas horas do meu tempo livre brincando com os amigos no clash of code É eu sei bem nerd Então como uma forma de ressuscitar esse meu antigo prazer eu decidi criar uma série de posts implementando estruturas de dados em javascript e para fazer isso ficar mais divertido e no hype vamos fazer isso tudo como react hooksVamos ver várias estruturas de dados aqui mas quis começar com uma das mais simples e comuns Linked List lista encadeada Para quem ainda não sabe muito bem como funciona a lista encadeada confere aqui o que o Wikipedia diz sobre Em ciência da computação a lista ou sequência éuma abstração de tipo de dado que representa um número mensurável de valores ordenados Se isso não ajudou muito vocêpode apenas imaginar uma sequência de dados onde um dado estáconectado com o próximo pro exemplo gt gt gt gt gt nullConsiderando uma lista como essa podemos chamar cada número de node nó e dar um nome especial para o primeiro e último respectivamente head and tail cabeça e cauda Todo o código que vamos ver aqui estádisponível nesse CodeSandbox Junto com uma pequena aplicação para visualizar nosso trabalho Chega de teoria vamos botar a mão na massa DISCLAIMER O objetivo aqui éser o mais didático possível para iniciantes então estou bem ciente que o código aqui pode não ser padrão de qualidade de produção Também estou tentando evitar algumas mágicas do JS e coisas mais complexas como recursão para manter o mais simples possível APINo final o que queremos éatingir um contrato API parecido com o código a seguir const list tail size add remove removeAt indexOf dataAt useList Nossa lista éapenas uma sequência de nodes então precisamos representar isso Vamos dizer que queremos poder usar um node da seguinte forma const node new Node ou qualquer outro tipo de data que vocêqueira manter na sua lista Partes fundamentais NodeNossa lista vai ser construída com nodes e nos vamos fazer operar funções nos nodes então faz todo sentido que criar nossa representação de Node seja a primeira coisa a se fazer function Node data this data data this next null Testando const node new Node console log node data next null AçõesVamos usar um reducer simples nativo do React para manipular nossa list e para isso funcionar precisamos ter uma ideia clara do que pode ser executado então vamos definir as possíveis ações que podem acontecer na nossa list const actions ADD LIST ADD REMOVE LIST REMOVE REMOVE AT INDEX LIST REMOVE AT INDEX REVERT LIST REVERT O hookNosso hook éuma função bem simples que apenas mantem o estado usando useState e expõem algumas funções para permitir manipular o estado então a gente vai começar com algo parecido com o seguinte export function useList const list tail size dispatch useReducer listReducer tail null list null size const add data gt dispatch type actions ADD data return add list tail size ReducerPrecisamos definir nosso reducer o que vai ser bem simples basicamente contendo manipulação do estado baseado nas ações que definimos anteriormente const listReducer state action gt switch action type default return state Métodos basePrecisaremos de algumas funções para poder executar algumas operaçÕes na list então vamos começar construindo as addTemos que poder adicionar novos nodes na list e como disse anteriormente manter a referência da tail para que nossa operação de add seja O Nossa função vai receber o dado para ser adicionado a list atual e nossa tail const add data list tail size gt Vamos conferir se jáexiste o primeiro node na nossa list ou se vamos ter que criar o primeiro Se éo primeiro elemento da list apenas vamos criar um Node e fazer com que nossa list seja aquele node Nossa condição vai ser algo semelhante à if list let newList new Node data let newTail newList return list newList tail newTail Se játivermos algo na list significa apenas que devemos adicionar algo depois da tail que ésempre nosso último elemento e então fazer com que o próximo elemento depois da nossa tail atual passe a ser a nova tail Colocando tudo isso em código vai ficar mais ou menos assim const add data list tail size gt if list let newList new Node data let newTail newList return list newList tail newTail size size else tail next new Node data tail tail next return list tail size size E agora a gente tem que adicionar o que fizemos no reducer case actions ADD return state add action data state removeEsse vai parecer um pouco mais complicado mas não se preocupe éapenas umas linhas a mais de código e a gente vai dar conta A gente sópode remover um node se a nossa list não estávazia então vamos colocar todo nosso código dentro dessa condição const remove data list tail size gt if list Se estamos tentando remover o primeiro node tudo que precisamos fazer écom que o começo da nossa list passe a ser o atual segundo elemento e se o próximo item não existia vamos ter que limpar nossa tail também if list data data const newList list next return list list next tail newList null tail size size Se esse não era o caso vamos ter que andar na nossa lista atéencontrarmos o node que queremos remover Vamos dizer que queremos remover o node X começamos olhando o início da lista pulando para o próximo atéchegar em X e quando isso acontecer fazemos com que o node anterior de X agora aponte para o node depois de X o que seria X next e assim cortando o X da list Vamos usar esse para percorrer na list let currentNode list Vamos sempre manter uma referência do no anterior Para que possamos mudar para onde ele vai apontar Quando encontrarmos o node que queremos remover let prev null vamos caminhar na lista atéencontrar o que queremos ou atéchegarmos no fim while currentNode data data amp amp currentNode next prev currentNode currentNode currentNode next Se o node atual éo node que queremos remover if currentNode data data Vamos primeiro verificar se estamos tentando remover nossa tail atual e se sim nossa tail vai se tornar no node anterior if currentNode tail prev next null tail prev else Se não apenas fazemos nosso node anterior apontar para o próximo prev next currentNode next return list tail size size No final nosso método remove vai ficar assim const remove data list tail size gt if list if list data data const newList list next return list list next tail newList null tail size size else let currentNode list let prev null while currentNode data data amp amp currentNode next prev currentNode currentNode currentNode next if currentNode data data if currentNode tail prev next null tail prev else prev next currentNode next return list tail size size Éum pouco mais complicado porque estamos mantendo referência da tail mas éum preço que vale a pena pagar No pior cenário esse método vai passar por todos os possíveis nodes da nossa list então podemos dizer que ele éO N ️ Agora vamos apenas adicionar nosso método no nosso reducer case actions REMOVE return state remove action data state indexOfAlgumas vezes vamos querer saber em qual posição específica um dado se encontra para isso vamos utilizar o método indexOf Nossa list vai ser baseada em index basicamente como um array O que precisamos fazer épercorrer a list atéencontrarmos nosso dado procurado e se chegarmos ao final e não encontrarmos vamos retornar O método vai ser bem simples de entender e não precisamos adicionar ele no reducer jáque ele não vai alterar nosso estado const indexOf data gt Começamos sempre do index let currentIndex let currentNode list Enquanto existir um node para percorrer e ainda não encontramos nosso dado vamos aumentar nosso currentIndex e ir para o próximo node while currentNode amp amp currentNode data data currentNode currentNode next currentIndex Encontramos o dado Se sim retorne o index se não retorne return currentNode data data currentIndex Apenas um detalhe final sobre esse método para podermos encontrar um dado épossível que tenhamos que olhar todos os nodes atéo final o que faz o indexOf ser O N revertEsse ébem comum de ser perguntando em uma entrevista de emprego Ébem legal de resolver usando recursão mas vamos manter o simples e fazer iterativo Vamos ter que passar por cada node e mudar seu próximo isso faz do nosso método O N O objetivo aqui ése tivermos uma list como gt gt gt nullDepois de usar o revert esperamos ter gt gt gt nullEntão a primeira coisa como no método anterior éconferir se a list não estávazia e se não estiver vamos manter referência para o node atual e o anterior Enquanto existir nodes para percorrer vamos trocar o anterior com o atual parece confuso Vamos ver o código const revertList list gt if list let prev null let currentNode list Vamos lembrar que temos que prestar atenção com a tail let tail null while currentNode Salve o restante da list por enquanto let restList currentNode next faça o node atual apontar para o anterior currentNode next prev substitua o anterior pelo atual prev currentNode e se o nosso anterior agora aponta para o fim null significa que ele énossa nova tail if prev next null tail prev pegue o resto da list e continue fazendo o mesmo processo currentNode restList return list prev tail Agora vamos apenas adicionar o método no nosso reducer case actions REVERT return state revertList state list stringifyE por último temos que ter alguma forma de visualizar nossa list não é Vamos criar um método bem simples que vai percorrer a lista e combinar o poder dos arrays para não ter que ficar conferindo se temos um próximo elemento ou não const listDataArray let currentNode list while currentNode listDataArray push currentNode data currentNode currentNode next return listDataArray join gt Isso étudo pessoal com certeza podemos nos divertir um pouco mais com a estrutura de dados list e implementar outros métodos eu atéimplementei alguns outros no CodeSandbox mas esse tutorial ficou grande de mais jáe imagino que agora vocêjátem uma ideia básica de como a Linked List funciona correto Se curtiu ficou com qualquer dúvida ou quer dar uma sugestão de qual pode ser nossa próxima estrutura de dado pode ficar a vontade para falar comigo no meu instagram onde eu também compartilho mais dicas de programação |
2021-09-29 02:39:31 |
Apple |
AppleInsider - Frontpage News |
Apple sued over iPhone, iPad and Mac camera designs |
https://appleinsider.com/articles/21/09/29/apple-sued-over-iphone-ipad-and-mac-camera-designs?utm_medium=rss
|
Apple sued over iPhone iPad and Mac camera designsPatent holdings company KT Imaging is going after Apple for allegedly infringing on intellectual property covering image sensor packages and designs Lodged with the U S District Court for the Western District of Texas on Tuesday KTI s complaint alleges infringement of five owned patents developed by Kingpak Technology a Taiwanese IC packaging supplier with a specialization in CMOS image sensors At issue are U S Patent Nos and each filed for between and and detailing image sensor structures and methods of manufacturing said components The and patents were assigned to KT Imaging in and recorded in while the patent changed hands in The patent was reassigned in Read more |
2021-09-29 02:42:40 |
Apple |
AppleInsider - Frontpage News |
Apple dominates tablet processor market thanks to iPad |
https://appleinsider.com/articles/21/09/29/apple-dominates-tablet-processor-market-thanks-to-ipad?utm_medium=rss
|
Apple dominates tablet processor market thanks to iPadApple s dominant position in the tablet market translates to an overwhelming lead in that sector s application processors market according to new estimates from research firm Strategy Analytics Apple led the tablet AP market with a revenue share in the second quarter of Strategy Analytics said in a report published Tuesday Following in a distant second was Intel with of the market up on the back of strong demand for Windows based tablets Qualcomm placed third with a share while MediaTek and Samsung LSI rounded out the top five Read more |
2021-09-29 02:45:13 |
ニュース |
BBC News - Home |
Petrol supply: Army gets ready to assist as PM reassures drivers |
https://www.bbc.co.uk/news/uk-58729653?at_medium=RSS&at_campaign=KARANGA
|
drivers |
2021-09-29 02:42:53 |
LifeHuck |
ライフハッカー[日本版] |
午後の睡魔を吹き飛ばす方法5(カフェイン以外) |
https://www.lifehacker.jp/2021/09/242871how-to-beat-your-mid-day-slump-without-caffeine.html
|
睡魔 |
2021-09-29 12:00:00 |
北海道 |
北海道新聞 |
女子テニス、土居は2回戦敗退 シカゴ・フォール・クラシック |
https://www.hokkaido-np.co.jp/article/594213/
|
女子テニス |
2021-09-29 11:14:00 |
北海道 |
北海道新聞 |
コンサ 石水さんがいたから 大自然みたい/豪快で温かい 関係者悼む |
https://www.hokkaido-np.co.jp/article/594169/
|
名誉会長 |
2021-09-29 11:10:25 |
北海道 |
北海道新聞 |
電車にはねられ大学生死亡 奈良、コロナ背景の自殺か |
https://www.hokkaido-np.co.jp/article/594211/
|
奈良県大和高田市 |
2021-09-29 11:04:00 |
北海道 |
北海道新聞 |
石油、45年でも最大エネと予測 OPEC「大規模投資を」 |
https://www.hokkaido-np.co.jp/article/594210/
|
石油輸出国機構 |
2021-09-29 11:01:00 |
北海道 |
北海道新聞 |
東京円、111円台後半 |
https://www.hokkaido-np.co.jp/article/594209/
|
東京外国為替市場 |
2021-09-29 11:01:00 |
ビジネス |
東洋経済オンライン |
双子パンダ「5組」も育てた和歌山の施設の凄み 17頭がアドベンチャーワールドで生まれ育った | 雑学 | 東洋経済オンライン |
https://toyokeizai.net/articles/-/458362?utm_source=rss&utm_medium=http&utm_campaign=link_back
|
上野動物園 |
2021-09-29 11:30:00 |
コメント
コメントを投稿