IT |
ITmedia 総合記事一覧 |
[ITmedia Mobile] 楽天ペイ、ポイントカード提示で最大10万ポイント還元 |
https://www.itmedia.co.jp/mobile/articles/2305/01/news136.html
|
itmediamobile |
2023-05-01 17:38:00 |
python |
Pythonタグが付けられた新着投稿 - Qiita |
pandas.to_datetime: ミリ秒のフォーマットが異なる日時を変換する際、pandas 1.5.3と2.0.1で動作が異なる |
https://qiita.com/yuji38kwmt/items/9aeed6e8f54d0ebf3720
|
datetime |
2023-05-01 17:55:28 |
python |
Pythonタグが付けられた新着投稿 - Qiita |
【Python】ブラウザから画像を動的にクローリングする。 |
https://qiita.com/kagami_t/items/22e8c5eb95ee17a2353c
|
introductionpython |
2023-05-01 17:38:25 |
python |
Pythonタグが付けられた新着投稿 - Qiita |
MeCabとHandicを使ったWordCloudのハングル対応について |
https://qiita.com/hideh_hash_845/items/a1a0bc6ade84ab15169d
|
cloud |
2023-05-01 17:29:21 |
python |
Pythonタグが付けられた新着投稿 - Qiita |
【画像整理】グレースケールのような彩度の低い画像を一括で整理するPythonスクリプト |
https://qiita.com/average35/items/09f1eb9358c875c19b23
|
作りました |
2023-05-01 17:20:44 |
AWS |
AWSタグが付けられた新着投稿 - Qiita |
AWS Summit Tokyo 2023 参加レポ |
https://qiita.com/AlmondTofu/items/2d8eafe8fd962a0f0931
|
awssummittokyo |
2023-05-01 17:36:38 |
AWS |
AWSタグが付けられた新着投稿 - Qiita |
AWS CLF 合格体験記 |
https://qiita.com/ry-tech/items/19d6ca6d2c804a9fe4db
|
cloud |
2023-05-01 17:27:49 |
AWS |
AWSタグが付けられた新着投稿 - Qiita |
AWS Certified Solutions Architect - Professional(SAP-C02) 合格記 |
https://qiita.com/kun0220kun/items/ed247b9cdc6e64d1b50e
|
chitectprofessionalsapc |
2023-05-01 17:13:36 |
golang |
Goタグが付けられた新着投稿 - Qiita |
【Go】Sliceの中に特定の要素が存在しているかを高速に判定する |
https://qiita.com/_ken_/items/4a4fd15719378c1d617b
|
slice |
2023-05-01 17:58:37 |
Git |
Gitタグが付けられた新着投稿 - Qiita |
ChatGPT4+WebChatGPTでWindows11環境にGitをインストールしてみる。 |
https://qiita.com/connect24h/items/2477998afc5f386de336
|
chatgptwebchatgpt |
2023-05-01 17:01:20 |
技術ブログ |
Developers.IO |
CX事業本部 Delivery部にジョインしました塚本です! |
https://dev.classmethod.jp/articles/joined-tsukamoto-taro/
|
delivery |
2023-05-01 08:52:52 |
技術ブログ |
Developers.IO |
23年5月からゲームソリューショングループにJOINしました!内田大輝です!🎮 |
https://dev.classmethod.jp/articles/202305_join_uchidadaiki/
|
自己紹介 |
2023-05-01 08:37:49 |
技術ブログ |
Developers.IO |
GPT-3のAPIを使ってカスタマーサポートに使えるレビュー返答ツールを作ってみた。 |
https://dev.classmethod.jp/articles/gpt-3-review-customer-support/
|
chatgpt |
2023-05-01 08:12:04 |
海外TECH |
DEV Community |
How to Build an Extensible System With Less Technical Debt From Day One |
https://dev.to/zenstack/how-to-build-an-extensible-system-with-less-technical-debt-from-day-one-j8b
|
How to Build an Extensible System With Less Technical Debt From Day OneHave you ever built a product from scratch If so I bet you definitely experienced the trade off between the design quality and time to market In fact you might have to struggle with it more than you expected In Shopify s practice Deconstructing the Monolith Designing Software that Maximizes Developer Productivity they get the conclusion below In conclusion no architecture is often the best architecture in the early days of a system This isn t to say don t implement good software practices but don t spend weeks and months attempting to architect a complex system that you don t yet know Martin Fowler s Design Stamina Hypothesis does a great job of illustrating this idea by explaining that in the early stages of most applications you can move very quickly with little design It s practical to trade off design quality for time to market Once the speed at which you can add features and functionality begins to slow down that s when it s time to invest in good design Martin Fowler s Design Stamina Hypothesis does make a good illustration of this issue But it raises the question of where the design payoff line is As Martin s judgment call it is usually much lower than most people think So the consequence of it is the famous Technical Debt you need to pay How does technical debt happenAssuming we re building a SaaS development management tool let s say we started with Bug management and it was a hit with customers A big company then approached us saying they d adopt our product if we could provide Task management within a certain timeframe Time is limited so we need to develop it ASAP Here comes the seed of Technical debt Code DuplicationIt s not surprising that developers choose to copy and paste the code from Bug management and modify it since it s the quickest and easiest way to do so It leads to the consequence of code duplication although you haven t need to pay the debt yet Difficult to changeOur product gains huge success in the market and we have added more features like OKR Scrum Dashboard Workflow etc Then we got the request from the customers that they need to have an admin account that has permission to read write any resources in their company Here comes the debt you need to pay because it involves the code change that happens in every feature existing in your product It s not only time consuming but error prone Steep learning curveAnother debt you also need to pay now is that it becomes harder for new developers to onboard Even trying to make seemingly simple changes requires a lot of context and knowledge like the above Without this knowledge new developers may unintentionally introduce errors or break existing functionality How to reduce technical debtThe problem with technical debt is that it s kind of inevitable Why because no matter how much effort you put into the design in the early days you can t guarantee it s the best way to go because you can t think through all the issues you need to deal with and you can t foresee all the requirement changes in the future So what should we do to make it less Remember how technical debt grows from the beginning So my take is that at least we could focus on eliminating duplication or Pragmative Programmer s DRY Don t Repeat Yourself The ZenStack toolkit we are building is adhering to it It uses the declarative data model on top of Prisma adding access policy and validation rules from which it will automatically generate APIs including OpenAPI tPRC route and hooks for you In the latest release we add the abstract inheritance feature to further address it Let s review the steps in the SaaS example mentioned earlier to see how each one is addressed You can represent this conceptually using the following model in the beginning Model for a team space model Space id String id default uuid members SpaceUser bug Bug require login deny all auth null everyone can create a space allow create true any user in the space can read the space allow read members owner auth Model for a user model User id String id default uuid password String password omit name String spaces SpaceUser bug Bug can be created by anyone even not logged in allow create true can be read by users sharing any space allow read spaces space members owner auth full access by oneself allow all auth this Base model for all models in a space abstract model SpaceBase id String id default uuid createdAt DateTime default now updatedAt DateTime updatedAt owner User relation fields ownerId references id onDelete Cascade ownerId String space Space relation fields spaceId references id onDelete Cascade spaceId String allow read owner auth space members owner auth allow create owner auth amp amp space members owner auth allow update owner auth amp amp space members owner auth amp amp future owner owner allow delete owner auth Model representing membership of a user in a space model SpaceUser extends SpaceBase nickName String Model for a bug model Bug extends SpaceBase title String priority Int Code DuplicationPay attention to the SpaceBase model it has all the necessary fields and access policies to support tenant isolation When we need to add the Task feature instead of copy paste the code of the Bug feature you just need to simply extend the SpaceBase model like the below model Task extends SpaceBase title String size Int Then the API for it will just be automatically generated for you There is no code duplication anymore Difficult to changeTo support the admin role the change you need to make in the schema are below add an enum SpaceUserRole Enum for user s role in a space enum SpaceUserRole USER ADMIN add role field in SpaceUsermodel SpaceUser extends SpaceBase role SpaceUserRole add the policy in SpaceBaseabstract model SpaceBase allow admin user to do anything allow all space members role ADMIN You don t need to modify any lines of TS JS code as ZenStack s access policy takes care of it all Steep learning curveNow when the new developer onboard he could easily get the whole picture by examining the schema files instead of diving deep into the codebase Moreover he could start to add the new model by extending the SpaceBase with little worry to break anything To be honest it is still required to add the opposite relation fields in the User and Space models when adding the new model The good news is that the intelligence of the ZenStack VSCode extension would handle it for you Care to try it visit our website to see how to get started with it |
2023-05-01 08:14:04 |
金融 |
金融庁ホームページ |
ギャンブル等依存症問題啓発週間について公表しました。 |
https://www.fsa.go.jp/policy/kashikin/gambling/20230514.html
|
週間 |
2023-05-01 09:30:00 |
金融 |
ニッセイ基礎研究所 |
リファラル採用が、じわり浸透中 |
https://www.nli-research.co.jp/topics_detail1/id=74655?site=nli
|
例えば、生命保険業の営業職員の採用等においては「とも呼び」とも言われるように、既存の営業職員がその友人や知人、家族等を紹介して採用に至ることが多く、リファラル採用そのものであると解することができる。 |
2023-05-01 17:42:42 |
海外ニュース |
Japan Times latest articles |
China may not need Western technology very much longer |
https://www.japantimes.co.jp/opinion/2023/05/01/commentary/world-commentary/china-rd-spending/
|
chinese |
2023-05-01 17:00:56 |
海外ニュース |
Japan Times latest articles |
The sources of East Asia’s industrial prowess |
https://www.japantimes.co.jp/opinion/2023/05/01/commentary/world-commentary/asian-industrial-power/
|
taiwan |
2023-05-01 17:00:38 |
ニュース |
BBC News - Home |
Nurses out on strike in half of England’s NHS |
https://www.bbc.co.uk/news/health-65443943?at_medium=RSS&at_campaign=KARANGA
|
nhsnhs |
2023-05-01 08:14:32 |
ニュース |
BBC News - Home |
First Republic: JP Morgan to take over major US bank |
https://www.bbc.co.uk/news/business-65445427?at_medium=RSS&at_campaign=KARANGA
|
months |
2023-05-01 08:40:00 |
ニュース |
BBC News - Home |
Ukraine war: Russia launches second pre-dawn missile attack in three days |
https://www.bbc.co.uk/news/world-europe-65446525?at_medium=RSS&at_campaign=KARANGA
|
attack |
2023-05-01 08:48:57 |
ニュース |
BBC News - Home |
Jock Zonfrillo: MasterChef Australia host dies suddenly, aged 46 |
https://www.bbc.co.uk/news/world-australia-65446351?at_medium=RSS&at_campaign=KARANGA
|
australia |
2023-05-01 08:51:18 |
ニュース |
BBC News - Home |
UK arranges extra evacuation flight from Port Sudan |
https://www.bbc.co.uk/news/uk-65441191?at_medium=RSS&at_campaign=KARANGA
|
khartoum |
2023-05-01 08:25:44 |
IT |
週刊アスキー |
Twitter、有料コンテンツを1本単位で購入可能にすると発表 メディアなどの利用を想定か |
https://weekly.ascii.jp/elem/000/004/135/4135311/
|
twitter |
2023-05-01 17:45:00 |
IT |
週刊アスキー |
ChatGPT、イタリアで提供再開 年齢確認ボタンなど実装 |
https://weekly.ascii.jp/elem/000/004/135/4135324/
|
chatgpt |
2023-05-01 17:45:00 |
IT |
週刊アスキー |
アイリスオーヤマ、まな板スタンドに立てかけられる「薄型ホットプレート」を発売 |
https://weekly.ascii.jp/elem/000/004/135/4135313/
|
薄型 |
2023-05-01 17:20:00 |
コメント
コメントを投稿