Перейти к публикации
  • Сейчас на странице   Всего пользователей: 1   (0 пользователей, 1 гость)

Rooster

Программирование, т. 7

  

536 пользователей проголосовало

У вас нет прав на голосование в этом опросе, или на просмотр результатов опроса. Пожалуйста, войдите или зарегистрируйтесь для голосования в опросе.

Рекомендованные сообщения

(изменено)

Так-так-так, что тут у нас? Индусский код, наканец-та :trollface:

 

post-33804-0-84813300-1505215925_thumb.png

 


Изменено пользователем DIMAN123456789
choojoykin, suez, Milky_Way и 2 другим понравилось это

Поделиться сообщением


Ссылка на сообщение

 

те кто пересел на хаскель - потом уже ни на чем другом писать не могут и их блевать тянет от грязной мутабельности, изменений памяти и прочего

это долбоёбы которые ничего полезного не делают

 

пожалуй топ достижениями этого говна остаются хмонад

https://en.wikipedia.org/wiki/Xmonad

и модуль в фейсбуке который юзает хаскелл для чето-то типа парсинга html

https://code.facebook.com/posts/745068642270222/fighting-spam-with-haskell/

 

 

Ну не обязательно ведь судить яп по его бизнес вэлью. Я как дата инженер работаю в основном со всякими хуйнями которые пишутся в бд, делать архитектуру бд, настраивать интеграцию с кафками и большая часть кода это всякие плскл, тскл и прочее дерьмо. Но это не мешает мне в свободное от работы время писать для себя на скале и любить ее больше чем то, что приносит больше денег и практической пользы (если уж на то пошло, то за деньгами нужно идти в джаву,(ну или дотнет на крайняк) потому что именно на ней написана подавляющая часть энтерпрайза).

Поделиться сообщением


Ссылка на сообщение

бля а нахуя мы тогда идем в школу и просим училку по информатике научить нас рубать как суез, если надо просить джаву?  :hmm:  :hmm:  :hmm:

Поделиться сообщением


Ссылка на сообщение

Если закомментить кусок кода в мейне с join() - то всё работает, но не могу понять почему не работает с join()'ом, ведь thread marketThread заканчивает свою работу

 

public class Main {

    public static void main(String[] args) {

        MarketThread marketThread = new MarketThread("Market");
        marketThread.start();

            try {
                marketThread.join();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

        System.out.println("Main exit");

    }

}


public class MarketThread extends Thread {

    String username = null;

    MarketThread(String name) {
        super(name);
    }

    public void setUsername(String username) {
        this.username = username;
    }

    @Override
    public void run() {
        UserThread userThread = new UserThread(this);
        userThread.start();

        synchronized (this) {
            try {
                System.out.println("Waiting...");
                wait();
                System.out.println("Running...");
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
        System.out.println(username);
    }
}


public class UserThread extends Thread {
    MarketThread parent = null;
    UserThread(MarketThread t){
        parent = t;
    }

    @Override
    public void run() {
        parent.setUsername("Andrey");
        System.out.println("Username setted");

        synchronized (parent){
            parent.notify();
            System.out.println("Notified");
        }

    }
}

 

 

Поделиться сообщением


Ссылка на сообщение

Ну не обязательно ведь судить яп по его бизнес вэлью. Я как дата инженер работаю в основном со всякими хуйнями которые пишутся в бд, делать архитектуру бд, настраивать интеграцию с кафками и большая часть кода это всякие плскл, тскл и прочее дерьмо. Но это не мешает мне в свободное от работы время писать для себя на скале и любить ее больше чем то, что приносит больше денег и практической пользы (если уж на то пошло, то за деньгами нужно идти в джаву,(ну или дотнет на крайняк) потому что именно на ней написана подавляющая часть энтерпрайза).

мне кажется ты немного неправильно понял мой посыл

 

хаскелл не дерьмо из-за того что у него низкий бизнес-валью

а в том что хаскелл хуита неюзабельная для любого адекватного проекта

и поэтому он не генерирует бизнес-валью

и по совокупности этих двух факторов он дерьмо

а не наоборот

Если закомментить кусок кода в мейне с join() - то всё работает, но не могу понять почему не работает с join()'ом

в чём заключается работает

и в чём заключается не работает?

Поделиться сообщением


Ссылка на сообщение
(изменено)

 

Ну не обязательно ведь судить яп по его бизнес вэлью. Я как дата инженер работаю в основном со всякими хуйнями которые пишутся в бд, делать архитектуру бд, настраивать интеграцию с кафками и большая часть кода это всякие плскл, тскл и прочее дерьмо. Но это не мешает мне в свободное от работы время писать для себя на скале и любить ее больше чем то, что приносит больше денег и практической пользы (если уж на то пошло, то за деньгами нужно идти в джаву,(ну или дотнет на крайняк) потому что именно на ней написана подавляющая часть энтерпрайза).

мне кажется ты немного неправильно понял мой посыл

 

хаскелл не дерьмо из-за того что у него низкий бизнес-валью

а в том что хаскелл хуита неюзабельная для любого адекватного проекта

и поэтому он не генерирует бизнес-валью

и по совокупности этих двух факторов он дерьмо

а не наоборот

Если закомментить кусок кода в мейне с join() - то всё работает, но не могу понять почему не работает с join()'ом

в чём заключается работает

и в чём заключается не работает?

 

 

Без join() отрабатывает до конца, вывод:

Main exit
Thread Waiting...
Username setted
Notified parent
Running...
Name: Andrey

Если оставить join(), такое чувство что marketThread не выходит из состояния wait(), программа не завершает свою работу

Thread Waiting...
Username setted
Notified parent

Изменено пользователем ^p1x

Поделиться сообщением


Ссылка на сообщение
(изменено)

 

 

1) Помоему все так и разрабатывают. Ставят окружение на линукс (какая винда ухахах :trollface: ) и полноценно запускают проект. Мб конечно если сервер все отдает по API, можно и не разворачивать, хз я так не работал.

Я итак гоняю 3 nodejs сервака для фронтенда. 1 для фронтенд аппы, 2 для graphql proxy (мини-бэкенд для фронтенда) и 3 для visualization service (который генерирует чарты, аггрегирует и обарабатывает кучу данных и вообще под капотом имеет больше логики чем на нашем "классическом" руби бэкенде). Моя рабочая пека с трудом со всем этим справляется, ибо еще запущен sublime с линтингом и кучей плагинов, slack и хром с кучей табов, включая прожорливые табы с zeplin. Так что добавлять ко всей этой помойке руби сервер это СЛИШКОМ МНОГО ФАНА


Изменено пользователем suez

userbar-53933.png

http://codepen.io/suez/ - they see me bydlocoding, they hatin.

Поделиться сообщением


Ссылка на сообщение

 

 

мне кажется ты немного неправильно понял мой посыл

хаскелл не дерьмо из-за того что у него низкий бизнес-валью
а в том что хаскелл хуита неюзабельная для любого адекватного проекта
и поэтому он не генерирует бизнес-валью
и по совокупности этих двух факторов он дерьмо
а не наоборот

 

Ну по-факту подавляющее большинство языков не юзабельны для нормальных проектов, у всех есть своя ниша. У кого-то она шире, у кого-то уже. Все любят поливать дерьмом пхп, но если тебе нужно написать балду, что б поднимать хуйню с бд и ложить ее туда, ты ведь не будешь разворачивать для этого телегу на джаве со спрингами и хибернейтами. Так и у хаскеля есть эта ниша, бородатых нердов, которые обмазываются монадами, создают свои дерева типов, пишут элегантный, но нахуй никому не нужный код, просто получая от этого удовольствие.

Поделиться сообщением


Ссылка на сообщение

в веб версии цеплина же убогий функционал


или это в авокадо, не помню  :hmm:


я знаю точно что все телки которые красивые и которые любят ебаться, разбираются в часах

Но у меня нету часов, и хуевая ауди поэтому приходится дома дрочить

Поделиться сообщением


Ссылка на сообщение

в веб версии цеплина же убогий функционал

или это в авокадо, не помню  :hmm:

Я юзал десктоп версию всего пару раз год назад, разницы тогда вообще не было. У десктопной преимущество только в том, что там все открывается быстрее (ибо все кешируется как следует и так далее). У меня сейчас 4 проекта в зеплине, в каждом от 10 до 60 дизайнов. Прыгать между проектами не супер фаново конечно когда надо ждать 10-20 секунд пока все превьюхи прогрузятся и так далее, но жить можно.


userbar-53933.png

http://codepen.io/suez/ - they see me bydlocoding, they hatin.

Поделиться сообщением


Ссылка на сообщение
(изменено)

Без join() отрабатывает до конца, вывод:

Main exit
Thread Waiting...
Username setted
Notified parent
Running...
Name: Andrey
Если оставить join(), такое чувство что marketThread не выходит из состояния wait(), программа не завершает свою работу

Thread Waiting...
Username setted
Notified parent

 

странная хуйня какая-то

попробуй мб на другом объекте синхронизироваться?

по-моему джойн просто чем-то мешает нормальной синхронизации на треде с которым он пробует джойниться

Ну по-факту подавляющее большинство языков не юзабельны для нормальных проектов, у всех есть своя ниша.

вопрос как обычно в размере этой ниши

у хаскелла она автоматом урезается на 90% своего потенциала из-за того что это не-императивный язык

потому что внезапно компьютеры полностью императивные

и реальный мир тоже, который зачастую моделируется в программировании

но извращенцы-мазохисты пытаются впихнуть изначально императивные вещи в функциональную коробку

 

Так и у хаскеля есть эта ниша, бородатых нердов, которые обмазываются монадами, создают свои дерева типов, пишут элегантный, но нахуй никому не нужный код, просто получая от этого удовольствие.

это довольно точное описание причин почему хаскелл дерьмо и их вещи не имеют практически никакой ценности кроме для них самих и их попытки создать из этого секту нормальным людям не интересны, но привлекают идиотов

и это не ниша генерирующая бизнес-валью как ты это назвал, она не генерирует никакого валью вообще

кроме виртуальной длинны члена автора "я сделал десктоп менеджер на хаскелле, и похуй что не-автору каждую строчку кода надо дешифровывать 20 минут, а 99.99% полезных действий это всё-равно вызовы в Х который написан на С"


Изменено пользователем TheDeadSkin

Поделиться сообщением


Ссылка на сообщение
(изменено)

Если закомментить кусок кода в мейне с join() - то всё работает, но не могу понять почему не работает с join()'ом, ведь thread marketThread заканчивает свою работу

 

public class Main {

    public static void main(String[] args) {

        MarketThread marketThread = new MarketThread("Market");
        marketThread.start();

            try {
                marketThread.join();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

        System.out.println("Main exit");

    }

}


public class MarketThread extends Thread {

    String username = null;

    MarketThread(String name) {
        super(name);
    }

    public void setUsername(String username) {
        this.username = username;
    }

    @Override
    public void run() {
        UserThread userThread = new UserThread(this);
        userThread.start();

        synchronized (this) {
            try {
                System.out.println("Waiting...");
                wait();
                System.out.println("Running...");
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
        System.out.println(username);
    }
}


public class UserThread extends Thread {
    MarketThread parent = null;
    UserThread(MarketThread t){
        parent = t;
    }

    @Override
    public void run() {
        parent.setUsername("Andrey");
        System.out.println("Username setted");

        synchronized (parent){
            parent.notify();
            System.out.println("Notified");
        }

    }
}

 

 

join() method internally calls wait() , и получается что 2 треда (мейн и MarketThread) вызвали wait на одном и том же объекте, а потом был вызван notify(), который будит один рандомный тред (скорее всего каждый раз main), а не все ждущие треды. Если вместо notify() вызвать notifyAll(), все заработает


Изменено пользователем Lils2013
choojoykin понравилось это

Поделиться сообщением


Ссылка на сообщение
(изменено)

Ну да, почитал описалово к методу join():

 

 Waits at most {@code millis} milliseconds for this thread to
 die. A timeout of {@code 0} means to wait forever.

<p> This implementation uses a loop of {@code this.wait} calls
 conditioned on {@code this.isAlive}. As a thread terminates the
 {@code this.notifyAll} method is invoked.

It is recommended that  applications not use {@code wait}, {@code notify}, or

 {@code notifyAll} on {@code Thread} instances.

 

 

Просто создатели джавы говнокодеры и в этом методе сами используют wait. Еще и notifyAll() вызывается (зачем, если мне только один поток надо разбудить)

Свалил изучать питон, бб

/s


Изменено пользователем ^p1x

Поделиться сообщением


Ссылка на сообщение

Ну да, почитал описалово к методу join():

 

Waits at most {@code millis} milliseconds for this thread to

 die. A timeout of {@code 0} means to wait forever.

 

<p> This implementation uses a loop of {@code this.wait} calls

 conditioned on {@code this.isAlive}. As a thread terminates the

 {@code this.notifyAll} method is invoked.

It is recommended that  applications not use {@code wait}, {@code notify}, or

 {@code notifyAll} on {@code Thread} instances.

Просто создатели джавы говнокодеры и в этом методе сами используют wait. Еще и notifyAll() вызывается (зачем, если мне только один поток надо разбудить)

Свалил изучать питон, бб

/s

 

не, ну так-то это в принципе логично что не стоит потоки юзать как семафоры для блокировок, для этого стоит иметь спец объекты какие-то

Поделиться сообщением


Ссылка на сообщение
(изменено)

 

 

Ну не обязательно ведь судить яп по его бизнес вэлью. Я как дата инженер работаю в основном со всякими хуйнями которые пишутся в бд, делать архитектуру бд, настраивать интеграцию с кафками и большая часть кода это всякие плскл, тскл и прочее дерьмо. Но это не мешает мне в свободное от работы время писать для себя на скале и любить ее больше чем то, что приносит больше денег и практической пользы (если уж на то пошло, то за деньгами нужно идти в джаву,(ну или дотнет на крайняк) потому что именно на ней написана подавляющая часть энтерпрайза).

мне кажется ты немного неправильно понял мой посыл

 

хаскелл не дерьмо из-за того что у него низкий бизнес-валью

а в том что хаскелл хуита неюзабельная для любого адекватного проекта

и поэтому он не генерирует бизнес-валью

и по совокупности этих двух факторов он дерьмо

а не наоборот

Если закомментить кусок кода в мейне с join() - то всё работает, но не могу понять почему не работает с join()'ом

в чём заключается работает

и в чём заключается не работает?

 

 

Без join() отрабатывает до конца, вывод:

Main exit
Thread Waiting...
Username setted
Notified parent
Running...
Name: Andrey

Если оставить join(), такое чувство что marketThread не выходит из состояния wait(), программа не завершает свою работу

Thread Waiting...
Username setted
Notified parent

он и не должен выходить из вейт, лол

во 1х нахуя тебе эта низкоуровневая многопоточность. эта хуня нужна чтобы пилить сверхоптимизированные штуки + библиотечные всякие java util concurrent

во 2х нахуя тебе вообще многопоточность

в 3х читай спеку, или разбор многопоточных примеров. ты очень далек от понимания этих механизмов многопоточности


Изменено пользователем Just.Doit

 

очень крутые котейки

RqvSzvr.png


Кому-то пизды дал - нужно сделать скрин обязательно. (с) Solo

Поделиться сообщением


Ссылка на сообщение

ек макарек пацаны поясните лайтово за питон, я до этого юзал только плюсы, вижуал студию, ебать а с этой хуетой шо делать, поставил пакет анаконда, и хули чо делать с ним через командную строку чтоли работать, так один хуй она не видит его даже. бля оч сложно короче  :sosew: линканите гайд для новичков какой-нибудь

Поделиться сообщением


Ссылка на сообщение

· Demonstrated proficiency with scripting languages such as Bash, Python, C, C++, Java or Ruby

 

(с) Amazon


towBCf6.pngimage.png.6f88ac9ad688355eb803ba0b32e309ca.pngimage.png.c05354238865437022b3e4a97a835dbd.pngimage.png.0e8329f2b07e208ae8ef4e3f6878d126.png

 

 

 

Поделиться сообщением


Ссылка на сообщение

ек макарек пацаны поясните лайтово за питон, я до этого юзал только плюсы, вижуал студию, ебать а с этой хуетой шо делать, поставил пакет анаконда, и хули чо делать с ним через командную строку чтоли работать, так один хуй она не видит его даже. бля оч сложно короче  :sosew: линканите гайд для новичков какой-нибудь

ставишь анаконду

ставишь питон

запускаешь анаконду

открываешь py файл

на локалхосте работаешь

ток нахуй тебе анаконда когда есть пишарм?


:buba:

ни мало ни много, а много и мало

Поделиться сообщением


Ссылка на сообщение

Я по ходу на днях буду ебашить фривольно-написанную вакансию для какого-нибудь из русских сайтов поиска ИТ работы (скорее всего мой круг или хз чо щас норм)

Настолько все хуево с поисками фронтендеров в этом мире  :trollface:


userbar-53933.png

http://codepen.io/suez/ - they see me bydlocoding, they hatin.

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...