original source: https://webapps.stackexchange.com/questions/15635/is-there-a-quick-way-to-edit-a-specific-tumblr-post

tumblr에서 본인의 특정 post에 접근해 수정하려는 경우

Yes, there is a quick and easy way.

If your post has the following permalink

http://account.tumblr.com/post/1239802

then your edit page is here:

http://account.tumblr.com/edit/1239802

You just change “post” in the URL to “edit”. Note that this does not work if you put something after the post ID (for instance: http://...../1239802/my-post).

original source : http://fieldguide.gizmodo.com/8-url-tricks-that-work-on-any-tumblr-blog-1598450719

8 URL Tricks That Work on Any Tumblr Blog

The way Tumblr is built means you can use a certain set of URL tricks on any of these Tumblr-hosted blogs, whether created by media powerhouses or teenage nerds. They work on custom domains hosted at Tumblr too. Here’s how to master Tumblr with the power of your URL bar.

yourblog.tumblr.com… /random

Append “random” to the end of any Tumblr address to see a random post plucked from somewhere between today and the date the blog first started publishing. Many Tumblrs have a “random” link you can click on. Handy for those times when you want to see something different from the archives.

yourblog.tumblr.com… /archive

Speaking of archives, stick “archive” after the main site address to see every previous post on the blog, ordered by month and set out in an easy-to-use thumbnail grid layout. You can browse by month and by year using the menus and check out exactly when your favorite Tumblr first started posting.

yourblog.tumblr.com… /rss

We know you’re still out there, RSS lovers, and when “rss” is placed at the end of a site address you get its official feed. Plug the address into your RSS reader of choice and never miss a new post — you can keep up with your favorite Tumblr blogs without having to subscribe to them in the dashboard.

yourblog.tumblr.com… /tagged/tagofchoice

Replace “tagofchoice” with any tag to see matching blog posts. Sometimes Tumblrs will have this as an option within the navigation links, but nevertheless it’s a useful way of digging up older or more relevant posts, particularly if the site in question covers all kinds of different topics.

yourblog.tumblr.com… /tagged/tagofchoice/rss

Now we’re really through the looking glass. Combine the tag trick with the RSS trick and you have a custom-made RSS feed that only includes posts with a particular tag. Load this feed into something like IFTTT and you can really start to get creative, assuming the site admins are tagging posts correctly…

yourblog.tumblr.com… /tagged/tagofchoice/chrono

Append “chrono” to the end of a tag search address and the posts appear in chronological order with the oldest one shown first. If you have a stack of photos, film reviews or anything else tagged on your own blog, then this is a quick and easy way of finding the first posts you published.

yourblog.tumblr.com… /search/searchterm

Don’t let the lack of a dedicated search box stop you from searching through a Tumblr blog—enter the URL above with your search term in the relevant place to run a query. Use the “+” symbol instead of a space if you want to try looking for a phrase instead of a single word using the Tumblr URL.

yourblog.tumblr.com… /day/yyyy/mm/dd

Find posts from a particular day with this hack, which can help you revisit updates from this time last year or focused around a particular event. If you post a lot on your own personal Tumblr blog then it can help you sort through the clutter and find something specific (assuming you know the post date).

Any other clever tips we missed? Share them below!

아파치 라이센스 2.0 사용 고지하시나요?

app server 를 통해 FCM을 이용하는 경우 단 한번에 모든 사용장에게 notification을 보낼 방법은 없다. 각각의 기기들에게 (token을 이용)보내거나 topic 별로 보낼수 있다. ref) https://stackoverflow.com/q/38237559

New Firebase token is generated (onTokenRefresh() is called) when:

  • The app deletes Instance ID
  • The app is restored on a new device
  • The user uninstalls/reinstall the app
  • The user clears app data.

ref) https://stackoverflow.com/a/38727643

notification을 통해 전달된 data를 다른 activity로 전달해서 처리하는 경우

(notification을 클릭했을때 다른 activity에서 처리하게하는 방법)

app server(fcm server 로 data를 보내고 결과를 받아낼) 설정및 사용방법    ref) https://firebase.google.com/docs/cloud-messaging/server

 http을 이용 FCM과 커뮤니케이션하는 경우 전달 되어지는 data형태 ref) https://firebase.google.com/docs/cloud-messaging/http-server-ref

FCM사용의 기본 ref) https://firebase.google.com/docs/cloud-messaging/concept-options

firebase UI 를 통하는 경우

  • backgound시에는 무조건 onMessageReceived()를 bypass한다. 어드밴스항목을 통해 정보를 넣어도 bypass한다.(notification을 클릭하면 무조건 launcher로 이동)
  • foreground시에는 어드밴스 항목에서작성한 항목은 data payload로 받아진다.
  • foreground시에서 받아진 data payload는 사용자가 앱에서 background로 이동한 다음 notification을 클릭해도 foreground에서 받은것처럼 유지 행동하게 된다.
  • 어드밴스항목을 사용하지 않고 작성하는 경우는 foreground에서는

    onMessageReceived() 를 거치며 data payload는 없는 것으로 처리된다.

App server를 이용하는 경우

data = { “notification”:
               {“title”: “test title from app server”,
                   "body": “test messge from app server”},

           "to" : “asdfghjkl……”
           }  

위와같이 notification방식으로하는 경우 foreground일때는 

onMessageReceived() 를 거친다. background의 경우 bypass 한다. 그리고 notification을 클릭하면 launcher로 이동

data = { “notification”:
              {“title”: “test title from app server”,
                  “body”: “test messge from app server”, “click_action”:”액션이름”},

          “to” : “asdfghjkl……”
          }

위와같이 action name을 지정해 주고<intent-filter> 와 그안의 <action android:name>을 이용 notification을 사용자가 클릭하면 특정 activity로 이동하게 할수 있지만 title, body값에 접근 할수 없다. click_action은 data전달이 필요없는 작업을 수행할때만 사용가능.

사용자가 foreground, background 든 어느쪽에서든 받은 notification 클릭시 내가 원하는 방향으로 이동하게 하기위해서는 app server에서 data payload를 넣어서 작성해야한다. 즉 내가 단순한 message (notification)만을 전달하더라도app server datapayload 방식을 택해야 사용자가 클릭하고 app안으로 이동 읽을수 있게 된다.

google oauth나 gcm, fcm를 사용하는 경우 app안에(실제로도 app폴더안에) google-services.json화일을 포함해야한다. firebase서비스를 사용하는 경우 각종 정보를 ( debug시 사용한 sha1 키값, google play에 업로드하고 받은 sha1키값 포함) 기입하고 난후에 json 화일을 만들고 그것을 프로젝트에 포함한다.

jacob-cs:

  • notification방향에 따른 두 종류
  1. Pull notification stands for client requesting server to check if there is any update
  2. Push notification is when server will notify client about the update.

pull notification의 경우 AlarmManager 나 JobService를 통해 정기적으로 서버에 접속해서 새로운 알림이 필요한지 확인하고 notification obj를 만든다.

puch notification의 경우 google cloud messaging(GCM)을 이용해 알림을 각 사용자에게 전달한다.

ref) GCM을 이용 하는 방법 https://www.digitalocean.com/community/tutorials/how-to-create-a-server-to-send-push-notifications-with-gcm-to-android-devices-using-python

ref) GCM 을 이용하는 방법

WakefulBroadcastReceiver

,

IntentService, json 데이터를 전환하는 activity에 관한 내용 http://techlovejump.com/how-to-get-data-from-gcm-google-cloud-messaging-notification-in-android/

ref)

GCM 을 이용하는 방법 WakefulBroadcastReceiver , IntentService, json 데이터를 전환하는 activity, registration id 처리 방법  https://www.pubnub.com/blog/2015-06-24-sending-receiving-android-push-notifications-with-gcm-google-cloud-messaging/

ref) alarm manager를 이용 정기적으로 서버확인 하는 작없 https://stackoverflow.com/questions/20887270/android-periodically-polling-a-server-and-displaying-response-as-a-notificatio

ref) notification obj를 만드는 방법 https://www.tutorialspoint.com/android/android_notifications.htm

GCM의 새로운 버전이 FCM이다.

ref) firebase에 어카운트 만들고 key 얻는 방법  https://medium.com/@ankushaggarwal/gcm-setup-for-android-push-notifications-656cfdd8adbd

ref) FCM의 기본작업 https://www.codementor.io/flame3/send-push-notifications-to-android-with-firebase-du10860kb

ref) FCM의 기본부터 서버쪽에서 firebase로 data보내는 방법, 클라이언트에서의 처리방법, https://www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-messaging-gcm-php-and-mysql/