IT |
気になる、記になる… |
Amazon、「Fire TV」シリーズや「Echo」シリーズなどの一部モデルを最大40%ポイント還元で販売するキャンペーンを開催中 |
https://taisy0.com/2023/03/08/169439.html
|
amazon |
2023-03-08 12:17:04 |
Google |
Official Google Blog |
A new fund supporting digital transformation in Taiwan’s news industry |
https://blog.google/around-the-globe/google-asia/a-new-fund-supporting-digital-transformation-in-taiwans-news-industry/
|
A new fund supporting digital transformation in Taiwan s news industryA photo of representatives of Google Taiwan government and the news industry in Taiwan holding a board that reads the Taiwan News Co Prosperity Fund |
2023-03-08 12:24:00 |
AWS |
lambdaタグが付けられた新着投稿 - Qiita |
Lambdaを使用してLINEとChatGPTを連携してみた。 |
https://qiita.com/kuromame1020611/items/4fca48683908956320c3
|
chatgpt |
2023-03-08 21:51:32 |
python |
Pythonタグが付けられた新着投稿 - Qiita |
TCP通信 python整理 |
https://qiita.com/kotai2003/items/53ffaf05d2ca084830bb
|
socket |
2023-03-08 21:48:53 |
python |
Pythonタグが付けられた新着投稿 - Qiita |
違法(迷惑)行為をAIで検出 AI異常行動検知の方法 |
https://qiita.com/john-rocky/items/f61a056cd17f7026ab48
|
公共の場 |
2023-03-08 21:36:24 |
python |
Pythonタグが付けられた新着投稿 - Qiita |
PythonでMySQL触ってたらNULLがINSERTできなかった件 |
https://qiita.com/RS2324/items/0d7932cd41b32c2b4024
|
ertintotablevaluesstrdata |
2023-03-08 21:17:25 |
python |
Pythonタグが付けられた新着投稿 - Qiita |
Djangoのフォームエディタ Fobi で受け取り確認メールが送信できない問題に対応した時のメモ |
https://qiita.com/YasuhiroABE/items/7eb7c88e74113ddb2810
|
django |
2023-03-08 21:13:29 |
js |
JavaScriptタグが付けられた新着投稿 - Qiita |
letとconstの違い |
https://qiita.com/JangSeongHyeon/items/11bdb76695956b3b2b27
|
xconstchecekrchecekr |
2023-03-08 21:01:03 |
AWS |
AWSタグが付けられた新着投稿 - Qiita |
S3 から CLI を使い ”最終更新日” の期間指定でファイルをダウンロードする |
https://qiita.com/ParakeetOnTheHead/items/1e45a1122105e665c514
|
一定期間 |
2023-03-08 21:33:31 |
AWS |
AWSタグが付けられた新着投稿 - Qiita |
爆速でYouTubeのIFrame Player APIを動かしてみる方法 |
https://qiita.com/Tomonobu3110/items/edbad4d1f0704b8f2b48
|
index |
2023-03-08 21:19:44 |
Docker |
dockerタグが付けられた新着投稿 - Qiita |
chatGPT apiをPython3で使用してみた |
https://qiita.com/hagio_hedgehog/items/b0495b03ecb793e83407
|
chatgpt |
2023-03-08 21:40:43 |
golang |
Goタグが付けられた新着投稿 - Qiita |
Go言語 爆速gRPCお試し |
https://qiita.com/totoaoao/items/6bf533b6d2164b74ac09
|
goinstallgoo |
2023-03-08 21:56:29 |
GCP |
gcpタグが付けられた新着投稿 - Qiita |
Google Cloud 認定 Cloud Digital Leader 合格体験記 |
https://qiita.com/endoooo/items/65132d2bf35ab576af51
|
azure |
2023-03-08 21:28:32 |
js |
JSer.info |
2023-03-08のJS: Jest 29.5.0、Chrome 111、testing-libraryへの移行 |
https://jser.info/2023/03/08/jest-29.5.0-chrome-111-testing-library/
|
WebAPIでは、StreamingdeclarativeshadowDOM、ViewTransitionsAPIのサポートが追加されています。 |
2023-03-08 21:31:07 |
技術ブログ |
Developers.IO |
Alteryx Designer Advancedを受験しました |
https://dev.classmethod.jp/articles/alteryx_designer_advanced_exam_v1/
|
alteryxdesigneradvanced |
2023-03-08 12:12:41 |
海外TECH |
MakeUseOf |
The Ultimate List of Apps for Tracking All Your Healthy Habits |
https://www.makeuseof.com/ultimate-list-apps-tracking-healthy-habits/
|
habits |
2023-03-08 12:45:16 |
海外TECH |
MakeUseOf |
How to Use Micro-Credentials to Fill Resume Gaps (and Get a Job) |
https://www.makeuseof.com/how-to-use-micro-credentials/
|
How to Use Micro Credentials to Fill Resume Gaps and Get a Job Are you struggling to land your dream job due to gaps in your resume Here s how micro credentials can fill those gaps and boost your career |
2023-03-08 12:30:16 |
海外TECH |
DEV Community |
Como utilizar transactions de forma simples no framework Nest.js |
https://dev.to/angelorubin/como-utilizar-transactions-de-forma-simples-no-framework-nestjs-5h60
|
Como utilizar transactions de forma simples no framework Nest jsO Nest js fornece suporte para transações usando a biblioteca TypeORM que éuma biblioteca ORM popular para Node js Para utilizar transações em Nest js vocêpode seguir os seguintes passos Importe a classe Connection da biblioteca TypeORM import Connection from typeorm Injete a conexão do TypeORM no seu serviço ou controlador import Injectable from nestjs common import InjectConnection from nestjs typeorm import Connection from typeorm Injectable export class MyService constructor InjectConnection private connection Connection Utilize o método transaction do objeto connection para executar uma transação await this connection transaction async manager gt Execute as operações de banco de dados aqui Dentro da função passada para transaction vocêpode executar as operações de banco de dados que desejar como inserções atualizações ou exclusões Se uma exceção for lançada dentro da função a transação serárevertida automaticamente Por exemplo se vocêquiser criar um novo usuário e um novo post ao mesmo tempo em uma transação pode fazer algo assim await this connection transaction async manager gt const user await manager create User name John const post await manager create Post title Hello World content This is my first post await manager save user await manager save post Observe que estamos usando o método create do gerenciador de entidades do TypeORM para criar novos objetos do usuário e do post e depois estamos salvando esses objetos usando o método save Essas operações são executadas dentro da transação Se algo der errado a transação serárevertida e nenhum usuário ou post serásalvo no banco de dados Isso deve ajudá lo a entender como utilizar transações de forma simples no framework Nest js com o TypeORM Bons estudos |
2023-03-08 12:25:24 |
海外TECH |
DEV Community |
Spring Security — Generate Docs for Authorization Rules |
https://dev.to/kirekov/spring-security-generate-docs-for-authorization-rules-fc6
|
Spring Security ーGenerate Docs for Authorization RulesThat s a small addition to my previous post Spring Security and Non flat Roles Inheritance Architecture In this article I m telling you How to generate documentation for Spring Security authorization rules directly from code How to host the result HTML page on GitHub Pages Such documentation is useful for a variety of specialists System and business analysts want to understand the logic behind request processing While quality engineers check that endpoints validate the access as described in the task Both of these categories will benefit from the documentation that is always relevant You can find the whole generator s code by this link Look at the example of generated documentation below HTTP methodAPI pathSecurity checking ruleController function namePOST api communityisAuthenticated createCommunityPOST api community communityId post RoleService hasAnyRoleByCommunityId communityId CommunityRole ADMIN createPostPUT api post postId RoleService hasAnyRoleByPostId postId PostRole EDITOR updatePostGET api post postId RoleService hasAnyRoleByPostId postId PostRole VIEWER getPostI put the layout as Markdown table to make it easier to read Anyway you can check out the rendered HTML by this link The algorithmHere is the whole idea of documentation generation There is a separate DocsTest that starts the whole Spring application While running the test generates the result HTML page into build classes test directory Finally during the GitHub pipeline execution we host the output HTML page on GitHub Pages Generation stepsTake a look at the base setup below class DocsTest extends AbstractControllerTest Autowired private ApplicationContext context The AbstractControllerTest starts PostgreSQL with Testcontainers You can find its source code by this link I use the ApplicationContext bean to resolve registered REST controllers What information do we need to parse from the annotations put on a REST controller Here is the list The name of the controllerDetails about each endpointHTTP methodAPI pathThe security SpEL expression parsed from PreAuthorize annotation The name of the Java method that maps the HTTP request Look at the Java records that hold the stated points Withprivate record ControllerInfo String name List lt MethodInfo gt methods Withprivate record MethodInfo String httpMethod String apiPath String security String functionName Now it s time for traversing the existing controllers and parsing the required data Look at the code snippet below Testvoid generateDocs throws Exception final var controllers new ArrayList lt ControllerInfo gt for String controllerName context getBeanNamesForAnnotation RestController class final var controllerBean context getBean controllerName final var baseApiPath getApiPath AnnotationUtils findAnnotation controllerBean getClass RequestMapping class final var controllerSecurityInfo new ControllerInfo StringUtils capitalize controllerName new ArrayList lt gt for Method method controllerBean getClass getMethods getMethodInfo method map m gt m withPrefixedApiPath baseApiPath ifPresent m gt controllerSecurityInfo methods add m controllers add controllerSecurityInfo Here is what happens step by step I retrieve all bean names that marked with RestController annotation Then I get the current controller bean by its name Afterwards I parse the base API path And finally I traverse each method inside the controller and parse information about it Look at the getMethodInfo declaration below private static Optional lt MethodInfo gt getMethodInfo Method method return Optional lt Annotation gt ofNullable AnnotationUtils findAnnotation method GetMapping class or gt ofNullable AnnotationUtils findAnnotation method PostMapping class or gt ofNullable AnnotationUtils findAnnotation method DeleteMapping class or gt ofNullable AnnotationUtils findAnnotation method PutMapping class map annotation gt AnnotationUtils getAnnotationAttributes method annotation map attributes gt new MethodInfo attributes annotationType getSimpleName replace Mapping toUpperCase getApiPath attributes getStringArray value ofNullable AnnotationUtils findAnnotation method PreAuthorize class map PreAuthorize value orElse method getName In that case I m trying to obtain possible request mapping annotations from the method GetMapping PostMapping DeleteMapping or PutMapping Then I get the annotation s attributes by calling AnnotationUtils getAnnotationAttributes and finally pass the parameters to the MethodInfo constructor The getApiPath method accepts String parameter and returns its first value if it s present Creating HTML reportNow that we have the information about endpoints it s time to format it as the HTML page Look at the template declaration below final var html lt html gt lt head gt lt meta charset UTF gt lt style gt body table font family JetBrains Mono font size px table th td border px solid black lt style gt lt link href Mono rel stylesheet gt lt head gt lt body gt lt div gt lt h gt Endpoints role checking lt h gt lt div gt docs lt div gt lt div gt lt body gt lt html gt replace docs toHtml controllers writeFileToBuildFolder index html html The controllers variable represents the List lt ControllerInfo gt that we built previously The function toHtml transforms it into an HTML snippet Then we replace the placeholder of docs with the content The writeFileToBuildFolder function writes the result content into file build classes java test index html You can find its declaration by this link Look at the toHtml function definition below private static String toHtml List lt ControllerInfo gt controllers StringBuilder docs new StringBuilder for ControllerInfo controller controllers docs append lt b gt append controller name append lt b gt append lt br gt append lt table gt for MethodInfo method controller methods docs append lt tr gt append lt td gt append method httpMethod append lt td gt append lt td gt append method apiPath append lt td gt append lt td gt append method security append lt td gt append lt td gt append method functionName append lt td gt append lt tr gt docs append lt table gt append lt br gt return docs toString As you can see I just create an HTML table for each existing controller and concatenate them into a single string Hosting the documentation on GitHub PagesThe whole GitHub Actions pipeline is less than rows Look at the YAML below name Java CI with Gradleon push branches master permissions contents read pages write id token writejobs build and deploy environment name github pages url steps deployment outputs page url runs on ubuntu latest steps uses actions checkout v name Set up JDK uses actions setup java v with java version distribution temurin name Build with Gradle run gradlew build name Upload artifact uses actions upload pages artifact v with path build classes java test name Deploy to GitHub Pages id deployment uses actions deploy pages vHere is what happens The Set up JDK and Build with Gradle performs a regular Gradle build operation Then comes the Upload artifact that saves the directory containing the HTML documentation to the GitHub registry Finally we deploy the previously stored artifact to the GitHub Pages And that s basically it You can check out the generated HTML page by this link The coolest thing is that you don t have to write documentation manually Therefore it s always relevant because you generate the content directly from your code ConclusionThat s all I wanted to tell you about documenting Spring Security applications and storing the HTML result on GitHub Pages Do you generate any docs in your projects If so what kind of documentation it is Tell your story in the comments Thanks for reading ResourcesMy previous post Spring Security and Non flat Roles Inheritance Architecture GitHub PagesThe entire generator codeThe rendered HTML page hosted on GitHub PagesAbstractControllerTest with Testcontainers setupGradle |
2023-03-08 12:15:19 |
Apple |
AppleInsider - Frontpage News |
Wedbush raises Apple stock target to $190 on rising demand |
https://appleinsider.com/articles/23/03/08/wedbush-raises-apple-price-target-to-190-on-rising-demand?utm_medium=rss
|
Wedbush raises Apple stock target to on rising demandCiting signs of rebounding demand for iPhones in China expected new products and an anticipated rise in services Wedbush has again raised its Apple stock price target At the start of Wedbush lowered its Apple price target from to saying that while Apple was in a strong position it was facing uncertain economic environments Following Apple s latest financial results in February it raised the price to and has now again increased it to In a note to investors seen by AppleInsider Wedbush describes Apple as now being a steady Cupertino ship in rough macro waters Read more |
2023-03-08 12:54:29 |
海外TECH |
Engadget |
The Morning After: Messenger is coming home to Facebook |
https://www.engadget.com/the-morning-after-messenger-is-coming-home-to-facebook-121508699.html?src=rss
|
The Morning After Messenger is coming home to FacebookOver the last decade Meta has done all it can to establish each part of its business as a separate but equal contributor to its bottom line After all that s why part of Facebook s brand identity is little icons denoting Messenger Instagram WhatsApp and Oculus Plus you know it helps to deflect from any suggestion it s operating a sprawling digital monopoly owning a big chunk of the internet But now nine years after Facebook cleaved its Messenger product into a standalone mobile app the pair are to be reunited Facebook head Tom Alison said in a blog post the company is testing the ability to access Messenger from within the Facebook app This is of course all part of its attempts to claw back relevancy from TikTok with Alison saying the big blue app is pivoting to become a platform for entertainment and discovery Dan CooperThe Morning After isn t just a newsletter it s also a daily podcast Get our daily audio briefings Monday through Friday by subscribing right here The biggest stories you might have missedGoogle begins rolling out its new look for Docs and other Workspace appsThe iPhone now comes in yellow Hogwarts Legacy release on PS and Xbox One delayed again until May thJapan s H rocket self destructs in space during failed launchGM s Ultra Cruise system will debut on the Cadillac Celestiq later this yearreMarkable launches a gorgeous if expensive Type Folio for its e paper tabletIt s a niche accessory for a niche product but you can t help but love it Daniel CooperA few years after launching an updated version of its e paper writing slate reMarkable is adding a keyboard folio It s a pricey add on to the device but one I think makes the right compromises I found it pretty easy to use as a distraction free writing machine But given reMarkable s intentionally limited writing slate is already a niche proposition this can only ever appeal to a niche inside a niche Continue Reading Sonos is betting big on spatial audio with the Era speakerAnd it ll offer support for Apple Music s spatial audio Nathan IngrahamSonos has unveiled the most dramatic update to its speaker line in some time replacing both the One and Five with the Era and Era It s the latter that s more interesting since it s designed to support spatial audio offering more nuance to your music And shortly after the pair arrived Apple let it be known the Era would support spatial audio from Apple Music giving would be purchasers one big reason to try it out Continue Reading Hyundai s revamped Kona EV offers more room and a longer rangeIt s the first clean sheet Kona EV with all the benefits HyundaiHyundai s Kona was a popular and well reviewed EV offering a heady mix of affordability decent range and equipment Now the company has shown off its replacement a clean sheet redesign with a WLTP rated range of miles It s also more spacious and has a lot more kit and while the company hasn t yet announced US pricing it s likely to be cheaper than the Ioniq Continue Reading YouTube reverses course on controversial swearing and monetization policyNow you can do a naughty word in the opening moments of a video YouTube s interesting approach to colorful metaphors the sort you d never see used in a respectable technology newsletter is changing Last November the company said any shocking utterances in the initial moments of a clip would render it ineligible for monetization Now officials have walked that back slightly saying only strong profanity will see a clip marked for limited adverts while milder sub f and s word utterances will probably be OK Continue Reading This article originally appeared on Engadget at |
2023-03-08 12:15:08 |
ニュース |
BBC News - Home |
Harry and Meghan's daughter Princess Lilibet christened |
https://www.bbc.co.uk/news/uk-64890702?at_medium=RSS&at_campaign=KARANGA
|
angeles |
2023-03-08 12:53:51 |
ニュース |
BBC News - Home |
John Caldwell: Reward of £150,000 for information on shooting |
https://www.bbc.co.uk/news/uk-northern-ireland-64888560?at_medium=RSS&at_campaign=KARANGA
|
omagh |
2023-03-08 12:29:54 |
ニュース |
BBC News - Home |
Charles Bronson shows signs of PTSD, parole panel told |
https://www.bbc.co.uk/news/uk-england-beds-bucks-herts-64888459?at_medium=RSS&at_campaign=KARANGA
|
brutal |
2023-03-08 12:08:53 |
ニュース |
BBC News - Home |
Oscars 2023: Zoe Saldana's box office record (and 15 other Oscar facts) |
https://www.bbc.co.uk/news/entertainment-arts-64211195?at_medium=RSS&at_campaign=KARANGA
|
academy |
2023-03-08 12:02:27 |
ニュース |
BBC News - Home |
Abi Burton: 'I nearly died' - the Olympian wrongly sectioned and fighting back from an induced coma |
https://www.bbc.co.uk/sport/rugby-union/64876477?at_medium=RSS&at_campaign=KARANGA
|
Abi Burton x I nearly died x the Olympian wrongly sectioned and fighting back from an induced comaBritish Olympian Abi Burton was wrongly sectioned for days and spent days in an induced coma this is her story |
2023-03-08 12:02:30 |
コメント
コメントを投稿