Ecoer Logo

@namom

25

I'm software developer, passionate for new technologies.

steemit.com/@namom
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 Deleg
+4.367SP

Detailed Balance

STEEM
balance
0.000STEEM
market_balance
0.000STEEM
savings_balance
0.000STEEM
reward_steem_balance
0.000STEEM
STEEM POWER
Own SP
0.634SP
Delegated Out
0.000SP
Delegation In
4.367SP
Effective Power
5.001SP
Reward SP (pending)
0.000SP
SBD
sbd_balance
0.000SBD
sbd_conversions
0.000SBD
sbd_market_balance
0.000SBD
savings_sbd_balance
0.000SBD
reward_sbd_balance
0.000SBD
{
  "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

namenamom
id277259
rank1,428,845
reputation14766239
created2017-07-24T10:03:48
recovery_accountsteem
proxyNone
post_count10
comment_count0
lifetime_vote_count0
witnesses_voted_for0
last_post2018-10-30T19:18:06
last_root_post2018-10-30T19:18:06
last_vote_time2018-06-06T12:20:00
proxied_vsf_votes0, 0, 0, 0
can_vote1
voting_power0
delayed_votes0
balance0.000 STEEM
savings_balance0.000 STEEM
sbd_balance0.000 SBD
savings_sbd_balance0.000 SBD
vesting_shares1033.129048 VESTS
delegated_vesting_shares0.000000 VESTS
received_vesting_shares7110.530758 VESTS
reward_vesting_balance0.000000 VESTS
vesting_balance0.000 STEEM
vesting_withdraw_rate0.000000 VESTS
next_vesting_withdrawal1969-12-31T23:59:59
withdrawn0
to_withdraw0
withdraw_routes0
savings_withdraw_requests0
last_account_recovery1970-01-01T00:00:00
reset_accountnull
last_owner_update1970-01-01T00:00:00
last_account_update2018-10-25T19:04:24
minedNo
sbd_seconds0
sbd_last_interest_payment1970-01-01T00:00:00
savings_sbd_last_interest_payment1970-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

IncomingOutgoing
Empty
Empty
{
  "incoming": [],
  "outgoing": []
}
From Date
To Date
steemdelegated 4.367 SP to @namom
2026/05/18 04:17:06
delegatorsteem
delegateenamom
vesting shares7110.530758 VESTS
Transaction InfoBlock #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"
    }
  ]
}
steemdelegated 2.701 SP to @namom
2026/05/12 20:11:03
delegatorsteem
delegateenamom
vesting shares4398.320353 VESTS
Transaction InfoBlock #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"
    }
  ]
}
steemdelegated 4.374 SP to @namom
2026/04/26 03:31:42
delegatorsteem
delegateenamom
vesting shares7123.046514 VESTS
Transaction InfoBlock #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"
    }
  ]
}
steemdelegated 2.727 SP to @namom
2026/01/23 18:37:21
delegatorsteem
delegateenamom
vesting shares4439.867172 VESTS
Transaction InfoBlock #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"
    }
  ]
}
steemdelegated 2.827 SP to @namom
2024/12/17 13:49:15
delegatorsteem
delegateenamom
vesting shares4604.086369 VESTS
Transaction InfoBlock #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"
    }
  ]
}
steemdelegated 2.931 SP to @namom
2023/11/14 05:31:00
delegatorsteem
delegateenamom
vesting shares4773.219901 VESTS
Transaction InfoBlock #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"
    }
  ]
}
steemdelegated 4.735 SP to @namom
2023/09/22 08:00:42
delegatorsteem
delegateenamom
vesting shares7710.128687 VESTS
Transaction InfoBlock #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"
    }
  ]
}
steemdelegated 4.871 SP to @namom
2022/11/03 15:47:30
delegatorsteem
delegateenamom
vesting shares7932.180125 VESTS
Transaction InfoBlock #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"
    }
  ]
}
steemdelegated 5.006 SP to @namom
2022/01/17 21:10:57
delegatorsteem
delegateenamom
vesting shares8152.287726 VESTS
Transaction InfoBlock #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"
    }
  ]
}
steemdelegated 5.119 SP to @namom
2021/06/14 04:27:06
delegatorsteem
delegateenamom
vesting shares8336.482014 VESTS
Transaction InfoBlock #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"
    }
  ]
}
steemdelegated 5.234 SP to @namom
2020/12/11 14:41:18
delegatorsteem
delegateenamom
vesting shares8523.903988 VESTS
Transaction InfoBlock #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"
    }
  ]
}
steemdelegated 1.174 SP to @namom
2020/12/06 08:17:36
delegatorsteem
delegateenamom
vesting shares1912.543513 VESTS
Transaction InfoBlock #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"
    }
  ]
}
steemdelegated 5.238 SP to @namom
2020/12/05 18:18:57
delegatorsteem
delegateenamom
vesting shares8530.111842 VESTS
Transaction InfoBlock #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"
    }
  ]
}
steemdelegated 1.179 SP to @namom
2020/11/02 22:58:57
delegatorsteem
delegateenamom
vesting shares1920.017158 VESTS
Transaction InfoBlock #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"
    }
  ]
}
steemdelegated 5.363 SP to @namom
2020/05/09 09:18:36
delegatorsteem
delegateenamom
vesting shares8732.917201 VESTS
Transaction InfoBlock #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"
    }
  ]
}
steemdelegated 1.200 SP to @namom
2020/05/08 13:26:51
delegatorsteem
delegateenamom
vesting shares1953.311140 VESTS
Transaction InfoBlock #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"
    }
  ]
}
steemdelegated 5.407 SP to @namom
2019/12/31 00:36:39
delegatorsteem
delegateenamom
vesting shares8804.111996 VESTS
Transaction InfoBlock #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
parent authornamom
parent permlinkspring-boot-introduction-for-unit-tests-part-5
authorsteemitboard
permlinksteemitboard-notify-namom-20190724t104706000z
title
bodyCongratulations @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 InfoBlock #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\"]}"
    }
  ]
}
steemdelegated 5.527 SP to @namom
2019/01/29 19:39:48
delegatorsteem
delegateenamom
vesting shares9000.889424 VESTS
Transaction InfoBlock #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"
    }
  ]
}
2018/10/30 19:18:24
voterherpor
authornamom
permlinkspring-boot-introduction-for-unit-tests-part-5
weight10000 (100.00%)
Transaction InfoBlock #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
    }
  ]
}
2018/10/30 19:18:06
parent author
parent permlinkjava
authornamom
permlinkspring-boot-introduction-for-unit-tests-part-5
titleSpring Boot (Introduction for Unit Tests) - Part 5
body<html><p>This is&nbsp;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:&nbsp; <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&nbsp;<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 InfoBlock #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&nbsp;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:&nbsp; <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&nbsp;<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\"}"
    }
  ]
}
2018/10/28 23:48:00
parent author
parent permlinkjava
authornamom
permlinkspring-boot-jpa-extended-master-detail-part-4
titleSpring 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>&nbsp;</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>&nbsp;</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&lt;taskdomain&gt; taks; public ListDomain(String name) { this.name = name; this.date = new Date(); } public ListDomain() { } } </code></pre> <strong>Third</strong>, lets create our&nbsp;TaskRepository.</div> <pre><code> import org.springframework.data.jpa.repository.JpaRepository; import br.com.namom.todolist.domain.TaskDomain; public interface TaskRepository extends JpaRepository&lt;TaskDomain, Long&gt; { } </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&nbsp;<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 InfoBlock #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>&nbsp;</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>&nbsp;</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&lt;taskdomain&gt; 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&nbsp;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&lt;TaskDomain, Long&gt; {\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&nbsp;<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\"}"
    }
  ]
}
2018/10/26 11:38:15
parent author
parent permlinkspring
authornamom
permlinkspring-boot-building-a-web-application-jpa-integration-part-3
titleSpring 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&rsquo;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,&nbsp;</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,&nbsp;</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&lt;ListDomain, Long&gt; { } </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>&nbsp;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&nbsp;<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 InfoBlock #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&rsquo;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,&nbsp;</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,&nbsp;</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&lt;ListDomain, Long&gt; {\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>&nbsp;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&nbsp;<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 properties
2018/10/25 19:04:24
accountnamom
memo keySTM6b4GUDp2EEXpEWHBHuyEC4dRc1jva8enytdHmm7uEZVaHejQSJ
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 InfoBlock #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 properties
2018/10/25 19:01:57
accountnamom
memo keySTM6b4GUDp2EEXpEWHBHuyEC4dRc1jva8enytdHmm7uEZVaHejQSJ
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 InfoBlock #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 properties
2018/10/25 18:59:54
accountnamom
memo keySTM6b4GUDp2EEXpEWHBHuyEC4dRc1jva8enytdHmm7uEZVaHejQSJ
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 InfoBlock #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 properties
2018/10/25 18:56:36
accountnamom
memo keySTM6b4GUDp2EEXpEWHBHuyEC4dRc1jva8enytdHmm7uEZVaHejQSJ
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 InfoBlock #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 properties
2018/10/25 18:53:00
accountnamom
memo keySTM6b4GUDp2EEXpEWHBHuyEC4dRc1jva8enytdHmm7uEZVaHejQSJ
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 InfoBlock #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 properties
2018/10/25 18:48:15
accountnamom
memo keySTM6b4GUDp2EEXpEWHBHuyEC4dRc1jva8enytdHmm7uEZVaHejQSJ
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 InfoBlock #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 properties
2018/10/25 18:47:57
accountnamom
memo keySTM6b4GUDp2EEXpEWHBHuyEC4dRc1jva8enytdHmm7uEZVaHejQSJ
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 InfoBlock #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 properties
2018/10/25 18:46:42
accountnamom
memo keySTM6b4GUDp2EEXpEWHBHuyEC4dRc1jva8enytdHmm7uEZVaHejQSJ
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 InfoBlock #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\"}}"
    }
  ]
}
2018/10/25 17:02:18
parent author
parent permlinkspring
authornamom
permlinkspring-boot-building-a-web-application-jpa-integration-part-3
titleSpring 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,&nbsp;</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,&nbsp;</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&lt;ListDomain, Long&gt; {<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>&nbsp;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&nbsp;<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 InfoBlock #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,&nbsp;</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,&nbsp;</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&lt;ListDomain, Long&gt; {<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>&nbsp;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&nbsp;<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\"}"
    }
  ]
}
2018/10/22 14:04:42
parent author
parent permlinkjava
authornamom
permlinkspring-boot-building-a-web-application-running-part-2
titleSpring 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 -&nbsp; +%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 InfoBlock #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-&nbsp;\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
parent authornamom
parent permlinkspring-boot-building-a-web-application-running-part-2
authormillibot
permlinkre-spring-boot-building-a-web-application-running-part-2-20181022t135506
title
bodyThis 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 InfoBlock #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": ""
    }
  ]
}
2018/10/22 13:55:03
votermillibot
authornamom
permlinkspring-boot-building-a-web-application-running-part-2
weight500 (5.00%)
Transaction InfoBlock #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
    }
  ]
}
2018/10/22 13:53:42
parent author
parent permlinkjava
authornamom
permlinkspring-boot-building-a-web-application-running-part-2
titleSpring 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&gt;New&gt;Other&gt;Maven&gt;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 &nbsp;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>&nbsp;</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>&lt;parent&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-starter-parent&lt;/artifactId&gt; &lt;version&gt;2.0.6.RELEASE&lt;/version&gt; &lt;relativePath /&gt; &lt;/parent&gt; </code></pre> </div> <div> <p><br /> Then, put the rest of the dependencies.</p> </div> <div> <pre><code>&lt;dependencies&gt; &lt;!-- Framework - Lombok --&gt; &lt;dependency&gt; &lt;groupId&gt;org.projectlombok&lt;/groupId&gt; &lt;artifactId&gt;lombok&lt;/artifactId&gt; &lt;scope&gt;provided&lt;/scope&gt; &lt;/dependency&gt; &lt;!-- Database - H2 --&gt; &lt;dependency&gt; &lt;groupId&gt;com.h2database&lt;/groupId&gt; &lt;artifactId&gt;h2&lt;/artifactId&gt; &lt;scope&gt;runtime&lt;/scope&gt; &lt;/dependency&gt; &lt;!-- Spring Boot - Test --&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-starter-test&lt;/artifactId&gt; &lt;scope&gt;test&lt;/scope&gt; &lt;/dependency&gt; &lt;!-- Spring Boot - Web --&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-starter-web&lt;/artifactId&gt; &lt;scope&gt;provided&lt;/scope&gt; &lt;/dependency&gt; &lt;!-- Spring Boot - Data JPA --&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-starter-data-jpa&lt;/artifactId&gt; &lt;scope&gt;provided&lt;/scope&gt; &lt;/dependency&gt; &lt;!-- Thymeleaf --&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-starter-thymeleaf&lt;/artifactId&gt; &lt;/dependency&gt; &lt;/dependencies&gt; </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 InfoBlock #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&gt;New&gt;Other&gt;Maven&gt;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 &nbsp;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>&nbsp;</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>&lt;parent&gt;\n\t&lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;\n\t&lt;artifactId&gt;spring-boot-starter-parent&lt;/artifactId&gt;\n\t&lt;version&gt;2.0.6.RELEASE&lt;/version&gt;\n\t&lt;relativePath /&gt;\n&lt;/parent&gt;\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>&lt;dependencies&gt;\n\t&lt;!-- Framework - Lombok --&gt;\n\t&lt;dependency&gt;\n\t\t&lt;groupId&gt;org.projectlombok&lt;/groupId&gt;\n\t\t&lt;artifactId&gt;lombok&lt;/artifactId&gt;\n\t\t&lt;scope&gt;provided&lt;/scope&gt;\n\t&lt;/dependency&gt;\n\t&lt;!-- Database - H2 --&gt;\n\t&lt;dependency&gt;\n\t\t&lt;groupId&gt;com.h2database&lt;/groupId&gt;\n\t\t&lt;artifactId&gt;h2&lt;/artifactId&gt;\n\t\t&lt;scope&gt;runtime&lt;/scope&gt;\n\t&lt;/dependency&gt;\n\t&lt;!-- Spring Boot - Test --&gt;\n\t&lt;dependency&gt;\n\t\t&lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;\n\t\t&lt;artifactId&gt;spring-boot-starter-test&lt;/artifactId&gt;\n\t\t&lt;scope&gt;test&lt;/scope&gt;\n\t&lt;/dependency&gt;\n\t&lt;!-- Spring Boot - Web --&gt;\n\t&lt;dependency&gt;\n\t\t&lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;\n\t\t&lt;artifactId&gt;spring-boot-starter-web&lt;/artifactId&gt;\n\t\t&lt;scope&gt;provided&lt;/scope&gt;\n\t&lt;/dependency&gt;\n\t&lt;!-- Spring Boot - Data JPA --&gt;\n\t&lt;dependency&gt;\n\t\t&lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;\n\t\t&lt;artifactId&gt;spring-boot-starter-data-jpa&lt;/artifactId&gt;\n\t\t&lt;scope&gt;provided&lt;/scope&gt;\n\t&lt;/dependency&gt;\n\t&lt;!-- Thymeleaf --&gt;\n\t&lt;dependency&gt;\n\t\t&lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;\n\t\t&lt;artifactId&gt;spring-boot-starter-thymeleaf&lt;/artifactId&gt;\n\t&lt;/dependency&gt;\n&lt;/dependencies&gt;\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\"}"
    }
  ]
}
2018/10/22 12:57:45
parent author
parent permlinkspring
authornamom
permlinkspring-boot-introduction-part-1-building-a-simple-application
titleSpring Boot (Introduction) - Part 1 - Building a simple application
body![download.png](https://cdn.steemitimages.com/DQmPBXsmxuFT6ZBWn3YMmDnpPFd5ahT5TTyJUoUTUQyPnMK/download.png) 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 InfoBlock #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": "![download.png](https://cdn.steemitimages.com/DQmPBXsmxuFT6ZBWn3YMmDnpPFd5ahT5TTyJUoUTUQyPnMK/download.png)\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\"}"
    }
  ]
}
2018/10/22 12:57:27
parent author
parent permlinkspring
authornamom
permlinkspring-boot-introduction-part-1-building-a-simple-application
titleSpring 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 InfoBlock #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\"}"
    }
  ]
}
2018/10/19 17:41:27
parent author
parent permlinkspring
authornamom
permlinkspring-boot-introduction-part-1-building-a-simple-application
titleSpring 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 InfoBlock #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\"}"
    }
  ]
}
2018/10/19 17:11:15
parent author
parent permlinkspring
authornamom
permlinkspring-boot-introduction-part-1-building-a-simple-application
titleSpring 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 InfoBlock #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\"}"
    }
  ]
}
steemdelegated 17.956 SP to @namom
2018/10/19 13:26:21
delegatorsteem
delegateenamom
vesting shares29239.118624 VESTS
Transaction InfoBlock #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"
    }
  ]
}
2018/10/19 12:57:15
parent author
parent permlinkspring
authornamom
permlinkspring-boot-introduction-part-1-building-a-simple-application
titleSpring Boot (Introduction) - Part 1 - Building a simple application
bodyMany 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. ![download.png](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 InfoBlock #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![download.png](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\"}"
    }
  ]
}
steemdelegated 5.577 SP to @namom
2018/09/05 16:18:15
delegatorsteem
delegateenamom
vesting shares9081.192057 VESTS
Transaction InfoBlock #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
parent authornamom
parent permlinkbest-way-to-concat-string-java
authorsteemitboard
permlinksteemitboard-notify-namom-20180724t103742000z
title
bodyCongratulations @namom! You have received a personal award! [![](https://steemitimages.com/70x70/http://steemitboard.com/@namom/birthday1.png)](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 InfoBlock #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[![](https://steemitimages.com/70x70/http://steemitboard.com/@namom/birthday1.png)](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\"]}"
    }
  ]
}
2018/06/06 12:20:00
voternamom
authordiscernente
permlinkbreve-introducao-ao-eos
weight10000 (100.00%)
Transaction InfoBlock #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
    }
  ]
}
2018/06/04 00:33:42
parent author
parent permlinkjava
authornamom
permlinkbest-way-to-concat-string-java
titleBest way to concat String – JAVA
bodySome 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 InfoBlock #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\"}"
    }
  ]
}
steemdelegated 18.107 SP to @namom
2018/05/18 20:21:48
delegatorsteem
delegateenamom
vesting shares29486.390877 VESTS
Transaction InfoBlock #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"
    }
  ]
}
2018/05/12 15:41:45
votercat-photo
authornamom
permlinkwakanda-forever
weight811 (8.11%)
Transaction InfoBlock #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
parent authorememovic
parent permlinkdifferent-types-of-solid-state-drives-ssd-you-thought-you-knew-but-didn-t-part-1
authornamom
permlinkre-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 InfoBlock #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
parent authorememovic
parent permlinkdifferent-types-of-solid-state-drives-ssd-you-thought-you-knew-but-didn-t-part-1
authornamom
permlinkre-ememovic-different-types-of-solid-state-drives-ssd-you-thought-you-knew-but-didn-t-part-1-20180512t141331388z
title
bodyThat`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 InfoBlock #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
voternamom
authorememovic
permlinkdifferent-types-of-solid-state-drives-ssd-you-thought-you-knew-but-didn-t-part-1
weight10000 (100.00%)
Transaction InfoBlock #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-forever
2018/05/12 14:06:24
parent author
parent permlinkwakanda
authornamom
permlinkwakanda-forever
titleWakanda Forever
body![Webp.net-resizeimage.jpg](https://steemitimages.com/DQmXa4CrwyYdTgguwbkSzWb1ZmZqojKHSnMFx7Q5msXSYSC/Webp.net-resizeimage.jpg) 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 InfoBlock #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": "![Webp.net-resizeimage.jpg](https://steemitimages.com/DQmXa4CrwyYdTgguwbkSzWb1ZmZqojKHSnMFx7Q5msXSYSC/Webp.net-resizeimage.jpg)\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\"}"
    }
  ]
}
2018/05/11 19:42:45
votercat-photo
authornamom
permlinkblack-panther-lives
weight816 (8.16%)
Transaction InfoBlock #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 post
2018/05/11 16:44:21
authornamom
permlink5ydwkt-black-panther-lives
Transaction InfoBlock #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-lives
2018/05/11 16:43:15
parent author
parent permlinkcat
authornamom
permlink5ydwkt-black-panther-lives
titleBlack Panther Lives
body![IMG-20170801-WA0006.jpg](https://steemitimages.com/DQmXrPLQMxTrV9id9ZqGTHnrw35Wd8hQ8eDDvuaAuXQGHGj/IMG-20170801-WA0006.jpg) 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 InfoBlock #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": "![IMG-20170801-WA0006.jpg](https://steemitimages.com/DQmXrPLQMxTrV9id9ZqGTHnrw35Wd8hQ8eDDvuaAuXQGHGj/IMG-20170801-WA0006.jpg)\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-lives
2018/05/11 14:52:12
voterax3
authornamom
permlinkblack-panther-lives
weight100 (1.00%)
Transaction InfoBlock #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-lives
2018/05/11 14:52:06
parent author
parent permlinkcat
authornamom
permlinkblack-panther-lives
titleBlack Panther Lives
body![IMG-20170801-WA0006.jpg](https://steemitimages.com/DQmXrPLQMxTrV9id9ZqGTHnrw35Wd8hQ8eDDvuaAuXQGHGj/IMG-20170801-WA0006.jpg) 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 InfoBlock #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": "![IMG-20170801-WA0006.jpg](https://steemitimages.com/DQmXrPLQMxTrV9id9ZqGTHnrw35Wd8hQ8eDDvuaAuXQGHGj/IMG-20170801-WA0006.jpg)\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\"}"
    }
  ]
}
2018/05/09 00:03:06
voternamom
authorthisisethanlau
permlinkmy-dad-is-a-photographer-part-4
weight10000 (100.00%)
Transaction InfoBlock #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
    }
  ]
}
steemdelegated 18.234 SP to @namom
2018/01/09 06:43:18
delegatorsteem
delegateenamom
vesting shares29692.060244 VESTS
Transaction InfoBlock #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"
    }
  ]
}
steemdelegated 18.388 SP to @namom
2017/08/04 05:13:15
delegatorsteem
delegateenamom
vesting shares29942.870952 VESTS
Transaction InfoBlock #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"
    }
  ]
}
steemcreated a new account: @namom
2017/07/24 10:03:48
fee0.500 STEEM
delegation57000.000000 VESTS
creatorsteem
new account namenamom
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 keySTM6b4GUDp2EEXpEWHBHuyEC4dRc1jva8enytdHmm7uEZVaHejQSJ
json metadata
extensions[]
Transaction InfoBlock #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": []
    }
  ]
}

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.
[]