Lessons we’ve learned on real projects (page 189)
The links, tools and tips our engineers and designers share with each other, one “today I learned” at a time.
- lessons shared
- 3,447
- people sharing
- 86
- database started in
- 2016










Tech Insights· levelup.gitconnected.com
How To Use Technical Debt In Your Favor:
Shared by
Read on levelup.gitconnected.com
iqbalnaved.wordpress.com
ipdb can also be used when debugging issues with environments other than your local one.
ipdb.runcallhelps one debug issues on method calls through and IPython shell, and it's as simple as:``` import ipdb import xpto_method # the method one wants to debug ipdb.runcall(xpto_method, 'method arg') (ipdb) ... ``` ipdb.runcall receives the method one wants to call as the first argument, and subsequent to that the target method arguments. For more usage examples, check:
Carlos Coelho

Tech Insights· iqbalnaved.wordpress.com
ipdb can also be used when debugging issues with environments other than your local one.
ipdb.runcallhelps one debug issues on method calls through and IPython shell, and it's as simple as:```
import ipdb import xpto_method # the method one wants to debug ipdb.runcall(xpto_method, 'method arg') (ipdb) ... ```
ipdb.runcallreceives the method one wants to call as the first argument, and subsequent to that the target method arguments.For more usage examples, check:
Shared by
Read on iqbalnaved.wordpress.com- Debug
- Ipdb
- Python
stackoverflow.com
How to change the timezone without changing the date value with moment.js and moment-timezone
Luca Bezerra
Tech Insights· stackoverflow.com
How to change the timezone without changing the date value with moment.js and moment-timezone
Shared by
Read on stackoverflow.com- Date
- JavaScript
- Momentjs
- Timezone

docs.pytest.org
pytest makes it easier to flag tests that are expected to fail. It's really useful when in development, e.g., feature not yet implement or bug not totally fixed. Making use of it is as simple as:
import pytest @pytest.mark.xfail def test_xpto(): ... This way, it'll be presented differently in the terminal report and one can track whether a test is failing as expected or unexpectedly passing. While the test marked as expected to fail will be presented as xfailed in the test summary, if it passes it'll be displayed as xpassed and when that happens it's not displayed as passed because that test was marked to expect failure. One can even go further and set a reason to why a test is expected to fail, one can set a reason: import pytest @pytest.mark.xfail(reason="feature not totally implemented") def test_xpto(): ... To display this reason in the test summary, one can use the -r option with the corresponding "short" letters shown in progress(x for xfail and/or X for xpass), e.g. pytest -rxX. For more information, check the documentation at: #xfail-mark-test-functions-as-expected-to-fail
Carlos Coelho

Tech Insights· docs.pytest.org
pytest makes it easier to flag tests that are expected to fail. It's really useful when in development, e.g., feature not yet implement or bug not totally fixed. Making use of it is as simple as:
import pytest @pytest.mark.xfail def test_xpto(): ...This way, it'll be presented differently in the terminal report and one can track whether a test is failing as expected or unexpectedly passing.
While the test marked as expected to fail will be presented as
xfailedin the test summary, if it passes it'll be displayed asxpassedand when that happens it's not displayed aspassedbecause that test was marked to expect failure.One can even go further and set a reason to why a test is expected to fail, one can set a reason:
import pytest @pytest.mark.xfail(reason="feature not totally implemented") def test_xpto(): ...To display this reason in the test summary, one can use the
-roption with the corresponding "short" letters shown in progress(xforxfailand/orXforxpass), e.g.pytest -rxX.For more information, check the documentation at: #xfail-mark-test-functions-as-expected-to-fail
Shared by
Read on docs.pytest.org- Pytest

varvet.com
You should be careful when naming your heroku apps
Digital product studio with tech, design and business savvy, all in the same room. We craft human experiences that defy expectations. Just ask Volvo.
Luca Bezerra

Tech Insights· varvet.com
You should be careful when naming your heroku apps
From varvet.com
Digital product studio with tech, design and business savvy, all in the same room. We craft human experiences that defy expectations. Just ask Volvo.
Shared by
Read on varvet.com- Database
- Heroku
- Safety
- Security
Tech Insights· techblog.commercetools.com
New browser features to secure Single Page Applications:
Shared by
Read on techblog.commercetools.com- Security
- Spa
- Web


Tech Insights· uxdesign.cc
The importance of Design QA in digital product design
Shared by
Read on uxdesign.cc- Design
- Product Strategy
- Qa

disambiguity.com
sketching on whiteboards and sticking post-its on walls can do a lot for a product team
Earlier this week I did a talk at the Mind the Product conference in San Francisco. I was talking about research, but now that i work at Atlassian, the examples I gave included some from the Jira t…
Aline Silveira

Tech Insights· disambiguity.com
sketching on whiteboards and sticking post-its on walls can do a lot for a product team
From disambiguity.com
Earlier this week I did a talk at the Mind the Product conference in San Francisco. I was talking about research, but now that i work at Atlassian, the examples I gave included some from the Jira t…
Shared by
Read on disambiguity.com- Workflow

docs.djangoproject.com
If you want to add a unique non-nullable field to a table with existent rows, you'll need to a few extra steps because **Djan...
If you want to add a unique non-nullable field to a table with existent rows, you'll need to a few extra steps because Django generates the value to populate existent rows only once. For the extra steps, check these instructions in #migrations-that-add-unique-fields
Carlos Coelho

Tech Insights· docs.djangoproject.com
If you want to add a unique non-nullable field to a table with existent rows, you'll need to a few extra steps because **Djan...
If you want to add a unique non-nullable field to a table with existent rows, you'll need to a few extra steps because Django generates the value to populate existent rows only once. For the extra steps, check these instructions in #migrations-that-add-unique-fields
Shared by
Read on docs.djangoproject.com- Django
- Migrations


Tech Insights· medium.com
Nice tip if you want to add keys to objects conditionally
Shared by
Read on medium.com

Tech Insights· invisionapp.com
How to use microinteractions to improve UX design
Shared by
Read on invisionapp.com- Design
- UI
- UX
Tech Insights· uxplanet.org
how to write good error messages
Shared by
Read on uxplanet.org- Copywriting
- UI
- Link offlineLink offline
Tech Insights· github.com
If you using modals on your react application you have to check react-portals Portals make your react components to be rendered outside the parent component (eg.: append to body)
Shared by
The original link on github.com is no longer available.
Look for it on the Wayback Machine- Frontend
- JavaScript
- React

m.signalvnoise.com
A case against presence status in online work tools
Are you chained to the green dot? Turn it off and break free. As a general rule, nobody at Basecamp really knows where anyone else is at any given moment. Are they working? Dunno. Are they taking a…
Aline Silveira

Tech Insights· m.signalvnoise.com
A case against presence status in online work tools
From m.signalvnoise.com
Are you chained to the green dot? Turn it off and break free. As a general rule, nobody at Basecamp really knows where anyone else is at any given moment. Are they working? Dunno. Are they taking a…
Shared by
Read on m.signalvnoise.com- Culture
- Management

m.signalvnoise.com
the pros & cons of group chat, and how to make the best use of it
Is this you? Are you making other feel like this? Group chat is like being in an all-day meeting with random participants and no agenda. In 2006 we launched Campfire, the first modern SAAS group ch…
Aline Silveira

Tech Insights· m.signalvnoise.com
the pros & cons of group chat, and how to make the best use of it
From m.signalvnoise.com
Is this you? Are you making other feel like this? Group chat is like being in an all-day meeting with random participants and no agenda. In 2006 we launched Campfire, the first modern SAAS group ch…
Shared by
Read on m.signalvnoise.com- Management
- Productivity
- Tools
Book a call
Found it useful?
Let’s put it to work.
Tell us about your product and the problem in front of you. We’ll bring what we’ve learned on real projects.
Tell us about your product, and we’ll bring what we’ve learned.
Still prefer the good old email? Contact us



