
GNU/Docker
16.06.2017
10:45:10
Вы облака тестировали когда-нибудь?
А впрочем, кому какое дело.

Eugene
16.06.2017
10:46:03

Makc
16.06.2017
10:46:10
Да, я пытался из открытого грузового люка потрогать их

Google

Eugene
16.06.2017
10:46:23
Если ещё писали какие-нибудь джависты в отрыве от pythonic style

Makc
16.06.2017
10:46:23
Не получилось.

Ruslan
16.06.2017
10:47:15

Eugene
16.06.2017
10:50:20
так точно проблема в отстутствии хорошей системы типов?
Я думаю, проблема комплексная. Программы - это сложно, а большие программы - это очень сложно, потмоу что они не могут поместиться в сознание целиком. Кнут не просто так ввёл понятие "Литературное программирование", одна из причин - борьба с увеличением сложности.
вот есть такая библиотека
http://www.cs.cmu.edu/~quake/triangle.html
Там вся реализация в одном файле. Разобраться в том, что там происходит очень сложно, код на Си, предметная область требует мат. подготовки, всё свалено в один файл.

b0g3r
16.06.2017
10:55:09

Eugene
16.06.2017
10:56:34
В этой либе 16000 строк на Си в одном файле :)

Vadim
16.06.2017
11:57:39
Устроился на первую работу
Дадите советы опытных?)

Wom
16.06.2017
11:58:11
работай, не чаться

Vadim
16.06.2017
11:58:29
Типа пуш сразу в мастер итд))

Eugene
16.06.2017
11:59:36

Vadim
16.06.2017
12:00:12
:))

Google

Vadim
16.06.2017
12:00:15
Я серьезно)

Danil
16.06.2017
12:01:45

Vadim
16.06.2017
12:02:05
Нда
Чтоб я без вас делал
Не работал наверно

Dmitry
16.06.2017
12:02:47
Из реальных советов, если опыта и знаний не очень, то могу посоветовать не делать методом "тыка".
Лучше потратить пол часа и почитать документацию (и попытаться разобраться как оно работает). По времени выйдет в среднем так же, но так ты будешь понимать, как оно работает:)

Vadim
16.06.2017
12:03:32

Eugene
16.06.2017
12:04:55
Я серьезно)
Так а что тебе делать сказали? Ну там, настроить окружение, почитать документацию, внутреннюю вики, ещё что-то? Или сразу, вот тебе багтрекер, греби!

Vadim
16.06.2017
12:05:31
Сижу, журналирую

Eugene
16.06.2017
12:08:18
В таком случае лучше уточнить, что от тебя хотят, каковы твои цели и задачи смотрения на этот код. Может они предполагают, что кто-то наконец разберётся с этим кодом и скажет, нужен он им или нет? :)

Vadim
16.06.2017
12:12:15

Sergey
16.06.2017
12:13:56
В процессе "разбирания", раз доков нет, не стесняйся спрашивать кого-нибудь, это лучше, чем сидеть и часами осмысливать, что же автор хотел сказать в своем говнокоде

Stepan
16.06.2017
12:14:18

b0g3r
16.06.2017
12:14:35

Sergey
16.06.2017
12:14:42

b0g3r
16.06.2017
12:15:03
Ибо она правда очень хорошая в качестве введения в ОРМ и всего такого

Stepan
16.06.2017
12:15:46

b0g3r
16.06.2017
12:16:26
тоже неплохой вариант, но всё равно реляционные базы скорее всего придется вкусить на работе

Stepan
16.06.2017
12:17:05
Мне просто попадались верстальщики и фронтендеры которые хотели вырасти в фулл-стек разработчиков и у них довольно быстро получалось освоить node.js, express и mongoose

Google

Stepan
16.06.2017
12:17:53


Александр
16.06.2017
12:22:38
Ребят, привет.
Как вы считаете, можно ли избавиться от условных переходов в таком случае?
for obj in get_list():
if isinstance(obj, outerlib.TypeOne):
process_typeone(obj)
if isinstance(obj, outerlib.TypeTwo):
process_typetwo(obj)
При этом outerlib - это совершенно сторонний пакет.
Применяется ли какое-то внедрение методов в типы объектов, которые на самом деле определены в сторонних пакетах?
Например, можно было бы внедрить метод process в TypeOne и TypeTwo, и каждый бы делал свою работу. Тогда в цикле мы бы вызывали просто obj.process()
Или это зашквар? :)

Eugene
16.06.2017
12:25:05
Monkey patch чаще всего не самое лучшее решение.

Александр
16.06.2017
12:26:13
спасибо за отзыв, в итоге, пускай так и остается короче

Eugene
16.06.2017
12:28:51
Ты мог бы сделать некий фасад, за которым агригировать эти типы. Но фасад предполагает реализацию API и если сущности за ним сильно разные, получится искусственная дырявая абстракция.

Aleksander
16.06.2017
13:40:09
а никто не хочет сегодня по Рубику пройтись ?)

Sergey
16.06.2017
13:41:17
Звучит заманчиво

Aleksander
16.06.2017
13:41:54
спонтанный bar hopping)

Andrey
16.06.2017
13:56:27
имело бы смысл, если бы проверок было много

b0g3r
16.06.2017
13:58:36

Andrey
16.06.2017
13:59:48
тип - ключ, значение - обработчик. если не KeyError, то вызвать обработчик
а как с isinstance ?

b0g3r
16.06.2017
14:02:38
d = {type: handler}
for t, h in d:
if isinstance(obj, t):
h(obj)
но по мне: вариант с обычным if - лучше и яснее
Я уже понял что ты имел ввиду d[type(obj)](obj)

Andrey
16.06.2017
14:05:21
лишний цикл будет, я имел в виду не это.
type_to_handler = {
lib.Type1: handler1,
lib.Type2: handler2
}
for obj in get_list():
try:
handler = type_to_handler[type(obj)]
handler(obj)
except KeyError:
pass
не яснее в случае 10ти типов imho

Eugene
16.06.2017
14:11:01
Вариант с type не учитывает наследование типов.

Google

Andrey
16.06.2017
14:12:45
согласен
надо спросить автора кода, там предполагалось использование наследников или нет

b0g3r
16.06.2017
14:15:28
А есть петербуржские сообщества джавистов и шарпистов?

Michael
16.06.2017
14:16:37
@b0g3r JUG

Andrey
16.06.2017
14:17:42
есть ноданы, я знаю.

Dmitry
16.06.2017
14:20:19
хотя в основном C#

b0g3r
16.06.2017
14:20:46
Давай

Dmitry
16.06.2017
14:21:11
https://vk.com/spbdotnet

b0g3r
16.06.2017
14:27:04

Dmitry
16.06.2017
14:28:14
а про JUG - чё-то хз они вообще встречаются? я знаю проходят аля субботники во всяких ипамах. Но там типа мини конфы.
@mulga ты в курсе?

Michael
16.06.2017
14:29:32
Да, они редко собираются

Dmitry
16.06.2017
15:57:27
из тех кто делает конфы по айти в России. Каланов со мной согласен в этом мнении
они по качеству недосягаемы. двадцать тел и ничем кроме конференций не занимаются
я немного с ужасом жду, когда они придут за питоном, потому что инсайды говорят об этом.
часть наших проектов они могут подвинуть, если не съесть

Nikolay
16.06.2017
15:59:37

Dmitry
16.06.2017
16:01:04
они не пользуются проекторами площадок никогда. всегда арендуют более крутые
очень хорошо считают рынок и деньги, чекают слабые места
и в целом крайне агрессивные

Google

Dmitry
16.06.2017
16:01:19
holyjs если что тоже их конфа
сейчас у них Европа в приоритете и они начали там ивенты делать
на нашей стороне много крутых чуваков и мы принимаем всякие меры чтобы держать свои позиции. Но лично я их вовсе не склонен недооценивать.

Dmitry
16.06.2017
16:42:48

Vitali K.
16.06.2017
16:42:49
Митя шарит

Dmitry
16.06.2017
16:43:31
http://ic.pics.livejournal.com/23derevo/16606077/1765/1765_900.jpg

Dmitry
16.06.2017
16:44:30
ну, у меня план напоить его и поболтать
that's the way I operate
но вообще он действительно выглядит как чуваки которые у меня когда-то требовали деньги в подъезде

Dmitry
16.06.2017
16:45:26
ага)
а Олег Бунин не с ними? тоже же такие крупные конфы - Highload, РИТ

Serge
16.06.2017
17:31:19

Vitali K.
16.06.2017
17:47:10
@lig11 расскажи куда к тебе теперь идти

Serge
16.06.2017
17:47:34
arkgovc.com
http://advance.careers

Vitali K.
16.06.2017
17:49:02
стартапчики на реактике?

Serge
16.06.2017
17:53:16
Там машинное обучение под капотом

Nikolay
16.06.2017
17:53:48
на джаваскрипте