This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
import base64 | |
from Crypto import Random | |
from Crypto.Cipher import AES | |
import hashlib | |
BS = 16 | |
pad = lambda s: s + (BS - len(s) % BS) * chr(BS - len(s) % BS) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# applied when back up through 'sudo openproject run backup' not working due to access denied 1045 issue | |
# using mysqldump instead. be sure to replace 'BACKUP_PATH/backup.sql' with desired baclup file location. | |
sudo mysqldump --single-transaction --add-drop-table --add-locks --result-file=BACKUP_PATH/backup.sql --host=localhost --user=openproject --password openproject | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# assume : | |
# - openproject installed in /opt/openproject | |
# - local port: 6000 | |
# - external port: 6020 | |
server { | |
listen 6020; | |
server_name SERVER_DOMAIN_NAME; | |
root /opt/openproject/public; | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
example delimiters : [ !,?._'@] (including space) | |
*/ | |
String[] tokens = s.replaceFirst("^[ !,?._'@]+", "").split("[ !,?._'@]+"); | |
// to keep leading empty string | |
String[] tokens = s.split("[ !,?._'@]+"); | |
// to keep trailing empty string |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.regex.Matcher; | |
import java.util.regex.Pattern; | |
import java.util.Scanner; | |
class Solution{ | |
public static void main(String[] args){ | |
Scanner in = new Scanner(System.in); | |
while(in.hasNext()){ | |
String IP = in.next(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
say you have ... | |
- upstream : https://github.com/xxxxx/project_a.git | |
- origin : https://github.com/yourself/fork_project_a.git | |
and there is a sibling project : https://github.com/community_contributor/fork_project_a.git | |
1. get into your git bash under fork_project_a | |
2. add sibling project as new remote: | |
git remote add community_contributor https://github.com/community_contributor/fork_project_a.git | |
3. git fetch (to update and also make sure new remote added) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ref: http://sushihangover.github.io/git-set-up-a-fetch-only-remote/ | |
> git remote -v # to see all remotes | |
> git remote set-url --push <remote_name> DISABLE | |
for example: | |
> git remote set-url --push upstream DISABLE | |
check again by | |
> git remote -v |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Django does not automatically check max_lenght limitation before save() | |
- Django does not automatically check choices before save() --> it's for form | |
for the length limitation, using | |
datamodel.full_clean() | |
datamodel.save() | |
can resolve it. or, override save() to enforce full_clean() | |
ex: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This can be done in interactive python shell | |
> from django.core.management.utils import get_random_secret_key | |
> get_random_secret_key() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## useful refs | |
* https://realpython.com/deploying-a-django-app-to-aws-elastic-beanstalk/#Create.the.Admin.User | |
* https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-django.html | |
## CLI approach | |
1. Enter your project root (versioned with Git) | |
2. install awsebcli | |
2.1 if encountering trouble installing PyYAML, using prepackages wheel: | |
3. > eb init |
OlderNewer