VOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS66.29%
Net Worth
1.221USD
STEEM
0.000STEEM
SBD
2.356SBD
Effective Power
5.007SP
├── Own SP
1.551SP
└── Incoming DelegationsDeleg
+3.456SP
Detailed Balance
| STEEM | ||
| balance | 0.000STEEM | STEEM |
| market_balance | 0.000STEEM | STEEM |
| savings_balance | 0.000STEEM | STEEM |
| reward_steem_balance | 0.000STEEM | STEEM |
| STEEM POWER | ||
| Own SP | 1.551SP | SP |
| Delegated Out | 0.000SP | SP |
| Delegation In | 3.456SP | SP |
| Effective Power | 5.007SP | SP |
| Reward SP (pending) | 0.251SP | SP |
| SBD | ||
| sbd_balance | 1.613SBD | SBD |
| sbd_conversions | 0.000SBD | SBD |
| sbd_market_balance | 0.000SBD | SBD |
| savings_sbd_balance | 0.000SBD | SBD |
| reward_sbd_balance | 0.743SBD | SBD |
{
"balance": "0.000 STEEM",
"savings_balance": "0.000 STEEM",
"reward_steem_balance": "0.000 STEEM",
"vesting_shares": "2522.597581 VESTS",
"delegated_vesting_shares": "0.000000 VESTS",
"received_vesting_shares": "5621.062225 VESTS",
"sbd_balance": "1.613 SBD",
"savings_sbd_balance": "0.000 SBD",
"reward_sbd_balance": "0.743 SBD",
"conversions": []
}Account Info
| name | ethanhur |
| id | 672412 |
| rank | 272,975 |
| reputation | 19764059074 |
| created | 2018-01-29T08:51:27 |
| recovery_account | steem |
| proxy | None |
| post_count | 20 |
| comment_count | 0 |
| lifetime_vote_count | 0 |
| witnesses_voted_for | 0 |
| last_post | 2018-05-12T06:48:48 |
| last_root_post | 2018-05-10T12:43:15 |
| last_vote_time | 2018-05-13T03:03:48 |
| proxied_vsf_votes | 0, 0, 0, 0 |
| can_vote | 1 |
| voting_power | 0 |
| delayed_votes | 0 |
| balance | 0.000 STEEM |
| savings_balance | 0.000 STEEM |
| sbd_balance | 1.613 SBD |
| savings_sbd_balance | 0.000 SBD |
| vesting_shares | 2522.597581 VESTS |
| delegated_vesting_shares | 0.000000 VESTS |
| received_vesting_shares | 5621.062225 VESTS |
| reward_vesting_balance | 510.730201 VESTS |
| vesting_balance | 0.000 STEEM |
| vesting_withdraw_rate | 0.000000 VESTS |
| next_vesting_withdrawal | 1969-12-31T23:59:59 |
| withdrawn | 0 |
| to_withdraw | 0 |
| withdraw_routes | 0 |
| savings_withdraw_requests | 0 |
| last_account_recovery | 1970-01-01T00:00:00 |
| reset_account | null |
| last_owner_update | 1970-01-01T00:00:00 |
| last_account_update | 2018-01-29T15:15:15 |
| mined | No |
| sbd_seconds | 1,899,906,624 |
| sbd_last_interest_payment | 2018-04-19T15:00:24 |
| savings_sbd_last_interest_payment | 1970-01-01T00:00:00 |
{
"active": {
"account_auths": [],
"key_auths": [
[
"STM66Vb2kr1C51o2C94MN9gT1V7eYAu39F5ahp2rV4R9xdM2Vdzai",
1
]
],
"weight_threshold": 1
},
"balance": "0.000 STEEM",
"can_vote": true,
"comment_count": 0,
"created": "2018-01-29T08:51:27",
"curation_rewards": 0,
"delegated_vesting_shares": "0.000000 VESTS",
"downvote_manabar": {
"current_mana": 2035914951,
"last_update_time": 1779062733
},
"guest_bloggers": [],
"id": 672412,
"json_metadata": "{\"profile\":{\"profile_image\":\"http://ethanhur.me/assets/images/profile.jpg\",\"location\":\"Seoul\",\"website\":\"http://ethanhur.me\"}}",
"last_account_recovery": "1970-01-01T00:00:00",
"last_account_update": "2018-01-29T15:15:15",
"last_owner_update": "1970-01-01T00:00:00",
"last_post": "2018-05-12T06:48:48",
"last_root_post": "2018-05-10T12:43:15",
"last_vote_time": "2018-05-13T03:03:48",
"lifetime_vote_count": 0,
"market_history": [],
"memo_key": "STM59spwyEjqPysvx6ZLT5ZXfZtE6NqXougeRzGE3mJ6WoX8oinDJ",
"mined": false,
"name": "ethanhur",
"next_vesting_withdrawal": "1969-12-31T23:59:59",
"other_history": [],
"owner": {
"account_auths": [],
"key_auths": [
[
"STM5ERiWPBhco7z3yUdwDWMjq4gkdxzGHLSJH8JoHihtKxtt3g29x",
1
]
],
"weight_threshold": 1
},
"pending_claimed_accounts": 0,
"post_bandwidth": 0,
"post_count": 20,
"post_history": [],
"posting": {
"account_auths": [],
"key_auths": [
[
"STM4ztAxvNqGLn2utHwJbH4EDBFpG8f74Nc1wLribPgSsEPqN9ywg",
1
]
],
"weight_threshold": 1
},
"posting_json_metadata": "{\"profile\":{\"profile_image\":\"http://ethanhur.me/assets/images/profile.jpg\",\"location\":\"Seoul\",\"website\":\"http://ethanhur.me\"}}",
"posting_rewards": 1622,
"proxied_vsf_votes": [
0,
0,
0,
0
],
"proxy": "",
"received_vesting_shares": "5621.062225 VESTS",
"recovery_account": "steem",
"reputation": "19764059074",
"reset_account": "null",
"reward_sbd_balance": "0.743 SBD",
"reward_steem_balance": "0.000 STEEM",
"reward_vesting_balance": "510.730201 VESTS",
"reward_vesting_steem": "0.251 STEEM",
"savings_balance": "0.000 STEEM",
"savings_sbd_balance": "0.000 SBD",
"savings_sbd_last_interest_payment": "1970-01-01T00:00:00",
"savings_sbd_seconds": "0",
"savings_sbd_seconds_last_update": "1970-01-01T00:00:00",
"savings_withdraw_requests": 0,
"sbd_balance": "1.613 SBD",
"sbd_last_interest_payment": "2018-04-19T15:00:24",
"sbd_seconds": "1899906624",
"sbd_seconds_last_update": "2018-05-03T12:11:00",
"tags_usage": [],
"to_withdraw": 0,
"transfer_history": [],
"vesting_balance": "0.000 STEEM",
"vesting_shares": "2522.597581 VESTS",
"vesting_withdraw_rate": "0.000000 VESTS",
"vote_history": [],
"voting_manabar": {
"current_mana": "8143659806",
"last_update_time": 1779062733
},
"voting_power": 0,
"withdraw_routes": 0,
"withdrawn": 0,
"witness_votes": [],
"witnesses_voted_for": 0,
"rank": 272975
}Withdraw Routes
| Incoming | Outgoing |
|---|---|
Empty | Empty |
{
"incoming": [],
"outgoing": []
}From Date
To Date
2026/05/18 00:05:33
2026/05/18 00:05:33
| delegatee | ethanhur |
| delegator | steem |
| vesting shares | 5621.062225 VESTS |
| Transaction Info | Block #106143257/Trx 52eba5be331830568f69a97916c5034ae9940418 |
View Raw JSON Data
{
"block": 106143257,
"op": [
"delegate_vesting_shares",
{
"delegatee": "ethanhur",
"delegator": "steem",
"vesting_shares": "5621.062225 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2026-05-18T00:05:33",
"trx_id": "52eba5be331830568f69a97916c5034ae9940418",
"trx_in_block": 1,
"virtual_op": 0
}2026/05/12 03:11:03
2026/05/12 03:11:03
| delegatee | ethanhur |
| delegator | steem |
| vesting shares | 2908.851820 VESTS |
| Transaction Info | Block #105974923/Trx a42f39266cb9e38018a4384b33e6aeb9d1338412 |
View Raw JSON Data
{
"block": 105974923,
"op": [
"delegate_vesting_shares",
{
"delegatee": "ethanhur",
"delegator": "steem",
"vesting_shares": "2908.851820 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2026-05-12T03:11:03",
"trx_id": "a42f39266cb9e38018a4384b33e6aeb9d1338412",
"trx_in_block": 0,
"virtual_op": 0
}2026/04/25 23:26:45
2026/04/25 23:26:45
| delegatee | ethanhur |
| delegator | steem |
| vesting shares | 5633.577981 VESTS |
| Transaction Info | Block #105510913/Trx 310ca92ba8cde664fb3d1cc44f1cf9de686d8a18 |
View Raw JSON Data
{
"block": 105510913,
"op": [
"delegate_vesting_shares",
{
"delegatee": "ethanhur",
"delegator": "steem",
"vesting_shares": "5633.577981 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2026-04-25T23:26:45",
"trx_id": "310ca92ba8cde664fb3d1cc44f1cf9de686d8a18",
"trx_in_block": 4,
"virtual_op": 0
}2026/01/23 07:21:42
2026/01/23 07:21:42
| delegatee | ethanhur |
| delegator | steem |
| vesting shares | 2950.398639 VESTS |
| Transaction Info | Block #102851281/Trx 10c303a60c34f93b21c26ace636129bbf068c2c5 |
View Raw JSON Data
{
"block": 102851281,
"op": [
"delegate_vesting_shares",
{
"delegatee": "ethanhur",
"delegator": "steem",
"vesting_shares": "2950.398639 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2026-01-23T07:21:42",
"trx_id": "10c303a60c34f93b21c26ace636129bbf068c2c5",
"trx_in_block": 1,
"virtual_op": 0
}2024/12/17 02:41:18
2024/12/17 02:41:18
| delegatee | ethanhur |
| delegator | steem |
| vesting shares | 3114.617836 VESTS |
| Transaction Info | Block #91297702/Trx 8c3bb30de090aec8c802c8189bd083d8d03f897d |
View Raw JSON Data
{
"block": 91297702,
"op": [
"delegate_vesting_shares",
{
"delegatee": "ethanhur",
"delegator": "steem",
"vesting_shares": "3114.617836 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2024-12-17T02:41:18",
"trx_id": "8c3bb30de090aec8c802c8189bd083d8d03f897d",
"trx_in_block": 4,
"virtual_op": 0
}2023/11/13 18:24:09
2023/11/13 18:24:09
| delegatee | ethanhur |
| delegator | steem |
| vesting shares | 3283.751368 VESTS |
| Transaction Info | Block #79851904/Trx 855c0f4395a4c04e980db04824d367890f68c25e |
View Raw JSON Data
{
"block": 79851904,
"op": [
"delegate_vesting_shares",
{
"delegatee": "ethanhur",
"delegator": "steem",
"vesting_shares": "3283.751368 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2023-11-13T18:24:09",
"trx_id": "855c0f4395a4c04e980db04824d367890f68c25e",
"trx_in_block": 0,
"virtual_op": 0
}2023/09/21 21:38:12
2023/09/21 21:38:12
| delegatee | ethanhur |
| delegator | steem |
| vesting shares | 6221.030154 VESTS |
| Transaction Info | Block #78347595/Trx e76027d8e6b1b49ccd3cb88b2b28b83028c36387 |
View Raw JSON Data
{
"block": 78347595,
"op": [
"delegate_vesting_shares",
{
"delegatee": "ethanhur",
"delegator": "steem",
"vesting_shares": "6221.030154 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2023-09-21T21:38:12",
"trx_id": "e76027d8e6b1b49ccd3cb88b2b28b83028c36387",
"trx_in_block": 0,
"virtual_op": 0
}2022/11/03 11:27:42
2022/11/03 11:27:42
| delegatee | ethanhur |
| delegator | steem |
| vesting shares | 6442.711592 VESTS |
| Transaction Info | Block #69112973/Trx 0bc1e08557e49fe1f4dc3c00001471c8e8c7b141 |
View Raw JSON Data
{
"block": 69112973,
"op": [
"delegate_vesting_shares",
{
"delegatee": "ethanhur",
"delegator": "steem",
"vesting_shares": "6442.711592 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2022-11-03T11:27:42",
"trx_id": "0bc1e08557e49fe1f4dc3c00001471c8e8c7b141",
"trx_in_block": 2,
"virtual_op": 0
}2022/01/17 10:44:48
2022/01/17 10:44:48
| delegatee | ethanhur |
| delegator | steem |
| vesting shares | 6663.244823 VESTS |
| Transaction Info | Block #60809162/Trx c1e1edca88c82bbf7085a612d776e21d7e3786cf |
View Raw JSON Data
{
"block": 60809162,
"op": [
"delegate_vesting_shares",
{
"delegatee": "ethanhur",
"delegator": "steem",
"vesting_shares": "6663.244823 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2022-01-17T10:44:48",
"trx_id": "c1e1edca88c82bbf7085a612d776e21d7e3786cf",
"trx_in_block": 5,
"virtual_op": 0
}2021/06/14 00:40:30
2021/06/14 00:40:30
| delegatee | ethanhur |
| delegator | steem |
| vesting shares | 6847.013481 VESTS |
| Transaction Info | Block #54607559/Trx 0386ca998ccd6a357a98f31529c8614e8589094a |
View Raw JSON Data
{
"block": 54607559,
"op": [
"delegate_vesting_shares",
{
"delegatee": "ethanhur",
"delegator": "steem",
"vesting_shares": "6847.013481 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2021-06-14T00:40:30",
"trx_id": "0386ca998ccd6a357a98f31529c8614e8589094a",
"trx_in_block": 1,
"virtual_op": 0
}2020/12/11 10:59:33
2020/12/11 10:59:33
| delegatee | ethanhur |
| delegator | steem |
| vesting shares | 7034.435455 VESTS |
| Transaction Info | Block #49355023/Trx 18e2e9843975d1eef47adec5645e9291ea4cb9fd |
View Raw JSON Data
{
"block": 49355023,
"op": [
"delegate_vesting_shares",
{
"delegatee": "ethanhur",
"delegator": "steem",
"vesting_shares": "7034.435455 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2020-12-11T10:59:33",
"trx_id": "18e2e9843975d1eef47adec5645e9291ea4cb9fd",
"trx_in_block": 4,
"virtual_op": 0
}2020/12/06 04:36:51
2020/12/06 04:36:51
| delegatee | ethanhur |
| delegator | steem |
| vesting shares | 1912.543513 VESTS |
| Transaction Info | Block #49206589/Trx e4cbc9d312ff352de9ae4e5353c2bd8374a838a2 |
View Raw JSON Data
{
"block": 49206589,
"op": [
"delegate_vesting_shares",
{
"delegatee": "ethanhur",
"delegator": "steem",
"vesting_shares": "1912.543513 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2020-12-06T04:36:51",
"trx_id": "e4cbc9d312ff352de9ae4e5353c2bd8374a838a2",
"trx_in_block": 0,
"virtual_op": 0
}2020/12/05 14:37:45
2020/12/05 14:37:45
| delegatee | ethanhur |
| delegator | steem |
| vesting shares | 7040.643309 VESTS |
| Transaction Info | Block #49190122/Trx 73b5ff966b116b46d6c388033ca017ab5c9a747e |
View Raw JSON Data
{
"block": 49190122,
"op": [
"delegate_vesting_shares",
{
"delegatee": "ethanhur",
"delegator": "steem",
"vesting_shares": "7040.643309 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2020-12-05T14:37:45",
"trx_id": "73b5ff966b116b46d6c388033ca017ab5c9a747e",
"trx_in_block": 2,
"virtual_op": 0
}2020/11/02 15:17:15
2020/11/02 15:17:15
| delegatee | ethanhur |
| delegator | steem |
| vesting shares | 1920.017158 VESTS |
| Transaction Info | Block #48257386/Trx 25ccca7cd44709c198031de40237719833d15d8c |
View Raw JSON Data
{
"block": 48257386,
"op": [
"delegate_vesting_shares",
{
"delegatee": "ethanhur",
"delegator": "steem",
"vesting_shares": "1920.017158 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2020-11-02T15:17:15",
"trx_id": "25ccca7cd44709c198031de40237719833d15d8c",
"trx_in_block": 3,
"virtual_op": 0
}2020/05/09 05:33:57
2020/05/09 05:33:57
| delegatee | ethanhur |
| delegator | steem |
| vesting shares | 7243.448668 VESTS |
| Transaction Info | Block #43216832/Trx 6bbbc5b4249a9b372644cfdb392cdb52734a46b0 |
View Raw JSON Data
{
"block": 43216832,
"op": [
"delegate_vesting_shares",
{
"delegatee": "ethanhur",
"delegator": "steem",
"vesting_shares": "7243.448668 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2020-05-09T05:33:57",
"trx_id": "6bbbc5b4249a9b372644cfdb392cdb52734a46b0",
"trx_in_block": 6,
"virtual_op": 0
}2020/05/08 09:08:42
2020/05/08 09:08:42
| delegatee | ethanhur |
| delegator | steem |
| vesting shares | 1953.311140 VESTS |
| Transaction Info | Block #43192905/Trx 745e053b5986e8031c695bd29c6be39aa0cd1d98 |
View Raw JSON Data
{
"block": 43192905,
"op": [
"delegate_vesting_shares",
{
"delegatee": "ethanhur",
"delegator": "steem",
"vesting_shares": "1953.311140 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2020-05-08T09:08:42",
"trx_id": "745e053b5986e8031c695bd29c6be39aa0cd1d98",
"trx_in_block": 9,
"virtual_op": 0
}2020/01/29 10:10:00
2020/01/29 10:10:00
| author | steemitboard |
| body | Congratulations @ethanhur! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@ethanhur/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/@ethanhur) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=ethanhur)_</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"]} |
| parent author | ethanhur |
| parent permlink | node-js-express |
| permlink | steemitboard-notify-ethanhur-20200129t101000000z |
| title | |
| Transaction Info | Block #40349336/Trx 58b3fd36fd34979cb12a7901dd687502638b8bf3 |
View Raw JSON Data
{
"block": 40349336,
"op": [
"comment",
{
"author": "steemitboard",
"body": "Congratulations @ethanhur! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@ethanhur/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/@ethanhur) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=ethanhur)_</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\"]}",
"parent_author": "ethanhur",
"parent_permlink": "node-js-express",
"permlink": "steemitboard-notify-ethanhur-20200129t101000000z",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2020-01-29T10:10:00",
"trx_id": "58b3fd36fd34979cb12a7901dd687502638b8bf3",
"trx_in_block": 3,
"virtual_op": 0
}2019/07/29 11:33:00
2019/07/29 11:33:00
| delegatee | ethanhur |
| delegator | steem |
| vesting shares | 7406.406765 VESTS |
| Transaction Info | Block #35084801/Trx 83630d0442f56a7785a586ab55615e406bfe067a |
View Raw JSON Data
{
"block": 35084801,
"op": [
"delegate_vesting_shares",
{
"delegatee": "ethanhur",
"delegator": "steem",
"vesting_shares": "7406.406765 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2019-07-29T11:33:00",
"trx_id": "83630d0442f56a7785a586ab55615e406bfe067a",
"trx_in_block": 4,
"virtual_op": 0
}2019/01/29 10:11:06
2019/01/29 10:11:06
| author | steemitboard |
| body | Congratulations @ethanhur! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@ethanhur/birthday1.png</td><td>Happy Birthday! - You are on the Steem blockchain for 1 year!</td></tr></table> <sub>_[Click here to view your Board](https://steemitboard.com/@ethanhur)_</sub> > Support [SteemitBoard's project](https://steemit.com/@steemitboard)! **[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"]} |
| parent author | ethanhur |
| parent permlink | node-js-express |
| permlink | steemitboard-notify-ethanhur-20190129t101105000z |
| title | |
| Transaction Info | Block #29876974/Trx 76fb7dcd4af8f1f7f2edd573bf8bdeaf8a2896d8 |
View Raw JSON Data
{
"block": 29876974,
"op": [
"comment",
{
"author": "steemitboard",
"body": "Congratulations @ethanhur! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@ethanhur/birthday1.png</td><td>Happy Birthday! - You are on the Steem blockchain for 1 year!</td></tr></table>\n\n<sub>_[Click here to view your Board](https://steemitboard.com/@ethanhur)_</sub>\n\n\n> Support [SteemitBoard's project](https://steemit.com/@steemitboard)! **[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\"]}",
"parent_author": "ethanhur",
"parent_permlink": "node-js-express",
"permlink": "steemitboard-notify-ethanhur-20190129t101105000z",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2019-01-29T10:11:06",
"trx_id": "76fb7dcd4af8f1f7f2edd573bf8bdeaf8a2896d8",
"trx_in_block": 2,
"virtual_op": 0
}2018/08/12 05:11:00
2018/08/12 05:11:00
| delegatee | ethanhur |
| delegator | steem |
| vesting shares | 7605.033680 VESTS |
| Transaction Info | Block #24993960/Trx f5b68ae60db7df111632985d63e1956f50cff858 |
View Raw JSON Data
{
"block": 24993960,
"op": [
"delegate_vesting_shares",
{
"delegatee": "ethanhur",
"delegator": "steem",
"vesting_shares": "7605.033680 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2018-08-12T05:11:00",
"trx_id": "f5b68ae60db7df111632985d63e1956f50cff858",
"trx_in_block": 18,
"virtual_op": 0
}ethanhurreceived 0.743 SBD, 0.314 SP author reward for @ethanhur / node-js-express2018/05/17 12:43:15
ethanhurreceived 0.743 SBD, 0.314 SP author reward for @ethanhur / node-js-express
2018/05/17 12:43:15
| author | ethanhur |
| permlink | node-js-express |
| sbd payout | 0.743 SBD |
| steem payout | 0.000 STEEM |
| vesting payout | 510.730201 VESTS |
| Transaction Info | Block #22509562/Virtual Operation #11 |
View Raw JSON Data
{
"block": 22509562,
"op": [
"author_reward",
{
"author": "ethanhur",
"permlink": "node-js-express",
"sbd_payout": "0.743 SBD",
"steem_payout": "0.000 STEEM",
"vesting_payout": "510.730201 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2018-05-17T12:43:15",
"trx_id": "0000000000000000000000000000000000000000",
"trx_in_block": 4294967295,
"virtual_op": 11
}2018/05/13 03:03:48
2018/05/13 03:03:48
| author | yunta |
| permlink | 6s7haz |
| voter | ethanhur |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22382789/Trx 77a2b70b24e635e61188eb257f56018780638111 |
View Raw JSON Data
{
"block": 22382789,
"op": [
"vote",
{
"author": "yunta",
"permlink": "6s7haz",
"voter": "ethanhur",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-05-13T03:03:48",
"trx_id": "77a2b70b24e635e61188eb257f56018780638111",
"trx_in_block": 28,
"virtual_op": 0
}ethanhurfollowed @dj-on-steem2018/05/12 17:03:06
ethanhurfollowed @dj-on-steem
2018/05/12 17:03:06
| id | follow |
| json | ["follow",{"follower":"ethanhur","following":"dj-on-steem","what":["blog"]}] |
| required auths | [] |
| required posting auths | ["ethanhur"] |
| Transaction Info | Block #22370775/Trx 9d512805e98fe07f246a95aec334657bc1904212 |
View Raw JSON Data
{
"block": 22370775,
"op": [
"custom_json",
{
"id": "follow",
"json": "[\"follow\",{\"follower\":\"ethanhur\",\"following\":\"dj-on-steem\",\"what\":[\"blog\"]}]",
"required_auths": [],
"required_posting_auths": [
"ethanhur"
]
}
],
"op_in_trx": 0,
"timestamp": "2018-05-12T17:03:06",
"trx_id": "9d512805e98fe07f246a95aec334657bc1904212",
"trx_in_block": 66,
"virtual_op": 0
}2018/05/12 16:00:54
2018/05/12 16:00:54
| author | steemitboard |
| body | Congratulations @ethanhur! You have completed some achievement on Steemit and have been rewarded with new badge(s) : [](http://steemitboard.com/@ethanhur) You got a First Reply Click on any badge to view your own Board of Honor on SteemitBoard. For more information about SteemitBoard, click [here](https://steemit.com/@steemitboard) If you no longer want to receive notifications, reply to this comment with the word `STOP` > Upvote this notification to help all Steemit users. Learn why [here](https://steemit.com/steemitboard/@steemitboard/http-i-cubeupload-com-7ciqeo-png)! |
| json metadata | {"image":["https://steemitboard.com/img/notifications.png"]} |
| parent author | ethanhur |
| parent permlink | node-js-express |
| permlink | steemitboard-notify-ethanhur-20180512t160054000z |
| title | |
| Transaction Info | Block #22369531/Trx da54184717bda0d18680a68e0f27ce05a9c84f75 |
View Raw JSON Data
{
"block": 22369531,
"op": [
"comment",
{
"author": "steemitboard",
"body": "Congratulations @ethanhur! You have completed some achievement on Steemit and have been rewarded with new badge(s) :\n\n[](http://steemitboard.com/@ethanhur) You got a First Reply\n\nClick on any badge to view your own Board of Honor on SteemitBoard.\nFor more information about SteemitBoard, click [here](https://steemit.com/@steemitboard)\n\nIf you no longer want to receive notifications, reply to this comment with the word `STOP`\n\n> Upvote this notification to help all Steemit users. Learn why [here](https://steemit.com/steemitboard/@steemitboard/http-i-cubeupload-com-7ciqeo-png)!",
"json_metadata": "{\"image\":[\"https://steemitboard.com/img/notifications.png\"]}",
"parent_author": "ethanhur",
"parent_permlink": "node-js-express",
"permlink": "steemitboard-notify-ethanhur-20180512t160054000z",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2018-05-12T16:00:54",
"trx_id": "da54184717bda0d18680a68e0f27ce05a9c84f75",
"trx_in_block": 13,
"virtual_op": 0
}2018/05/12 06:49:39
2018/05/12 06:49:39
| id | follow |
| json | ["follow",{"follower":"ethanhur","following":"jeaimetu","what":["blog"]}] |
| required auths | [] |
| required posting auths | ["ethanhur"] |
| Transaction Info | Block #22358508/Trx 8ec404afed5b337335690c9a2fdb12d0bc9c4d41 |
View Raw JSON Data
{
"block": 22358508,
"op": [
"custom_json",
{
"id": "follow",
"json": "[\"follow\",{\"follower\":\"ethanhur\",\"following\":\"jeaimetu\",\"what\":[\"blog\"]}]",
"required_auths": [],
"required_posting_auths": [
"ethanhur"
]
}
],
"op_in_trx": 0,
"timestamp": "2018-05-12T06:49:39",
"trx_id": "8ec404afed5b337335690c9a2fdb12d0bc9c4d41",
"trx_in_block": 7,
"virtual_op": 0
}2018/05/12 06:49:24
2018/05/12 06:49:24
| author | pairplay |
| body | @ethanhur Changed your cards.   |
| json metadata | |
| parent author | ethanhur |
| parent permlink | re-pairplay-20180512t150006849z-post-20180512t064849311z |
| permlink | re-ethanhur-re-pairplay-post-20180512t064923523z |
| title | |
| Transaction Info | Block #22358503/Trx e6c36983ad433e2eed64f2461b6a0a17e79dd919 |
View Raw JSON Data
{
"block": 22358503,
"op": [
"comment",
{
"author": "pairplay",
"body": "@ethanhur Changed your cards.  ",
"json_metadata": "",
"parent_author": "ethanhur",
"parent_permlink": "re-pairplay-20180512t150006849z-post-20180512t064849311z",
"permlink": "re-ethanhur-re-pairplay-post-20180512t064923523z",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2018-05-12T06:49:24",
"trx_id": "e6c36983ad433e2eed64f2461b6a0a17e79dd919",
"trx_in_block": 47,
"virtual_op": 0
}2018/05/12 06:48:48
2018/05/12 06:48:48
| author | ethanhur |
| body | /change |
| json metadata | {"tags":["kr"],"app":"steemit/0.1"} |
| parent author | pairplay |
| parent permlink | 20180512t150006849z-post |
| permlink | re-pairplay-20180512t150006849z-post-20180512t064849311z |
| title | |
| Transaction Info | Block #22358491/Trx 6bee2680854006c86266ccf10ea2dfac6b2e0288 |
View Raw JSON Data
{
"block": 22358491,
"op": [
"comment",
{
"author": "ethanhur",
"body": "/change",
"json_metadata": "{\"tags\":[\"kr\"],\"app\":\"steemit/0.1\"}",
"parent_author": "pairplay",
"parent_permlink": "20180512t150006849z-post",
"permlink": "re-pairplay-20180512t150006849z-post-20180512t064849311z",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2018-05-12T06:48:48",
"trx_id": "6bee2680854006c86266ccf10ea2dfac6b2e0288",
"trx_in_block": 12,
"virtual_op": 0
}ethanhurupvoted (100.00%) @pairplay / 20180512t150006849z-post2018/05/12 06:46:48
ethanhurupvoted (100.00%) @pairplay / 20180512t150006849z-post
2018/05/12 06:46:48
| author | pairplay |
| permlink | 20180512t150006849z-post |
| voter | ethanhur |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22358451/Trx 10d2bc73f34b6acd73387b5d905325d59a2858f6 |
View Raw JSON Data
{
"block": 22358451,
"op": [
"vote",
{
"author": "pairplay",
"permlink": "20180512t150006849z-post",
"voter": "ethanhur",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-05-12T06:46:48",
"trx_id": "10d2bc73f34b6acd73387b5d905325d59a2858f6",
"trx_in_block": 43,
"virtual_op": 0
}ethanhurupvoted (100.00%) @jeaimetu / re-ethanhur-node-js-express-20180511t095252179z2018/05/12 06:40:57
ethanhurupvoted (100.00%) @jeaimetu / re-ethanhur-node-js-express-20180511t095252179z
2018/05/12 06:40:57
| author | jeaimetu |
| permlink | re-ethanhur-node-js-express-20180511t095252179z |
| voter | ethanhur |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22358334/Trx 3b3b5a9cad424b5ef4749b92508a219de1b90ef5 |
View Raw JSON Data
{
"block": 22358334,
"op": [
"vote",
{
"author": "jeaimetu",
"permlink": "re-ethanhur-node-js-express-20180511t095252179z",
"voter": "ethanhur",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-05-12T06:40:57",
"trx_id": "3b3b5a9cad424b5ef4749b92508a219de1b90ef5",
"trx_in_block": 37,
"virtual_op": 0
}2018/05/11 09:52:51
2018/05/11 09:52:51
| author | jeaimetu |
| body | 극한의 테스트이군요..좋은 팁 감사합니다. "로컬에서 포트를 계속 열게 되면 65535 를 넘어가서 소켓 행업이 되어 테스트 자체가 되지 않는다." |
| json metadata | {"tags":["kr-dev"],"app":"steemit/0.1"} |
| parent author | ethanhur |
| parent permlink | node-js-express |
| permlink | re-ethanhur-node-js-express-20180511t095252179z |
| title | |
| Transaction Info | Block #22333372/Trx 89dcff78b1352f011ffd5beaae4a73cf8e841977 |
View Raw JSON Data
{
"block": 22333372,
"op": [
"comment",
{
"author": "jeaimetu",
"body": "극한의 테스트이군요..좋은 팁 감사합니다.\n\"로컬에서 포트를 계속 열게 되면 65535 를 넘어가서 소켓 행업이 되어 테스트 자체가 되지 않는다.\"",
"json_metadata": "{\"tags\":[\"kr-dev\"],\"app\":\"steemit/0.1\"}",
"parent_author": "ethanhur",
"parent_permlink": "node-js-express",
"permlink": "re-ethanhur-node-js-express-20180511t095252179z",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2018-05-11T09:52:51",
"trx_id": "89dcff78b1352f011ffd5beaae4a73cf8e841977",
"trx_in_block": 47,
"virtual_op": 0
}jeaimetuupvoted (100.00%) @ethanhur / node-js-express2018/05/11 09:52:24
jeaimetuupvoted (100.00%) @ethanhur / node-js-express
2018/05/11 09:52:24
| author | ethanhur |
| permlink | node-js-express |
| voter | jeaimetu |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22333363/Trx 7565d7553aa9fad1cf6aad5b3d7f5dfdcbfd6110 |
View Raw JSON Data
{
"block": 22333363,
"op": [
"vote",
{
"author": "ethanhur",
"permlink": "node-js-express",
"voter": "jeaimetu",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-05-11T09:52:24",
"trx_id": "7565d7553aa9fad1cf6aad5b3d7f5dfdcbfd6110",
"trx_in_block": 48,
"virtual_op": 0
}2018/05/11 08:36:21
2018/05/11 08:36:21
| author | pairplay |
| body | pairplay 가 kr-dev 컨텐츠를 응원합니다! :) |
| json metadata | |
| parent author | ethanhur |
| parent permlink | node-js-express |
| permlink | re-ethanhur-node-js-express-20180511t083620575z |
| title | |
| Transaction Info | Block #22331842/Trx ff918c831fa7e24b140df7d0ff021a05507ed67c |
View Raw JSON Data
{
"block": 22331842,
"op": [
"comment",
{
"author": "pairplay",
"body": "pairplay 가 kr-dev 컨텐츠를 응원합니다! :)",
"json_metadata": "",
"parent_author": "ethanhur",
"parent_permlink": "node-js-express",
"permlink": "re-ethanhur-node-js-express-20180511t083620575z",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2018-05-11T08:36:21",
"trx_id": "ff918c831fa7e24b140df7d0ff021a05507ed67c",
"trx_in_block": 12,
"virtual_op": 0
}pairplayupvoted (13.00%) @ethanhur / node-js-express2018/05/11 08:36:00
pairplayupvoted (13.00%) @ethanhur / node-js-express
2018/05/11 08:36:00
| author | ethanhur |
| permlink | node-js-express |
| voter | pairplay |
| weight | 1300 (13.00%) |
| Transaction Info | Block #22331835/Trx 94c23db9960c3393e947a301ef0941c9710ff865 |
View Raw JSON Data
{
"block": 22331835,
"op": [
"vote",
{
"author": "ethanhur",
"permlink": "node-js-express",
"voter": "pairplay",
"weight": 1300
}
],
"op_in_trx": 0,
"timestamp": "2018-05-11T08:36:00",
"trx_id": "94c23db9960c3393e947a301ef0941c9710ff865",
"trx_in_block": 16,
"virtual_op": 0
}clarkgoldupvoted (20.00%) @ethanhur / node-js-express2018/05/10 17:41:36
clarkgoldupvoted (20.00%) @ethanhur / node-js-express
2018/05/10 17:41:36
| author | ethanhur |
| permlink | node-js-express |
| voter | clarkgold |
| weight | 2000 (20.00%) |
| Transaction Info | Block #22313947/Trx d2bc168aedae3d9ad23601ccc28c715edd4990d9 |
View Raw JSON Data
{
"block": 22313947,
"op": [
"vote",
{
"author": "ethanhur",
"permlink": "node-js-express",
"voter": "clarkgold",
"weight": 2000
}
],
"op_in_trx": 0,
"timestamp": "2018-05-10T17:41:36",
"trx_id": "d2bc168aedae3d9ad23601ccc28c715edd4990d9",
"trx_in_block": 37,
"virtual_op": 0
}everslothupvoted (25.00%) @ethanhur / node-js-express2018/05/10 14:54:18
everslothupvoted (25.00%) @ethanhur / node-js-express
2018/05/10 14:54:18
| author | ethanhur |
| permlink | node-js-express |
| voter | eversloth |
| weight | 2500 (25.00%) |
| Transaction Info | Block #22310603/Trx a8aaa71b2ed86226c156146361babe1dde158779 |
View Raw JSON Data
{
"block": 22310603,
"op": [
"vote",
{
"author": "ethanhur",
"permlink": "node-js-express",
"voter": "eversloth",
"weight": 2500
}
],
"op_in_trx": 0,
"timestamp": "2018-05-10T14:54:18",
"trx_id": "a8aaa71b2ed86226c156146361babe1dde158779",
"trx_in_block": 43,
"virtual_op": 0
}brainstormotupvoted (100.00%) @ethanhur / node-js-express2018/05/10 14:22:00
brainstormotupvoted (100.00%) @ethanhur / node-js-express
2018/05/10 14:22:00
| author | ethanhur |
| permlink | node-js-express |
| voter | brainstormot |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22309958/Trx 03699b5acd6c03e56f1038d327c810105f7618f7 |
View Raw JSON Data
{
"block": 22309958,
"op": [
"vote",
{
"author": "ethanhur",
"permlink": "node-js-express",
"voter": "brainstormot",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-05-10T14:22:00",
"trx_id": "03699b5acd6c03e56f1038d327c810105f7618f7",
"trx_in_block": 40,
"virtual_op": 0
}ethanhurupvoted (100.00%) @pairplay / 20180510t150006709z-post2018/05/10 12:49:42
ethanhurupvoted (100.00%) @pairplay / 20180510t150006709z-post
2018/05/10 12:49:42
| author | pairplay |
| permlink | 20180510t150006709z-post |
| voter | ethanhur |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22308113/Trx 0bdaabcbb32b1ff80601a279c8723450948b799b |
View Raw JSON Data
{
"block": 22308113,
"op": [
"vote",
{
"author": "pairplay",
"permlink": "20180510t150006709z-post",
"voter": "ethanhur",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-05-10T12:49:42",
"trx_id": "0bdaabcbb32b1ff80601a279c8723450948b799b",
"trx_in_block": 10,
"virtual_op": 0
}2018/05/10 12:48:57
2018/05/10 12:48:57
| id | follow |
| json | ["follow",{"follower":"ethanhur","following":"pairplay","what":["blog"]}] |
| required auths | [] |
| required posting auths | ["ethanhur"] |
| Transaction Info | Block #22308098/Trx 45be974bd06c52310b02efbdaff2417e7bf9fa4a |
View Raw JSON Data
{
"block": 22308098,
"op": [
"custom_json",
{
"id": "follow",
"json": "[\"follow\",{\"follower\":\"ethanhur\",\"following\":\"pairplay\",\"what\":[\"blog\"]}]",
"required_auths": [],
"required_posting_auths": [
"ethanhur"
]
}
],
"op_in_trx": 0,
"timestamp": "2018-05-10T12:48:57",
"trx_id": "45be974bd06c52310b02efbdaff2417e7bf9fa4a",
"trx_in_block": 24,
"virtual_op": 0
}ethanhurfollowed @leedyd5552018/05/10 12:47:39
ethanhurfollowed @leedyd555
2018/05/10 12:47:39
| id | follow |
| json | ["follow",{"follower":"ethanhur","following":"leedyd555","what":["blog"]}] |
| required auths | [] |
| required posting auths | ["ethanhur"] |
| Transaction Info | Block #22308072/Trx 3e8939bd674909b100ee9bfd1a114cd827214fbc |
View Raw JSON Data
{
"block": 22308072,
"op": [
"custom_json",
{
"id": "follow",
"json": "[\"follow\",{\"follower\":\"ethanhur\",\"following\":\"leedyd555\",\"what\":[\"blog\"]}]",
"required_auths": [],
"required_posting_auths": [
"ethanhur"
]
}
],
"op_in_trx": 0,
"timestamp": "2018-05-10T12:47:39",
"trx_id": "3e8939bd674909b100ee9bfd1a114cd827214fbc",
"trx_in_block": 23,
"virtual_op": 0
}ethanhurupvoted (100.00%) @ethanhur / node-js-express2018/05/10 12:43:24
ethanhurupvoted (100.00%) @ethanhur / node-js-express
2018/05/10 12:43:24
| author | ethanhur |
| permlink | node-js-express |
| voter | ethanhur |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22307987/Trx 9e2df4d40fc5e2763969a306131756db4d83824d |
View Raw JSON Data
{
"block": 22307987,
"op": [
"vote",
{
"author": "ethanhur",
"permlink": "node-js-express",
"voter": "ethanhur",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-05-10T12:43:24",
"trx_id": "9e2df4d40fc5e2763969a306131756db4d83824d",
"trx_in_block": 28,
"virtual_op": 0
}ethanhurpublished a new post: node-js-express2018/05/10 12:43:15
ethanhurpublished a new post: node-js-express
2018/05/10 12:43:15
| author | ethanhur |
| body | 회사에서 Node.js + Express 로 돌고 있는 서버의 퍼포먼스를 측정하는 일을 했었다. 실제로 큰 소득이 있지는 않았지만 그 과정에서 깨닫게 된 (당연하게 보이는) 것들을 정리해보았다. > EC2 C5.xlarge 기준 Express 1 프로세스 (1 core) 의 이론적 Request Per Sec 한계는 4000 정도 인듯 [링크](https://raygun.com/blog/node-js-performance-2017/) 해당 사항은 실제로 http 프로토콜 상 문제가 아닐까 생각한다. 패킷 까는 데 많은 자원을 소모하는 것 같다. > 해당 도메인에서 사용하고 있는 가장 빈번한 시나리오로 테스트 해보아야 한다. 당연한 내용인데, 정작 일하면서 깨닫는 데엔 2일 정도가 걸림. 나무를 보다가 숲을 못 본 케이스. > 로컬에서 스트레스 테스트를 날릴 땐 소켓 한계 잘 생각하자. Keep-Alive 조건을 주는 것은 거의 필수인듯 [링크](http://docs.likejazz.com/time-wait/) 로컬에서 포트를 계속 열게 되면 65535 를 넘어가서 소켓 행업이 되어 테스트 자체가 되지 않는다. > concurrent 유저가 높아질 때 어느 순간부터 latency 가 증가하는 이유는 RPS 한계 때문에 당연히 그럴 수 밖에 없다. 따라서 목표 latency 를 설정하고, 그에 맞춰 horizontal scaling 정책을 수립해야 함. 생각해보면 당연한 사실인데, 이러한 사실을 깨닫는 데에 시간이 오래 걸렸다. ㅋㅋㅋㅋㅋㅋㅋ > [V8 최적화](https://github.com/petkaantonov/bluebird/wiki/Optimization-killers) 도 생각해야 한다. Node 환경에서 JIT 컴파일을 하기 때문에 해당 부분이 Bottleneck 일수도 있다. # Conclusion * Node 용 프로파일러 [0x](https://www.npmjs.com/package/0x) 를 사용하여 프로파일링도 했지만, 노드 특성상 콜스택이 날라가버리기 때문에 제대로 된 분석을 하기는 힘들었다. * 퍼포먼스 테스트 어렵다. 일단 도메인에 맞는 테스트를 잘 정의해야 하고, 환경도 비슷하게 세팅하거나 환경이 달랐을 때의 영향을 고려해야 한다. 퍼포먼스 테스트와 병목 지점을 잘 찾아내기 위해선 네트워크 레벨에서부터 컴파일러와 OS의 동작까지 이해를 하고 있어야 가능할 거 같다. 아직 엔지니어로써 갈 길이 멀다는 것을 알게 된 소중한 시간(?)이긴 한 듯. |
| json metadata | {"tags":["kr-dev","kr"],"links":["https://raygun.com/blog/node-js-performance-2017/","http://docs.likejazz.com/time-wait/","https://github.com/petkaantonov/bluebird/wiki/Optimization-killers","https://www.npmjs.com/package/0x"],"app":"steemit/0.1","format":"markdown"} |
| parent author | |
| parent permlink | kr-dev |
| permlink | node-js-express |
| title | Node.js + Express 성능 관련 삽질 내용 정리 |
| Transaction Info | Block #22307984/Trx 1d5b6f31ec02f3c53c26cd19e900eb3aa2fc9c43 |
View Raw JSON Data
{
"block": 22307984,
"op": [
"comment",
{
"author": "ethanhur",
"body": "회사에서 Node.js + Express 로 돌고 있는 서버의 퍼포먼스를 측정하는 일을 했었다.\n\n 실제로 큰 소득이 있지는 않았지만 그 과정에서 깨닫게 된 (당연하게 보이는) 것들을 정리해보았다.\n\n > EC2 C5.xlarge 기준 Express 1 프로세스 (1 core) 의 이론적 Request Per Sec 한계는 4000 정도 인듯 [링크](https://raygun.com/blog/node-js-performance-2017/)\n\n 해당 사항은 실제로 http 프로토콜 상 문제가 아닐까 생각한다. 패킷 까는 데 많은 자원을 소모하는 것 같다.\n\n > 해당 도메인에서 사용하고 있는 가장 빈번한 시나리오로 테스트 해보아야 한다.\n\n 당연한 내용인데, 정작 일하면서 깨닫는 데엔 2일 정도가 걸림. 나무를 보다가 숲을 못 본 케이스.\n\n > 로컬에서 스트레스 테스트를 날릴 땐 소켓 한계 잘 생각하자. Keep-Alive 조건을 주는 것은 거의 필수인듯 [링크](http://docs.likejazz.com/time-wait/)\n\n 로컬에서 포트를 계속 열게 되면 65535 를 넘어가서 소켓 행업이 되어 테스트 자체가 되지 않는다.\n\n > concurrent 유저가 높아질 때 어느 순간부터 latency 가 증가하는 이유는 RPS 한계 때문에 당연히 그럴 수 밖에 없다. 따라서 목표 latency 를 설정하고, 그에 맞춰 horizontal scaling 정책을 수립해야 함.\n\n 생각해보면 당연한 사실인데, 이러한 사실을 깨닫는 데에 시간이 오래 걸렸다. ㅋㅋㅋㅋㅋㅋㅋ\n\n > [V8 최적화](https://github.com/petkaantonov/bluebird/wiki/Optimization-killers) 도 생각해야 한다.\n\n Node 환경에서 JIT 컴파일을 하기 때문에 해당 부분이 Bottleneck 일수도 있다.\n\n # Conclusion\n\n * Node 용 프로파일러 [0x](https://www.npmjs.com/package/0x) 를 사용하여 프로파일링도 했지만, 노드 특성상 콜스택이 날라가버리기 때문에 제대로 된 분석을 하기는 힘들었다.\n * 퍼포먼스 테스트 어렵다. 일단 도메인에 맞는 테스트를 잘 정의해야 하고, 환경도 비슷하게 세팅하거나 환경이 달랐을 때의 영향을 고려해야 한다.\n\n 퍼포먼스 테스트와 병목 지점을 잘 찾아내기 위해선 네트워크 레벨에서부터 컴파일러와 OS의 동작까지 이해를 하고 있어야 가능할 거 같다. 아직 엔지니어로써 갈 길이 멀다는 것을 알게 된 소중한 시간(?)이긴 한 듯.",
"json_metadata": "{\"tags\":[\"kr-dev\",\"kr\"],\"links\":[\"https://raygun.com/blog/node-js-performance-2017/\",\"http://docs.likejazz.com/time-wait/\",\"https://github.com/petkaantonov/bluebird/wiki/Optimization-killers\",\"https://www.npmjs.com/package/0x\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
"parent_author": "",
"parent_permlink": "kr-dev",
"permlink": "node-js-express",
"title": "Node.js + Express 성능 관련 삽질 내용 정리"
}
],
"op_in_trx": 0,
"timestamp": "2018-05-10T12:43:15",
"trx_id": "1d5b6f31ec02f3c53c26cd19e900eb3aa2fc9c43",
"trx_in_block": 10,
"virtual_op": 0
}ethanhurfollowed @leedyd5552018/05/10 12:22:30
ethanhurfollowed @leedyd555
2018/05/10 12:22:30
| id | follow |
| json | ["follow",{"follower":"ethanhur","following":"leedyd555","what":["blog"]}] |
| required auths | [] |
| required posting auths | ["ethanhur"] |
| Transaction Info | Block #22307570/Trx 91cf5f2f11eb3db2a18adc755e049e0ab42ce057 |
View Raw JSON Data
{
"block": 22307570,
"op": [
"custom_json",
{
"id": "follow",
"json": "[\"follow\",{\"follower\":\"ethanhur\",\"following\":\"leedyd555\",\"what\":[\"blog\"]}]",
"required_auths": [],
"required_posting_auths": [
"ethanhur"
]
}
],
"op_in_trx": 0,
"timestamp": "2018-05-10T12:22:30",
"trx_id": "91cf5f2f11eb3db2a18adc755e049e0ab42ce057",
"trx_in_block": 16,
"virtual_op": 0
}ethanhurclaimed reward balance: 0.029 SBD, 0.013 SP2018/05/03 12:11:00
ethanhurclaimed reward balance: 0.029 SBD, 0.013 SP
2018/05/03 12:11:00
| account | ethanhur |
| reward sbd | 0.029 SBD |
| reward steem | 0.000 STEEM |
| reward vests | 20.369892 VESTS |
| Transaction Info | Block #22105800/Trx e709fadafb21e3aeaffa6528fef7ea2cbc5c2bef |
View Raw JSON Data
{
"block": 22105800,
"op": [
"claim_reward_balance",
{
"account": "ethanhur",
"reward_sbd": "0.029 SBD",
"reward_steem": "0.000 STEEM",
"reward_vests": "20.369892 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2018-05-03T12:11:00",
"trx_id": "e709fadafb21e3aeaffa6528fef7ea2cbc5c2bef",
"trx_in_block": 41,
"virtual_op": 0
}2018/04/26 14:59:21
2018/04/26 14:59:21
| author | ethanhur |
| permlink | it |
| sbd payout | 0.029 SBD |
| steem payout | 0.000 STEEM |
| vesting payout | 20.369892 VESTS |
| Transaction Info | Block #21907615/Virtual Operation #4 |
View Raw JSON Data
{
"block": 21907615,
"op": [
"author_reward",
{
"author": "ethanhur",
"permlink": "it",
"sbd_payout": "0.029 SBD",
"steem_payout": "0.000 STEEM",
"vesting_payout": "20.369892 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2018-04-26T14:59:21",
"trx_id": "0000000000000000000000000000000000000000",
"trx_in_block": 4294967295,
"virtual_op": 4
}2018/04/23 14:35:30
2018/04/23 14:35:30
| author | pairplay |
| body | @ethanhur Changed your cards.   |
| json metadata | |
| parent author | ethanhur |
| parent permlink | re-pairplay-20180423t230005818z-post-20180423t143250870z |
| permlink | re-ethanhur-re-pairplay-post-20180423t143529469z |
| title | |
| Transaction Info | Block #21821392/Trx 3a970b9ef2601e4d333124e1f75db0f216f162db |
View Raw JSON Data
{
"block": 21821392,
"op": [
"comment",
{
"author": "pairplay",
"body": "@ethanhur Changed your cards.  ",
"json_metadata": "",
"parent_author": "ethanhur",
"parent_permlink": "re-pairplay-20180423t230005818z-post-20180423t143250870z",
"permlink": "re-ethanhur-re-pairplay-post-20180423t143529469z",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2018-04-23T14:35:30",
"trx_id": "3a970b9ef2601e4d333124e1f75db0f216f162db",
"trx_in_block": 38,
"virtual_op": 0
}2018/04/23 14:32:45
2018/04/23 14:32:45
| author | ethanhur |
| body | /change |
| json metadata | {"tags":["kr"],"app":"steemit/0.1"} |
| parent author | pairplay |
| parent permlink | 20180423t230005818z-post |
| permlink | re-pairplay-20180423t230005818z-post-20180423t143250870z |
| title | |
| Transaction Info | Block #21821337/Trx f42dce84de08f5a110a8b770a961f572ff00e10c |
View Raw JSON Data
{
"block": 21821337,
"op": [
"comment",
{
"author": "ethanhur",
"body": "/change",
"json_metadata": "{\"tags\":[\"kr\"],\"app\":\"steemit/0.1\"}",
"parent_author": "pairplay",
"parent_permlink": "20180423t230005818z-post",
"permlink": "re-pairplay-20180423t230005818z-post-20180423t143250870z",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2018-04-23T14:32:45",
"trx_id": "f42dce84de08f5a110a8b770a961f572ff00e10c",
"trx_in_block": 34,
"virtual_op": 0
}ethanhurupvoted (100.00%) @pairplay / 20180423t230005818z-post2018/04/23 14:27:30
ethanhurupvoted (100.00%) @pairplay / 20180423t230005818z-post
2018/04/23 14:27:30
| author | pairplay |
| permlink | 20180423t230005818z-post |
| voter | ethanhur |
| weight | 10000 (100.00%) |
| Transaction Info | Block #21821232/Trx a60ce29135258e414c09893abac5fc2c7d0dbb77 |
View Raw JSON Data
{
"block": 21821232,
"op": [
"vote",
{
"author": "pairplay",
"permlink": "20180423t230005818z-post",
"voter": "ethanhur",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-04-23T14:27:30",
"trx_id": "a60ce29135258e414c09893abac5fc2c7d0dbb77",
"trx_in_block": 16,
"virtual_op": 0
}2018/04/23 12:22:39
2018/04/23 12:22:39
| delegatee | ethanhur |
| delegator | steem |
| vesting shares | 28057.310694 VESTS |
| Transaction Info | Block #21818735/Trx 85e122dd26ac690e042c471578a14b78ad4c27d0 |
View Raw JSON Data
{
"block": 21818735,
"op": [
"delegate_vesting_shares",
{
"delegatee": "ethanhur",
"delegator": "steem",
"vesting_shares": "28057.310694 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2018-04-23T12:22:39",
"trx_id": "85e122dd26ac690e042c471578a14b78ad4c27d0",
"trx_in_block": 52,
"virtual_op": 0
}dj-on-steemupvoted (40.00%) @ethanhur / it2018/04/22 19:55:33
dj-on-steemupvoted (40.00%) @ethanhur / it
2018/04/22 19:55:33
| author | ethanhur |
| permlink | it |
| voter | dj-on-steem |
| weight | 4000 (40.00%) |
| Transaction Info | Block #21798994/Trx 6b520c200bbf319cfc6dd52c15bcc02f7e680f4b |
View Raw JSON Data
{
"block": 21798994,
"op": [
"vote",
{
"author": "ethanhur",
"permlink": "it",
"voter": "dj-on-steem",
"weight": 4000
}
],
"op_in_trx": 0,
"timestamp": "2018-04-22T19:55:33",
"trx_id": "6b520c200bbf319cfc6dd52c15bcc02f7e680f4b",
"trx_in_block": 16,
"virtual_op": 0
}2018/04/20 05:00:42
2018/04/20 05:00:42
| author | ethanhur |
| permlink | it |
| voter | eversloth |
| weight | 1000 (10.00%) |
| Transaction Info | Block #21723510/Trx 607547f5cdc83a194835505501b21a845ac4dce9 |
View Raw JSON Data
{
"block": 21723510,
"op": [
"vote",
{
"author": "ethanhur",
"permlink": "it",
"voter": "eversloth",
"weight": 1000
}
],
"op_in_trx": 0,
"timestamp": "2018-04-20T05:00:42",
"trx_id": "607547f5cdc83a194835505501b21a845ac4dce9",
"trx_in_block": 45,
"virtual_op": 0
}ethanhurclaimed reward balance: 0.084 SP2018/04/19 15:00:24
ethanhurclaimed reward balance: 0.084 SP
2018/04/19 15:00:24
| account | ethanhur |
| reward sbd | 0.000 SBD |
| reward steem | 0.000 STEEM |
| reward vests | 136.649452 VESTS |
| Transaction Info | Block #21706709/Trx d2a2acc6fd670d94f4f8c96debbb6d399f7c53cc |
View Raw JSON Data
{
"block": 21706709,
"op": [
"claim_reward_balance",
{
"account": "ethanhur",
"reward_sbd": "0.000 SBD",
"reward_steem": "0.000 STEEM",
"reward_vests": "136.649452 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2018-04-19T15:00:24",
"trx_id": "d2a2acc6fd670d94f4f8c96debbb6d399f7c53cc",
"trx_in_block": 67,
"virtual_op": 0
}2018/04/19 14:59:21
2018/04/19 14:59:21
| author | ethanhur |
| permlink | it |
| voter | ethanhur |
| weight | 10000 (100.00%) |
| Transaction Info | Block #21706688/Trx 9980186eb70e789a87a5059df469360191c2cfac |
View Raw JSON Data
{
"block": 21706688,
"op": [
"vote",
{
"author": "ethanhur",
"permlink": "it",
"voter": "ethanhur",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-04-19T14:59:21",
"trx_id": "9980186eb70e789a87a5059df469360191c2cfac",
"trx_in_block": 9,
"virtual_op": 0
}2018/04/19 14:59:21
2018/04/19 14:59:21
| author | ethanhur |
| body | 심심해서 YES24 에서 책을 뒤져보다가 산 [그림으로 배우는 IT 인프라 구조](http://www.yes24.com/24/goods/19041948?scode=032&OzSrank=1)를 읽었다. 목차의 키워드만 보고 읽어봐야 할 내용일 거 같아서 구매하고는, 이직에 바빠 읽지 않았었다. 정리하는 느낌으로 읽었는데, 그리 배운 건 많지 않은 것 같다. 일단 책 자체가 옛날 책이고, 엄청나게 broad 한 내용을 다루고 있어서 다루지 않는 내용들이 많다. 뒤로 갈수록 그나마 볼 내용이 있었으나, 클라우드 시대에서는 어플리케이션 개발자가 그리 심각하게 고민하지 않아도 되는 내용이거나 너무 전문적인 내용이라 겉핥기만 하고 지나가는 느낌이었다. 그냥 키워드를 한 번 훑고 갔다는 의미 이상은 없는 것 같다. 굳이 이 책을 살 필요는 없는 것 같다. |
| json metadata | {"tags":["kr-dev","kr"],"links":["http://www.yes24.com/24/goods/19041948?scode=032&OzSrank=1"],"app":"steemit/0.1","format":"markdown"} |
| parent author | |
| parent permlink | kr-dev |
| permlink | it |
| title | 그림으로 배우는 IT 인프라 구조 를 읽고 |
| Transaction Info | Block #21706688/Trx 9980186eb70e789a87a5059df469360191c2cfac |
View Raw JSON Data
{
"block": 21706688,
"op": [
"comment",
{
"author": "ethanhur",
"body": "심심해서 YES24 에서 책을 뒤져보다가 산 [그림으로 배우는 IT 인프라 구조](http://www.yes24.com/24/goods/19041948?scode=032&OzSrank=1)를 읽었다.\n\n 목차의 키워드만 보고 읽어봐야 할 내용일 거 같아서 구매하고는, 이직에 바빠 읽지 않았었다.\n\n 정리하는 느낌으로 읽었는데, 그리 배운 건 많지 않은 것 같다.\n\n 일단 책 자체가 옛날 책이고, 엄청나게 broad 한 내용을 다루고 있어서 다루지 않는 내용들이 많다.\n\n 뒤로 갈수록 그나마 볼 내용이 있었으나, 클라우드 시대에서는 어플리케이션 개발자가 그리 심각하게 고민하지 않아도 되는 내용이거나 너무 전문적인 내용이라 겉핥기만 하고 지나가는 느낌이었다.\n\n 그냥 키워드를 한 번 훑고 갔다는 의미 이상은 없는 것 같다.\n\n 굳이 이 책을 살 필요는 없는 것 같다.",
"json_metadata": "{\"tags\":[\"kr-dev\",\"kr\"],\"links\":[\"http://www.yes24.com/24/goods/19041948?scode=032&OzSrank=1\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
"parent_author": "",
"parent_permlink": "kr-dev",
"permlink": "it",
"title": "그림으로 배우는 IT 인프라 구조 를 읽고"
}
],
"op_in_trx": 0,
"timestamp": "2018-04-19T14:59:21",
"trx_id": "9980186eb70e789a87a5059df469360191c2cfac",
"trx_in_block": 9,
"virtual_op": 0
}2018/04/02 15:49:21
2018/04/02 15:49:21
| author | ethanhur |
| permlink | tdd |
| sbd payout | 0.000 SBD |
| steem payout | 0.000 STEEM |
| vesting payout | 136.649452 VESTS |
| Transaction Info | Block #21218153/Virtual Operation #15 |
View Raw JSON Data
{
"block": 21218153,
"op": [
"author_reward",
{
"author": "ethanhur",
"permlink": "tdd",
"sbd_payout": "0.000 SBD",
"steem_payout": "0.000 STEEM",
"vesting_payout": "136.649452 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2018-04-02T15:49:21",
"trx_id": "0000000000000000000000000000000000000000",
"trx_in_block": 4294967295,
"virtual_op": 15
}2018/03/29 14:34:45
2018/03/29 14:34:45
| id | follow |
| json | ["follow",{"follower":"ethanhur","following":"jacobyu","what":["blog"]}] |
| required auths | [] |
| required posting auths | ["ethanhur"] |
| Transaction Info | Block #21101490/Trx f062872b89257074d6100b5d3d9824abe99754c1 |
View Raw JSON Data
{
"block": 21101490,
"op": [
"custom_json",
{
"id": "follow",
"json": "[\"follow\",{\"follower\":\"ethanhur\",\"following\":\"jacobyu\",\"what\":[\"blog\"]}]",
"required_auths": [],
"required_posting_auths": [
"ethanhur"
]
}
],
"op_in_trx": 0,
"timestamp": "2018-03-29T14:34:45",
"trx_id": "f062872b89257074d6100b5d3d9824abe99754c1",
"trx_in_block": 13,
"virtual_op": 0
}dj-on-steemreplied to @ethanhur / re-ethanhur-tdd-20180329t143357298z2018/03/29 14:33:54
dj-on-steemreplied to @ethanhur / re-ethanhur-tdd-20180329t143357298z
2018/03/29 14:33:54
| author | dj-on-steem |
| body | 사실 전 TDD가 뭔지 잘 모르겠지만, 글 제목 옆에 온천마크가 신경쓰여 들어왔습니다. 혹시 일부러 그러신게 아니라면 글 올릴 시 보상은 스달/스팀 반반으로 하시길 권장합니다. 왜냐면 이게 저자에게 더 이득이거든요. (스팀 100%로 하면 글 제목 옆에 온천마크가 뜹니다.) |
| json metadata | {"tags":["kr-dev"],"app":"steemkr/0.1"} |
| parent author | ethanhur |
| parent permlink | tdd |
| permlink | re-ethanhur-tdd-20180329t143357298z |
| title | |
| Transaction Info | Block #21101473/Trx 3da3fd0ff094bc0f04b27a18ee1a8a99eaf861ee |
View Raw JSON Data
{
"block": 21101473,
"op": [
"comment",
{
"author": "dj-on-steem",
"body": "사실 전 TDD가 뭔지 잘 모르겠지만, 글 제목 옆에 온천마크가 신경쓰여 들어왔습니다. 혹시 일부러 그러신게 아니라면 글 올릴 시 보상은 스달/스팀 반반으로 하시길 권장합니다. 왜냐면 이게 저자에게 더 이득이거든요. (스팀 100%로 하면 글 제목 옆에 온천마크가 뜹니다.)",
"json_metadata": "{\"tags\":[\"kr-dev\"],\"app\":\"steemkr/0.1\"}",
"parent_author": "ethanhur",
"parent_permlink": "tdd",
"permlink": "re-ethanhur-tdd-20180329t143357298z",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2018-03-29T14:33:54",
"trx_id": "3da3fd0ff094bc0f04b27a18ee1a8a99eaf861ee",
"trx_in_block": 38,
"virtual_op": 0
}dj-on-steemupvoted (40.00%) @ethanhur / tdd2018/03/29 14:32:09
dj-on-steemupvoted (40.00%) @ethanhur / tdd
2018/03/29 14:32:09
| author | ethanhur |
| permlink | tdd |
| voter | dj-on-steem |
| weight | 4000 (40.00%) |
| Transaction Info | Block #21101438/Trx 71e883941a4d1ae856e70c4e49cabbbdd638ec9e |
View Raw JSON Data
{
"block": 21101438,
"op": [
"vote",
{
"author": "ethanhur",
"permlink": "tdd",
"voter": "dj-on-steem",
"weight": 4000
}
],
"op_in_trx": 0,
"timestamp": "2018-03-29T14:32:09",
"trx_id": "71e883941a4d1ae856e70c4e49cabbbdd638ec9e",
"trx_in_block": 7,
"virtual_op": 0
}jacobyureplied to @ethanhur / re-ethanhur-2018327t192915979z2018/03/27 12:46:30
jacobyureplied to @ethanhur / re-ethanhur-2018327t192915979z
2018/03/27 12:46:30
| author | jacobyu |
| body | 테스트 주도 개발 세미나에서 실습도해봤는데 적용을 제대로 못해본거같아요. 담에 한번 이책 봐보고싶군요! |
| json metadata | {"tags":["kr-dev"],"app":"esteem/1.5.1","format":"markdown+html","community":"esteem"} |
| parent author | ethanhur |
| parent permlink | tdd |
| permlink | re-ethanhur-2018327t192915979z |
| title | |
| Transaction Info | Block #21041752/Trx 5d795d0b5a6ae45c1357fe37aac84afc9be9cc02 |
View Raw JSON Data
{
"block": 21041752,
"op": [
"comment",
{
"author": "jacobyu",
"body": "테스트 주도 개발\n세미나에서 실습도해봤는데\n적용을 제대로 못해본거같아요.\n담에 한번 이책 봐보고싶군요!",
"json_metadata": "{\"tags\":[\"kr-dev\"],\"app\":\"esteem/1.5.1\",\"format\":\"markdown+html\",\"community\":\"esteem\"}",
"parent_author": "ethanhur",
"parent_permlink": "tdd",
"permlink": "re-ethanhur-2018327t192915979z",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2018-03-27T12:46:30",
"trx_id": "5d795d0b5a6ae45c1357fe37aac84afc9be9cc02",
"trx_in_block": 59,
"virtual_op": 0
}jacobyureplied to @ethanhur / re-ethanhur-2018327t192915979z2018/03/27 10:29:15
jacobyureplied to @ethanhur / re-ethanhur-2018327t192915979z
2018/03/27 10:29:15
| author | jacobyu |
| body | 테스트 주도 개발 세미나에서 실습도해봤는데 적용을 제대로 못해본거같아요. |
| json metadata | {"tags":["kr-dev"],"app":"esteem/1.5.1","format":"markdown+html","community":"esteem"} |
| parent author | ethanhur |
| parent permlink | tdd |
| permlink | re-ethanhur-2018327t192915979z |
| title | |
| Transaction Info | Block #21039008/Trx 391cc0cfd56443593abacd8d2260a7ff0ed5daae |
View Raw JSON Data
{
"block": 21039008,
"op": [
"comment",
{
"author": "jacobyu",
"body": "테스트 주도 개발\n세미나에서 실습도해봤는데\n적용을 제대로 못해본거같아요.",
"json_metadata": "{\"tags\":[\"kr-dev\"],\"app\":\"esteem/1.5.1\",\"format\":\"markdown+html\",\"community\":\"esteem\"}",
"parent_author": "ethanhur",
"parent_permlink": "tdd",
"permlink": "re-ethanhur-2018327t192915979z",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2018-03-27T10:29:15",
"trx_id": "391cc0cfd56443593abacd8d2260a7ff0ed5daae",
"trx_in_block": 71,
"virtual_op": 0
}2018/03/27 10:28:24
2018/03/27 10:28:24
| author | ethanhur |
| permlink | tdd |
| voter | jacobyu |
| weight | 2537 (25.37%) |
| Transaction Info | Block #21038991/Trx 4c1dc845cca3b0933ff98aab696c61d106deab58 |
View Raw JSON Data
{
"block": 21038991,
"op": [
"vote",
{
"author": "ethanhur",
"permlink": "tdd",
"voter": "jacobyu",
"weight": 2537
}
],
"op_in_trx": 0,
"timestamp": "2018-03-27T10:28:24",
"trx_id": "4c1dc845cca3b0933ff98aab696c61d106deab58",
"trx_in_block": 48,
"virtual_op": 0
}2018/03/26 21:43:48
2018/03/26 21:43:48
| author | ethanhur |
| permlink | tdd |
| voter | wonsama |
| weight | 1000 (10.00%) |
| Transaction Info | Block #21023700/Trx 6325525bac5bfe2ffcbda90c094267bfdbc5f69c |
View Raw JSON Data
{
"block": 21023700,
"op": [
"vote",
{
"author": "ethanhur",
"permlink": "tdd",
"voter": "wonsama",
"weight": 1000
}
],
"op_in_trx": 0,
"timestamp": "2018-03-26T21:43:48",
"trx_id": "6325525bac5bfe2ffcbda90c094267bfdbc5f69c",
"trx_in_block": 39,
"virtual_op": 0
}2018/03/26 15:50:21
2018/03/26 15:50:21
| author | ethanhur |
| permlink | tdd |
| voter | ubg |
| weight | 100 (1.00%) |
| Transaction Info | Block #21016633/Trx 4149b7607e05d8aec87df8929b8a10db3476bff2 |
View Raw JSON Data
{
"block": 21016633,
"op": [
"vote",
{
"author": "ethanhur",
"permlink": "tdd",
"voter": "ubg",
"weight": 100
}
],
"op_in_trx": 0,
"timestamp": "2018-03-26T15:50:21",
"trx_id": "4149b7607e05d8aec87df8929b8a10db3476bff2",
"trx_in_block": 26,
"virtual_op": 0
}2018/03/26 15:49:21
2018/03/26 15:49:21
| author | ethanhur |
| permlink | tdd |
| voter | ethanhur |
| weight | 10000 (100.00%) |
| Transaction Info | Block #21016613/Trx 79bc85883a3276fdee62862a5cc048af7e165c4f |
View Raw JSON Data
{
"block": 21016613,
"op": [
"vote",
{
"author": "ethanhur",
"permlink": "tdd",
"voter": "ethanhur",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-03-26T15:49:21",
"trx_id": "79bc85883a3276fdee62862a5cc048af7e165c4f",
"trx_in_block": 42,
"virtual_op": 0
}2018/03/26 15:49:21
2018/03/26 15:49:21
| allow curation rewards | true |
| allow votes | true |
| author | ethanhur |
| extensions | [] |
| max accepted payout | 1000000.000 SBD |
| percent steem dollars | 0 |
| permlink | tdd |
| Transaction Info | Block #21016613/Trx 79bc85883a3276fdee62862a5cc048af7e165c4f |
View Raw JSON Data
{
"block": 21016613,
"op": [
"comment_options",
{
"allow_curation_rewards": true,
"allow_votes": true,
"author": "ethanhur",
"extensions": [],
"max_accepted_payout": "1000000.000 SBD",
"percent_steem_dollars": 0,
"permlink": "tdd"
}
],
"op_in_trx": 0,
"timestamp": "2018-03-26T15:49:21",
"trx_id": "79bc85883a3276fdee62862a5cc048af7e165c4f",
"trx_in_block": 42,
"virtual_op": 0
}2018/03/26 15:49:21
2018/03/26 15:49:21
| author | ethanhur |
| body | 언제나 그렇듯 추천을 받고 [TDD:By Example](https://www.amazon.com/Test-Driven-Development-Kent-Beck/dp/0321146530) 을 읽었다. 사실 1부의 Currency Example 의 전개 과정을 읽고 싶어서 샀는데, 나름 재미있어서 금방 읽은 것 같다. 1부에서 켄트 벡 아조씨의 논리전개는 정말 환상적이었다. 밥 아저씨의 그림을 보는 것처럼 쓱싹쓱싹 뭔가를 하니 시스템이 하나 완성된 느낌이랄까? 1부 마지막에서는 처음 작성했던 모델과 딴판인 모델이 되었지만, 그것이 만들어지는 과정이 정말 논리적이었고, 수긍을 할 수 밖에 없었다. 3부에서는 TDD의 각종 패턴들에 대해 설명하는데, 디자인 패턴과 겹치는 부분도 있고 살짝 그냥 읽고 넘긴 것 같다. 하지만 내용은 곱씹으면 정말 도움이 많이 되는 말들이 많은 것 같아, 틈틈이 훑으면서 외울 생각이다. 솔직히 말하면 책에 나오는 정도까지 Test-Driven 한 개발을 실제로 할 수 있을 지는 모르겠다. 하지만 TDD에서 설명하는 논리는 아주 우아하고, 마치 그렇게 개발을 해야 할 것 같다. 적어도 TDD의 철학을 생각하며 개발을 할 순 있겠지. |
| json metadata | {"tags":["kr-dev"],"links":["https://www.amazon.com/Test-Driven-Development-Kent-Beck/dp/0321146530"],"app":"steemit/0.1","format":"markdown"} |
| parent author | |
| parent permlink | kr-dev |
| permlink | tdd |
| title | TDD를 읽고 |
| Transaction Info | Block #21016613/Trx 79bc85883a3276fdee62862a5cc048af7e165c4f |
View Raw JSON Data
{
"block": 21016613,
"op": [
"comment",
{
"author": "ethanhur",
"body": "언제나 그렇듯 추천을 받고 [TDD:By Example](https://www.amazon.com/Test-Driven-Development-Kent-Beck/dp/0321146530) 을 읽었다.\n\n 사실 1부의 Currency Example 의 전개 과정을 읽고 싶어서 샀는데, 나름 재미있어서 금방 읽은 것 같다.\n\n 1부에서 켄트 벡 아조씨의 논리전개는 정말 환상적이었다. 밥 아저씨의 그림을 보는 것처럼 쓱싹쓱싹 뭔가를 하니 시스템이 하나 완성된 느낌이랄까?\n\n 1부 마지막에서는 처음 작성했던 모델과 딴판인 모델이 되었지만, 그것이 만들어지는 과정이 정말 논리적이었고, 수긍을 할 수 밖에 없었다.\n\n 3부에서는 TDD의 각종 패턴들에 대해 설명하는데, 디자인 패턴과 겹치는 부분도 있고 살짝 그냥 읽고 넘긴 것 같다.\n\n 하지만 내용은 곱씹으면 정말 도움이 많이 되는 말들이 많은 것 같아, 틈틈이 훑으면서 외울 생각이다.\n\n 솔직히 말하면 책에 나오는 정도까지 Test-Driven 한 개발을 실제로 할 수 있을 지는 모르겠다.\n\n 하지만 TDD에서 설명하는 논리는 아주 우아하고, 마치 그렇게 개발을 해야 할 것 같다.\n\n 적어도 TDD의 철학을 생각하며 개발을 할 순 있겠지.",
"json_metadata": "{\"tags\":[\"kr-dev\"],\"links\":[\"https://www.amazon.com/Test-Driven-Development-Kent-Beck/dp/0321146530\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
"parent_author": "",
"parent_permlink": "kr-dev",
"permlink": "tdd",
"title": "TDD를 읽고"
}
],
"op_in_trx": 0,
"timestamp": "2018-03-26T15:49:21",
"trx_id": "79bc85883a3276fdee62862a5cc048af7e165c4f",
"trx_in_block": 42,
"virtual_op": 0
}2018/03/15 06:19:00
2018/03/15 06:19:00
| author | kdj |
| body | https://wecodetheweb.com/2016/02/12/immutable-javascript-using-es6-and-beyond/ |
| json metadata | {"tags":["kr-dev"],"links":["https://wecodetheweb.com/2016/02/12/immutable-javascript-using-es6-and-beyond/"],"app":"steemit/0.1"} |
| parent author | ethanhur |
| parent permlink | re-kdj-re-ethanhur-value-object-pattern-20180312t150336741z |
| permlink | re-ethanhur-re-kdj-re-ethanhur-value-object-pattern-20180315t061859779z |
| title | |
| Transaction Info | Block #20689328/Trx 421d3520eee75679f30f511ab5623966fa9487b5 |
View Raw JSON Data
{
"block": 20689328,
"op": [
"comment",
{
"author": "kdj",
"body": "https://wecodetheweb.com/2016/02/12/immutable-javascript-using-es6-and-beyond/",
"json_metadata": "{\"tags\":[\"kr-dev\"],\"links\":[\"https://wecodetheweb.com/2016/02/12/immutable-javascript-using-es6-and-beyond/\"],\"app\":\"steemit/0.1\"}",
"parent_author": "ethanhur",
"parent_permlink": "re-kdj-re-ethanhur-value-object-pattern-20180312t150336741z",
"permlink": "re-ethanhur-re-kdj-re-ethanhur-value-object-pattern-20180315t061859779z",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2018-03-15T06:19:00",
"trx_id": "421d3520eee75679f30f511ab5623966fa9487b5",
"trx_in_block": 28,
"virtual_op": 0
}2018/03/14 12:49:09
2018/03/14 12:49:09
| id | follow |
| json | ["follow",{"follower":"ethanhur","following":"osyvv","what":["blog"]}] |
| required auths | [] |
| required posting auths | ["ethanhur"] |
| Transaction Info | Block #20668398/Trx d786a0e72b9bddd3041499a8ba191a9cecd82df7 |
View Raw JSON Data
{
"block": 20668398,
"op": [
"custom_json",
{
"id": "follow",
"json": "[\"follow\",{\"follower\":\"ethanhur\",\"following\":\"osyvv\",\"what\":[\"blog\"]}]",
"required_auths": [],
"required_posting_auths": [
"ethanhur"
]
}
],
"op_in_trx": 0,
"timestamp": "2018-03-14T12:49:09",
"trx_id": "d786a0e72b9bddd3041499a8ba191a9cecd82df7",
"trx_in_block": 7,
"virtual_op": 0
}2018/03/12 17:50:51
2018/03/12 17:50:51
| delegatee | ethanhur |
| delegator | steem |
| vesting shares | 28261.111007 VESTS |
| Transaction Info | Block #20616853/Trx 60df46f9e98c76a52435e65d1ab7c39ba1a8c40e |
View Raw JSON Data
{
"block": 20616853,
"op": [
"delegate_vesting_shares",
{
"delegatee": "ethanhur",
"delegator": "steem",
"vesting_shares": "28261.111007 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2018-03-12T17:50:51",
"trx_id": "60df46f9e98c76a52435e65d1ab7c39ba1a8c40e",
"trx_in_block": 44,
"virtual_op": 0
}ethanhurclaimed reward balance: 0.345 SP2018/03/12 15:04:30
ethanhurclaimed reward balance: 0.345 SP
2018/03/12 15:04:30
| account | ethanhur |
| reward sbd | 0.000 SBD |
| reward steem | 0.000 STEEM |
| reward vests | 561.523179 VESTS |
| Transaction Info | Block #20613528/Trx d42da18f7e9f5b5d864db2cd66f093eaaad20fc0 |
View Raw JSON Data
{
"block": 20613528,
"op": [
"claim_reward_balance",
{
"account": "ethanhur",
"reward_sbd": "0.000 SBD",
"reward_steem": "0.000 STEEM",
"reward_vests": "561.523179 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2018-03-12T15:04:30",
"trx_id": "d42da18f7e9f5b5d864db2cd66f093eaaad20fc0",
"trx_in_block": 21,
"virtual_op": 0
}2018/03/12 15:03:48
2018/03/12 15:03:48
| author | ethanhur |
| body | 좋은 답변 감사합니다. 그런데 ... 와 immutable programming 이 어떻게 관련이 있는지 잘 이해가 안되네요. |
| json metadata | {"tags":["kr-dev"],"app":"steemit/0.1"} |
| parent author | kdj |
| parent permlink | re-ethanhur-value-object-pattern-20180307t084837630z |
| permlink | re-kdj-re-ethanhur-value-object-pattern-20180312t150336741z |
| title | |
| Transaction Info | Block #20613514/Trx ed127ef746d914b8deb22fe8154d5d6c65774b0c |
View Raw JSON Data
{
"block": 20613514,
"op": [
"comment",
{
"author": "ethanhur",
"body": "좋은 답변 감사합니다.\n\n그런데 ... 와 immutable programming 이 어떻게 관련이 있는지 잘 이해가 안되네요.",
"json_metadata": "{\"tags\":[\"kr-dev\"],\"app\":\"steemit/0.1\"}",
"parent_author": "kdj",
"parent_permlink": "re-ethanhur-value-object-pattern-20180307t084837630z",
"permlink": "re-kdj-re-ethanhur-value-object-pattern-20180312t150336741z",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2018-03-12T15:03:48",
"trx_id": "ed127ef746d914b8deb22fe8154d5d6c65774b0c",
"trx_in_block": 11,
"virtual_op": 0
}ethanhurupvoted (100.00%) @kdj / re-ethanhur-value-object-pattern-20180307t084837630z2018/03/12 14:53:18
ethanhurupvoted (100.00%) @kdj / re-ethanhur-value-object-pattern-20180307t084837630z
2018/03/12 14:53:18
| author | kdj |
| permlink | re-ethanhur-value-object-pattern-20180307t084837630z |
| voter | ethanhur |
| weight | 10000 (100.00%) |
| Transaction Info | Block #20613305/Trx c5aedaff449a9d460c94270f5aa650d501883483 |
View Raw JSON Data
{
"block": 20613305,
"op": [
"vote",
{
"author": "kdj",
"permlink": "re-ethanhur-value-object-pattern-20180307t084837630z",
"voter": "ethanhur",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-03-12T14:53:18",
"trx_id": "c5aedaff449a9d460c94270f5aa650d501883483",
"trx_in_block": 54,
"virtual_op": 0
}ethanhurreceived 0.345 SP author reward for @ethanhur / value-object-pattern2018/03/11 16:43:06
ethanhurreceived 0.345 SP author reward for @ethanhur / value-object-pattern
2018/03/11 16:43:06
| author | ethanhur |
| permlink | value-object-pattern |
| sbd payout | 0.000 SBD |
| steem payout | 0.000 STEEM |
| vesting payout | 561.523179 VESTS |
| Transaction Info | Block #20586744/Virtual Operation #5 |
View Raw JSON Data
{
"block": 20586744,
"op": [
"author_reward",
{
"author": "ethanhur",
"permlink": "value-object-pattern",
"sbd_payout": "0.000 SBD",
"steem_payout": "0.000 STEEM",
"vesting_payout": "561.523179 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2018-03-11T16:43:06",
"trx_id": "0000000000000000000000000000000000000000",
"trx_in_block": 4294967295,
"virtual_op": 5
}brainstormotupvoted (100.00%) @ethanhur / value-object-pattern2018/03/07 16:37:21
brainstormotupvoted (100.00%) @ethanhur / value-object-pattern
2018/03/07 16:37:21
| author | ethanhur |
| permlink | value-object-pattern |
| voter | brainstormot |
| weight | 10000 (100.00%) |
| Transaction Info | Block #20471604/Trx b8cb77bde4541ff66db2c6fc39917a1d637704f0 |
View Raw JSON Data
{
"block": 20471604,
"op": [
"vote",
{
"author": "ethanhur",
"permlink": "value-object-pattern",
"voter": "brainstormot",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-03-07T16:37:21",
"trx_id": "b8cb77bde4541ff66db2c6fc39917a1d637704f0",
"trx_in_block": 12,
"virtual_op": 0
}2018/03/07 08:48:39
2018/03/07 08:48:39
| author | kdj |
| body | Value 는 상수, Object 는 변수 모든 객체를 Value 화 하자는 것이 immutable programming 개념이며, 함수형 언어에서 중요시 하는 부분이기도 합니다. Javascript 의 Spread 연산자 (...) 를 이해해 보는 것이 좋을 듯 하네요... |
| json metadata | {"tags":["kr-dev"],"app":"steemit/0.1"} |
| parent author | ethanhur |
| parent permlink | value-object-pattern |
| permlink | re-ethanhur-value-object-pattern-20180307t084837630z |
| title | |
| Transaction Info | Block #20462264/Trx 17fc4e4be9f8e3f60e21671c28c57fb63607aedd |
View Raw JSON Data
{
"block": 20462264,
"op": [
"comment",
{
"author": "kdj",
"body": "Value 는 상수, Object 는 변수\n모든 객체를 Value 화 하자는 것이 immutable programming 개념이며, 함수형 언어에서 중요시 하는 부분이기도 합니다.\nJavascript 의 Spread 연산자 (...) 를 이해해 보는 것이 좋을 듯 하네요...",
"json_metadata": "{\"tags\":[\"kr-dev\"],\"app\":\"steemit/0.1\"}",
"parent_author": "ethanhur",
"parent_permlink": "value-object-pattern",
"permlink": "re-ethanhur-value-object-pattern-20180307t084837630z",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2018-03-07T08:48:39",
"trx_id": "17fc4e4be9f8e3f60e21671c28c57fb63607aedd",
"trx_in_block": 12,
"virtual_op": 0
}kdjupvoted (20.00%) @ethanhur / value-object-pattern2018/03/07 08:42:33
kdjupvoted (20.00%) @ethanhur / value-object-pattern
2018/03/07 08:42:33
| author | ethanhur |
| permlink | value-object-pattern |
| voter | kdj |
| weight | 2000 (20.00%) |
| Transaction Info | Block #20462142/Trx 17162992591f9a3ef82edd22418056d606a1f935 |
View Raw JSON Data
{
"block": 20462142,
"op": [
"vote",
{
"author": "ethanhur",
"permlink": "value-object-pattern",
"voter": "kdj",
"weight": 2000
}
],
"op_in_trx": 0,
"timestamp": "2018-03-07T08:42:33",
"trx_id": "17162992591f9a3ef82edd22418056d606a1f935",
"trx_in_block": 6,
"virtual_op": 0
}Manabar
Voting Power100.00%
Downvote Power100.00%
Resource Credits100.00%
Reputation Progress66.29%
{
"voting_manabar": {
"current_mana": "8143659806",
"last_update_time": 1779062733
},
"downvote_manabar": {
"current_mana": 2035914951,
"last_update_time": 1779062733
},
"rc_account": {
"account": "ethanhur",
"max_rc": "10164408779",
"max_rc_creation_adjustment": {
"amount": "2020748973",
"nai": "@@000000037",
"precision": 6
},
"rc_manabar": {
"current_mana": "10164408779",
"last_update_time": 1779062733
}
}
}Account Metadata
| POSTING JSON METADATA | |
| profile | {"profile_image":"http://ethanhur.me/assets/images/profile.jpg","location":"Seoul","website":"http://ethanhur.me"} |
| JSON METADATA | |
| profile | {"profile_image":"http://ethanhur.me/assets/images/profile.jpg","location":"Seoul","website":"http://ethanhur.me"} |
{
"posting_json_metadata": {
"profile": {
"profile_image": "http://ethanhur.me/assets/images/profile.jpg",
"location": "Seoul",
"website": "http://ethanhur.me"
}
},
"json_metadata": {
"profile": {
"profile_image": "http://ethanhur.me/assets/images/profile.jpg",
"location": "Seoul",
"website": "http://ethanhur.me"
}
}
}Auth Keys
Owner
Single Signature
Public Keys
STM5ERiWPBhco7z3yUdwDWMjq4gkdxzGHLSJH8JoHihtKxtt3g29x1/1
Active
Single Signature
Public Keys
STM66Vb2kr1C51o2C94MN9gT1V7eYAu39F5ahp2rV4R9xdM2Vdzai1/1
Posting
Single Signature
Public Keys
STM4ztAxvNqGLn2utHwJbH4EDBFpG8f74Nc1wLribPgSsEPqN9ywg1/1
Memo
STM59spwyEjqPysvx6ZLT5ZXfZtE6NqXougeRzGE3mJ6WoX8oinDJ
{
"owner": {
"account_auths": [],
"key_auths": [
[
"STM5ERiWPBhco7z3yUdwDWMjq4gkdxzGHLSJH8JoHihtKxtt3g29x",
1
]
],
"weight_threshold": 1
},
"active": {
"account_auths": [],
"key_auths": [
[
"STM66Vb2kr1C51o2C94MN9gT1V7eYAu39F5ahp2rV4R9xdM2Vdzai",
1
]
],
"weight_threshold": 1
},
"posting": {
"account_auths": [],
"key_auths": [
[
"STM4ztAxvNqGLn2utHwJbH4EDBFpG8f74Nc1wLribPgSsEPqN9ywg",
1
]
],
"weight_threshold": 1
},
"memo": "STM59spwyEjqPysvx6ZLT5ZXfZtE6NqXougeRzGE3mJ6WoX8oinDJ"
}Witness Votes
0 / 30
No active witness votes.
[]