Co nowego na forum?

Komisja Europejska Kariera 43 minuty temu

WeiXiao dodał post w Pomaganie ludziom na tym forum

1 minuta temu serek napisał(a): Tak, ale teraz są inne czasy. Kiedyś ciężej było znaleźć rozwiązan...

Silv dodał komentarz w Pomaganie ludziom na tym forum

1 minuta temu PS. Co oznacza, że poziom zależności do ogarnięcia nie musiał być znacząco niższy ni...

Panczo dodał komentarz w Pomaganie ludziom na tym forum

2 minuty temu Spoko, nie czuje się urażony. Jak. Sam mam wrażenie, że większość pytających jest mo...

Silv dodał komentarz w Pomaganie ludziom na tym forum

3 minuty temu W sumie racja. A warto zwrócić uwagę, że rozwiązania informatyczne już wtedy były za...

serek dodał komentarz w Przekierowanie wartosci z input type=submit do linku

3 minuty temu Popraw kod, bo się posypał.

Aleksandrooo dodał post w Przekierowanie wartosci z input type=submit do linku

4 minuty temu Siemka! Robię mój pierwszy projekt z php na studia, jest to bardzo prosty sklep (na...

serek dodał post w Pomaganie ludziom na tym forum

5 minut temu Panczo napisał(a): Najczęściej daje gotowca, głównie udzielam się w bazach danych. M...

Lukxxx dodał komentarz w Komisja Europejska

5 minut temu dla Eurokołchozu pracować? Godności nie masz?

Silv dodał komentarz w Pomaganie ludziom na tym forum

9 minut temu Przepraszam; nie chciałem, żeby to zabrzmiało, jakbym Ci wytykał tę datę.

furious programming dodał komentarz w Biała lista podatników i błąd w REST Debugger

11 minut temu Skrótowiec liczby megabajtów to MB, nie MG.

Silv dodał komentarz w Pomaganie ludziom na tym forum

12 minut temu Czy więcej, czy nie więcej, to miło widzieć kogoś, kto wie, czego chce.

blank2 dodał post w Windows10 folderu nie widać a jednak gdzieś istnieje.

13 minut temu Wejdź tam nie zamykając tego CubeMX bo to może jakiś temp.

furious programming dodał post w Otoczka wypukła – zmiana struktury danych

13 minut temu Clarc napisał(a): Dodatkowo przez niektóre struktury (inline variables) […] Nie tylk...

Panczo dodał komentarz w Pomaganie ludziom na tym forum

14 minut temu @Silv: mam wrażenie, że bardzo poruszyła cię wiedzą o mojej dacie rejestracji. Uwier...

Silv dodał komentarz w Pomaganie ludziom na tym forum

17 minut temu I wciąż się udzielasz.

furious programming dodał komentarz w Reklamy na mikroblogu.

17 minut temu Punkty można zdobywać za oceny zebrane w wątkach w kategoriach technicznych, za ocen...

Panczo dodał komentarz w Pomaganie ludziom na tym forum

20 minut temu No wyglądało to trochę inaczej

Silv dodał komentarz w Pomaganie ludziom na tym forum

22 minuty temu Ależ to były… początki 4p. Nawet chyba komentarzy nie było.

Panczo dodał komentarz w Pomaganie ludziom na tym forum

22 minuty temu Nie chcę być inaczej ;) Wtedy szukałem wiedzę teraz się dzielę

Silv dodał komentarz w Pomaganie ludziom na tym forum

24 minuty temu Jej. Ty się zarejestrowałeś tutaj 17 lat temu!

Popularne wpisy na mikroblogu

_flamingAccount
wczoraj, 00:34

ed. Nicki w przykładzie został wybrane pod kontem zrobienia screena a nie treści czy użytkowników :)

Hejka, przy okazji afery mikroblogowej, napisałem skrypt czarnolistujący na mikroblogu do tamperMonkey . Czarnolistować można posty, klikając na nowy guzik #czarnolista lub użytkownika dopisując go ręcznie do zmiennej blackList. Posty czarnolistowane przez klikniecie są zapisywane w pamięci rozszerzenia. Czarnoliste można wyłaczyć odklikując guzik. Wygląda to tak i pozwala przeglądać mikrobloga bez scrollowania przez tone spamu:
screenshot-20200118002246.png

Zeby zainstalować skryp,, wystarczy zainstalowac rozszerzenie TamperMonkey i wkleić kod.
Ustawienie max-height na 67px w smallSizeStyle, pokaże nam kilka pierwszych lini postu, jest to chyba spoko opcja jeśli nie chcemy sie od kogoś odcinać całkowicie, w nadziei że kiedyś wrzuci coś fajnego.

Osobiście uważam że regulamin, powinien być dość luźny że by forum nie zmieniło się w elektrodę i nie warto przesadzać z opcjami siłowymi. Skrypcik napisałem żeby Ci którym najbardziej to przeszkadza mieli chwile ulgi i nie wymusili, drastycznych zmian, jak np. było z anonimami.

//nie jestem mistrzem js, wiec jak ktos ma uwagi, chętnie poprawie

// ==UserScript==
// @name         Czarno lista 4p
// @namespace    http://tampermonkey.net/
// @version      0.5
// @description  Dont ban me!
// @author       _flamingAccount
// @match        https://4programmers.net/Mikroblogi*
// @grant        GM.setValue
// @grant        GM.getValue
// @require https://code.jquery.com/jquery-3.4.1.js

// ==/UserScript==
//http://code.jquery.com/jquery-3.4.1.min.js

const blackList = []
const postsBlackList = [];
const btnCss = `.btn-czarnoLista {
    padding: 2px 7px 2px 2px;
    color: #777;
    position: relative;
}`
const smallSizeStyle = `max-height: 0px; display: block;overflow: hidden;position: relative;`;
const czarnoListaOnStyle =`font-weight: bold; color:#80a41a;`;

const headerSelector = `.media-heading`;
const toolsSelector = `.microblog-footer`;
const toMakeSmallerSelector = `.microblog-wrapper`;
const commentsSelector = `.microblog-comments-container`;
const commentSendSeletor = `.comment-form`;
const czarnoListaBtnSelector = `.btn-czarnoLista`;
const timeSelector =`.timestamp`;
const dummyPlusSelector = `.read-more`

const czarnoListaBtn = `<a href="javascript:" czarnoLista="" class="btn btn-czarnoLista"><b>#</b> CzarnoLista</a>`

const czarnoListaAttr = `czarnoLista`;
const czarnoPostyKey = `czarnoPosty`;

function addCss(cssContent){
    var style = document.createElement('style');
    style.type = 'text/css';
    style.innerHTML = cssContent;
    document.getElementsByTagName('head')[0].appendChild(style);
}

function hidePosts(){
    $('article').toArray().forEach(p =>{
      if(shouldBeBanned(p))
          hidePost(p)
    });
}
function showPosts(){
    $('article').toArray().forEach(p =>showPost(p));
}

function hidePost(post){
    var jq_post = $(post);
    jq_post.find(toMakeSmallerSelector).attr('style',smallSizeStyle)
    jq_post.find(commentsSelector).css('visibility','hidden').css('height','0px');
    jq_post.find(commentSendSeletor).css('visibility','hidden').css('height','0px');
    jq_post.find(dummyPlusSelector).css('visibility','hidden').css('height','0px');
    jq_post.find(czarnoListaBtnSelector).attr('style',czarnoListaOnStyle);
    compressDate(post);
    post.setAttribute(czarnoListaAttr, true);

}
function showPost(post){
   var jq_post = $(post);
   jq_post.find(toMakeSmallerSelector).attr('style',"")
   jq_post.find(commentsSelector).css('visibility','visible').css('height','auto');
   jq_post.find(commentSendSeletor).css('visibility','visible').css('height','auto');
   jq_post.find(czarnoListaBtnSelector).attr('style',"").css('height','auto');
   jq_post.find(dummyPlusSelector).css('visibility','visible')
   decompressDate(post);
   post.setAttribute(czarnoListaAttr, "");
}
function compressDate(post){
    var head = $(post).find(headerSelector).first();
    head.find('a').css('margin-right','7px');
    $(post).find(timeSelector).first().appendTo(head);
}
function decompressDate(post){
    var head = $(post).find(headerSelector).first();
    $(post).find(timeSelector).first().insertAfter(head);
}
const whiteList = ['_flamingAccount','cerrato']; //prosił żeby go nie dało się banować

function shouldBeBanned(post){
    return isPostBanned(post) || isAuthorBanned(post);
}

function isAuthorBanned(post){
    const userName = $(post).find(headerSelector).toArray()[0].innerText;
    if(whiteList.includes(userName))
       return false;
    return blackList.includes(userName);
}
function isPostBanned(post){
    return postsBlackList.includes(getPostId(post));
}
async function loadBannedPostsList(){
    var banned = await GM.getValue(czarnoPostyKey);
    var bannedPosts = JSON.parse(banned)
    if(bannedPosts)
    {
        console.log(bannedPosts);
        bannedPosts.forEach(b => {postsBlackList.push(b)});
    }
}

function getPostId(post){
     var id = post.getAttribute('id');
     return id;
}
async function saveBannedPostsList(){
   await GM.setValue(czarnoPostyKey, JSON.stringify(postsBlackList));
}
function removeA(arr) {
    var what, a = arguments, L = a.length, ax;
    while (L > 1 && arr.length) {
        what = a[--L];
        while ((ax= arr.indexOf(what)) !== -1) {
            arr.splice(ax, 1);
        }
    }
    return arr;
}

(async function() {
        'use strict';
        addCss(btnCss);
        $(toolsSelector).append( czarnoListaBtn );
        $(czarnoListaBtnSelector).click( async (event) => {
            var btn = event.target;
            var article = btn.closest('article');
            if(article.getAttribute(czarnoListaAttr)){
                showPost(article);
                removeA(postsBlackList,getPostId(article))
                await saveBannedPostsList();
                console.log(postsBlackList);
            }else{
                hidePost(article);
                postsBlackList.push(getPostId(article))
                await saveBannedPostsList();
                console.log(postsBlackList);
            }
        });
        await loadBannedPostsList();
        hidePosts();
})();
_flamingAccount

Brakuje synchronizacji moglbym dopisac jako stronke z rest api ale pojawi sie problem podtytulem jak rozpoznac kto wysyla zapytania a tworzenie konta do skryptu w temper monkey to chyba przesada.

Dregorio

Trzeba to jako feature zgłosić by było na stronie domyślnie.

Leroy
2020-01-16 20:41

Tylko mi troche przeszkadza, że 'Mikroblog' zmienił się ostatnio w 'Mikroreklama'? blogi, podcasty, kanaly na youtube, vlogi...

vpiotr

Mi przeszkadza hejt na mikroblogach.

lion137

Mnie kompletnie uwala, co kto wrzuca; ale, rzeczywiście, przy postach sponsorowanych przydała by się wyraźna informacja - inaczej jest to mylące, że może autor ma z tym coś w spólnego i wrzuca żeby się podzielić. Ale nie narzucałbym, to zalezy od kultury wrzucającego.

Shalom
2020-01-15 11:49

https://www.dobreprogramy.pl/[...]-rok-z-rzedu,News,105727.html

taki tam shameless plug ;)
(na wykopie https://www.wykop.pl/link/529[...]iecie-i-to-drugi-rok-z-rzedu/ już ogłosili żeśmy złodzieje i w ogóle chwalić się konkursami z hackingu to jak chwalić się z konkursu w gwałtach albo oszustwach :D )

#ctf

szweszwe

Wystarczyła mi jedna linijka żeby rozpoznać :P

karolinaa

założyłam inicjatywe dla ratowania poziomu mikrobloga tutaj STOP STOP TRAKTOWANIU MIRKOBLOGA... #ocalmymikrobloga

WeiXiao
2020-01-16 20:14

Donald Trump opublikował na swoim twitterze takie coś:

We are helping Apple all of the time on TRADE and so many other issues, and yet they refuse to unlock phones used by killers, drug dealers and other violent criminal elements. They will have to step up to the plate and help our great Country, NOW! MAKE AMERICA GREAT AGAIN.

https://twitter.com/realDonaldTrump/status/1217228960964038658

Może to oznaczać m.in dwie rzeczy:

  • Apple ma faktycznie niezłe zabezpieczenia

  • Trump chciał zrobić reklamę Applowi

axde

Rok 2020, a ludzie nadal wierzą, że producent zwłaszcza globalny nie zostawia sobie możliwości odblokowania urządzenia. Poza tym ślepa wiara w "dobre Apple". Odmawiać to oni mogą policji, a nie FBI czy innym organizacjom tego typu. Zresztą NSA ma na tyle duże możliwości, że bez potrzeby angażowania Apple sobie z tym poradzi.

vpiotr

Wybieram bramke 2. A w zasadzie to 3: Trump chce wylapac tych mniej ogarnietych zeby na ulicach bylo spokojniej.

Azarien
2020-01-17 19:07

Co komu w Góglu przyszło do głowy żeby slashe w URL-ach zamienić na znaki większości? :[

Azarien

@vpiotr: mnie to się ukazało wczoraj.To normalne że się segmentuje użytkowników i na początku tylko część widzi nowy feature.

vpiotr

Chodzilo mi o kopiowanie adresu