VOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS0.00%
Net Worth
0.034USD
STEEM
0.000STEEM
SBD
0.000SBD
Effective Power
5.001SP
├── Own SP
0.634SP
└── Incoming DelegationsDeleg
+4.367SP
Detailed Balance
| STEEM | ||
| balance | 0.000STEEM | STEEM |
| market_balance | 0.000STEEM | STEEM |
| savings_balance | 0.000STEEM | STEEM |
| reward_steem_balance | 0.000STEEM | STEEM |
| STEEM POWER | ||
| Own SP | 0.634SP | SP |
| Delegated Out | 0.000SP | SP |
| Delegation In | 4.367SP | SP |
| Effective Power | 5.001SP | SP |
| Reward SP (pending) | 0.000SP | SP |
| SBD | ||
| sbd_balance | 0.000SBD | SBD |
| sbd_conversions | 0.000SBD | SBD |
| sbd_market_balance | 0.000SBD | SBD |
| savings_sbd_balance | 0.000SBD | SBD |
| reward_sbd_balance | 0.000SBD | SBD |
{
"balance": "0.000 STEEM",
"savings_balance": "0.000 STEEM",
"reward_steem_balance": "0.000 STEEM",
"vesting_shares": "1033.129048 VESTS",
"delegated_vesting_shares": "0.000000 VESTS",
"received_vesting_shares": "7110.530758 VESTS",
"sbd_balance": "0.000 SBD",
"savings_sbd_balance": "0.000 SBD",
"reward_sbd_balance": "0.000 SBD",
"conversions": []
}Account Info
| name | namom |
| id | 277259 |
| rank | 1,428,845 |
| reputation | 14766239 |
| created | 2017-07-24T10:03:48 |
| recovery_account | steem |
| proxy | None |
| post_count | 10 |
| comment_count | 0 |
| lifetime_vote_count | 0 |
| witnesses_voted_for | 0 |
| last_post | 2018-10-30T19:18:06 |
| last_root_post | 2018-10-30T19:18:06 |
| last_vote_time | 2018-06-06T12:20:00 |
| proxied_vsf_votes | 0, 0, 0, 0 |
| can_vote | 1 |
| voting_power | 0 |
| delayed_votes | 0 |
| balance | 0.000 STEEM |
| savings_balance | 0.000 STEEM |
| sbd_balance | 0.000 SBD |
| savings_sbd_balance | 0.000 SBD |
| vesting_shares | 1033.129048 VESTS |
| delegated_vesting_shares | 0.000000 VESTS |
| received_vesting_shares | 7110.530758 VESTS |
| reward_vesting_balance | 0.000000 VESTS |
| vesting_balance | 0.000 STEEM |
| vesting_withdraw_rate | 0.000000 VESTS |
| next_vesting_withdrawal | 1969-12-31T23:59:59 |
| withdrawn | 0 |
| to_withdraw | 0 |
| withdraw_routes | 0 |
| savings_withdraw_requests | 0 |
| last_account_recovery | 1970-01-01T00:00:00 |
| reset_account | null |
| last_owner_update | 1970-01-01T00:00:00 |
| last_account_update | 2018-10-25T19:04:24 |
| mined | No |
| sbd_seconds | 0 |
| sbd_last_interest_payment | 1970-01-01T00:00:00 |
| savings_sbd_last_interest_payment | 1970-01-01T00:00:00 |
{
"id": 277259,
"name": "namom",
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM7eVyMuzDtVusSWVJvC7b4AZKuMJBPfh9jWUfpsr3sXJ8KeD4dt",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM8FcjYTv1CM7cJYAhVgyoXyEjj4nQXqojsmcMcUCVM6fjszdivC",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM61w9fxhVGAPGYwXMAZtDBFEbs38deqhqkCySotuHnkb97xTda4",
1
]
]
},
"memo_key": "STM6b4GUDp2EEXpEWHBHuyEC4dRc1jva8enytdHmm7uEZVaHejQSJ",
"json_metadata": "{\"profile\":{\"profile_image\":\"https://cdn.steemitimages.com/DQmdzfU7VAdqt6ws6vKz4dV44mhHeDeeF5Gv7ErZEHwwh39/3660943.jpg\",\"name\":\"Namom Alencar\",\"about\":\"I'm software developer, passionate for new technologies.\",\"location\":\"Brazil\",\"cover_image\":\"https://cdn.steemitimages.com/DQmNo7tADvBk95Qqb1gLoiA3xLVtgee7a4V5oiznLaTa1va/4.png\"}}",
"posting_json_metadata": "{\"profile\":{\"profile_image\":\"https://cdn.steemitimages.com/DQmdzfU7VAdqt6ws6vKz4dV44mhHeDeeF5Gv7ErZEHwwh39/3660943.jpg\",\"name\":\"Namom Alencar\",\"about\":\"I'm software developer, passionate for new technologies.\",\"location\":\"Brazil\",\"cover_image\":\"https://cdn.steemitimages.com/DQmNo7tADvBk95Qqb1gLoiA3xLVtgee7a4V5oiznLaTa1va/4.png\"}}",
"proxy": "",
"last_owner_update": "1970-01-01T00:00:00",
"last_account_update": "2018-10-25T19:04:24",
"created": "2017-07-24T10:03:48",
"mined": false,
"recovery_account": "steem",
"last_account_recovery": "1970-01-01T00:00:00",
"reset_account": "null",
"comment_count": 0,
"lifetime_vote_count": 0,
"post_count": 10,
"can_vote": true,
"voting_manabar": {
"current_mana": "8143659806",
"last_update_time": 1779077826
},
"downvote_manabar": {
"current_mana": 2035914951,
"last_update_time": 1779077826
},
"voting_power": 0,
"balance": "0.000 STEEM",
"savings_balance": "0.000 STEEM",
"sbd_balance": "0.000 SBD",
"sbd_seconds": "0",
"sbd_seconds_last_update": "1970-01-01T00:00:00",
"sbd_last_interest_payment": "1970-01-01T00:00:00",
"savings_sbd_balance": "0.000 SBD",
"savings_sbd_seconds": "0",
"savings_sbd_seconds_last_update": "1970-01-01T00:00:00",
"savings_sbd_last_interest_payment": "1970-01-01T00:00:00",
"savings_withdraw_requests": 0,
"reward_sbd_balance": "0.000 SBD",
"reward_steem_balance": "0.000 STEEM",
"reward_vesting_balance": "0.000000 VESTS",
"reward_vesting_steem": "0.000 STEEM",
"vesting_shares": "1033.129048 VESTS",
"delegated_vesting_shares": "0.000000 VESTS",
"received_vesting_shares": "7110.530758 VESTS",
"vesting_withdraw_rate": "0.000000 VESTS",
"next_vesting_withdrawal": "1969-12-31T23:59:59",
"withdrawn": 0,
"to_withdraw": 0,
"withdraw_routes": 0,
"curation_rewards": 0,
"posting_rewards": 0,
"proxied_vsf_votes": [
0,
0,
0,
0
],
"witnesses_voted_for": 0,
"last_post": "2018-10-30T19:18:06",
"last_root_post": "2018-10-30T19:18:06",
"last_vote_time": "2018-06-06T12:20:00",
"post_bandwidth": 0,
"pending_claimed_accounts": 0,
"vesting_balance": "0.000 STEEM",
"reputation": 14766239,
"transfer_history": [],
"market_history": [],
"post_history": [],
"vote_history": [],
"other_history": [],
"witness_votes": [],
"tags_usage": [],
"guest_bloggers": [],
"rank": 1428845
}Withdraw Routes
| Incoming | Outgoing |
|---|---|
Empty | Empty |
{
"incoming": [],
"outgoing": []
}From Date
To Date
2026/05/18 04:17:06
2026/05/18 04:17:06
| delegator | steem |
| delegatee | namom |
| vesting shares | 7110.530758 VESTS |
| Transaction Info | Block #106148263/Trx c851cc81266414b39da91d45e0af4ae08c3a7ce0 |
View Raw JSON Data
{
"trx_id": "c851cc81266414b39da91d45e0af4ae08c3a7ce0",
"block": 106148263,
"trx_in_block": 9,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-05-18T04:17:06",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "namom",
"vesting_shares": "7110.530758 VESTS"
}
]
}2026/05/12 20:11:03
2026/05/12 20:11:03
| delegator | steem |
| delegatee | namom |
| vesting shares | 4398.320353 VESTS |
| Transaction Info | Block #105995281/Trx c99dfb1a97bb4a40a36c1c267bba2bcdf0a723b5 |
View Raw JSON Data
{
"trx_id": "c99dfb1a97bb4a40a36c1c267bba2bcdf0a723b5",
"block": 105995281,
"trx_in_block": 4,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-05-12T20:11:03",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "namom",
"vesting_shares": "4398.320353 VESTS"
}
]
}2026/04/26 03:31:42
2026/04/26 03:31:42
| delegator | steem |
| delegatee | namom |
| vesting shares | 7123.046514 VESTS |
| Transaction Info | Block #105515801/Trx a366a0e050ee6c5688431583103988cbd41d0458 |
View Raw JSON Data
{
"trx_id": "a366a0e050ee6c5688431583103988cbd41d0458",
"block": 105515801,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-04-26T03:31:42",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "namom",
"vesting_shares": "7123.046514 VESTS"
}
]
}2026/01/23 18:37:21
2026/01/23 18:37:21
| delegator | steem |
| delegatee | namom |
| vesting shares | 4439.867172 VESTS |
| Transaction Info | Block #102864776/Trx b8904d5a8b00d34f2c18c107611b2a43815440d4 |
View Raw JSON Data
{
"trx_id": "b8904d5a8b00d34f2c18c107611b2a43815440d4",
"block": 102864776,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-01-23T18:37:21",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "namom",
"vesting_shares": "4439.867172 VESTS"
}
]
}2024/12/17 13:49:15
2024/12/17 13:49:15
| delegator | steem |
| delegatee | namom |
| vesting shares | 4604.086369 VESTS |
| Transaction Info | Block #91311026/Trx 02cdeabb48bfc960e52f26db7f0447cb9eb8cc43 |
View Raw JSON Data
{
"trx_id": "02cdeabb48bfc960e52f26db7f0447cb9eb8cc43",
"block": 91311026,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2024-12-17T13:49:15",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "namom",
"vesting_shares": "4604.086369 VESTS"
}
]
}2023/11/14 05:31:00
2023/11/14 05:31:00
| delegator | steem |
| delegatee | namom |
| vesting shares | 4773.219901 VESTS |
| Transaction Info | Block #79865198/Trx 2751b2fc6c69910a5607123ae6b5f07e092a7054 |
View Raw JSON Data
{
"trx_id": "2751b2fc6c69910a5607123ae6b5f07e092a7054",
"block": 79865198,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2023-11-14T05:31:00",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "namom",
"vesting_shares": "4773.219901 VESTS"
}
]
}2023/09/22 08:00:42
2023/09/22 08:00:42
| delegator | steem |
| delegatee | namom |
| vesting shares | 7710.128687 VESTS |
| Transaction Info | Block #78360020/Trx f9e52d878300c75d69227e9c8b33956c1b1e3baf |
View Raw JSON Data
{
"trx_id": "f9e52d878300c75d69227e9c8b33956c1b1e3baf",
"block": 78360020,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2023-09-22T08:00:42",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "namom",
"vesting_shares": "7710.128687 VESTS"
}
]
}2022/11/03 15:47:30
2022/11/03 15:47:30
| delegator | steem |
| delegatee | namom |
| vesting shares | 7932.180125 VESTS |
| Transaction Info | Block #69118143/Trx e78a9bd9de7a8dd3cd02efcafd6aa81547b44d43 |
View Raw JSON Data
{
"trx_id": "e78a9bd9de7a8dd3cd02efcafd6aa81547b44d43",
"block": 69118143,
"trx_in_block": 4,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-11-03T15:47:30",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "namom",
"vesting_shares": "7932.180125 VESTS"
}
]
}2022/01/17 21:10:57
2022/01/17 21:10:57
| delegator | steem |
| delegatee | namom |
| vesting shares | 8152.287726 VESTS |
| Transaction Info | Block #60821623/Trx fffe7abcc0b9ebcea5ec048c9d53ae7a58078b4a |
View Raw JSON Data
{
"trx_id": "fffe7abcc0b9ebcea5ec048c9d53ae7a58078b4a",
"block": 60821623,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-01-17T21:10:57",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "namom",
"vesting_shares": "8152.287726 VESTS"
}
]
}2021/06/14 04:27:06
2021/06/14 04:27:06
| delegator | steem |
| delegatee | namom |
| vesting shares | 8336.482014 VESTS |
| Transaction Info | Block #54612061/Trx 3cb091c8c9143e685e39545e86b3f7a9db42e3b2 |
View Raw JSON Data
{
"trx_id": "3cb091c8c9143e685e39545e86b3f7a9db42e3b2",
"block": 54612061,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2021-06-14T04:27:06",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "namom",
"vesting_shares": "8336.482014 VESTS"
}
]
}2020/12/11 14:41:18
2020/12/11 14:41:18
| delegator | steem |
| delegatee | namom |
| vesting shares | 8523.903988 VESTS |
| Transaction Info | Block #49359378/Trx 5a41ffc8bfc48608013e4e9729c2f2b64d53199e |
View Raw JSON Data
{
"trx_id": "5a41ffc8bfc48608013e4e9729c2f2b64d53199e",
"block": 49359378,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-12-11T14:41:18",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "namom",
"vesting_shares": "8523.903988 VESTS"
}
]
}2020/12/06 08:17:36
2020/12/06 08:17:36
| delegator | steem |
| delegatee | namom |
| vesting shares | 1912.543513 VESTS |
| Transaction Info | Block #49210919/Trx 912f519a514f5544d1e3c329ed7abfc4c826b847 |
View Raw JSON Data
{
"trx_id": "912f519a514f5544d1e3c329ed7abfc4c826b847",
"block": 49210919,
"trx_in_block": 11,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-12-06T08:17:36",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "namom",
"vesting_shares": "1912.543513 VESTS"
}
]
}2020/12/05 18:18:57
2020/12/05 18:18:57
| delegator | steem |
| delegatee | namom |
| vesting shares | 8530.111842 VESTS |
| Transaction Info | Block #49194464/Trx a5f30e5de61f36f7d74f18eb616610cf6d869c25 |
View Raw JSON Data
{
"trx_id": "a5f30e5de61f36f7d74f18eb616610cf6d869c25",
"block": 49194464,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-12-05T18:18:57",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "namom",
"vesting_shares": "8530.111842 VESTS"
}
]
}2020/11/02 22:58:57
2020/11/02 22:58:57
| delegator | steem |
| delegatee | namom |
| vesting shares | 1920.017158 VESTS |
| Transaction Info | Block #48266453/Trx f917f69af4bdb943fc8bc4b31aff23bb1e9d799c |
View Raw JSON Data
{
"trx_id": "f917f69af4bdb943fc8bc4b31aff23bb1e9d799c",
"block": 48266453,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-11-02T22:58:57",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "namom",
"vesting_shares": "1920.017158 VESTS"
}
]
}2020/05/09 09:18:36
2020/05/09 09:18:36
| delegator | steem |
| delegatee | namom |
| vesting shares | 8732.917201 VESTS |
| Transaction Info | Block #43221216/Trx e8eff09b086424fdb47f1e9176e998aa97470d51 |
View Raw JSON Data
{
"trx_id": "e8eff09b086424fdb47f1e9176e998aa97470d51",
"block": 43221216,
"trx_in_block": 15,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-05-09T09:18:36",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "namom",
"vesting_shares": "8732.917201 VESTS"
}
]
}2020/05/08 13:26:51
2020/05/08 13:26:51
| delegator | steem |
| delegatee | namom |
| vesting shares | 1953.311140 VESTS |
| Transaction Info | Block #43197946/Trx d46ddddf12168302b0e4557da74da25935f80174 |
View Raw JSON Data
{
"trx_id": "d46ddddf12168302b0e4557da74da25935f80174",
"block": 43197946,
"trx_in_block": 42,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-05-08T13:26:51",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "namom",
"vesting_shares": "1953.311140 VESTS"
}
]
}2019/12/31 00:36:39
2019/12/31 00:36:39
| delegator | steem |
| delegatee | namom |
| vesting shares | 8804.111996 VESTS |
| Transaction Info | Block #39504301/Trx cdfd590cf9758d5128bd904b05caf8ca3263ec70 |
View Raw JSON Data
{
"trx_id": "cdfd590cf9758d5128bd904b05caf8ca3263ec70",
"block": 39504301,
"trx_in_block": 11,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-12-31T00:36:39",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "namom",
"vesting_shares": "8804.111996 VESTS"
}
]
}2019/07/24 10:47:06
2019/07/24 10:47:06
| parent author | namom |
| parent permlink | spring-boot-introduction-for-unit-tests-part-5 |
| author | steemitboard |
| permlink | steemitboard-notify-namom-20190724t104706000z |
| title | |
| body | Congratulations @namom! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@namom/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@namom) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=namom)_</sub> ###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes! |
| json metadata | {"image":["https://steemitboard.com/img/notify.png"]} |
| Transaction Info | Block #34940450/Trx 99b5082524714a492d1dca57106d8dea0ae81e07 |
View Raw JSON Data
{
"trx_id": "99b5082524714a492d1dca57106d8dea0ae81e07",
"block": 34940450,
"trx_in_block": 7,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-07-24T10:47:06",
"op": [
"comment",
{
"parent_author": "namom",
"parent_permlink": "spring-boot-introduction-for-unit-tests-part-5",
"author": "steemitboard",
"permlink": "steemitboard-notify-namom-20190724t104706000z",
"title": "",
"body": "Congratulations @namom! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@namom/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table>\n\n<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@namom) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=namom)_</sub>\n\n\n###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!",
"json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
}
]
}2019/01/29 19:39:48
2019/01/29 19:39:48
| delegator | steem |
| delegatee | namom |
| vesting shares | 9000.889424 VESTS |
| Transaction Info | Block #29888343/Trx 4f5c80ca7d83b7f7ca99c35332cb509da30e9ece |
View Raw JSON Data
{
"trx_id": "4f5c80ca7d83b7f7ca99c35332cb509da30e9ece",
"block": 29888343,
"trx_in_block": 23,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-01-29T19:39:48",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "namom",
"vesting_shares": "9000.889424 VESTS"
}
]
}herporupvoted (100.00%) @namom / spring-boot-introduction-for-unit-tests-part-52018/10/30 19:18:24
herporupvoted (100.00%) @namom / spring-boot-introduction-for-unit-tests-part-5
2018/10/30 19:18:24
| voter | herpor |
| author | namom |
| permlink | spring-boot-introduction-for-unit-tests-part-5 |
| weight | 10000 (100.00%) |
| Transaction Info | Block #27269013/Trx 6ca9a70564063ba8d384334eae3021f85cc83738 |
View Raw JSON Data
{
"trx_id": "6ca9a70564063ba8d384334eae3021f85cc83738",
"block": 27269013,
"trx_in_block": 18,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-30T19:18:24",
"op": [
"vote",
{
"voter": "herpor",
"author": "namom",
"permlink": "spring-boot-introduction-for-unit-tests-part-5",
"weight": 10000
}
]
}namompublished a new post: spring-boot-introduction-for-unit-tests-part-52018/10/30 19:18:06
namompublished a new post: spring-boot-introduction-for-unit-tests-part-5
2018/10/30 19:18:06
| parent author | |
| parent permlink | java |
| author | namom |
| permlink | spring-boot-introduction-for-unit-tests-part-5 |
| title | Spring Boot (Introduction for Unit Tests) - Part 5 |
| body | <html><p>This is fifth part of our Spring Boot application.</p> <ul> <li><a href="https://steemit.com/spring/@namom/spring-boot-introduction-part-1-building-a-simple-application">Spring Boot (Introduction) - Part 1</a></li> <li><a href="https://steemit.com/java/@namom/spring-boot-building-a-web-application-running-part-2">Spring Boot (Building a web application - Running) - Part 2</a></li> <li><a href="https://steemit.com/spring/@namom/spring-boot-building-a-web-application-jpa-integration-part-3">Spring Boot (Building a web application - JPA integration) - Part 3</a></li> <li><a href="https://steemit.com/java/@namom/spring-boot-jpa-extended-master-detail-part-4">Spring Boot (JPA Extended: Master-Detail) - Part 4</a></li> <li>Spring Boot (Introduction for Unit Tests) - Part 5</li> </ul> <p>We have finished the basic stuff of our application. Now we are going to create some unit automated tests.</p> <p>Before to start coding, let's understand how the unit tests works.</p> https://cdn.steemitimages.com/DQmSdG6gBRNrvhzQ12rRfAEGD9tRpVJnzquMDZMg7WgQNQp/maxresdefault.jpg <p>The goal of unit testing is to isolate each part of the program and show that the individual parts are correct.</p> <p>Usually, the developer is responsible to write unit tests. To write a good test a devoloper should follow some good practices: First, try to test alll operators of an object. Second, set and get values for all attributes of an object and finally, put your object in all possible states.</p> <p><strong>A test is divided in three steps</strong></p> <ol> <li><strong>Scenario</strong></li> <li><strong>Action</strong></li> <li><strong>Validation</strong></li> </ol> <p>Scenario is resposible for <strong>create everything</strong> that will <strong>necessary</strong> to run a function.</p> <p>Action, at this part you have to literally <strong>run your function</strong> using those objects started on the scenario step.</p> <p>The last step is the <strong>validation</strong>, at this one, you have to check if the <strong>result</strong> of the function, called on action, is <strong>exactly what you expect.</strong></p> <p><strong>That's it, let's start our code.</strong></p> <p>First, let's create a simple business role for our List Domain.</p> <p>**The List name cannot be empty.</p> <p>So, when you call the save method you have to check it out.</p> <pre><code> @Transactional @RequestMapping(value = "savelist", method = RequestMethod.POST) public String save(@RequestParam("name") String name, Model model) { // Validate Name Error if (name == null || name.isEmpty()) { throw new RuntimeException("List name cannot be empty or null"); } ListDomain list = new ListDomain(name); repoList.save(list); return this.lists(model); } </code></pre> <p>Now, le'ts create a simple class of test</p> <pre><code> import static org.junit.Assert.assertTrue; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.springframework.ui.Model; import br.com.namom.todolist.controller.ListController; import br.com.namom.todolist.persistence.ListRepository; public class ListControllerTest { @Mock ListRepository repoList; private ListController listContr; @Mock Model model; @Rule public ExpectedException thrown = ExpectedException.none(); @Before public void setUp() { MockitoAnnotations.initMocks(this); this.listContr = new ListController(repoList); } @Test public void shouldSaveANewList() { // scenario String listName = "My New List"; // action String page = listContr.save(listName, model); // validation assertTrue(page.equalsIgnoreCase("mylists")); } @Test public void shouldNotSaveANewListWhenEmptyName() { // scenario String listName = ""; thrown.expect(Exception.class); thrown.expectMessage("List name cannot be empty or null"); // action listContr.save(listName, model); } @Test public void shouldNotSaveANewListWhenNameIsNull() { // scenario String listName = null; thrown.expect(Exception.class); thrown.expectMessage("List name cannot be empty or null"); // action listContr.save(listName, model); } </code></pre> <p>One can note that you have to mock some objects before to start your tests. This is necessary because you will not start your application and those objects have to be create.</p> <p>Another important highlight is the name of the test functions, it should always be as much explained as you need.</p> <p>Ex: <em>shouldNotSaveANewListWhenNameIsNull</em></p> <p>That's it.</p> <p>Just run the application and you will see it working.</p> <p>Checkout the full code on my <a title="This link will take you away from steemit.com" href="https://github.com/namomalencar/simpletodolist" rel="nofollow noopener">github</a>.</p> </html> |
| json metadata | {"tags":["java","application","code","spring","framework"],"image":["https://cdn.steemitimages.com/DQmSdG6gBRNrvhzQ12rRfAEGD9tRpVJnzquMDZMg7WgQNQp/maxresdefault.jpg"],"links":["https://steemit.com/spring/@namom/spring-boot-introduction-part-1-building-a-simple-application","https://steemit.com/java/@namom/spring-boot-building-a-web-application-running-part-2","https://steemit.com/spring/@namom/spring-boot-building-a-web-application-jpa-integration-part-3","https://steemit.com/java/@namom/spring-boot-jpa-extended-master-detail-part-4","https://github.com/namomalencar/simpletodolist"],"app":"steemit/0.1","format":"html"} |
| Transaction Info | Block #27269007/Trx 841976f434bc52917bb7e22ea1d265e12cdb60aa |
View Raw JSON Data
{
"trx_id": "841976f434bc52917bb7e22ea1d265e12cdb60aa",
"block": 27269007,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-30T19:18:06",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "java",
"author": "namom",
"permlink": "spring-boot-introduction-for-unit-tests-part-5",
"title": "Spring Boot (Introduction for Unit Tests) - Part 5",
"body": "<html><p>This is fifth part of our Spring Boot application.</p>\n<ul>\n<li><a href=\"https://steemit.com/spring/@namom/spring-boot-introduction-part-1-building-a-simple-application\">Spring Boot (Introduction) - Part 1</a></li>\n<li><a href=\"https://steemit.com/java/@namom/spring-boot-building-a-web-application-running-part-2\">Spring Boot (Building a web application - Running) - Part 2</a></li>\n<li><a href=\"https://steemit.com/spring/@namom/spring-boot-building-a-web-application-jpa-integration-part-3\">Spring Boot (Building a web application - JPA integration) - Part 3</a></li>\n<li><a href=\"https://steemit.com/java/@namom/spring-boot-jpa-extended-master-detail-part-4\">Spring Boot (JPA Extended: Master-Detail) - Part 4</a></li>\n<li>Spring Boot (Introduction for Unit Tests) - Part 5</li>\n</ul>\n<p>We have finished the basic stuff of our application. Now we are going to create some unit automated tests.</p>\n<p>Before to start coding, let's understand how the unit tests works.</p>\nhttps://cdn.steemitimages.com/DQmSdG6gBRNrvhzQ12rRfAEGD9tRpVJnzquMDZMg7WgQNQp/maxresdefault.jpg\n<p>The goal of unit testing is to isolate each part of the program and show that the individual parts are correct.</p>\n<p>Usually, the developer is responsible to write unit tests. To write a good test a devoloper should follow some good practices: First, try to test alll operators of an object. Second, set and get values for all attributes of an object and finally, put your object in all possible states.</p>\n<p><strong>A test is divided in three steps</strong></p>\n<ol>\n<li><strong>Scenario</strong></li>\n<li><strong>Action</strong></li>\n<li><strong>Validation</strong></li>\n</ol>\n<p>Scenario is resposible for <strong>create everything</strong> that will <strong>necessary</strong> to run a function.</p>\n<p>Action, at this part you have to literally <strong>run your function</strong> using those objects started on the scenario step.</p>\n<p>The last step is the <strong>validation</strong>, at this one, you have to check if the <strong>result</strong> of the function, called on action, is <strong>exactly what you expect.</strong></p>\n<p><strong>That's it, let's start our code.</strong></p>\n<p>First, let's create a simple business role for our List Domain.</p>\n<p>**The List name cannot be empty.</p>\n<p>So, when you call the save method you have to check it out.</p>\n<pre><code>\n\t@Transactional\n\t@RequestMapping(value = \"savelist\", method = RequestMethod.POST)\n\tpublic String save(@RequestParam(\"name\") String name, Model model) {\n\n\t\t// Validate Name Error\n\t\tif (name == null || name.isEmpty()) {\n\t\t\tthrow new RuntimeException(\"List name cannot be empty or null\");\n\t\t}\n\n\t\tListDomain list = new ListDomain(name);\n\n\t\trepoList.save(list);\n\n\t\treturn this.lists(model);\n\t}\n</code></pre>\n<p>Now, le'ts create a simple class of test</p>\n<pre><code>\nimport static org.junit.Assert.assertTrue;\n\nimport org.junit.Before;\nimport org.junit.Rule;\nimport org.junit.Test;\nimport org.junit.rules.ExpectedException;\nimport org.mockito.Mock;\nimport org.mockito.MockitoAnnotations;\nimport org.springframework.ui.Model;\n\nimport br.com.namom.todolist.controller.ListController;\nimport br.com.namom.todolist.persistence.ListRepository;\n\npublic class ListControllerTest {\n\n\t@Mock\n\tListRepository repoList;\n\t\n\tprivate ListController listContr;\n\t\n\t@Mock\n\tModel model;\n\t\n\t@Rule\n\tpublic ExpectedException thrown = ExpectedException.none();\n\n\t@Before\n\tpublic void setUp() {\n\t\tMockitoAnnotations.initMocks(this);\n\t\tthis.listContr = new ListController(repoList);\n\t}\n\n\t@Test\n\tpublic void shouldSaveANewList() {\n\t\t// scenario\n\t\tString listName = \"My New List\";\n\n\t\t// action\n\t\tString page = listContr.save(listName, model);\n\n\t\t// validation\n\t\tassertTrue(page.equalsIgnoreCase(\"mylists\"));\n\t}\n\t\n\t@Test\n\tpublic void shouldNotSaveANewListWhenEmptyName() {\n\t\t// scenario\n\t\tString listName = \"\";\n\t\tthrown.expect(Exception.class);\n\t\tthrown.expectMessage(\"List name cannot be empty or null\");\n\n\t\t// action\n\t\tlistContr.save(listName, model);\n\n\t}\n\t\n\t@Test\n\tpublic void shouldNotSaveANewListWhenNameIsNull() {\n\t\t// scenario\n\t\tString listName = null;\n\t\tthrown.expect(Exception.class);\n\t\tthrown.expectMessage(\"List name cannot be empty or null\");\n\n\t\t// action\n\t\tlistContr.save(listName, model);\n\n\t}\n</code></pre>\n<p>One can note that you have to mock some objects before to start your tests. This is necessary because you will not start your application and those objects have to be create.</p>\n<p>Another important highlight is the name of the test functions, it should always be as much explained as you need.</p>\n<p>Ex: <em>shouldNotSaveANewListWhenNameIsNull</em></p>\n<p>That's it.</p>\n<p>Just run the application and you will see it working.</p>\n<p>Checkout the full code on my <a title=\"This link will take you away from steemit.com\" href=\"https://github.com/namomalencar/simpletodolist\" rel=\"nofollow noopener\">github</a>.</p>\n</html>",
"json_metadata": "{\"tags\":[\"java\",\"application\",\"code\",\"spring\",\"framework\"],\"image\":[\"https://cdn.steemitimages.com/DQmSdG6gBRNrvhzQ12rRfAEGD9tRpVJnzquMDZMg7WgQNQp/maxresdefault.jpg\"],\"links\":[\"https://steemit.com/spring/@namom/spring-boot-introduction-part-1-building-a-simple-application\",\"https://steemit.com/java/@namom/spring-boot-building-a-web-application-running-part-2\",\"https://steemit.com/spring/@namom/spring-boot-building-a-web-application-jpa-integration-part-3\",\"https://steemit.com/java/@namom/spring-boot-jpa-extended-master-detail-part-4\",\"https://github.com/namomalencar/simpletodolist\"],\"app\":\"steemit/0.1\",\"format\":\"html\"}"
}
]
}namompublished a new post: spring-boot-jpa-extended-master-detail-part-42018/10/28 23:48:00
namompublished a new post: spring-boot-jpa-extended-master-detail-part-4
2018/10/28 23:48:00
| parent author | |
| parent permlink | java |
| author | namom |
| permlink | spring-boot-jpa-extended-master-detail-part-4 |
| title | Spring Boot (JPA Extended: Master-Detail) - Part 4 |
| body | <html> <div> <p>This is the fourth part of our Spring Boot application.</p> </div> <div> <ul> <li><a href="https://steemit.com/spring/@namom/spring-boot-introduction-part-1-building-a-simple-application">Spring Boot (Introduction) - Part 1</a></li> <li><a href="https://steemit.com/java/@namom/spring-boot-building-a-web-application-running-part-2">Spring Boot (Building a web application - Running) - Part 2</a></li> <li><a href="https://steemit.com/spring/@namom/spring-boot-building-a-web-application-jpa-integration-part-3">Spring Boot (Building a web application - JPA integration) - Part 3</a></li> <li>Spring Boot (JPA Extended: Master-Detail) - Part 4</li> <li>Spring Boot (Building a standalone library) - Part 5</li> <li>Spring Boot (Generating a FATJAR) - Part 6</li> <li>Spring Boot (Publishing at AWS) - Part 7</li> </ul> </div> <div> <p>At the third part we have built our list and integrated the data-base with JPA/Hibernate. Now we are to create the tasks of a list.</p> https://steemitimages.com/0x0/https://cdn.steemitimages.com/DQmPQ73QB1DzzatnYWwEHqUdpAjaEL1pzaCNhWegb5G6zvy/5.PNG <p><strong>First</strong>, lets create our TaskDomain, it is important to understand that which list is going to have as many task as it needs.</p> <div> <pre><code> import java.io.Serializable; import java.util.Date; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import lombok.Data; @Data @Entity public class TaskDomain implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private Date date; private Boolean status; @ManyToOne @JoinColumn(name = "id_list_domain") private ListDomain myList; public TaskDomain(String name, ListDomain mylist) { this.name = name; this.date = new Date(); this.status = true; this.myList = mylist; } public TaskDomain() { } }</code></pre> </div> <p> </p> <p>On our TaskDomain there is an object called ListDomain and it is noted with @ManyToOne, which means that we are able to have multiples TaskDomain to only one ListDomain. The notation @JoinColumn configures the join attribute between our two domains.</p> <p> </p> <p><strong>Second</strong>, we have to adapt our ListDomain to understand that it can hold a list of Tasks.</p> <pre><code> import java.io.Serializable; import java.util.Date; import java.util.List; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.OneToMany; import lombok.Data; @Entity @Data public class ListDomain implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private Date date; @OneToMany(mappedBy = "myList", cascade = CascadeType.ALL) private Listasd<taskdomain> taks; public ListDomain(String name) { this.name = name; this.date = new Date(); } public ListDomain() { } } </code></pre> <strong>Third</strong>, lets create our TaskRepository.</div> <pre><code> import org.springframework.data.jpa.repository.JpaRepository; import br.com.namom.todolist.domain.TaskDomain; public interface TaskRepository extends JpaRepository<TaskDomain, Long> { } </code></pre> <p>Now we are ready to create our TaskController.</p> <pre><code> import javax.transaction.Transactional; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import br.com.namom.todolist.domain.ListDomain; import br.com.namom.todolist.domain.TaskDomain; import br.com.namom.todolist.persistence.ListRepository; import br.com.namom.todolist.persistence.TaskRepository; @Controller public class TaskController { @Autowired private TaskRepository taskRepository; @Autowired private ListRepository listRepository; @Transactional @RequestMapping(value = "/list/{id}", method = RequestMethod.GET) public String lists(@PathVariable("id") long idList, Model model) { ListDomain myList = listRepository.getOne(idList); model.addAttribute("mylist", myList); model.addAttribute("mytasks", myList.getTaks()); return "list"; } @Transactional @RequestMapping(value = "savetask", method = RequestMethod.POST) public String save(@RequestParam("idList") long idList, @RequestParam("taskName") String taskName, Model model) { ListDomain myList = listRepository.getOne(idList); TaskDomain task = new TaskDomain(taskName, myList); taskRepository.save(task); return this.lists(idList, model); } } </code></pre> <p>Finally, lets update our <a href="https://github.com/namomalencar/simpletodolist/blob/master/src/main/resources/templates/mylists.html">list page</a> and create a new page, wich will be resposible for list and <a href="https://github.com/namomalencar/simpletodolist/blob/master/src/main/resources/templates/list.html">save our tasks</a>.</p> <p>That's it.</p> <p>Just run the application and you will see it working.</p> <p>Checkout the full code on my <a title="This link will take you away from steemit.com" href="https://github.com/namomalencar/simpletodolist" rel="nofollow noopener">github</a>.</p> https://cdn.steemitimages.com/DQmU7B3YBN5jrLQT8vu4L5en8LThDaMVyCgayFVkE6jTNwy/7.png </html> |
| json metadata | {"tags":["java","application","code","spring","framework"],"users":["manytoone","joincolumn"],"image":["https://steemitimages.com/0x0/https://cdn.steemitimages.com/DQmPQ73QB1DzzatnYWwEHqUdpAjaEL1pzaCNhWegb5G6zvy/5.PNG","https://cdn.steemitimages.com/DQmU7B3YBN5jrLQT8vu4L5en8LThDaMVyCgayFVkE6jTNwy/7.png"],"links":["https://steemit.com/spring/@namom/spring-boot-introduction-part-1-building-a-simple-application","https://steemit.com/java/@namom/spring-boot-building-a-web-application-running-part-2","https://steemit.com/spring/@namom/spring-boot-building-a-web-application-jpa-integration-part-3","https://github.com/namomalencar/simpletodolist/blob/master/src/main/resources/templates/mylists.html","https://github.com/namomalencar/simpletodolist/blob/master/src/main/resources/templates/list.html","https://github.com/namomalencar/simpletodolist"],"app":"steemit/0.1","format":"html"} |
| Transaction Info | Block #27216851/Trx a1feba0fc60b113e5e8fd4bd840bda352d6170f2 |
View Raw JSON Data
{
"trx_id": "a1feba0fc60b113e5e8fd4bd840bda352d6170f2",
"block": 27216851,
"trx_in_block": 11,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-28T23:48:00",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "java",
"author": "namom",
"permlink": "spring-boot-jpa-extended-master-detail-part-4",
"title": "Spring Boot (JPA Extended: Master-Detail) - Part 4",
"body": "<html>\n<div>\n<p>This is the fourth part of our Spring Boot application.</p>\n</div>\n<div>\n<ul>\n<li><a href=\"https://steemit.com/spring/@namom/spring-boot-introduction-part-1-building-a-simple-application\">Spring Boot (Introduction) - Part 1</a></li>\n<li><a href=\"https://steemit.com/java/@namom/spring-boot-building-a-web-application-running-part-2\">Spring Boot (Building a web application - Running) - Part 2</a></li>\n<li><a href=\"https://steemit.com/spring/@namom/spring-boot-building-a-web-application-jpa-integration-part-3\">Spring Boot (Building a web application - JPA integration) - Part 3</a></li>\n<li>Spring Boot (JPA Extended: Master-Detail) - Part 4</li>\n<li>Spring Boot (Building a standalone library) - Part 5</li>\n<li>Spring Boot (Generating a FATJAR) - Part 6</li>\n<li>Spring Boot (Publishing at AWS) - Part 7</li>\n</ul>\n</div>\n<div>\n<p>At the third part we have built our list and integrated the data-base with JPA/Hibernate. Now we are to create the tasks of a list.</p>\n\nhttps://steemitimages.com/0x0/https://cdn.steemitimages.com/DQmPQ73QB1DzzatnYWwEHqUdpAjaEL1pzaCNhWegb5G6zvy/5.PNG\n\n<p><strong>First</strong>, lets create our TaskDomain, it is important to understand that which list is going to have as many task as it needs.</p>\n\n<div>\n<pre><code>\nimport java.io.Serializable;\nimport java.util.Date;\n\nimport javax.persistence.Entity;\nimport javax.persistence.GeneratedValue;\nimport javax.persistence.GenerationType;\nimport javax.persistence.Id;\nimport javax.persistence.JoinColumn;\nimport javax.persistence.ManyToOne;\n\nimport lombok.Data;\n\n@Data\n@Entity\npublic class TaskDomain implements Serializable {\n\tprivate static final long serialVersionUID = 1L;\n\n\t@Id\n\t@GeneratedValue(strategy = GenerationType.IDENTITY)\n\tprivate Long id;\n\n\tprivate String name;\n\n\tprivate Date date;\n\n\tprivate Boolean status;\n\n\t@ManyToOne\n\t@JoinColumn(name = \"id_list_domain\")\n\tprivate ListDomain myList;\n\n\tpublic TaskDomain(String name, ListDomain mylist) {\n\t\tthis.name = name;\n\t\tthis.date = new Date();\n\t\tthis.status = true;\n\t\tthis.myList = mylist;\n\t}\n\n\tpublic TaskDomain() {\t}\n\n}</code></pre>\n</div>\n<p> </p>\n<p>On our TaskDomain there is an object called ListDomain and it is noted with @ManyToOne, which means that we are able to have multiples TaskDomain to only one ListDomain. The notation @JoinColumn configures the join attribute between our two domains.</p>\n<p> </p>\n<p><strong>Second</strong>, we have to adapt our ListDomain to understand that it can hold a list of Tasks.</p>\n<pre><code>\nimport java.io.Serializable;\nimport java.util.Date;\nimport java.util.List;\n\nimport javax.persistence.CascadeType;\nimport javax.persistence.Entity;\nimport javax.persistence.GeneratedValue;\nimport javax.persistence.GenerationType;\nimport javax.persistence.Id;\nimport javax.persistence.OneToMany;\n\nimport lombok.Data;\n\n@Entity\n@Data\npublic class ListDomain implements Serializable {\n\tprivate static final long serialVersionUID = 1L;\n\n\t@Id\n\t@GeneratedValue(strategy = GenerationType.IDENTITY)\n\tprivate Long id;\n\n\tprivate String name;\n\n\tprivate Date date;\n\n\t@OneToMany(mappedBy = \"myList\", cascade = CascadeType.ALL)\n\tprivate Listasd<taskdomain> taks;\n\n\tpublic ListDomain(String name) {\n\t\tthis.name = name;\n\t\tthis.date = new Date();\n\t}\n\n\tpublic ListDomain() {\t}\n\n}\n</code></pre>\n<strong>Third</strong>, lets create our TaskRepository.</div>\n<pre><code>\nimport org.springframework.data.jpa.repository.JpaRepository;\n\nimport br.com.namom.todolist.domain.TaskDomain;\n\npublic interface TaskRepository extends JpaRepository<TaskDomain, Long> {\n\n}\n</code></pre>\n<p>Now we are ready to create our TaskController.</p>\n<pre><code>\nimport javax.transaction.Transactional;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.ui.Model;\nimport org.springframework.web.bind.annotation.PathVariable;\nimport org.springframework.web.bind.annotation.RequestMapping;\nimport org.springframework.web.bind.annotation.RequestMethod;\nimport org.springframework.web.bind.annotation.RequestParam;\n\nimport br.com.namom.todolist.domain.ListDomain;\nimport br.com.namom.todolist.domain.TaskDomain;\nimport br.com.namom.todolist.persistence.ListRepository;\nimport br.com.namom.todolist.persistence.TaskRepository;\n\n@Controller\npublic class TaskController {\n\n\t@Autowired\n\tprivate TaskRepository taskRepository;\n\n\t@Autowired\n\tprivate ListRepository listRepository;\n\n\t@Transactional\n\t@RequestMapping(value = \"/list/{id}\", method = RequestMethod.GET)\n\tpublic String lists(@PathVariable(\"id\") long idList, Model model) {\n\t\tListDomain myList = listRepository.getOne(idList);\n\t\tmodel.addAttribute(\"mylist\", myList);\n\t\tmodel.addAttribute(\"mytasks\", myList.getTaks());\n\t\treturn \"list\";\n\t}\n\n\t@Transactional\n\t@RequestMapping(value = \"savetask\", method = RequestMethod.POST)\n\tpublic String save(@RequestParam(\"idList\") long idList, @RequestParam(\"taskName\") String taskName, Model model) {\n\t\tListDomain myList = listRepository.getOne(idList);\n\t\tTaskDomain task = new TaskDomain(taskName, myList);\n\t\ttaskRepository.save(task);\n\t\treturn this.lists(idList, model);\n\t}\n\n}\n</code></pre>\n<p>Finally, lets update our <a href=\"https://github.com/namomalencar/simpletodolist/blob/master/src/main/resources/templates/mylists.html\">list page</a> and create a new page, wich will be resposible for list and <a href=\"https://github.com/namomalencar/simpletodolist/blob/master/src/main/resources/templates/list.html\">save our tasks</a>.</p>\n<p>That's it.</p>\n<p>Just run the application and you will see it working.</p>\n<p>Checkout the full code on my <a title=\"This link will take you away from steemit.com\" href=\"https://github.com/namomalencar/simpletodolist\" rel=\"nofollow noopener\">github</a>.</p>\n\nhttps://cdn.steemitimages.com/DQmU7B3YBN5jrLQT8vu4L5en8LThDaMVyCgayFVkE6jTNwy/7.png\n\n</html>",
"json_metadata": "{\"tags\":[\"java\",\"application\",\"code\",\"spring\",\"framework\"],\"users\":[\"manytoone\",\"joincolumn\"],\"image\":[\"https://steemitimages.com/0x0/https://cdn.steemitimages.com/DQmPQ73QB1DzzatnYWwEHqUdpAjaEL1pzaCNhWegb5G6zvy/5.PNG\",\"https://cdn.steemitimages.com/DQmU7B3YBN5jrLQT8vu4L5en8LThDaMVyCgayFVkE6jTNwy/7.png\"],\"links\":[\"https://steemit.com/spring/@namom/spring-boot-introduction-part-1-building-a-simple-application\",\"https://steemit.com/java/@namom/spring-boot-building-a-web-application-running-part-2\",\"https://steemit.com/spring/@namom/spring-boot-building-a-web-application-jpa-integration-part-3\",\"https://github.com/namomalencar/simpletodolist/blob/master/src/main/resources/templates/mylists.html\",\"https://github.com/namomalencar/simpletodolist/blob/master/src/main/resources/templates/list.html\",\"https://github.com/namomalencar/simpletodolist\"],\"app\":\"steemit/0.1\",\"format\":\"html\"}"
}
]
}namompublished a new post: spring-boot-building-a-web-application-jpa-integration-part-32018/10/26 11:38:15
namompublished a new post: spring-boot-building-a-web-application-jpa-integration-part-3
2018/10/26 11:38:15
| parent author | |
| parent permlink | spring |
| author | namom |
| permlink | spring-boot-building-a-web-application-jpa-integration-part-3 |
| title | Spring Boot (Building a web application - JPA integration) - Part 3 |
| body | <html> <div> <p>This is the third part of our Spring Boot application.</p> </div> <div> <ul> <li><a href="https://steemit.com/spring/@namom/spring-boot-introduction-part-1-building-a-simple-application">Spring Boot (Introduction) - Part 1</a></li> <li><a href="https://steemit.com/java/@namom/spring-boot-building-a-web-application-running-part-2">Spring Boot (Building a web application - Running) - Part 2</a></li> <li>Spring Boot (Building a web application - JPA integration) - Part 3</li> <li>Spring Boot (Increasing your productivity with Spring devtools) - Part 4</li> <li>Spring Boot (Building a standalone library) - Part 5</li> <li>Spring Boot (Generating a FATJAR) - Part 6</li> <li>Spring Boot (Publishing at AWS) - Part 7</li> </ul> </div> <div> <p>The application is going to be called "My List" and it is a simple to-do list and task manager that helps you get stuff done. Whether you’re sharing a grocery list with a loved one, working on a project, or planning a vacation.</p> <p>At this part we are going to build our List Domain wich means that we'll be able to create as many lists as we want.</p> <img src="https://steemitimages.com/0x0/https://cdn.steemitimages.com/DQmPQ73QB1DzzatnYWwEHqUdpAjaEL1pzaCNhWegb5G6zvy/5.PNG"> <p><strong>First, </strong>lets create a List Domain. In this case we will create an Entity called <em>"ListDomain". Our list is gonna have and Id, a name and a date.</em></p> <pre><code> import java.io.Serializable; import java.util.Date; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import lombok.Data; @Entity @Data public class ListDomain implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private Date date; public ListDomain(String name) { this.name = name; this.date = new Date(); } public ListDomain() { } }</code></pre> </div> <p><strong>Second, </strong>lets create an interface to be able to connect our list to the data base.</p> <pre><code> import org.springframework.data.jpa.repository.JpaRepository; import br.com.namom.todolist.domain.ListDomain; public interface ListRepository extends JpaRepository<ListDomain, Long> { } </code></pre> <p><strong>Third,</strong> before to create our controller, lets create our view part. We have created a simple index page that you can find <a href="https://github.com/namomalencar/simpletodolist/blob/master/src/main/resources/templates/index.html">here</a>. Then, we have to create another <a href="https://github.com/namomalencar/simpletodolist/blob/master/src/main/resources/templates/lists.html">page</a> to handle our list, i.e, a page where we can create and list them.</p> <p><strong>Fouth,</strong> now lets create our controller. It is resposible to manage our routes, list and save our objects.</p> <pre><code> import javax.transaction.Transactional; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import br.com.namom.todolist.domain.ListDomain; import br.com.namom.todolist.persistence.ListRepository; @Controller public class ListController { @Autowired private ListRepository repoList; @Transactional @RequestMapping("mylists") public String lists(Model model) { Iterable lists = repoList.findAll(); model.addAttribute("lists", lists); return "lists"; } @RequestMapping("") public String index(Model model) { return "index"; } @Transactional @RequestMapping(value = "savelist", method = RequestMethod.POST) public String save(@RequestParam("name") String name, Model model) { ListDomain list = new ListDomain(name); repoList.save(list); return this.lists(model); } } </code></pre> <p>That's it.</p> <p>Just run the application and you will see it working.</p> <p>Checkout the full code on my <a title="This link will take you away from steemit.com" href="https://github.com/namomalencar/simpletodolist/tree/f93bcb037b9766fb86b16acd5735488e49015643" rel="nofollow noopener">github</a>.</p> <img src="https://steemitimages.com/0x0/https://cdn.steemitimages.com/DQmNhdLHV1n5F4MeMEqXGbP9gJBPrsHkzmtPsZGdZbnZd4B/6.PNG"> </html> |
| json metadata | {"tags":["spring","boot","java","application","code"],"image":["https://steemitimages.com/0x0/https://cdn.steemitimages.com/DQmPQ73QB1DzzatnYWwEHqUdpAjaEL1pzaCNhWegb5G6zvy/5.PNG","https://steemitimages.com/0x0/https://cdn.steemitimages.com/DQmNhdLHV1n5F4MeMEqXGbP9gJBPrsHkzmtPsZGdZbnZd4B/6.PNG"],"links":["https://steemit.com/spring/@namom/spring-boot-introduction-part-1-building-a-simple-application","https://steemit.com/java/@namom/spring-boot-building-a-web-application-running-part-2","https://github.com/namomalencar/simpletodolist/blob/master/src/main/resources/templates/index.html","https://github.com/namomalencar/simpletodolist/blob/master/src/main/resources/templates/lists.html","https://github.com/namomalencar/simpletodolist/tree/f93bcb037b9766fb86b16acd5735488e49015643"],"app":"steemit/0.1","format":"html"} |
| Transaction Info | Block #27144701/Trx 18afb3673b818d453cbfd46da23f53558986276e |
View Raw JSON Data
{
"trx_id": "18afb3673b818d453cbfd46da23f53558986276e",
"block": 27144701,
"trx_in_block": 13,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-26T11:38:15",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "spring",
"author": "namom",
"permlink": "spring-boot-building-a-web-application-jpa-integration-part-3",
"title": "Spring Boot (Building a web application - JPA integration) - Part 3",
"body": "<html>\n<div>\n<p>This is the third part of our Spring Boot application.</p>\n</div>\n<div>\n<ul>\n<li><a href=\"https://steemit.com/spring/@namom/spring-boot-introduction-part-1-building-a-simple-application\">Spring Boot (Introduction) - Part 1</a></li>\n<li><a href=\"https://steemit.com/java/@namom/spring-boot-building-a-web-application-running-part-2\">Spring Boot (Building a web application - Running) - Part 2</a></li>\n<li>Spring Boot (Building a web application - JPA integration) - Part 3</li>\n<li>Spring Boot (Increasing your productivity with Spring devtools) - Part 4</li>\n<li>Spring Boot (Building a standalone library) - Part 5</li>\n<li>Spring Boot (Generating a FATJAR) - Part 6</li>\n<li>Spring Boot (Publishing at AWS) - Part 7</li>\n</ul>\n</div>\n<div>\n<p>The application is going to be called \"My List\" and it is a simple to-do list and task manager that helps you get stuff done. Whether you’re sharing a grocery list with a loved one, working on a project, or planning a vacation.</p>\n<p>At this part we are going to build our List Domain wich means that we'll be able to create as many lists as we want.</p>\n\n<img src=\"https://steemitimages.com/0x0/https://cdn.steemitimages.com/DQmPQ73QB1DzzatnYWwEHqUdpAjaEL1pzaCNhWegb5G6zvy/5.PNG\">\n\n<p><strong>First, </strong>lets create a List Domain. In this case we will create an Entity called <em>\"ListDomain\". Our list is gonna have and Id, a name and a date.</em></p>\n<pre><code>\nimport java.io.Serializable;\nimport java.util.Date;\n\nimport javax.persistence.Entity;\nimport javax.persistence.GeneratedValue;\nimport javax.persistence.GenerationType;\nimport javax.persistence.Id;\n\nimport lombok.Data;\n\n@Entity\n@Data\npublic class ListDomain implements Serializable {\n\tprivate static final long serialVersionUID = 1L;\n\n\t@Id\n\t@GeneratedValue(strategy = GenerationType.IDENTITY)\n\tprivate Long id;\n\n\tprivate String name;\n\t\n\tprivate Date date;\n\n\tpublic ListDomain(String name) {\n\t\tthis.name = name;\n\t\tthis.date = new Date();\n\t}\n\t\n\tpublic ListDomain() {\n\t}\n\n}</code></pre>\n</div>\n<p><strong>Second, </strong>lets create an interface to be able to connect our list to the data base.</p>\n<pre><code>\nimport org.springframework.data.jpa.repository.JpaRepository;\n\nimport br.com.namom.todolist.domain.ListDomain;\n\npublic interface ListRepository extends JpaRepository<ListDomain, Long> {\n\n}\n</code></pre>\n<p><strong>Third,</strong> before to create our controller, lets create our view part. We have created a simple index page that you can find <a href=\"https://github.com/namomalencar/simpletodolist/blob/master/src/main/resources/templates/index.html\">here</a>. Then, we have to create another <a href=\"https://github.com/namomalencar/simpletodolist/blob/master/src/main/resources/templates/lists.html\">page</a> to handle our list, i.e, a page where we can create and list them.</p>\n<p><strong>Fouth,</strong> now lets create our controller. It is resposible to manage our routes, list and save our objects.</p>\n<pre><code>\nimport javax.transaction.Transactional;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.ui.Model;\nimport org.springframework.web.bind.annotation.RequestMapping;\nimport org.springframework.web.bind.annotation.RequestMethod;\nimport org.springframework.web.bind.annotation.RequestParam;\n\nimport br.com.namom.todolist.domain.ListDomain;\nimport br.com.namom.todolist.persistence.ListRepository;\n\n@Controller\npublic class ListController {\n\n\t@Autowired\n\tprivate ListRepository repoList;\n\t\n\t@Transactional\n\t@RequestMapping(\"mylists\")\n\tpublic String lists(Model model) {\n\t\tIterable lists = repoList.findAll();\n\t\tmodel.addAttribute(\"lists\", lists);\n\t\treturn \"lists\";\n\t}\n\t\n\t@RequestMapping(\"\")\n\tpublic String index(Model model) {\n\t\treturn \"index\";\n\t}\n\n\t@Transactional\n\t@RequestMapping(value = \"savelist\", method = RequestMethod.POST)\n\tpublic String save(@RequestParam(\"name\") String name, Model model) {\n\t\tListDomain list = new ListDomain(name);\n\t\trepoList.save(list);\n\t\treturn this.lists(model);\n\t}\n\n}\n</code></pre>\n<p>That's it.</p>\n<p>Just run the application and you will see it working.</p>\n<p>Checkout the full code on my <a title=\"This link will take you away from steemit.com\" href=\"https://github.com/namomalencar/simpletodolist/tree/f93bcb037b9766fb86b16acd5735488e49015643\" rel=\"nofollow noopener\">github</a>.</p>\n\n<img src=\"https://steemitimages.com/0x0/https://cdn.steemitimages.com/DQmNhdLHV1n5F4MeMEqXGbP9gJBPrsHkzmtPsZGdZbnZd4B/6.PNG\">\n</html>",
"json_metadata": "{\"tags\":[\"spring\",\"boot\",\"java\",\"application\",\"code\"],\"image\":[\"https://steemitimages.com/0x0/https://cdn.steemitimages.com/DQmPQ73QB1DzzatnYWwEHqUdpAjaEL1pzaCNhWegb5G6zvy/5.PNG\",\"https://steemitimages.com/0x0/https://cdn.steemitimages.com/DQmNhdLHV1n5F4MeMEqXGbP9gJBPrsHkzmtPsZGdZbnZd4B/6.PNG\"],\"links\":[\"https://steemit.com/spring/@namom/spring-boot-introduction-part-1-building-a-simple-application\",\"https://steemit.com/java/@namom/spring-boot-building-a-web-application-running-part-2\",\"https://github.com/namomalencar/simpletodolist/blob/master/src/main/resources/templates/index.html\",\"https://github.com/namomalencar/simpletodolist/blob/master/src/main/resources/templates/lists.html\",\"https://github.com/namomalencar/simpletodolist/tree/f93bcb037b9766fb86b16acd5735488e49015643\"],\"app\":\"steemit/0.1\",\"format\":\"html\"}"
}
]
}namomupdated their account properties2018/10/25 19:04:24
namomupdated their account properties
2018/10/25 19:04:24
| account | namom |
| memo key | STM6b4GUDp2EEXpEWHBHuyEC4dRc1jva8enytdHmm7uEZVaHejQSJ |
| json metadata | {"profile":{"profile_image":"https://cdn.steemitimages.com/DQmdzfU7VAdqt6ws6vKz4dV44mhHeDeeF5Gv7ErZEHwwh39/3660943.jpg","name":"Namom Alencar","about":"I'm software developer, passionate for new technologies.","location":"Brazil","cover_image":"https://cdn.steemitimages.com/DQmNo7tADvBk95Qqb1gLoiA3xLVtgee7a4V5oiznLaTa1va/4.png"}} |
| Transaction Info | Block #27124838/Trx 9f0bb7d9830990f042be191e6b45925d2a4c919b |
View Raw JSON Data
{
"trx_id": "9f0bb7d9830990f042be191e6b45925d2a4c919b",
"block": 27124838,
"trx_in_block": 8,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-25T19:04:24",
"op": [
"account_update",
{
"account": "namom",
"memo_key": "STM6b4GUDp2EEXpEWHBHuyEC4dRc1jva8enytdHmm7uEZVaHejQSJ",
"json_metadata": "{\"profile\":{\"profile_image\":\"https://cdn.steemitimages.com/DQmdzfU7VAdqt6ws6vKz4dV44mhHeDeeF5Gv7ErZEHwwh39/3660943.jpg\",\"name\":\"Namom Alencar\",\"about\":\"I'm software developer, passionate for new technologies.\",\"location\":\"Brazil\",\"cover_image\":\"https://cdn.steemitimages.com/DQmNo7tADvBk95Qqb1gLoiA3xLVtgee7a4V5oiznLaTa1va/4.png\"}}"
}
]
}namomupdated their account properties2018/10/25 19:01:57
namomupdated their account properties
2018/10/25 19:01:57
| account | namom |
| memo key | STM6b4GUDp2EEXpEWHBHuyEC4dRc1jva8enytdHmm7uEZVaHejQSJ |
| json metadata | {"profile":{"profile_image":"https://cdn.steemitimages.com/DQmdzfU7VAdqt6ws6vKz4dV44mhHeDeeF5Gv7ErZEHwwh39/3660943.jpg","name":"Namom Alencar","about":"I'm software developer, passionate for new technologies.","location":"Brazil","cover_image":"https://cdn.steemitimages.com/DQmZuUnLJsULDk5bPExeppzEehhp9QhTU7Fd9zTYtX75Ax6/2.png"}} |
| Transaction Info | Block #27124789/Trx 743404e19bf535f2fd529b039d7506915d617092 |
View Raw JSON Data
{
"trx_id": "743404e19bf535f2fd529b039d7506915d617092",
"block": 27124789,
"trx_in_block": 62,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-25T19:01:57",
"op": [
"account_update",
{
"account": "namom",
"memo_key": "STM6b4GUDp2EEXpEWHBHuyEC4dRc1jva8enytdHmm7uEZVaHejQSJ",
"json_metadata": "{\"profile\":{\"profile_image\":\"https://cdn.steemitimages.com/DQmdzfU7VAdqt6ws6vKz4dV44mhHeDeeF5Gv7ErZEHwwh39/3660943.jpg\",\"name\":\"Namom Alencar\",\"about\":\"I'm software developer, passionate for new technologies.\",\"location\":\"Brazil\",\"cover_image\":\"https://cdn.steemitimages.com/DQmZuUnLJsULDk5bPExeppzEehhp9QhTU7Fd9zTYtX75Ax6/2.png\"}}"
}
]
}namomupdated their account properties2018/10/25 18:59:54
namomupdated their account properties
2018/10/25 18:59:54
| account | namom |
| memo key | STM6b4GUDp2EEXpEWHBHuyEC4dRc1jva8enytdHmm7uEZVaHejQSJ |
| json metadata | {"profile":{"profile_image":"https://cdn.steemitimages.com/DQmdzfU7VAdqt6ws6vKz4dV44mhHeDeeF5Gv7ErZEHwwh39/3660943.jpg","name":"Namom Alencar","about":"I'm software developer, passionate for new technologies.","location":"Brazil","cover_image":"https://cdn.steemitimages.com/DQmYvkd3FcGa21NxTHnCcHBGHjvuCkPC6RYXp2G9TzCD56z/Top_view%20(1).png"}} |
| Transaction Info | Block #27124748/Trx 397983085c0208e0bccdefef99fef61ff963848c |
View Raw JSON Data
{
"trx_id": "397983085c0208e0bccdefef99fef61ff963848c",
"block": 27124748,
"trx_in_block": 10,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-25T18:59:54",
"op": [
"account_update",
{
"account": "namom",
"memo_key": "STM6b4GUDp2EEXpEWHBHuyEC4dRc1jva8enytdHmm7uEZVaHejQSJ",
"json_metadata": "{\"profile\":{\"profile_image\":\"https://cdn.steemitimages.com/DQmdzfU7VAdqt6ws6vKz4dV44mhHeDeeF5Gv7ErZEHwwh39/3660943.jpg\",\"name\":\"Namom Alencar\",\"about\":\"I'm software developer, passionate for new technologies.\",\"location\":\"Brazil\",\"cover_image\":\"https://cdn.steemitimages.com/DQmYvkd3FcGa21NxTHnCcHBGHjvuCkPC6RYXp2G9TzCD56z/Top_view%20(1).png\"}}"
}
]
}namomupdated their account properties2018/10/25 18:56:36
namomupdated their account properties
2018/10/25 18:56:36
| account | namom |
| memo key | STM6b4GUDp2EEXpEWHBHuyEC4dRc1jva8enytdHmm7uEZVaHejQSJ |
| json metadata | {"profile":{"profile_image":"https://cdn.steemitimages.com/DQmdzfU7VAdqt6ws6vKz4dV44mhHeDeeF5Gv7ErZEHwwh39/3660943.jpg","name":"Namom Alencar","about":"I'm software developer, passionate for new technologies.","location":"Brazil","cover_image":"https://cdn.steemitimages.com/DQmQduRbAccqnDuXVVJiG442rcjSSUhD8KUSZdTGZdfj7JF/Back_Space-Exploration-technology_ste.jpg"}} |
| Transaction Info | Block #27124682/Trx 8413b0d1e8125d463b8ca944cb99299536bbcee9 |
View Raw JSON Data
{
"trx_id": "8413b0d1e8125d463b8ca944cb99299536bbcee9",
"block": 27124682,
"trx_in_block": 9,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-25T18:56:36",
"op": [
"account_update",
{
"account": "namom",
"memo_key": "STM6b4GUDp2EEXpEWHBHuyEC4dRc1jva8enytdHmm7uEZVaHejQSJ",
"json_metadata": "{\"profile\":{\"profile_image\":\"https://cdn.steemitimages.com/DQmdzfU7VAdqt6ws6vKz4dV44mhHeDeeF5Gv7ErZEHwwh39/3660943.jpg\",\"name\":\"Namom Alencar\",\"about\":\"I'm software developer, passionate for new technologies.\",\"location\":\"Brazil\",\"cover_image\":\"https://cdn.steemitimages.com/DQmQduRbAccqnDuXVVJiG442rcjSSUhD8KUSZdTGZdfj7JF/Back_Space-Exploration-technology_ste.jpg\"}}"
}
]
}namomupdated their account properties2018/10/25 18:53:00
namomupdated their account properties
2018/10/25 18:53:00
| account | namom |
| memo key | STM6b4GUDp2EEXpEWHBHuyEC4dRc1jva8enytdHmm7uEZVaHejQSJ |
| json metadata | {"profile":{"profile_image":"https://cdn.steemitimages.com/DQmdzfU7VAdqt6ws6vKz4dV44mhHeDeeF5Gv7ErZEHwwh39/3660943.jpg","name":"Namom Alencar","about":"I'm software developer, passionate for new technologies.","location":"Brazil","cover_image":"https://cdn.steemitimages.com/DQmQHfEwbHP8tGiV5v572usqwxputVmFFrrD5HF8FhG8Mwt/background_steemit.png"}} |
| Transaction Info | Block #27124610/Trx 4cbc1b81a1ccc57d8a3fd7512163419bf46e5ae3 |
View Raw JSON Data
{
"trx_id": "4cbc1b81a1ccc57d8a3fd7512163419bf46e5ae3",
"block": 27124610,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-25T18:53:00",
"op": [
"account_update",
{
"account": "namom",
"memo_key": "STM6b4GUDp2EEXpEWHBHuyEC4dRc1jva8enytdHmm7uEZVaHejQSJ",
"json_metadata": "{\"profile\":{\"profile_image\":\"https://cdn.steemitimages.com/DQmdzfU7VAdqt6ws6vKz4dV44mhHeDeeF5Gv7ErZEHwwh39/3660943.jpg\",\"name\":\"Namom Alencar\",\"about\":\"I'm software developer, passionate for new technologies.\",\"location\":\"Brazil\",\"cover_image\":\"https://cdn.steemitimages.com/DQmQHfEwbHP8tGiV5v572usqwxputVmFFrrD5HF8FhG8Mwt/background_steemit.png\"}}"
}
]
}namomupdated their account properties2018/10/25 18:48:15
namomupdated their account properties
2018/10/25 18:48:15
| account | namom |
| memo key | STM6b4GUDp2EEXpEWHBHuyEC4dRc1jva8enytdHmm7uEZVaHejQSJ |
| json metadata | {"profile":{"profile_image":"https://cdn.steemitimages.com/DQmdzfU7VAdqt6ws6vKz4dV44mhHeDeeF5Gv7ErZEHwwh39/3660943.jpg","name":"Namom Alencar","about":"I'm software developer, passionate for new technologies.","location":"Brazil"}} |
| Transaction Info | Block #27124515/Trx 0d0d530b1e4179d28173622f83a0dfcdd5c7e657 |
View Raw JSON Data
{
"trx_id": "0d0d530b1e4179d28173622f83a0dfcdd5c7e657",
"block": 27124515,
"trx_in_block": 4,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-25T18:48:15",
"op": [
"account_update",
{
"account": "namom",
"memo_key": "STM6b4GUDp2EEXpEWHBHuyEC4dRc1jva8enytdHmm7uEZVaHejQSJ",
"json_metadata": "{\"profile\":{\"profile_image\":\"https://cdn.steemitimages.com/DQmdzfU7VAdqt6ws6vKz4dV44mhHeDeeF5Gv7ErZEHwwh39/3660943.jpg\",\"name\":\"Namom Alencar\",\"about\":\"I'm software developer, passionate for new technologies.\",\"location\":\"Brazil\"}}"
}
]
}namomupdated their account properties2018/10/25 18:47:57
namomupdated their account properties
2018/10/25 18:47:57
| account | namom |
| memo key | STM6b4GUDp2EEXpEWHBHuyEC4dRc1jva8enytdHmm7uEZVaHejQSJ |
| json metadata | {"profile":{"profile_image":"https://cdn.steemitimages.com/DQmdzfU7VAdqt6ws6vKz4dV44mhHeDeeF5Gv7ErZEHwwh39/3660943.jpg","name":"Namom Alencar","about":"I'm software developer, passionate for new technologies.","location":"Brazil","cover_image":"https://cdn.steemitimages.com/DQmdzfU7VAdqt6ws6vKz4dV44mhHeDeeF5Gv7ErZEHwwh39/3660943.jpg"}} |
| Transaction Info | Block #27124509/Trx fb3ebc65bfcf1b2ceed6cc477ba7c64bb2296c21 |
View Raw JSON Data
{
"trx_id": "fb3ebc65bfcf1b2ceed6cc477ba7c64bb2296c21",
"block": 27124509,
"trx_in_block": 15,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-25T18:47:57",
"op": [
"account_update",
{
"account": "namom",
"memo_key": "STM6b4GUDp2EEXpEWHBHuyEC4dRc1jva8enytdHmm7uEZVaHejQSJ",
"json_metadata": "{\"profile\":{\"profile_image\":\"https://cdn.steemitimages.com/DQmdzfU7VAdqt6ws6vKz4dV44mhHeDeeF5Gv7ErZEHwwh39/3660943.jpg\",\"name\":\"Namom Alencar\",\"about\":\"I'm software developer, passionate for new technologies.\",\"location\":\"Brazil\",\"cover_image\":\"https://cdn.steemitimages.com/DQmdzfU7VAdqt6ws6vKz4dV44mhHeDeeF5Gv7ErZEHwwh39/3660943.jpg\"}}"
}
]
}namomupdated their account properties2018/10/25 18:46:42
namomupdated their account properties
2018/10/25 18:46:42
| account | namom |
| memo key | STM6b4GUDp2EEXpEWHBHuyEC4dRc1jva8enytdHmm7uEZVaHejQSJ |
| json metadata | {"profile":{"profile_image":"https://cdn.steemitimages.com/DQmdzfU7VAdqt6ws6vKz4dV44mhHeDeeF5Gv7ErZEHwwh39/3660943.jpg","name":"Namom Alencar","about":"I'm software developer, passionate for new technologies.","location":"Brazil"}} |
| Transaction Info | Block #27124484/Trx 4dbd112dddb8781bd151c8bff840dd0f302a65ac |
View Raw JSON Data
{
"trx_id": "4dbd112dddb8781bd151c8bff840dd0f302a65ac",
"block": 27124484,
"trx_in_block": 18,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-25T18:46:42",
"op": [
"account_update",
{
"account": "namom",
"memo_key": "STM6b4GUDp2EEXpEWHBHuyEC4dRc1jva8enytdHmm7uEZVaHejQSJ",
"json_metadata": "{\"profile\":{\"profile_image\":\"https://cdn.steemitimages.com/DQmdzfU7VAdqt6ws6vKz4dV44mhHeDeeF5Gv7ErZEHwwh39/3660943.jpg\",\"name\":\"Namom Alencar\",\"about\":\"I'm software developer, passionate for new technologies.\",\"location\":\"Brazil\"}}"
}
]
}namompublished a new post: spring-boot-building-a-web-application-jpa-integration-part-32018/10/25 17:02:18
namompublished a new post: spring-boot-building-a-web-application-jpa-integration-part-3
2018/10/25 17:02:18
| parent author | |
| parent permlink | spring |
| author | namom |
| permlink | spring-boot-building-a-web-application-jpa-integration-part-3 |
| title | Spring Boot (Building a web application - JPA integration) - Part 3 |
| body | <html> <p>This is the third part of our Spring Boot application.</p> <ul> <li><a href="https://steemit.com/spring/@namom/spring-boot-introduction-part-1-building-a-simple-application">Spring Boot (Introduction) - Part 1</a></li> <li><a href="https://steemit.com/java/@namom/spring-boot-building-a-web-application-running-part-2">Spring Boot (Building a web application - Running) - Part 2</a></li> <li>Spring Boot (Building a web application - JPA integration) - Part 3</li> <li>Spring Boot (Increasing your productivity with Spring devtools) - Part 4</li> <li>Spring Boot (Building a standalone library) - Part 5</li> <li>Spring Boot (Generating a FATJAR) - Part 6</li> <li>Spring Boot (Publishing at AWS) - Part 7</li> </ul> <p>The application is going to be called "My List" and it is a simple to-do list and task manager that helps you get stuff done. Whether you’re sharing a grocery list with a loved one, working on a project, or planning a vacation.</p> <p>At this part we are going to build our List Domain wich means that we'll be able to create as many lists as we want.</p> <p></p> https://cdn.steemitimages.com/DQmPQ73QB1DzzatnYWwEHqUdpAjaEL1pzaCNhWegb5G6zvy/5.PNG <p><strong>First, </strong>lets create a List Domain. In this case we will create an Entity called <em>"ListDomain"</em>. Our list is gonna have: Id, name and date.</p> <pre><code>import java.io.Serializable;<br> import java.util.Date;<br> <br> import javax.persistence.Entity;<br> import javax.persistence.GeneratedValue;<br> import javax.persistence.GenerationType;<br> import javax.persistence.Id;<br> <br> import lombok.Data;<br> <br> @Entity<br> @Data<br> public class ListDomain implements Serializable {<br> private static final long serialVersionUID = 1L;<br> <br> @Id<br> @GeneratedValue(strategy = GenerationType.IDENTITY)<br> private Long id;<br> <br> private String name;<br> <br> private Date date;<br> <br> public ListDomain(String name) {<br> this.name = name;<br> this.date = new Date();<br> }<br> <br> public ListDomain() {<br> }<br> <br> }</code></pre> <p><strong>Second, </strong>lets create an interface to be able to connect our list to the data base.</p> <pre><code>import org.springframework.data.jpa.repository.JpaRepository;<br> <br> import br.com.namom.todolist.domain.ListDomain;<br> <br> public interface ListRepository extends JpaRepository<ListDomain, Long> {<br> <br> }<br> </code></pre> <p><strong>Third,</strong> before to create our controller, lets create our view part. We have created a simple index page that you can find <a href="https://github.com/namomalencar/simpletodolist/blob/master/src/main/resources/templates/index.html">here</a>. Then, we have to create another <a href="https://github.com/namomalencar/simpletodolist/blob/master/src/main/resources/templates/lists.html">page</a> to handle our list, i.e, a page where we can create and list them.</p> <p><strong>Fouth,</strong> now lets create our controller. It is resposible to manage our routes, list and save our objects.</p> <pre><code>import javax.transaction.Transactional;<br> <br> import org.springframework.beans.factory.annotation.Autowired;<br> import org.springframework.stereotype.Controller;<br> import org.springframework.ui.Model;<br> import org.springframework.web.bind.annotation.RequestMapping;<br> import org.springframework.web.bind.annotation.RequestMethod;<br> import org.springframework.web.bind.annotation.RequestParam;<br> <br> import br.com.namom.todolist.domain.ListDomain;<br> import br.com.namom.todolist.persistence.ListRepository;<br> <br> @Controller<br> public class ListController {<br> <br> @Autowired<br> private ListRepository repoList;<br> <br> @Transactional<br> @RequestMapping("mylists")<br> public String lists(Model model) {<br> Iterable lists = repoList.findAll();<br> model.addAttribute("lists", lists);<br> return "lists";<br> }<br> <br> @RequestMapping("")<br> public String index(Model model) {<br> return "index";<br> }<br> <br> @Transactional<br> @RequestMapping(value = "savelist", method = RequestMethod.POST)<br> public String save(@RequestParam("name") String name, Model model) {<br> ListDomain list = new ListDomain(name);<br> repoList.save(list);<br> return this.lists(model);<br> }<br> <br> }<br> </code></pre> <p>That's it.</p> <p>Just run the application and you will see it working.</p> <p>Checkout the full code on my <a href="https://github.com/namomalencar/simpletodolist/tree/f93bcb037b9766fb86b16acd5735488e49015643" rel="nofollow noopener" title="This link will take you away from steemit.com">github</a>.</p> <p></p> https://cdn.steemitimages.com/DQmNhdLHV1n5F4MeMEqXGbP9gJBPrsHkzmtPsZGdZbnZd4B/6.PNG </html> |
| json metadata | {"tags":["spring","boot","java","application","code"],"image":["https://cdn.steemitimages.com/DQmPQ73QB1DzzatnYWwEHqUdpAjaEL1pzaCNhWegb5G6zvy/5.PNG","https://cdn.steemitimages.com/DQmNhdLHV1n5F4MeMEqXGbP9gJBPrsHkzmtPsZGdZbnZd4B/6.PNG"],"links":["https://steemit.com/spring/@namom/spring-boot-introduction-part-1-building-a-simple-application","https://steemit.com/java/@namom/spring-boot-building-a-web-application-running-part-2","https://github.com/namomalencar/simpletodolist/blob/master/src/main/resources/templates/index.html","https://github.com/namomalencar/simpletodolist/blob/master/src/main/resources/templates/lists.html","https://github.com/namomalencar/simpletodolist/tree/f93bcb037b9766fb86b16acd5735488e49015643"],"app":"steemit/0.1","format":"html"} |
| Transaction Info | Block #27122396/Trx f0d3d8e96dc9b109449e2e94a103228f1c00c74d |
View Raw JSON Data
{
"trx_id": "f0d3d8e96dc9b109449e2e94a103228f1c00c74d",
"block": 27122396,
"trx_in_block": 31,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-25T17:02:18",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "spring",
"author": "namom",
"permlink": "spring-boot-building-a-web-application-jpa-integration-part-3",
"title": "Spring Boot (Building a web application - JPA integration) - Part 3",
"body": "<html>\n<p>This is the third part of our Spring Boot application.</p>\n<ul>\n <li><a href=\"https://steemit.com/spring/@namom/spring-boot-introduction-part-1-building-a-simple-application\">Spring Boot (Introduction) - Part 1</a></li>\n <li><a href=\"https://steemit.com/java/@namom/spring-boot-building-a-web-application-running-part-2\">Spring Boot (Building a web application - Running) - Part 2</a></li>\n <li>Spring Boot (Building a web application - JPA integration) - Part 3</li>\n <li>Spring Boot (Increasing your productivity with Spring devtools) - Part 4</li>\n <li>Spring Boot (Building a standalone library) - Part 5</li>\n <li>Spring Boot (Generating a FATJAR) - Part 6</li>\n <li>Spring Boot (Publishing at AWS) - Part 7</li>\n</ul>\n<p>The application is going to be called \"My List\" and it is a simple to-do list and task manager that helps you get stuff done. Whether you’re sharing a grocery list with a loved one, working on a project, or planning a vacation.</p>\n<p>At this part we are going to build our List Domain wich means that we'll be able to create as many lists as we want.</p>\n<p></p>\nhttps://cdn.steemitimages.com/DQmPQ73QB1DzzatnYWwEHqUdpAjaEL1pzaCNhWegb5G6zvy/5.PNG\n<p><strong>First, </strong>lets create a List Domain. In this case we will create an Entity called <em>\"ListDomain\"</em>. Our list is gonna have: Id, name and date.</p>\n<pre><code>import java.io.Serializable;<br>\nimport java.util.Date;<br>\n<br>\nimport javax.persistence.Entity;<br>\nimport javax.persistence.GeneratedValue;<br>\nimport javax.persistence.GenerationType;<br>\nimport javax.persistence.Id;<br>\n<br>\nimport lombok.Data;<br>\n<br>\n@Entity<br>\n@Data<br>\npublic class ListDomain implements Serializable {<br>\n\tprivate static final long serialVersionUID = 1L;<br>\n<br>\n\t@Id<br>\n\t@GeneratedValue(strategy = GenerationType.IDENTITY)<br>\n\tprivate Long id;<br>\n<br>\n\tprivate String name;<br>\n\t<br>\n\tprivate Date date;<br>\n<br>\n\tpublic ListDomain(String name) {<br>\n\t\tthis.name = name;<br>\n\t\tthis.date = new Date();<br>\n\t}<br>\n\t<br>\n\tpublic ListDomain() {<br>\n\t}<br>\n<br>\n}</code></pre>\n<p><strong>Second, </strong>lets create an interface to be able to connect our list to the data base.</p>\n<pre><code>import org.springframework.data.jpa.repository.JpaRepository;<br>\n<br>\nimport br.com.namom.todolist.domain.ListDomain;<br>\n<br>\npublic interface ListRepository extends JpaRepository<ListDomain, Long> {<br>\n<br>\n}<br>\n</code></pre>\n<p><strong>Third,</strong> before to create our controller, lets create our view part. We have created a simple index page that you can find <a href=\"https://github.com/namomalencar/simpletodolist/blob/master/src/main/resources/templates/index.html\">here</a>. Then, we have to create another <a href=\"https://github.com/namomalencar/simpletodolist/blob/master/src/main/resources/templates/lists.html\">page</a> to handle our list, i.e, a page where we can create and list them.</p>\n<p><strong>Fouth,</strong> now lets create our controller. It is resposible to manage our routes, list and save our objects.</p>\n<pre><code>import javax.transaction.Transactional;<br>\n<br>\nimport org.springframework.beans.factory.annotation.Autowired;<br>\nimport org.springframework.stereotype.Controller;<br>\nimport org.springframework.ui.Model;<br>\nimport org.springframework.web.bind.annotation.RequestMapping;<br>\nimport org.springframework.web.bind.annotation.RequestMethod;<br>\nimport org.springframework.web.bind.annotation.RequestParam;<br>\n<br>\nimport br.com.namom.todolist.domain.ListDomain;<br>\nimport br.com.namom.todolist.persistence.ListRepository;<br>\n<br>\n@Controller<br>\npublic class ListController {<br>\n<br>\n\t@Autowired<br>\n\tprivate ListRepository repoList;<br>\n\t<br>\n\t@Transactional<br>\n\t@RequestMapping(\"mylists\")<br>\n\tpublic String lists(Model model) {<br>\n\t\tIterable lists = repoList.findAll();<br>\n\t\tmodel.addAttribute(\"lists\", lists);<br>\n\t\treturn \"lists\";<br>\n\t}<br>\n\t<br>\n\t@RequestMapping(\"\")<br>\n\tpublic String index(Model model) {<br>\n\t\treturn \"index\";<br>\n\t}<br>\n<br>\n\t@Transactional<br>\n\t@RequestMapping(value = \"savelist\", method = RequestMethod.POST)<br>\n\tpublic String save(@RequestParam(\"name\") String name, Model model) {<br>\n\t\tListDomain list = new ListDomain(name);<br>\n\t\trepoList.save(list);<br>\n\t\treturn this.lists(model);<br>\n\t}<br>\n<br>\n}<br>\n</code></pre>\n<p>That's it.</p>\n<p>Just run the application and you will see it working.</p>\n<p>Checkout the full code on my <a href=\"https://github.com/namomalencar/simpletodolist/tree/f93bcb037b9766fb86b16acd5735488e49015643\" rel=\"nofollow noopener\" title=\"This link will take you away from steemit.com\">github</a>.</p>\n<p></p>\nhttps://cdn.steemitimages.com/DQmNhdLHV1n5F4MeMEqXGbP9gJBPrsHkzmtPsZGdZbnZd4B/6.PNG\n</html>",
"json_metadata": "{\"tags\":[\"spring\",\"boot\",\"java\",\"application\",\"code\"],\"image\":[\"https://cdn.steemitimages.com/DQmPQ73QB1DzzatnYWwEHqUdpAjaEL1pzaCNhWegb5G6zvy/5.PNG\",\"https://cdn.steemitimages.com/DQmNhdLHV1n5F4MeMEqXGbP9gJBPrsHkzmtPsZGdZbnZd4B/6.PNG\"],\"links\":[\"https://steemit.com/spring/@namom/spring-boot-introduction-part-1-building-a-simple-application\",\"https://steemit.com/java/@namom/spring-boot-building-a-web-application-running-part-2\",\"https://github.com/namomalencar/simpletodolist/blob/master/src/main/resources/templates/index.html\",\"https://github.com/namomalencar/simpletodolist/blob/master/src/main/resources/templates/lists.html\",\"https://github.com/namomalencar/simpletodolist/tree/f93bcb037b9766fb86b16acd5735488e49015643\"],\"app\":\"steemit/0.1\",\"format\":\"html\"}"
}
]
}namompublished a new post: spring-boot-building-a-web-application-running-part-22018/10/22 14:04:42
namompublished a new post: spring-boot-building-a-web-application-running-part-2
2018/10/22 14:04:42
| parent author | |
| parent permlink | java |
| author | namom |
| permlink | spring-boot-building-a-web-application-running-part-2 |
| title | Spring Boot (Building a web application - Running) - Part 2 |
| body | @@ -1,16 +1,23 @@ +%3Chtml%3E%0A %3Cdiv%3E%0A%3Cp%3EThis is @@ -902,16 +902,32 @@ t=%22452%22 - +caption=%22false%22 /%3E%3C/p%3E%0A%3C @@ -1147,16 +1147,32 @@ ht=%22411%22 + caption=%22false%22 /%3E%3C/p%3E%0A @@ -1423,16 +1423,32 @@ ht=%22409%22 + caption=%22false%22 /%3E%3C/p%3E%0A @@ -1593,22 +1593,25 @@ v%3E%0A%3Cdiv%3E - +%0A%3Cp%3E%3C/p%3E%0A %3C/div%3E%0A%3C @@ -4093,16 +4093,32 @@ ht=%22550%22 + caption=%22false%22 /%3E%3C/p%3E%0A @@ -4116,38 +4116,32 @@ %22 /%3E%3C/p%3E%0A%3C/div%3E%0A -%3Cdiv%3E%0A %3Cpre%3E%3Ccode%3E%0Aimpo @@ -4135,17 +4135,16 @@ e%3E%3Ccode%3E -%0A import o @@ -4462,29 +4462,24 @@ ode%3E -%0A %3C/pre%3E%0A%3C -/ div%3E%0A%3C -div%3E%0A +p%3E That @@ -4484,17 +4484,24 @@ at's it. -%0A +%3C/p%3E%0A%3Cp%3E Just run @@ -4545,17 +4545,24 @@ working. -%0A +%3C/p%3E%0A%3Cp%3E Checkout @@ -4726,15 +4726,27 @@ thub%3C/a%3E +%3C/p%3E %0A%3C/div%3E +%0A%3C/html%3E |
| json metadata | {"tags":["java","application","code","spring","framework"],"image":["https://cdn.steemitimages.com/DQmPPUSJsUpzFWzH98TMCsthd8bkQhE9mhdBbmNDbsBvJTe/1.PNG","https://cdn.steemitimages.com/DQmRcWHUq6dDzH432nx32yBCqLqZVkgiCty9QoZM4w3PZoW/2.PNG","https://cdn.steemitimages.com/DQmWzvdDxkovcDRBR7nvTB8NAQ3Xw1jx8vyzWeJjKLTZsf4/3.PNG","https://cdn.steemitimages.com/DQmURNq4PaQXAy44v8uBLYUiEL2AgrJffx4LHjX6MDxWNeQ/4.PNG"],"links":["https://steemit.com/spring/@namom/spring-boot-introduction-part-1-building-a-simple-application","https://github.com/namomalencar/simpletodolist/blob/2bcacfe1e67bf6f1b5518befe8c002984ae3b403/pom.xml","https://github.com/namomalencar/simpletodolist/tree/2bcacfe1e67bf6f1b5518befe8c002984ae3b403"],"app":"steemit/0.1","format":"html"} |
| Transaction Info | Block #27032522/Trx b8e6e97545bbe81f41483ddbb544d88d1802f195 |
View Raw JSON Data
{
"trx_id": "b8e6e97545bbe81f41483ddbb544d88d1802f195",
"block": 27032522,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-22T14:04:42",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "java",
"author": "namom",
"permlink": "spring-boot-building-a-web-application-running-part-2",
"title": "Spring Boot (Building a web application - Running) - Part 2",
"body": "@@ -1,16 +1,23 @@\n+%3Chtml%3E%0A\n %3Cdiv%3E%0A%3Cp%3EThis is\n@@ -902,16 +902,32 @@\n t=%22452%22 \n-\n \n+caption=%22false%22 \n /%3E%3C/p%3E%0A%3C\n@@ -1147,16 +1147,32 @@\n ht=%22411%22\n+ caption=%22false%22\n /%3E%3C/p%3E%0A\n@@ -1423,16 +1423,32 @@\n ht=%22409%22\n+ caption=%22false%22\n /%3E%3C/p%3E%0A\n@@ -1593,22 +1593,25 @@\n v%3E%0A%3Cdiv%3E\n- \n+%0A%3Cp%3E%3C/p%3E%0A\n %3C/div%3E%0A%3C\n@@ -4093,16 +4093,32 @@\n ht=%22550%22\n+ caption=%22false%22\n /%3E%3C/p%3E%0A\n@@ -4116,38 +4116,32 @@\n %22 /%3E%3C/p%3E%0A%3C/div%3E%0A\n-%3Cdiv%3E%0A\n %3Cpre%3E%3Ccode%3E%0Aimpo\n@@ -4135,17 +4135,16 @@\n e%3E%3Ccode%3E\n-%0A\n import o\n@@ -4462,29 +4462,24 @@\n ode%3E\n-%0A\n %3C/pre%3E%0A%3C\n-/\n div%3E%0A%3C\n-div%3E%0A\n+p%3E\n That\n@@ -4484,17 +4484,24 @@\n at's it.\n-%0A\n+%3C/p%3E%0A%3Cp%3E\n Just run\n@@ -4545,17 +4545,24 @@\n working.\n-%0A\n+%3C/p%3E%0A%3Cp%3E\n Checkout\n@@ -4726,15 +4726,27 @@\n thub%3C/a%3E\n+%3C/p%3E\n %0A%3C/div%3E\n+%0A%3C/html%3E\n",
"json_metadata": "{\"tags\":[\"java\",\"application\",\"code\",\"spring\",\"framework\"],\"image\":[\"https://cdn.steemitimages.com/DQmPPUSJsUpzFWzH98TMCsthd8bkQhE9mhdBbmNDbsBvJTe/1.PNG\",\"https://cdn.steemitimages.com/DQmRcWHUq6dDzH432nx32yBCqLqZVkgiCty9QoZM4w3PZoW/2.PNG\",\"https://cdn.steemitimages.com/DQmWzvdDxkovcDRBR7nvTB8NAQ3Xw1jx8vyzWeJjKLTZsf4/3.PNG\",\"https://cdn.steemitimages.com/DQmURNq4PaQXAy44v8uBLYUiEL2AgrJffx4LHjX6MDxWNeQ/4.PNG\"],\"links\":[\"https://steemit.com/spring/@namom/spring-boot-introduction-part-1-building-a-simple-application\",\"https://github.com/namomalencar/simpletodolist/blob/2bcacfe1e67bf6f1b5518befe8c002984ae3b403/pom.xml\",\"https://github.com/namomalencar/simpletodolist/tree/2bcacfe1e67bf6f1b5518befe8c002984ae3b403\"],\"app\":\"steemit/0.1\",\"format\":\"html\"}"
}
]
}2018/10/22 13:55:09
2018/10/22 13:55:09
| parent author | namom |
| parent permlink | spring-boot-building-a-web-application-running-part-2 |
| author | millibot |
| permlink | re-spring-boot-building-a-web-application-running-part-2-20181022t135506 |
| title | |
| body | This post has been upvoted for free by @millibot with 5%! Get better upvotes by bidding on me. More profits? 100% Payout! Delegate some SteemPower to @millibot: [1 SP](https://v2.steemconnect.com/sign/delegateVestingShares?delegator=&delegatee=millibot&vesting_shares=2049%20VESTS), [5 SP](https://v2.steemconnect.com/sign/delegateVestingShares?delegator=&delegatee=millibot&vesting_shares=10245%20VESTS), [10 SP](https://v2.steemconnect.com/sign/delegateVestingShares?delegator=&delegatee=millibot&vesting_shares=20489%20VESTS), [custom amount](https://steembottracker.com/delegation.html) You like to bet and win 20x your bid? Have a look at @gtw and [this description](https://steemit.com/guessthewitness/@isnochys/guess-the-witness-steemdice-for-witnesses)! |
| json metadata | |
| Transaction Info | Block #27032331/Trx cfa2fff07f6e0953c2096179646a7c1ece850d4c |
View Raw JSON Data
{
"trx_id": "cfa2fff07f6e0953c2096179646a7c1ece850d4c",
"block": 27032331,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-22T13:55:09",
"op": [
"comment",
{
"parent_author": "namom",
"parent_permlink": "spring-boot-building-a-web-application-running-part-2",
"author": "millibot",
"permlink": "re-spring-boot-building-a-web-application-running-part-2-20181022t135506",
"title": "",
"body": "This post has been upvoted for free by @millibot with 5%! \n Get better upvotes by bidding on me.\nMore profits? 100% Payout! Delegate some SteemPower to @millibot: [1 SP](https://v2.steemconnect.com/sign/delegateVestingShares?delegator=&delegatee=millibot&vesting_shares=2049%20VESTS), [5 SP](https://v2.steemconnect.com/sign/delegateVestingShares?delegator=&delegatee=millibot&vesting_shares=10245%20VESTS), [10 SP](https://v2.steemconnect.com/sign/delegateVestingShares?delegator=&delegatee=millibot&vesting_shares=20489%20VESTS), [custom amount](https://steembottracker.com/delegation.html)\nYou like to bet and win 20x your bid? Have a look at @gtw and [this description](https://steemit.com/guessthewitness/@isnochys/guess-the-witness-steemdice-for-witnesses)!",
"json_metadata": ""
}
]
}millibotupvoted (5.00%) @namom / spring-boot-building-a-web-application-running-part-22018/10/22 13:55:03
millibotupvoted (5.00%) @namom / spring-boot-building-a-web-application-running-part-2
2018/10/22 13:55:03
| voter | millibot |
| author | namom |
| permlink | spring-boot-building-a-web-application-running-part-2 |
| weight | 500 (5.00%) |
| Transaction Info | Block #27032329/Trx 949162917ce6a373646bbfbd3c82f1e1fbef9479 |
View Raw JSON Data
{
"trx_id": "949162917ce6a373646bbfbd3c82f1e1fbef9479",
"block": 27032329,
"trx_in_block": 14,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-22T13:55:03",
"op": [
"vote",
{
"voter": "millibot",
"author": "namom",
"permlink": "spring-boot-building-a-web-application-running-part-2",
"weight": 500
}
]
}namompublished a new post: spring-boot-building-a-web-application-running-part-22018/10/22 13:53:42
namompublished a new post: spring-boot-building-a-web-application-running-part-2
2018/10/22 13:53:42
| parent author | |
| parent permlink | java |
| author | namom |
| permlink | spring-boot-building-a-web-application-running-part-2 |
| title | Spring Boot (Building a web application - Running) - Part 2 |
| body | <div> <p>This is the second part of our Spring Boot application.</p> </div> <div> <ul> <li><a href="https://steemit.com/spring/@namom/spring-boot-introduction-part-1-building-a-simple-application">Spring Boot (Introduction) - Part 1</a></li> <li>Spring Boot (Building a web application - Running) - Part 2</li> <li>Spring Boot (Building a web application - JPA integration) - Part 3</li> <li>Spring Boot (Increasing your productivity with Spring devtools) - Part 4</li> <li>Spring Boot (Building a standalone library) - Part 5</li> <li>Spring Boot (Generating a FATJAR) - Part 6</li> <li>Spring Boot (Publishing at AWS) - Part 7</li> </ul> </div> <div> <p>We have to create a new maven project. The IDE used on this tutorial will be Eclipse (Version: Oxygen.3a)</p> </div> <div> <p><img src="https://cdn.steemitimages.com/DQmPPUSJsUpzFWzH98TMCsthd8bkQhE9mhdBbmNDbsBvJTe/1.PNG" width="450" height="452" /></p> </div> <div> <p>At the menu select: File>New>Other>Maven>Maven Project</p> </div> <div> <p><img src="https://cdn.steemitimages.com/DQmRcWHUq6dDzH432nx32yBCqLqZVkgiCty9QoZM4w3PZoW/2.PNG" width="450" height="411" /></p> </div> <div> <p>Select: Create a simple project (skip archetype selection)</p> </div> <div> <p>Click Next.</p> </div> <div> <p><img src="https://cdn.steemitimages.com/DQmWzvdDxkovcDRBR7nvTB8NAQ3Xw1jx8vyzWeJjKLTZsf4/3.PNG" width="450" height="409" /></p> </div> <div> <p>Full fill the group id filed and the artifact id, then click finish button. This action will create your project.</p> </div> <div> </div> <div> <p><strong>Let's configurate the pom.xml file, there you will put all project's dependencies.</strong></p> </div> <div> <ul> <li>Lombok</li> <li>H2</li> <li>Test</li> <li>Web</li> <li>Data JPA</li> <li>Thymeleaf</li> </ul> </div> <div> <p>First, we have to set the parent artifact. This parent artifact will define the version of the other dependencies.</p> </div> <div> <pre><code><parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.6.RELEASE</version> <relativePath /> </parent> </code></pre> </div> <div> <p><br /> Then, put the rest of the dependencies.</p> </div> <div> <pre><code><dependencies> <!-- Framework - Lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <scope>provided</scope> </dependency> <!-- Database - H2 --> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <scope>runtime</scope> </dependency> <!-- Spring Boot - Test --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!-- Spring Boot - Web --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <scope>provided</scope> </dependency> <!-- Spring Boot - Data JPA --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> <scope>provided</scope> </dependency> <!-- Thymeleaf --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> </dependencies> </code></pre> </div> <div> <p>You can find the complete file at my <a href="https://github.com/namomalencar/simpletodolist/blob/2bcacfe1e67bf6f1b5518befe8c002984ae3b403/pom.xml">github</a></p> </div> <div> <p>The next step is to create a new class to run the application.</p> </div> <div> <p><img src="https://cdn.steemitimages.com/DQmURNq4PaQXAy44v8uBLYUiEL2AgrJffx4LHjX6MDxWNeQ/4.PNG" width="450" height="550" /></p> </div> <div> <pre><code> import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class App { public static void main(String[] args) { SpringApplication.run(App.class, args); //Spring Boot (Building a web application - Running) - Part 2 } } </code> </pre> </div> <div> That's it. Just run the application and you will see it working. Checkout the full code on my <a href="https://github.com/namomalencar/simpletodolist/tree/2bcacfe1e67bf6f1b5518befe8c002984ae3b403" target="_blank" rel="noopener">github</a> </div> |
| json metadata | {"tags":["java","application","code","spring","framework"],"image":["https://cdn.steemitimages.com/DQmPPUSJsUpzFWzH98TMCsthd8bkQhE9mhdBbmNDbsBvJTe/1.PNG","https://cdn.steemitimages.com/DQmRcWHUq6dDzH432nx32yBCqLqZVkgiCty9QoZM4w3PZoW/2.PNG","https://cdn.steemitimages.com/DQmWzvdDxkovcDRBR7nvTB8NAQ3Xw1jx8vyzWeJjKLTZsf4/3.PNG","https://cdn.steemitimages.com/DQmURNq4PaQXAy44v8uBLYUiEL2AgrJffx4LHjX6MDxWNeQ/4.PNG"],"links":["https://steemit.com/spring/@namom/spring-boot-introduction-part-1-building-a-simple-application","https://github.com/namomalencar/simpletodolist/blob/2bcacfe1e67bf6f1b5518befe8c002984ae3b403/pom.xml","https://github.com/namomalencar/simpletodolist/tree/2bcacfe1e67bf6f1b5518befe8c002984ae3b403"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #27032302/Trx 87c635961e71e5879defb39e54feb0cb7d23ab88 |
View Raw JSON Data
{
"trx_id": "87c635961e71e5879defb39e54feb0cb7d23ab88",
"block": 27032302,
"trx_in_block": 8,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-22T13:53:42",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "java",
"author": "namom",
"permlink": "spring-boot-building-a-web-application-running-part-2",
"title": "Spring Boot (Building a web application - Running) - Part 2",
"body": "<div>\n<p>This is the second part of our Spring Boot application.</p>\n</div>\n<div>\n<ul>\n<li><a href=\"https://steemit.com/spring/@namom/spring-boot-introduction-part-1-building-a-simple-application\">Spring Boot (Introduction) - Part 1</a></li>\n<li>Spring Boot (Building a web application - Running) - Part 2</li>\n<li>Spring Boot (Building a web application - JPA integration) - Part 3</li>\n<li>Spring Boot (Increasing your productivity with Spring devtools) - Part 4</li>\n<li>Spring Boot (Building a standalone library) - Part 5</li>\n<li>Spring Boot (Generating a FATJAR) - Part 6</li>\n<li>Spring Boot (Publishing at AWS) - Part 7</li>\n</ul>\n</div>\n<div>\n<p>We have to create a new maven project. The IDE used on this tutorial will be Eclipse (Version: Oxygen.3a)</p>\n</div>\n<div>\n<p><img src=\"https://cdn.steemitimages.com/DQmPPUSJsUpzFWzH98TMCsthd8bkQhE9mhdBbmNDbsBvJTe/1.PNG\" width=\"450\" height=\"452\" /></p>\n</div>\n<div>\n<p>At the menu select: File>New>Other>Maven>Maven Project</p>\n</div>\n<div>\n<p><img src=\"https://cdn.steemitimages.com/DQmRcWHUq6dDzH432nx32yBCqLqZVkgiCty9QoZM4w3PZoW/2.PNG\" width=\"450\" height=\"411\" /></p>\n</div>\n<div>\n<p>Select: Create a simple project (skip archetype selection)</p>\n</div>\n<div>\n<p>Click Next.</p>\n</div>\n<div>\n<p><img src=\"https://cdn.steemitimages.com/DQmWzvdDxkovcDRBR7nvTB8NAQ3Xw1jx8vyzWeJjKLTZsf4/3.PNG\" width=\"450\" height=\"409\" /></p>\n</div>\n<div>\n<p>Full fill the group id filed and the artifact id, then click finish button. This action will create your project.</p>\n</div>\n<div> </div>\n<div>\n<p><strong>Let's configurate the pom.xml file, there you will put all project's dependencies.</strong></p>\n</div>\n<div>\n<ul>\n<li>Lombok</li>\n<li>H2</li>\n<li>Test</li>\n<li>Web</li>\n<li>Data JPA</li>\n<li>Thymeleaf</li>\n</ul>\n</div>\n<div>\n<p>First, we have to set the parent artifact. This parent artifact will define the version of the other dependencies.</p>\n</div>\n<div>\n<pre><code><parent>\n\t<groupId>org.springframework.boot</groupId>\n\t<artifactId>spring-boot-starter-parent</artifactId>\n\t<version>2.0.6.RELEASE</version>\n\t<relativePath />\n</parent>\t\n</code></pre>\n</div>\n<div>\n<p><br /> Then, put the rest of the dependencies.</p>\n</div>\n<div>\n<pre><code><dependencies>\n\t<!-- Framework - Lombok -->\n\t<dependency>\n\t\t<groupId>org.projectlombok</groupId>\n\t\t<artifactId>lombok</artifactId>\n\t\t<scope>provided</scope>\n\t</dependency>\n\t<!-- Database - H2 -->\n\t<dependency>\n\t\t<groupId>com.h2database</groupId>\n\t\t<artifactId>h2</artifactId>\n\t\t<scope>runtime</scope>\n\t</dependency>\n\t<!-- Spring Boot - Test -->\n\t<dependency>\n\t\t<groupId>org.springframework.boot</groupId>\n\t\t<artifactId>spring-boot-starter-test</artifactId>\n\t\t<scope>test</scope>\n\t</dependency>\n\t<!-- Spring Boot - Web -->\n\t<dependency>\n\t\t<groupId>org.springframework.boot</groupId>\n\t\t<artifactId>spring-boot-starter-web</artifactId>\n\t\t<scope>provided</scope>\n\t</dependency>\n\t<!-- Spring Boot - Data JPA -->\n\t<dependency>\n\t\t<groupId>org.springframework.boot</groupId>\n\t\t<artifactId>spring-boot-starter-data-jpa</artifactId>\n\t\t<scope>provided</scope>\n\t</dependency>\n\t<!-- Thymeleaf -->\n\t<dependency>\n\t\t<groupId>org.springframework.boot</groupId>\n\t\t<artifactId>spring-boot-starter-thymeleaf</artifactId>\n\t</dependency>\n</dependencies>\n</code></pre>\n</div>\n<div>\n<p>You can find the complete file at my <a href=\"https://github.com/namomalencar/simpletodolist/blob/2bcacfe1e67bf6f1b5518befe8c002984ae3b403/pom.xml\">github</a></p>\n</div>\n<div>\n<p>The next step is to create a new class to run the application.</p>\n</div>\n<div>\n<p><img src=\"https://cdn.steemitimages.com/DQmURNq4PaQXAy44v8uBLYUiEL2AgrJffx4LHjX6MDxWNeQ/4.PNG\" width=\"450\" height=\"550\" /></p>\n</div>\n<div>\n<pre><code>\nimport org.springframework.boot.SpringApplication;\nimport org.springframework.boot.autoconfigure.SpringBootApplication;\n\n@SpringBootApplication\npublic class App {\n\tpublic static void main(String[] args) {\n\t\tSpringApplication.run(App.class, args);\n\t\t//Spring Boot (Building a web application - Running) - Part 2\n\t}\n}\n</code>\n</pre>\n</div>\n<div>\nThat's it.\nJust run the application and you will see it working.\nCheckout the full code on my <a href=\"https://github.com/namomalencar/simpletodolist/tree/2bcacfe1e67bf6f1b5518befe8c002984ae3b403\" target=\"_blank\" rel=\"noopener\">github</a>\n</div>",
"json_metadata": "{\"tags\":[\"java\",\"application\",\"code\",\"spring\",\"framework\"],\"image\":[\"https://cdn.steemitimages.com/DQmPPUSJsUpzFWzH98TMCsthd8bkQhE9mhdBbmNDbsBvJTe/1.PNG\",\"https://cdn.steemitimages.com/DQmRcWHUq6dDzH432nx32yBCqLqZVkgiCty9QoZM4w3PZoW/2.PNG\",\"https://cdn.steemitimages.com/DQmWzvdDxkovcDRBR7nvTB8NAQ3Xw1jx8vyzWeJjKLTZsf4/3.PNG\",\"https://cdn.steemitimages.com/DQmURNq4PaQXAy44v8uBLYUiEL2AgrJffx4LHjX6MDxWNeQ/4.PNG\"],\"links\":[\"https://steemit.com/spring/@namom/spring-boot-introduction-part-1-building-a-simple-application\",\"https://github.com/namomalencar/simpletodolist/blob/2bcacfe1e67bf6f1b5518befe8c002984ae3b403/pom.xml\",\"https://github.com/namomalencar/simpletodolist/tree/2bcacfe1e67bf6f1b5518befe8c002984ae3b403\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}namompublished a new post: spring-boot-introduction-part-1-building-a-simple-application2018/10/22 12:57:45
namompublished a new post: spring-boot-introduction-part-1-building-a-simple-application
2018/10/22 12:57:45
| parent author | |
| parent permlink | spring |
| author | namom |
| permlink | spring-boot-introduction-part-1-building-a-simple-application |
| title | Spring Boot (Introduction) - Part 1 - Building a simple application |
| body |  Many people do not desire to build a Java Application from Zero. Usually, it is necessary to make a lot of configurations before start coding. Spring Boot brought the ideia of making configuration as simple as possible. It the next article we going to build a simple to do list with Spring Boot. * Spring Boot (Introduction) - Part 1 * Spring Boot (Building a web application - Running) - Part 2 * Spring Boot (Building a web application - JPA integration) - Part 3 * Spring Boot (Increasing your productivity with Spring devtools) - Part 4 * Spring Boot (Building a standalone library) - Part 5 * Spring Boot (Generating a FATJAR) - Part 6 * Spring Boot (Publishing at AWS) - Part 7 Spring Boot is a Spring project that indends to make the configuration process as simple as possible. It configures by it self with just a few steps, you only need to set wich modules you desire to use at your project and the Spring Boot will reconize and configure it for you. You choose modules and put them at pom.xml file. These modules are dependencies that group other dependencies, there is a dependency called starter that group all needed dependencies to start a project. Although Spring Boot configures every thing, you are able to make your own configuration. The mainly benefit of Spring Boot is that it let us free to concerned only about the business rules of our application. |
| json metadata | {"tags":["java","application","code","spring","framework"],"image":["https://cdn.steemitimages.com/DQmPBXsmxuFT6ZBWn3YMmDnpPFd5ahT5TTyJUoUTUQyPnMK/download.png"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #27031183/Trx 584c8f549657eef25a0642d2a66535b658886040 |
View Raw JSON Data
{
"trx_id": "584c8f549657eef25a0642d2a66535b658886040",
"block": 27031183,
"trx_in_block": 11,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-22T12:57:45",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "spring",
"author": "namom",
"permlink": "spring-boot-introduction-part-1-building-a-simple-application",
"title": "Spring Boot (Introduction) - Part 1 - Building a simple application",
"body": "\n\nMany people do not desire to build a Java Application from Zero. Usually, it is necessary to make a lot of configurations before start coding.\n\nSpring Boot brought the ideia of making configuration as simple as possible. It the next article we going to build a simple to do list with Spring Boot.\n\n* Spring Boot (Introduction) - Part 1\n\n* Spring Boot (Building a web application - Running) - Part 2\n\n* Spring Boot (Building a web application - JPA integration) - Part 3\n\n* Spring Boot (Increasing your productivity with Spring devtools) - Part 4\n\n* Spring Boot (Building a standalone library) - Part 5\n\n* Spring Boot (Generating a FATJAR) - Part 6\n\n* Spring Boot (Publishing at AWS) - Part 7\n\n\nSpring Boot is a Spring project that indends to make the configuration process as simple as possible. It configures by it self with just a few steps, you only need to set wich modules you desire to use at your project and the Spring Boot will reconize and configure it for you.\n\nYou choose modules and put them at pom.xml file. These modules are dependencies that group other dependencies, there is a dependency called starter that group all needed dependencies to start a project.\n\nAlthough Spring Boot configures every thing, you are able to make your own configuration. The mainly benefit of Spring Boot is that it let us free to concerned only about the business rules of our application.",
"json_metadata": "{\"tags\":[\"java\",\"application\",\"code\",\"spring\",\"framework\"],\"image\":[\"https://cdn.steemitimages.com/DQmPBXsmxuFT6ZBWn3YMmDnpPFd5ahT5TTyJUoUTUQyPnMK/download.png\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}namompublished a new post: spring-boot-introduction-part-1-building-a-simple-application2018/10/22 12:57:27
namompublished a new post: spring-boot-introduction-part-1-building-a-simple-application
2018/10/22 12:57:27
| parent author | |
| parent permlink | spring |
| author | namom |
| permlink | spring-boot-introduction-part-1-building-a-simple-application |
| title | Spring Boot (Introduction) - Part 1 - Building a simple application |
| body | @@ -1373,68 +1373,8 @@ on. -From my poing of view, the biggest gain of Spring Boot is %0A%0A The |
| json metadata | {"tags":["spring","boot","java","application","code"],"image":["https://cdn.steemitimages.com/DQmPBXsmxuFT6ZBWn3YMmDnpPFd5ahT5TTyJUoUTUQyPnMK/download.png"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #27031177/Trx db6dccd0761a5bb6dd3475c996f8b013b3ad7412 |
View Raw JSON Data
{
"trx_id": "db6dccd0761a5bb6dd3475c996f8b013b3ad7412",
"block": 27031177,
"trx_in_block": 26,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-22T12:57:27",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "spring",
"author": "namom",
"permlink": "spring-boot-introduction-part-1-building-a-simple-application",
"title": "Spring Boot (Introduction) - Part 1 - Building a simple application",
"body": "@@ -1373,68 +1373,8 @@\n on. \n-From my poing of view, the biggest gain of Spring Boot is %0A%0A\n The \n",
"json_metadata": "{\"tags\":[\"spring\",\"boot\",\"java\",\"application\",\"code\"],\"image\":[\"https://cdn.steemitimages.com/DQmPBXsmxuFT6ZBWn3YMmDnpPFd5ahT5TTyJUoUTUQyPnMK/download.png\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}namompublished a new post: spring-boot-introduction-part-1-building-a-simple-application2018/10/19 17:41:27
namompublished a new post: spring-boot-introduction-part-1-building-a-simple-application
2018/10/19 17:41:27
| parent author | |
| parent permlink | spring |
| author | namom |
| permlink | spring-boot-introduction-part-1-building-a-simple-application |
| title | Spring Boot (Introduction) - Part 1 - Building a simple application |
| body | @@ -1,8 +1,117 @@ +!%5Bdownload.png%5D(https://cdn.steemitimages.com/DQmPBXsmxuFT6ZBWn3YMmDnpPFd5ahT5TTyJUoUTUQyPnMK/download.png)%0A%0A Many peo @@ -1552,113 +1552,4 @@ ion. -%0A%0A!%5Bdownload.png%5D(https://cdn.steemitimages.com/DQmPBXsmxuFT6ZBWn3YMmDnpPFd5ahT5TTyJUoUTUQyPnMK/download.png) |
| json metadata | {"tags":["spring","boot","java","application","code"],"image":["https://cdn.steemitimages.com/DQmPBXsmxuFT6ZBWn3YMmDnpPFd5ahT5TTyJUoUTUQyPnMK/download.png"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #26950510/Trx 32801ceaafa32144e6adffd9810f43263b73aeb8 |
View Raw JSON Data
{
"trx_id": "32801ceaafa32144e6adffd9810f43263b73aeb8",
"block": 26950510,
"trx_in_block": 17,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-19T17:41:27",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "spring",
"author": "namom",
"permlink": "spring-boot-introduction-part-1-building-a-simple-application",
"title": "Spring Boot (Introduction) - Part 1 - Building a simple application",
"body": "@@ -1,8 +1,117 @@\n+!%5Bdownload.png%5D(https://cdn.steemitimages.com/DQmPBXsmxuFT6ZBWn3YMmDnpPFd5ahT5TTyJUoUTUQyPnMK/download.png)%0A%0A\n Many peo\n@@ -1552,113 +1552,4 @@\n ion.\n-%0A%0A!%5Bdownload.png%5D(https://cdn.steemitimages.com/DQmPBXsmxuFT6ZBWn3YMmDnpPFd5ahT5TTyJUoUTUQyPnMK/download.png)\n",
"json_metadata": "{\"tags\":[\"spring\",\"boot\",\"java\",\"application\",\"code\"],\"image\":[\"https://cdn.steemitimages.com/DQmPBXsmxuFT6ZBWn3YMmDnpPFd5ahT5TTyJUoUTUQyPnMK/download.png\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}namompublished a new post: spring-boot-introduction-part-1-building-a-simple-application2018/10/19 17:11:15
namompublished a new post: spring-boot-introduction-part-1-building-a-simple-application
2018/10/19 17:11:15
| parent author | |
| parent permlink | spring |
| author | namom |
| permlink | spring-boot-introduction-part-1-building-a-simple-application |
| title | Spring Boot (Introduction) - Part 1 - Building a simple application |
| body | @@ -614,17 +614,17 @@ oot (Gen -a +e rating a |
| json metadata | {"tags":["spring","boot","java","application","code"],"image":["https://cdn.steemitimages.com/DQmPBXsmxuFT6ZBWn3YMmDnpPFd5ahT5TTyJUoUTUQyPnMK/download.png"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #26949906/Trx cb9b5bdee4aaece558f6ebcf2b954cef3333e58f |
View Raw JSON Data
{
"trx_id": "cb9b5bdee4aaece558f6ebcf2b954cef3333e58f",
"block": 26949906,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-19T17:11:15",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "spring",
"author": "namom",
"permlink": "spring-boot-introduction-part-1-building-a-simple-application",
"title": "Spring Boot (Introduction) - Part 1 - Building a simple application",
"body": "@@ -614,17 +614,17 @@\n oot (Gen\n-a\n+e\n rating a\n",
"json_metadata": "{\"tags\":[\"spring\",\"boot\",\"java\",\"application\",\"code\"],\"image\":[\"https://cdn.steemitimages.com/DQmPBXsmxuFT6ZBWn3YMmDnpPFd5ahT5TTyJUoUTUQyPnMK/download.png\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}2018/10/19 13:26:21
2018/10/19 13:26:21
| delegator | steem |
| delegatee | namom |
| vesting shares | 29239.118624 VESTS |
| Transaction Info | Block #26945413/Trx 4e7e62c9f3358bef2a09bc33c98f20f07a110d70 |
View Raw JSON Data
{
"trx_id": "4e7e62c9f3358bef2a09bc33c98f20f07a110d70",
"block": 26945413,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-19T13:26:21",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "namom",
"vesting_shares": "29239.118624 VESTS"
}
]
}namompublished a new post: spring-boot-introduction-part-1-building-a-simple-application2018/10/19 12:57:15
namompublished a new post: spring-boot-introduction-part-1-building-a-simple-application
2018/10/19 12:57:15
| parent author | |
| parent permlink | spring |
| author | namom |
| permlink | spring-boot-introduction-part-1-building-a-simple-application |
| title | Spring Boot (Introduction) - Part 1 - Building a simple application |
| body | Many people do not desire to build a Java Application from Zero. Usually, it is necessary to make a lot of configurations before start coding. Spring Boot brought the ideia of making configuration as simple as possible. It the next article we going to build a simple to do list with Spring Boot. * Spring Boot (Introduction) - Part 1 * Spring Boot (Building a web application - Running) - Part 2 * Spring Boot (Building a web application - JPA integration) - Part 3 * Spring Boot (Increasing your productivity with Spring devtools) - Part 4 * Spring Boot (Building a standalone library) - Part 5 * Spring Boot (Genarating a FATJAR) - Part 6 * Spring Boot (Publishing at AWS) - Part 7 Spring Boot is a Spring project that indends to make the configuration process as simple as possible. It configures by it self with just a few steps, you only need to set wich modules you desire to use at your project and the Spring Boot will reconize and configure it for you. You choose modules and put them at pom.xml file. These modules are dependencies that group other dependencies, there is a dependency called starter that group all needed dependencies to start a project. Although Spring Boot configures every thing, you are able to make your own configuration. From my poing of view, the biggest gain of Spring Boot is The mainly benefit of Spring Boot is that it let us free to concerned only about the business rules of our application.  |
| json metadata | {"tags":["spring","boot","java","application","code"],"image":["https://cdn.steemitimages.com/DQmPBXsmxuFT6ZBWn3YMmDnpPFd5ahT5TTyJUoUTUQyPnMK/download.png"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #26944831/Trx 6d6a8a502f76369c9d0408a6c9328e455cce356b |
View Raw JSON Data
{
"trx_id": "6d6a8a502f76369c9d0408a6c9328e455cce356b",
"block": 26944831,
"trx_in_block": 8,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-19T12:57:15",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "spring",
"author": "namom",
"permlink": "spring-boot-introduction-part-1-building-a-simple-application",
"title": "Spring Boot (Introduction) - Part 1 - Building a simple application",
"body": "Many people do not desire to build a Java Application from Zero. Usually, it is necessary to make a lot of configurations before start coding.\n\nSpring Boot brought the ideia of making configuration as simple as possible. It the next article we going to build a simple to do list with Spring Boot.\n\n* Spring Boot (Introduction) - Part 1\n\n* Spring Boot (Building a web application - Running) - Part 2\n\n* Spring Boot (Building a web application - JPA integration) - Part 3\n\n* Spring Boot (Increasing your productivity with Spring devtools) - Part 4\n\n* Spring Boot (Building a standalone library) - Part 5\n\n* Spring Boot (Genarating a FATJAR) - Part 6\n\n* Spring Boot (Publishing at AWS) - Part 7\n\n\nSpring Boot is a Spring project that indends to make the configuration process as simple as possible. It configures by it self with just a few steps, you only need to set wich modules you desire to use at your project and the Spring Boot will reconize and configure it for you.\n\nYou choose modules and put them at pom.xml file. These modules are dependencies that group other dependencies, there is a dependency called starter that group all needed dependencies to start a project.\n\nAlthough Spring Boot configures every thing, you are able to make your own configuration. From my poing of view, the biggest gain of Spring Boot is \n\nThe mainly benefit of Spring Boot is that it let us free to concerned only about the business rules of our application.\n\n",
"json_metadata": "{\"tags\":[\"spring\",\"boot\",\"java\",\"application\",\"code\"],\"image\":[\"https://cdn.steemitimages.com/DQmPBXsmxuFT6ZBWn3YMmDnpPFd5ahT5TTyJUoUTUQyPnMK/download.png\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}2018/09/05 16:18:15
2018/09/05 16:18:15
| delegator | steem |
| delegatee | namom |
| vesting shares | 9081.192057 VESTS |
| Transaction Info | Block #25698164/Trx 79a9171187e8478f4bae998b78cfc31096b582e4 |
View Raw JSON Data
{
"trx_id": "79a9171187e8478f4bae998b78cfc31096b582e4",
"block": 25698164,
"trx_in_block": 27,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-09-05T16:18:15",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "namom",
"vesting_shares": "9081.192057 VESTS"
}
]
}2018/07/24 10:37:42
2018/07/24 10:37:42
| parent author | namom |
| parent permlink | best-way-to-concat-string-java |
| author | steemitboard |
| permlink | steemitboard-notify-namom-20180724t103742000z |
| title | |
| body | Congratulations @namom! You have received a personal award! [](http://steemitboard.com/@namom) 1 Year on Steemit <sub>_Click on the badge to view your Board of Honor._</sub> > Do you like [SteemitBoard's project](https://steemit.com/@steemitboard)? Then **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**! |
| json metadata | {"image":["https://steemitboard.com/img/notify.png"]} |
| Transaction Info | Block #24453992/Trx 56a822f854ef0a62210a1fe3b0fee66d07571c91 |
View Raw JSON Data
{
"trx_id": "56a822f854ef0a62210a1fe3b0fee66d07571c91",
"block": 24453992,
"trx_in_block": 7,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-07-24T10:37:42",
"op": [
"comment",
{
"parent_author": "namom",
"parent_permlink": "best-way-to-concat-string-java",
"author": "steemitboard",
"permlink": "steemitboard-notify-namom-20180724t103742000z",
"title": "",
"body": "Congratulations @namom! You have received a personal award!\n\n[](http://steemitboard.com/@namom) 1 Year on Steemit\n<sub>_Click on the badge to view your Board of Honor._</sub>\n\n\n> Do you like [SteemitBoard's project](https://steemit.com/@steemitboard)? Then **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!",
"json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
}
]
}namomupvoted (100.00%) @discernente / breve-introducao-ao-eos2018/06/06 12:20:00
namomupvoted (100.00%) @discernente / breve-introducao-ao-eos
2018/06/06 12:20:00
| voter | namom |
| author | discernente |
| permlink | breve-introducao-ao-eos |
| weight | 10000 (100.00%) |
| Transaction Info | Block #23084593/Trx f1f90f088b0200c6aa54088ff9a18b5170b09080 |
View Raw JSON Data
{
"trx_id": "f1f90f088b0200c6aa54088ff9a18b5170b09080",
"block": 23084593,
"trx_in_block": 31,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-06-06T12:20:00",
"op": [
"vote",
{
"voter": "namom",
"author": "discernente",
"permlink": "breve-introducao-ao-eos",
"weight": 10000
}
]
}namompublished a new post: best-way-to-concat-string-java2018/06/04 00:33:42
namompublished a new post: best-way-to-concat-string-java
2018/06/04 00:33:42
| parent author | |
| parent permlink | java |
| author | namom |
| permlink | best-way-to-concat-string-java |
| title | Best way to concat String – JAVA |
| body | Some times we just need to concat some strings “nouns”; When we deal with a few amount of data, this task is very simple. We can just add the firstString with the secondString; Sample 1: String firstString = “Fisrt Name”; String secondString = “Last Name”; String finalString = firstString + secondString; System.out.println(finalString); But, some times it is necessary to concat a large amount of data, using a looping or something else; Sample 2: String s1 = “Numbers separated by comma: “; String s2 = “”; String s3 = “”; for (int i = 0; i <= size; i++) { s2 = s2 + i + “, “; } s3 = s1 + s2; When we deal with a large amount of data we need to take into consideration the performance of the algorithm; On our sample 1 and sample 2 the JVM(java virtual machine) is going to create one new object for each concatenation and this may turn into a real problem when we have to concat a large amount of data. Ok, this is a problem… But how can we do that without create a new object for each concatenation? Answer: There is an object to deal with this type of problem, it is called “StringBuilder” and we can use it’s native method called “append“, this method receaves as parameter the new string with you intend to concat. Sample 3: String s1 = “Numbers separated by comman: “; StringBuilder s2 = new StringBuilder(); String s3 = “”; for (int i = 0; i <= size; i++) { s2.append(i).append(“, “); } s3 = s1 + s2; Our focus is on performance, so, let’s see some results: 400 numbers: Appending strings: 1ms Adding strings: 1ms 4000 numbers: Appending strings: 2ms Adding strings: 45ms 40000 numbers: Appending strings: 7ms Adding strings: 4342ms Analysing these number we may see that: With 400 numbers both result need the same amount of time to execute; With 4000 numbers the use of the append method is 22 times faster than adding strings; With 40000 numbers the use of the append method is 620 times faster than adding strings; [Try it for your self ](https://github.com/fortDev/Tips/blob/master/src/string/StringConcat.java)– get the code on the github repository. |
| json metadata | {"tags":["java","programming","string"],"links":["https://github.com/fortDev/Tips/blob/master/src/string/StringConcat.java"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #23012892/Trx 4312b89516b58f488cb99abcfcd9c1bd6fa29764 |
View Raw JSON Data
{
"trx_id": "4312b89516b58f488cb99abcfcd9c1bd6fa29764",
"block": 23012892,
"trx_in_block": 21,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-06-04T00:33:42",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "java",
"author": "namom",
"permlink": "best-way-to-concat-string-java",
"title": "Best way to concat String – JAVA",
"body": "Some times we just need to concat some strings “nouns”;\n\nWhen we deal with a few amount of data, this task is very simple. We can just add the firstString with the secondString;\n\nSample 1:\nString firstString = “Fisrt Name”;\nString secondString = “Last Name”;\nString finalString = firstString + secondString;\nSystem.out.println(finalString);\n\nBut, some times it is necessary to concat a large amount of data, using a looping or something else;\n\nSample 2:\nString s1 = “Numbers separated by comma: “;\nString s2 = “”;\nString s3 = “”;\n for (int i = 0; i <= size; i++) {\ns2 = s2 + i + “, “;\n}\ns3 = s1 + s2;\n\nWhen we deal with a large amount of data we need to take into consideration the performance of the algorithm;\n\nOn our sample 1 and sample 2 the JVM(java virtual machine) is going to create one new object for each concatenation and this may turn into a real problem when we have to concat a large amount of data.\n\nOk, this is a problem… But how can we do that without create a new object for each concatenation?\n\nAnswer:\nThere is an object to deal with this type of problem, it is called “StringBuilder” and we can use it’s native method called “append“, this method receaves as parameter the new string with you intend to concat.\n\nSample 3:\nString s1 = “Numbers separated by comman: “;\nStringBuilder s2 = new StringBuilder();\nString s3 = “”;\nfor (int i = 0; i <= size; i++) {\ns2.append(i).append(“, “);\n}\ns3 = s1 + s2;\n\nOur focus is on performance, so, let’s see some results:\n400 numbers:\nAppending strings: 1ms\nAdding strings: 1ms\n\n4000 numbers:\nAppending strings: 2ms\nAdding strings: 45ms\n\n40000 numbers:\nAppending strings: 7ms\nAdding strings: 4342ms\n\nAnalysing these number we may see that:\nWith 400 numbers both result need the same amount of time to execute;\nWith 4000 numbers the use of the append method is 22 times faster than adding strings;\nWith 40000 numbers the use of the append method is 620 times faster than adding strings;\n\n[Try it for your self ](https://github.com/fortDev/Tips/blob/master/src/string/StringConcat.java)– get the code on the github repository.",
"json_metadata": "{\"tags\":[\"java\",\"programming\",\"string\"],\"links\":[\"https://github.com/fortDev/Tips/blob/master/src/string/StringConcat.java\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}2018/05/18 20:21:48
2018/05/18 20:21:48
| delegator | steem |
| delegatee | namom |
| vesting shares | 29486.390877 VESTS |
| Transaction Info | Block #22547527/Trx fa7d4fd71d0777fc5669925222e31c22241bb867 |
View Raw JSON Data
{
"trx_id": "fa7d4fd71d0777fc5669925222e31c22241bb867",
"block": 22547527,
"trx_in_block": 16,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-18T20:21:48",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "namom",
"vesting_shares": "29486.390877 VESTS"
}
]
}cat-photoupvoted (8.11%) @namom / wakanda-forever2018/05/12 15:41:45
cat-photoupvoted (8.11%) @namom / wakanda-forever
2018/05/12 15:41:45
| voter | cat-photo |
| author | namom |
| permlink | wakanda-forever |
| weight | 811 (8.11%) |
| Transaction Info | Block #22369148/Trx d1e0bb95487d5822479fc90832e514ee12f99c61 |
View Raw JSON Data
{
"trx_id": "d1e0bb95487d5822479fc90832e514ee12f99c61",
"block": 22369148,
"trx_in_block": 51,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-12T15:41:45",
"op": [
"vote",
{
"voter": "cat-photo",
"author": "namom",
"permlink": "wakanda-forever",
"weight": 811
}
]
}2018/05/12 14:15:18
2018/05/12 14:15:18
| parent author | ememovic |
| parent permlink | different-types-of-solid-state-drives-ssd-you-thought-you-knew-but-didn-t-part-1 |
| author | namom |
| permlink | re-ememovic-different-types-of-solid-state-drives-ssd-you-thought-you-knew-but-didn-t-part-1-20180512t141331388z |
| title | |
| body | @@ -1,13 +1,13 @@ That -%60 +' s a grea @@ -90,9 +90,9 @@ re I -%60 +' ll d |
| json metadata | {"tags":["steemstem"],"app":"steemit/0.1"} |
| Transaction Info | Block #22367420/Trx f427f8145fdc3b76d0f88c9f311ea959843dceb1 |
View Raw JSON Data
{
"trx_id": "f427f8145fdc3b76d0f88c9f311ea959843dceb1",
"block": 22367420,
"trx_in_block": 48,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-12T14:15:18",
"op": [
"comment",
{
"parent_author": "ememovic",
"parent_permlink": "different-types-of-solid-state-drives-ssd-you-thought-you-knew-but-didn-t-part-1",
"author": "namom",
"permlink": "re-ememovic-different-types-of-solid-state-drives-ssd-you-thought-you-knew-but-didn-t-part-1-20180512t141331388z",
"title": "",
"body": "@@ -1,13 +1,13 @@\n That\n-%60\n+'\n s a grea\n@@ -90,9 +90,9 @@\n re I\n-%60\n+'\n ll d\n",
"json_metadata": "{\"tags\":[\"steemstem\"],\"app\":\"steemit/0.1\"}"
}
]
}2018/05/12 14:13:36
2018/05/12 14:13:36
| parent author | ememovic |
| parent permlink | different-types-of-solid-state-drives-ssd-you-thought-you-knew-but-didn-t-part-1 |
| author | namom |
| permlink | re-ememovic-different-types-of-solid-state-drives-ssd-you-thought-you-knew-but-didn-t-part-1-20180512t141331388z |
| title | |
| body | That`s a great article. I have made my Master These about this kind of media. In the future I`ll do an article here about the parallelism inside an SSD Device. |
| json metadata | {"tags":["steemstem"],"app":"steemit/0.1"} |
| Transaction Info | Block #22367386/Trx 8769ac137b6ec093364729b02afff85becc1a917 |
View Raw JSON Data
{
"trx_id": "8769ac137b6ec093364729b02afff85becc1a917",
"block": 22367386,
"trx_in_block": 13,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-12T14:13:36",
"op": [
"comment",
{
"parent_author": "ememovic",
"parent_permlink": "different-types-of-solid-state-drives-ssd-you-thought-you-knew-but-didn-t-part-1",
"author": "namom",
"permlink": "re-ememovic-different-types-of-solid-state-drives-ssd-you-thought-you-knew-but-didn-t-part-1-20180512t141331388z",
"title": "",
"body": "That`s a great article. I have made my Master These about this kind of media. In the future I`ll do an article here about the parallelism inside an SSD Device.",
"json_metadata": "{\"tags\":[\"steemstem\"],\"app\":\"steemit/0.1\"}"
}
]
}2018/05/12 14:10:24
2018/05/12 14:10:24
| voter | namom |
| author | ememovic |
| permlink | different-types-of-solid-state-drives-ssd-you-thought-you-knew-but-didn-t-part-1 |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22367322/Trx bca2bc9e09db879f47aaec26e207665a5616e36c |
View Raw JSON Data
{
"trx_id": "bca2bc9e09db879f47aaec26e207665a5616e36c",
"block": 22367322,
"trx_in_block": 47,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-12T14:10:24",
"op": [
"vote",
{
"voter": "namom",
"author": "ememovic",
"permlink": "different-types-of-solid-state-drives-ssd-you-thought-you-knew-but-didn-t-part-1",
"weight": 10000
}
]
}namompublished a new post: wakanda-forever2018/05/12 14:06:24
namompublished a new post: wakanda-forever
2018/05/12 14:06:24
| parent author | |
| parent permlink | wakanda |
| author | namom |
| permlink | wakanda-forever |
| title | Wakanda Forever |
| body |  Ready for battle! |
| json metadata | {"tags":["wakanda","marvel","cat","blackcat","cats"],"image":["https://steemitimages.com/DQmXa4CrwyYdTgguwbkSzWb1ZmZqojKHSnMFx7Q5msXSYSC/Webp.net-resizeimage.jpg"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #22367242/Trx d9c5a328590e496c2bb276bb94c730ecf2153fbb |
View Raw JSON Data
{
"trx_id": "d9c5a328590e496c2bb276bb94c730ecf2153fbb",
"block": 22367242,
"trx_in_block": 19,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-12T14:06:24",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "wakanda",
"author": "namom",
"permlink": "wakanda-forever",
"title": "Wakanda Forever",
"body": "\n\nReady for battle!",
"json_metadata": "{\"tags\":[\"wakanda\",\"marvel\",\"cat\",\"blackcat\",\"cats\"],\"image\":[\"https://steemitimages.com/DQmXa4CrwyYdTgguwbkSzWb1ZmZqojKHSnMFx7Q5msXSYSC/Webp.net-resizeimage.jpg\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}cat-photoupvoted (8.16%) @namom / black-panther-lives2018/05/11 19:42:45
cat-photoupvoted (8.16%) @namom / black-panther-lives
2018/05/11 19:42:45
| voter | cat-photo |
| author | namom |
| permlink | black-panther-lives |
| weight | 816 (8.16%) |
| Transaction Info | Block #22345170/Trx bf4c175a9b7f803463db21403abe7b70ba026fc6 |
View Raw JSON Data
{
"trx_id": "bf4c175a9b7f803463db21403abe7b70ba026fc6",
"block": 22345170,
"trx_in_block": 8,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-11T19:42:45",
"op": [
"vote",
{
"voter": "cat-photo",
"author": "namom",
"permlink": "black-panther-lives",
"weight": 816
}
]
}namomdeleted a comment or post2018/05/11 16:44:21
namomdeleted a comment or post
2018/05/11 16:44:21
| author | namom |
| permlink | 5ydwkt-black-panther-lives |
| Transaction Info | Block #22341602/Trx 11beea381cce55c7b5d037a035af65abaab4ee7e |
View Raw JSON Data
{
"trx_id": "11beea381cce55c7b5d037a035af65abaab4ee7e",
"block": 22341602,
"trx_in_block": 72,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-11T16:44:21",
"op": [
"delete_comment",
{
"author": "namom",
"permlink": "5ydwkt-black-panther-lives"
}
]
}namompublished a new post: 5ydwkt-black-panther-lives2018/05/11 16:43:15
namompublished a new post: 5ydwkt-black-panther-lives
2018/05/11 16:43:15
| parent author | |
| parent permlink | cat |
| author | namom |
| permlink | 5ydwkt-black-panther-lives |
| title | Black Panther Lives |
| body |  My black panther is called: Marceline - Adventure time feelings |
| json metadata | {"tags":["cat","blackpanther","marvel","adventuretime","marceline"],"image":["https://steemitimages.com/DQmXrPLQMxTrV9id9ZqGTHnrw35Wd8hQ8eDDvuaAuXQGHGj/IMG-20170801-WA0006.jpg"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #22341580/Trx efa7c5aefc24122da4797c72d23eeaf05952acb4 |
View Raw JSON Data
{
"trx_id": "efa7c5aefc24122da4797c72d23eeaf05952acb4",
"block": 22341580,
"trx_in_block": 42,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-11T16:43:15",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "cat",
"author": "namom",
"permlink": "5ydwkt-black-panther-lives",
"title": "Black Panther Lives",
"body": "\n\nMy black panther is called: Marceline - Adventure time feelings",
"json_metadata": "{\"tags\":[\"cat\",\"blackpanther\",\"marvel\",\"adventuretime\",\"marceline\"],\"image\":[\"https://steemitimages.com/DQmXrPLQMxTrV9id9ZqGTHnrw35Wd8hQ8eDDvuaAuXQGHGj/IMG-20170801-WA0006.jpg\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}ax3upvoted (1.00%) @namom / black-panther-lives2018/05/11 14:52:12
ax3upvoted (1.00%) @namom / black-panther-lives
2018/05/11 14:52:12
| voter | ax3 |
| author | namom |
| permlink | black-panther-lives |
| weight | 100 (1.00%) |
| Transaction Info | Block #22339359/Trx ca82d057bb1f50dbb72f54cd9ea324b3f87c3016 |
View Raw JSON Data
{
"trx_id": "ca82d057bb1f50dbb72f54cd9ea324b3f87c3016",
"block": 22339359,
"trx_in_block": 6,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-11T14:52:12",
"op": [
"vote",
{
"voter": "ax3",
"author": "namom",
"permlink": "black-panther-lives",
"weight": 100
}
]
}namompublished a new post: black-panther-lives2018/05/11 14:52:06
namompublished a new post: black-panther-lives
2018/05/11 14:52:06
| parent author | |
| parent permlink | cat |
| author | namom |
| permlink | black-panther-lives |
| title | Black Panther Lives |
| body |  My black panther is called: Marceline - Adventure time feelings |
| json metadata | {"tags":["cat","blackpanther","marvel","adventuretime","marceline"],"image":["https://steemitimages.com/DQmXrPLQMxTrV9id9ZqGTHnrw35Wd8hQ8eDDvuaAuXQGHGj/IMG-20170801-WA0006.jpg"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #22339357/Trx 8250fa54f700b6dd2f03a3a7835313f2d0e14f5e |
View Raw JSON Data
{
"trx_id": "8250fa54f700b6dd2f03a3a7835313f2d0e14f5e",
"block": 22339357,
"trx_in_block": 11,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-11T14:52:06",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "cat",
"author": "namom",
"permlink": "black-panther-lives",
"title": "Black Panther Lives",
"body": "\n\nMy black panther is called: Marceline - Adventure time feelings",
"json_metadata": "{\"tags\":[\"cat\",\"blackpanther\",\"marvel\",\"adventuretime\",\"marceline\"],\"image\":[\"https://steemitimages.com/DQmXrPLQMxTrV9id9ZqGTHnrw35Wd8hQ8eDDvuaAuXQGHGj/IMG-20170801-WA0006.jpg\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}namomupvoted (100.00%) @thisisethanlau / my-dad-is-a-photographer-part-42018/05/09 00:03:06
namomupvoted (100.00%) @thisisethanlau / my-dad-is-a-photographer-part-4
2018/05/09 00:03:06
| voter | namom |
| author | thisisethanlau |
| permlink | my-dad-is-a-photographer-part-4 |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22263990/Trx e57ace98bd796dbf4ed04adb521f6595982a5dc3 |
View Raw JSON Data
{
"trx_id": "e57ace98bd796dbf4ed04adb521f6595982a5dc3",
"block": 22263990,
"trx_in_block": 7,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-09T00:03:06",
"op": [
"vote",
{
"voter": "namom",
"author": "thisisethanlau",
"permlink": "my-dad-is-a-photographer-part-4",
"weight": 10000
}
]
}2018/01/09 06:43:18
2018/01/09 06:43:18
| delegator | steem |
| delegatee | namom |
| vesting shares | 29692.060244 VESTS |
| Transaction Info | Block #18819662/Trx 98f8af548727b518bf79f7baf4c84c346b34f7a7 |
View Raw JSON Data
{
"trx_id": "98f8af548727b518bf79f7baf4c84c346b34f7a7",
"block": 18819662,
"trx_in_block": 24,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-09T06:43:18",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "namom",
"vesting_shares": "29692.060244 VESTS"
}
]
}2017/08/04 05:13:15
2017/08/04 05:13:15
| delegator | steem |
| delegatee | namom |
| vesting shares | 29942.870952 VESTS |
| Transaction Info | Block #14271350/Trx c523047359ecc5f438d4d084f9d9f3f96cc3266b |
View Raw JSON Data
{
"trx_id": "c523047359ecc5f438d4d084f9d9f3f96cc3266b",
"block": 14271350,
"trx_in_block": 11,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-08-04T05:13:15",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "namom",
"vesting_shares": "29942.870952 VESTS"
}
]
}2017/07/24 10:03:48
2017/07/24 10:03:48
| fee | 0.500 STEEM |
| delegation | 57000.000000 VESTS |
| creator | steem |
| new account name | namom |
| owner | {"weight_threshold":1,"account_auths":[],"key_auths":[["STM7eVyMuzDtVusSWVJvC7b4AZKuMJBPfh9jWUfpsr3sXJ8KeD4dt",1]]} |
| active | {"weight_threshold":1,"account_auths":[],"key_auths":[["STM8FcjYTv1CM7cJYAhVgyoXyEjj4nQXqojsmcMcUCVM6fjszdivC",1]]} |
| posting | {"weight_threshold":1,"account_auths":[],"key_auths":[["STM61w9fxhVGAPGYwXMAZtDBFEbs38deqhqkCySotuHnkb97xTda4",1]]} |
| memo key | STM6b4GUDp2EEXpEWHBHuyEC4dRc1jva8enytdHmm7uEZVaHejQSJ |
| json metadata | |
| extensions | [] |
| Transaction Info | Block #13960532/Trx 51b1b66c513875ea802dbd2a7aeea37f557853ea |
View Raw JSON Data
{
"trx_id": "51b1b66c513875ea802dbd2a7aeea37f557853ea",
"block": 13960532,
"trx_in_block": 4,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-07-24T10:03:48",
"op": [
"account_create_with_delegation",
{
"fee": "0.500 STEEM",
"delegation": "57000.000000 VESTS",
"creator": "steem",
"new_account_name": "namom",
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM7eVyMuzDtVusSWVJvC7b4AZKuMJBPfh9jWUfpsr3sXJ8KeD4dt",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM8FcjYTv1CM7cJYAhVgyoXyEjj4nQXqojsmcMcUCVM6fjszdivC",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM61w9fxhVGAPGYwXMAZtDBFEbs38deqhqkCySotuHnkb97xTda4",
1
]
]
},
"memo_key": "STM6b4GUDp2EEXpEWHBHuyEC4dRc1jva8enytdHmm7uEZVaHejQSJ",
"json_metadata": "",
"extensions": []
}
]
}Manabar
Voting Power100.00%
Downvote Power100.00%
Resource Credits100.00%
Reputation Progress0.00%
{
"voting_manabar": {
"current_mana": "8143659806",
"last_update_time": 1779077826
},
"downvote_manabar": {
"current_mana": 2035914951,
"last_update_time": 1779077826
},
"rc_account": {
"account": "namom",
"rc_manabar": {
"current_mana": "10164408779",
"last_update_time": 1779077826
},
"max_rc_creation_adjustment": {
"amount": "2020748973",
"precision": 6,
"nai": "@@000000037"
},
"max_rc": "10164408779"
}
}Account Metadata
| POSTING JSON METADATA | |
| profile | {"profile_image":"https://cdn.steemitimages.com/DQmdzfU7VAdqt6ws6vKz4dV44mhHeDeeF5Gv7ErZEHwwh39/3660943.jpg","name":"Namom Alencar","about":"I'm software developer, passionate for new technologies.","location":"Brazil","cover_image":"https://cdn.steemitimages.com/DQmNo7tADvBk95Qqb1gLoiA3xLVtgee7a4V5oiznLaTa1va/4.png"} |
| JSON METADATA | |
| profile | {"profile_image":"https://cdn.steemitimages.com/DQmdzfU7VAdqt6ws6vKz4dV44mhHeDeeF5Gv7ErZEHwwh39/3660943.jpg","name":"Namom Alencar","about":"I'm software developer, passionate for new technologies.","location":"Brazil","cover_image":"https://cdn.steemitimages.com/DQmNo7tADvBk95Qqb1gLoiA3xLVtgee7a4V5oiznLaTa1va/4.png"} |
{
"posting_json_metadata": {
"profile": {
"profile_image": "https://cdn.steemitimages.com/DQmdzfU7VAdqt6ws6vKz4dV44mhHeDeeF5Gv7ErZEHwwh39/3660943.jpg",
"name": "Namom Alencar",
"about": "I'm software developer, passionate for new technologies.",
"location": "Brazil",
"cover_image": "https://cdn.steemitimages.com/DQmNo7tADvBk95Qqb1gLoiA3xLVtgee7a4V5oiznLaTa1va/4.png"
}
},
"json_metadata": {
"profile": {
"profile_image": "https://cdn.steemitimages.com/DQmdzfU7VAdqt6ws6vKz4dV44mhHeDeeF5Gv7ErZEHwwh39/3660943.jpg",
"name": "Namom Alencar",
"about": "I'm software developer, passionate for new technologies.",
"location": "Brazil",
"cover_image": "https://cdn.steemitimages.com/DQmNo7tADvBk95Qqb1gLoiA3xLVtgee7a4V5oiznLaTa1va/4.png"
}
}
}Auth Keys
Owner
Single Signature
Public Keys
STM7eVyMuzDtVusSWVJvC7b4AZKuMJBPfh9jWUfpsr3sXJ8KeD4dt1/1
Active
Single Signature
Public Keys
STM8FcjYTv1CM7cJYAhVgyoXyEjj4nQXqojsmcMcUCVM6fjszdivC1/1
Posting
Single Signature
Public Keys
STM61w9fxhVGAPGYwXMAZtDBFEbs38deqhqkCySotuHnkb97xTda41/1
Memo
STM6b4GUDp2EEXpEWHBHuyEC4dRc1jva8enytdHmm7uEZVaHejQSJ
{
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM7eVyMuzDtVusSWVJvC7b4AZKuMJBPfh9jWUfpsr3sXJ8KeD4dt",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM8FcjYTv1CM7cJYAhVgyoXyEjj4nQXqojsmcMcUCVM6fjszdivC",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM61w9fxhVGAPGYwXMAZtDBFEbs38deqhqkCySotuHnkb97xTda4",
1
]
]
},
"memo": "STM6b4GUDp2EEXpEWHBHuyEC4dRc1jva8enytdHmm7uEZVaHejQSJ"
}Witness Votes
0 / 30
No active witness votes.
[]