[WT] [Архив]  [Поиск] Главная Управление
[Совместно с Ычаном]
[Назад] [Вся нить] [Первые 100 сообщений] [Последние 50 сообщений]
Ответ в нить
Имя
Animapcha image [@] [?]
Тема   ( ответ в 15681)
Сообщение flower
Файл 
Пароль  (для удаления файлов и сообщений)
Параметры   
  • Прежде чем постить, ознакомьтесь с правилами.
  • Поддерживаются файлы типов 7Z, BZ, BZ2, GIF, GZ, JPG, MO, MP3, OGG, PDF, PNG, PSD, RAR, SVG, SWF, TXT, XCF, ZIP размером не более 10000 кБ.
  • Ныне 2295 unique user posts. Посмотреть каталог
  • Максимальное количество бампов треда: 500
Файл: 148684155914.png-(659.24KB, 720×720, junior_developer_kyon.png)
15681
No. 15681 Закреплено watch    
Здесь можно получить помощь и консультацию по любому языку программирования, в любой сфере разработки. Не важно, программируете ли вы собственного робота, пишете серверную приблуду, интегрируете чужие API, ковыряете игру, или пытаетесь сделать сайт на Wordpress - если аноним что-то об этом знает, он обязательно поможет.

Примеры кода лучше выкладывать в виде ссылок на http://pastebin.com или http://ideone.com
Фронтендные вещи лучше выкладывать на http://jsfiddle.net

Не знаете, какой язык и библиотеки взять для вашей задачи? Вам сюда.
Не знаете, где клиент, а где сервер? Вам сюда.
Не понимаете, что такое ООП? Вам сюда.
Написали код, и не понимаете, почему не работает? Вам сюда.
Обнаружили кусок кода, и не понимаете, как оно вообще могло работать? Вам тоже сюда.
Не знаете, как подступиться к проблеме? Вам обязательно сюда.

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

Чтобы не сбивать новичков с толку, а также не разбавлять полезную информацию мусором, беспредметные споры типа "какой язык / парадигма / библиотека / етц лучше" здесь запрещены.

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

Пополняемая база знаний: http://pastebin.com/AGhLZppH
Cсылки на прошлые нити указывают сразу на архив

Другие тематические нити (не стесняйтесь их поднимать):
Java: >>/dev/13949
Python: >>/dev/14767
Сайтостроение: >>/dev/13701
Ren'Py: >>/dev/14429
Upwork: >>/dev/14444

Архив нитей:
http://410chan.org/dev/arch/res/14160.html

Прошлая нить пока тонет тут: >>/dev/14160
Развернуть все изображения
No. 15683    
Проверил первые три ссылки в "пополняемой базе знаний" из оппоста - все мертвые. Архив нитей тоже мертв. Наверное, имеет смысл их удалить в следующий раз.
No. 15684    
>>15683
Всё в порядке. Просто старую нить обещали сразу перенести в архив, но не перенесли. Поправил ссылки в базе знаний чтобы они указывали на еще живую старую нить. Как заархивируют - поменяю обратно
No. 15685    
Хотел спросить: могли бы назвать несколько борд с активным разделом по программированию? Про тот самый и доброчан говорить, пожалуй, не стоит.
No. 15686    
>>15685
Форчонг, японский двач, футаба.
No. 15687    
>>15685
>>15686
Лор же.
No. 15688    
reddit. Не борда, но там есть ВСЁ.
No. 15689    
>>15685
/g/dpt (но там щитпостинг в основном)
No. 15690    
Куда лучше идти:

Фронтенд - HTML,CSS, JS, ну и соответствующие к нему фреймворки
/
Вэб
\
Бэкэнд - PHP/Java/Rubi/Perl ...

Мобильные приложения - Java применительно к Android, Swift для ios итд...
No. 15691    
>>15690

Если ты задаёшь такой вопрос, то наверняка тебя ничто конкретное не интересует.

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

У меня где-то сохранена статья с хабра с развёрнутым комментарием какого-то сударя, который брался исключительно за то, что было ново и востребовано, но я не могу найти его.
No. 15692    
>>15690
Бэкэнд+Андроид+интерпрайз-хуяк-хуяк-впродакшен: C (для понимания, как ебать байтики и чёрной магии), Java (основы ООП, Андроид), Perl (для парсеров, однострочников и освоения регуляркомагии), C++/C#/Golang (интерпрайз, гейОС), Python (если не вызывают отвращения отступы), Haskell (чтобы всех затроллить).
Но если хочешь зарабатывать и надеешься на деньги в ойти, то: ведро, швабра, знакомые в крупной ойти-компании.
No. 15693    
>>15691
>где появляются новые технологии, которые ты можешь быстро освоить
…и которые через два-три года, за которые ты ими овладеешь, никому нахер будут не нужны. Плохой совет.
No. 15694    
Вкатываться сейчас? Только нейроночки, очевидно же. Если нет базы по матану/матстату, тогда рассматривать варианты вроде >>15690
No. 15695    
>>15692
Разве большинство парсеров не на Пыхе пишутся?
No. 15697    
Файл: 148694444648.jpg-(138.87KB, 1280×901, 1477977432206.jpg)
15697
Стиви, не прогоняй, пожалей мое зрение и в мире больше будет теплого лампового кода.
Реквестирую аудиокниг по околоайти (чтобы без кода и формул же). Я себе неспешно почитывал Собор и Базар пока глаза не начали вылазить от смены одного экрана на другой, хочу попробовать делать перерывы и чтобы не скучать - слушать что-то полезное и идеологически верное. Понятно, что подобная литература озвучивается редко, но должно же быть что-то про кулхацкеров и лучи добра.
No. 15698    
>>15693

Не нужно овладевать всем этим дерьмом, нужно удовлетворять спрос рынка навыками чтения документации и решения задач. Если хочешь чем-то конкретным овладеть, делай это в свободное от работы время.
No. 15699    
Файл: 148706577711.png-(168.83KB, 750×750, 1456151239001.png)
15699
Вопрос к рубистам.
Понадобилось нарисовать гуй средствами MRuby, внезапно застрял на одном незначительном моменте - не могу решить в каком именно виде хранить и передавать координаты элементов. Варианты:
  • Array ( [x,y] )
  • Struct ( Class Vec2 < Struct.new(:x,:y); Vec2.new(x,y) )
  • координаты отдельно ( @x, @y )
Бенчмарк показал, что последний способ в 2 раза быстродейственнее массива, и в 6 раз быстрее Struct'а. Но очень не хочется везде дублировать код.
Собственно, а как правильно делать в этом вашем руби?
No. 15700    
Няши, накидайте книжек по Perl 6.
Заранее спасибо.
No. 15701    
>>15699
Неправильное место ты выбрал для бенчмаркинга и поиска путей оптимизации. Делай как тебе удобно. С гуями на руби не работал, но некоторый опыт работы с руби подсказывает что параметры стоит хранить либо в полях либо в хеше.
No. 15702    
>>15699
Делать как удобно и наиболее очевидно, до тех пор пока не заметишь, что именно в этом моменте нужно оптимизировать производительность. Руби вообще вроде считается не самым быстрым языком чтобы гнаться в нем за бенчмарками.
No. 15703    
>>15700
Тут много разных материалов:
https://perl6.org/resources/
Книги тоже приведены, но почему-то их там крайней мало и готовой значится только одна, Perl 6 at a glance:
https://deeptext.media/i/perl6-at-a-glance/perl6-at-a-glance-preview.pdf это превью

Из издаваемых книг нашел еще Perl 6 by Example:
https://leanpub.com/perl6/read_sample

Из бесплатных вижу такое: http://www.perlfoundation.org/perl6/index.cgi?open_source_perl_6_book

И такое: https://github.com/perl6/book

А вообще, что-то с книгами по перл 6 так плохо, что даже кампанию на кикстартере провели https://www.kickstarter.com/projects/1422827986/learning-perl-6/
No. 15704    
>>15699
>Собственно, а как правильно делать в этом вашем руби?

Правильно - сделать так, чтобы читалось лучше. Если тебе была бы нужна производительность, ты не писал бы на Руби.
No. 15705    
>>15699
Пока мы ждём рубистов, покажи пожалуйста немного кода, который ты хочешь оптимизировать. Чтобы понять, сколько раз вызывается метод, который должен получить координаты, что он там с ними делает, етц.
No. 15710    
>>15692
Добавлю кое-что: с Perl'ом ты можешь показывать друзьям которых у тебя нет какой ты охеренный хацкер, благодаря регэкспам.
No. 15711    
>>15710
>>15692
Упс, не заметил про регулярку. Фейл.
No. 15723    
Файл: 148745285823.jpg-(16.18KB, 610×273, 1478534921_20160807160345_1-1.jpg)
15723
>>15694
Нейросети сейчас не более чем игрушка.
No. 15731    
>>15723
Как и персональные компьютеры в 80х.
No. 15733    
>>15723
>>15731
>Чтобы не сбивать новичков с толку, а также не разбавлять полезную информацию мусором, беспредметные споры типа "какой язык / парадигма / библиотека / етц лучше" здесь запрещены.

Давайте создадим рядом дискуссий нить и будем там дискутировать.
No. 15763    
Файл: 148790477190.jpg-(469.32KB, 1920×1080, junior_developer_kyon_standby.jpg)
15763
Аноним проверяет тред несколько раз в сутки, чтобы каждый мог получить ответ или хотя бы наводку на него в тот же день.

Раздел медленный, так что пусть даты постов не пугают вас, аноним ждет ваших вопросов и кодерских находок.
No. 15766    
>>15733

Уже есть, называется /dev/.
No. 15768    
>>15723
Я тут мимо шел и хочу заметить, что эти "игрушки" вполне используются, например, в в физике и химии. Просто потому что для ансамбля из, допустим, 1000 квантовых объектов, она быстрее и точнее даже квадратичного метода (ака попарное взаимодействие), не говоря уже о честных вычислениях
No. 15769    
>>15768
>приближение нейросетями
>точнее честных вычислений
No. 15770    
>>15769
Ой все. Ясно же, что здесь имелась ввиду только часть про быстрее
No. 15773    
Поясните мне пожалуйста за NoSQL. Все что я вижу - это реализации key-value хранилищ в виде отдельных приложений. А разговоров вокруг них будто какой-то рокетсаенс. Есть ли у них жизнь помимо кеш-серверов или хранилищ для проектов без связанных друг с другом данных?
No. 15774    
>>15773
>Есть ли у них жизнь помимо кеш-серверов или хранилищ для проектов без связанных друг с другом данных?
Не сколько "не связанными данными", сколько "плохо структурированными" или "плохо структурируемыми" данными. Для многих сфер где надо собирать информацию вроде и одной тематики, и схожую, но с возможными драматическими отличиями например, в информации с одного источника есть здоровый кусок данных, в информации с другого источника этого куска нет, но есть какой-то другой Каждый раз адаптировать реляционную базу данных под такое - сущее мучение. А добавить поле в документ и проверить потом что оно там есть - очень быстро. Главное - не пытаться делать из нереляционной базы реляционную, нахлобучивать джойны, каскады, и т.д.

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

>А разговоров вокруг них будто какой-то рокетсаенс.
Обычно рокет саенс начинается когда на нереляционной базе начинают по привычке строить реляционную модель данных, а так да, ничего сложного особо нет
No. 15789    
Файл: 148840379170.jpg-(138.60KB, 960×540, photo_2017-02-27_08-49-37.jpg)
15789
Что почитать (лучше примеры и туториалы) для того чтобы научиться красиво писать на Python 3 всякие сложные list comprehensionы с лямдами, мапами и генераторами? Типа сделать словарь из трех списков с доп условиями. И, скорее, даже не просто красиво их писать, а наиболее читабельно и менее объемно, уверен есть какие-то стандартные практики.
No. 15790    
>>15789
PEP 8 уже вызубрил?
No. 15791    
>>15790
Нет, но провел один пару раз рефакторинг кода в соответствии с ним. Возможно, когда-нибудь и вызубрю таким образом. Кстати, не нашел там ничего из того, о чем писал выше.
Вот, например, как мне удобнее всего сделать список уникальных слов для набора текстов, если есть список текстов, где каждый текст это список слов?
Я делаю так:
unique = []
for text in tokenized_texts:
for word in text:
out.append(token)

Однако уверен что можно сделать читабельный однострочник.
No. 15793    
>>15791
>как мне удобнее всего сделать список уникальных слов для набора текстов, если есть список текстов, где каждый текст это список слов?
Это слова. Твоя проблема - сделать из двумерного списка одномерный и уникальный. Что гуглится.
set(itertools.chain.from_iterable(tokenized_texts))

No. 15797    
>>15793 О, https://docs.python.org/2/library/itertools.html выглядит очень неплохо, спасибо. Похоже придется прошерстить всю стандартную библиотеку, чтобы найти подобные приёмчики.
No. 15808    
В яве взможно иметь "перегруженный" женерик с разным количеством типов?
Например
interface A<T1,T2> {
void do(<T1 t1, T2 t2);
}
и
interface A<T> {
void do(T t);
}
No. 15809    
>>15808
Нет, нельзя.
Ты можешь перегрузить методы, ты можешь унаследоваться от интерфейса с более точным указанием типов
public interface TestInterface<K,V> {}
public interface TestInterfaceTwo<V> extends TestInterface<Object, V> {}
No. 15810    
>>15809
С этим понятно, другой вопрос.
Я объявил
interface BiPredicate<T, U> {boolean test(T t, U u);}
(Делаю велосипед, так как лямбды у меня не поддерживаются.) Теперь как лучше сделать реализацию, чтобы она была статичным методом статичного класса? Чтобы передавать предикат в функции f(Predicate<T, U>) как f(Util::compareFooAndBar)
No. 15813    
>>15810
Честно говоря я запутался. Емнип синтаксис :: появился в 8 жаве. Ты сказал что лямбды использовать не можешь я предполагаю что у тебя вресия 7 или ниже. В таком случае я не вижу иного выхода как по-честному расписывать методы без дополнительной абстракции. Возможно если ты приведешь конкретный пример как ты хочешь использовать свой метод, я смогу посоветовать лучше.
No. 15814    
Файл: 148864247045.png-(47.51KB, 677×473, 111.png)
15814
Что у меня не так в коде? Компилируется без ошибок, при попытке вызвать getRadikals() дохнет с: terminate called after throwing an instance of 'Glib::ConvertError'
No. 15815    
Файл: 14886424884.png-(29.95KB, 673×480, 222.png)
15815
>>15814
No. 15817    
>>15814
>>15815
Нашел такую проблему с ustring: https://mail.gnome.org/archives/gtkmm-list/2012-November/msg00016.html

В частности, человек засовывает юникод-символ в ustring (итальянскую букву в данном случае), и у него вылетает такой же эксепшн.

Приводится такой рецепт решения:

>#include <locale.h>
>and
>setlocale(LC_ALL, "en_US.utf8");
>made the code work without exceptions.

Попробуй и сообщи результаты.
No. 15818    
>>15813
У меня восьмая, но со старым синтаксисом (Processing) https://github.com/processing/processing/issues/3054
Я быдлокожу данмаку (как оригинально) на процессинге. У меня есть статический метод public static boolean checkCollision(Actor a1, Actor a2)
Экземпляры класса Actor хранятся в коллекциях playerBullets, enemies, enemyBullets, pickups, etc.
В игровом цикле сопоставляются все элементы из ааждой нужной пары коллекций через checkCollision, и если коллизия есть вызывается коллбек типа BiConsumer<Actor, Actor>.
Сопостовление происходит через функцию, которая принимает на вход две коллекции с Actor'ами и коллбек, который нужно вызвать. Выглядит вызов так: Util.findCollisions(playerBullets, enemies, onEnemyHit);
Из любви к хорошему коду хотелось бы сделать функцию генериком с сигнатурой типа:
public static <T, U> void compareObjects(Iterable<T> list1, Iterable <U> list 2, Pedicate<T, U> comparator, BiConsumerT, U> handler);
Т.е. если сейчас в функции в качестве проверки захардкожено checkCollision, я хочу отправлять вместо этого предикат. Вопрос заключается в том, как ме объявить класс, реализующий интерфейс Predicate<Actor, Actor> так, чтобы е создавать экземпляр класса, а использовать статично, как сейчас захардкожена статичная функция chrckCollision.
Вот.
No. 15819    
>>15818
>>public static <T, U> void compareObjects(Iterable<T> list1, Iterable <U> list 2, Pedicate<T, U> comparator, BiConsumerT, U> handler);
Как я понимаю ты в одном месте собираешься одновременно сравнивать компаратором и обрабатывать обработчиком, что уже не очень красиво т.к. ты нарушается принцип единой ответственности. Чем тебе не нравиться стандартный подход - через интерфейсы? Если я более-менее правильно понимаю твою ситуацию, то в красоте и читабельности от передачи функции вместо объекта хендлера ты не выиграешь.
Если твой код где-то выложен, могу поревьюить.
No. 15820    
>>15818
И да, у тебя путаница Predicate и BiConsumer
Predicate - с одним параметром, возвращает boolean, BiConsumer - с двумя, возвращает ничего.
Predicate<String> s = (p) -> p.length()>0;
BiConsumer<String, String> bc = (a, b) -> {
System.out.println(a);
System.out.println(b);
};
System.out.println(s.test("asd"));
bc.accept("str1","str2");
Поэтому если коллбек ты еше сможешь сделать подобным образом, то компаратор тебе придется делать через интерфейс без вариантов.
No. 15821    
>>15817
Извиняюсь, проблема была в другом. Я вызвал getRadikals() до волшебной команды, которая видимо инициализирует gtkmm - Gtk::Main kit( argc, argv );. Поставил вызов getRadikals() после, и все заработало. Спасибо.
No. 15823    
>>15818
>>15820
Затупил, ты же писал что твои предикаты это твой собственный интерфейс. Кажется я разобрался что ты хотел, посмотри этот вариант
http://pastebin.com/BhdUVHWQ
No. 15826    
Какой язык можно использовать вместо Питона?
No. 15827    
>>15826
В каких целях?
No. 15828    
>>15826
Вайтспейс.
No. 15829    
>>15827
Скрипты и парсеры
No. 15830    
>>15829
Перл.
No. 15831    
>>15830
А он разве жив?
No. 15832    
>>15831
А разве нет? Что мешает писать на нём?
No. 15833    
>>15829
Для скриптов и парсеров всегда есть смысл использовать:
А также присутствуют лямбды, фвп, и прочие привычные питонисту вещи. Также поддерживается скриптование из коробки: https://www.scala-lang.org/documentation/getting-started.html#script-it

Если под парсерами имеются в виду всякие скрепперы и краулеры, то стоит рассмотреть:
  • Node.js и надстройки над ним вроде Casper.js, т.к. это быстрый способ накостылять выдергивалку веб-контента, которая будет делать что-то полезное. Также, это всё можно заставить скриптоваться, хоть и окольными путями: https://developer.atlassian.com/blog/2015/11/scripting-with-node/

No. 15834    
>>15831
Релизы идут.
Есть ещё шестёрка, там поддержка грамматик на уровне языка
No. 15835    
Всем добрый вечер. Задачка такая: есть текст типа

text
text text ...
....
@@@

.
.
.
@@@
Множество таких вот полей короче говоря, типа абзацев, хз.
Нужно распарсить их, оставив последнее поле, при помощи awk или sed в Bash-е.
Это как бы часть задачи оставшаяся, так то я привел текст к такому состоянии и стал в тупике. Посоветуй что нибудь, Стив.
No. 15836    
>>15835
http://pastebin.com/AYXfx16d
ай, больно получилось, вот пример текста для парсинга.
No. 15837    
>>15835
Советую http://www.grymoire.com/Unix/Awk.html
No. 15838    
>>15835
А залей на пастебин заодно как ты хочешь, чтобы оно выглядело в итоге, а то не очень понятно.
No. 15839    
>>15838
http://pastebin.com/xTugXepB
Вот так вот примерно.
>>15837 плохонько у меня с английским, к сожалению.
No. 15840    
>>15839
Советую выучить английский.
Впрочем, мне самому лень осиливать что сложнее грепа, вот костыль:
TEXT=$1
NUM =
grep -n '***' TEXT | tail -n 1 | grep -oP '\d*'

tail -n $NUM $TEXT
No. 15841    
>>15840
>` переводит на другую строку
Как-то это неправильно, Соус.
No. 15842    
>>15840
проблема в том, что нам не известен текст.
Нам известено только то, что нужно отрезать от всего текста все, до последних звездочек.
No. 15843    
>>15842
Ты понимаешь, что для этого по-любому потребуется какой-то буффер? Ну, запихиыай в него строки, и обнуляй по нахождению следующего "*". Или таки учи авк чтобы написать там то же самое.
No. 15845    
>>15839
>>15842

Допустим твой файл, в котором лежит инпут называется test.txt

Тогда:

tac test.txt | sed '/\*\*\*/q' | tac


Здесь мы читаем файл с конца, пока не наткнемся на три зёздочки, после чего выходим (звёзды тоже будут в аутпуте), после чего разворачиваем то что насобирали до сих пор.

Аутпут получается ровно тот, что ты просил.
No. 15846    
>>15845
оу, спасибо большое. Я что-то не догадался до такого:)
No. 15885    
Тут был анон, который спрашивал про скалу как основу для скриптов, но его вопрос куда-то делся. Базово это будет работать так же как питон, который через свою виртуальную машину код гоняет. Т.е. оно тоже не нативно, но более-менее прозрачно получится:
https://www.scala-lang.org/documentation/getting-started.html#script-it
No. 15950    
Файл: 148992465748.jpg-(120.11KB, 227×343, puff.jpg)
15950
Хочу абстрагироваться от говноиннтерфейса борд, а ещё лучше запилить технофашистский форум на 9p, где можно будет бугуртить от современного говно-ПО, обмазываться столменовщиной, тео-де-раатовщиной хоть через SSH. Какие бинарные блобы?
No. 15951    
Файл: 148994124719.jpg-(73.58KB, 300×280, Parovoz_na_tirechevo.jpg)
15951
>>15950
No. 15952    
>>15951
Не нашёл так ничего хоть сколько-нибудь подходящего под описание.
No. 15954    
>>15952
>можно будет бугуртить от современного говно-ПО, обмазываться столменовщиной, тео-де-раатовщиной
Типичный /s/.
No. 15955    
>>15954
На тирече нет /s/. Если ты про мэйлач, то из перечисленного там только бугурт. Но теперь я понял свою ошибку, так что косвенно ты мне помог-таки. Не благодарю, уёбываю.
No. 15957    
>>15950
Технических подводный камней два - нет готовой технической базы, раз. Нет готовой архитектуры для такого форума, два. По крайней мере, насколько мне известно Это всё можно придумать, но для этого надо знать как ты себе представляешь подобный форум, что и хотелось бы спросить. Но ты уже ушел

Еще это всё упрётся в 3, из-за обскурности неоткуда будет собрать сообщество
No. 15958    
>>15957
Обскурность можно решить через мониторинг открытой части ресурса, и инвайтить подходящих. Хотя это и не решение всех проблем, я вижу очевидные слабые стороны, но тем не менее уже что-то, как минимум позволяющее понять, стоит ли городить более основательные вещи.
No. 15959    
>>15950
Ах, да. Лор.
No. 15960    
>>15958
>инвайтить подходящих
Это как "на ваш айпи адрес было выслано приглашение"? Или просто $регистрация по инвайтам от других мемберов? Но за этим следуют аккаунты, карма и всё то что так не любят анонимусы.

Если у ресурса будет открытая веб-часть, которая будет собирать всё информацию воедино и которую всё равно могут читать все, что даёт распределенное хранилище?

Сириасли, распиши свою задумку развернутее.
No. 15961    
Товагищи!
>нет готовой технической базы
Нипонил. Какая техинческая база? Конпелятор есть? Есть. Тырнеты есть? Есть. lib9p есть? lib9p есть или нет? Что же вы молчите?
>Нет готовой архитектуры для такого форума
Это канал про аниме?
>Сириасли, распиши свою задумку развернутее.
В самом общем приближении хотелось бы виртуальную ФС как интерфейс к форуму. То есть впилить борду в Plan9. Пост - создание файла в директории треда, например. Фронтэнд уже какой хочешь прикрутить можно, на каком угодно языке, хоть на SHELL-скриптах. Чтобы подключиться к борде, монтируешь соответствующую удалённую ФС. Красота.
No. 15962    
>>15961
>удалённую ФС
Причём, можно и распределённую, к gnunet какой-нибудь подключаться. Или к ZeroNet. Через Tor. В общем, главное - ФС как интерфейс.
А недостаток один - оно нахуй никому не нужно. Да и для меня не проебать лето задача куда приятнее.
No. 15963    
Стиви, хочу научиться кодить на плюсах, пока мутужу книгу по С Кернигана и Ритчи, в связи с этим три вопроса.
1. Есть ли подобная упомянутой выше книга про плюсы?
2. Есть ли сборник типовых задач, который ты должен мочь чтобы на должность стажера претендовать?
3. Какой нормальный IDE под шиндовс есть? *nixы мне совсем не вариант, с основной работой не сочетается.
No. 15964    
>>15963
1. Страуструп, но её нирикамендуют.
3. IDE много, я сейчас учусь в Qt Creator.
No. 15965    
>>15964
пачиму нирикаминдуют?
No. 15966    
>>15963
>2. Есть ли сборник типовых задач, который ты должен мочь чтобы на должность стажера претендовать?
Скорее всего тебе придётся претендовать на стажерство не на C, а на C++

C
Вот список литературы. Обычно от стажеров требуют знать основы языка а также несколько best practices.
http://stackoverflow.com/a/562377

C++
Я бы обратил внимание в первую очередь на ООП-туториалы (на другие обрати внимание тоже) https://www.tutorialspoint.com/cplusplus/cpp_object_oriented.htm Не забывай жать Next Page

Что касается именно списка литературы, то посмотри на этот. Опять-таки, обычно от стажеров требуют знать основы языка а также несколько best practices:
http://stackoverflow.com/a/388282

Также стоит обратить внимание просто на "вопросы которые задают на собеседованиях по C/C++"
https://www.tutorialspoint.com/cprogramming/cprogramming_interview_questions.htm
http://www.indiabix.com/technical/c/
https://www.tutorialspoint.com/cplusplus/cpp_interview_questions.htm
http://alumni.cs.ucr.edu/~lyan/c interviewquestions.pdf
No. 15973    
>>15965

Скорее всего потому, что это толстенная книга про плюсы целиком, и даже после прочтения её ты всё равно не будешь полностью знать плюсы.
No. 15980    
Привет. Делаю БД в MySQL через консоль (упражнение из книги по веб-програмированию). Создал таблицу, но при добавлении информации мне пишет ERROR 2006 (HY000): MySQL server has gone away. В сети пишут найти в файле my.ini параметр max_allowed_packet и изменить значение с 4 на 32 и даже на 128. Я поменял, но ошибка никуда не исчезла. Вертится все в винде 7 через локальный сервер Open Server. MySQL и PHP версии 5.5-х64.
No. 15981    
>>15980 128M ?
No. 15982    
>>15980
> max_allowed_packet sets an upper limit on the size of any single message between the MySQL server and clients, including replication slaves. If you are replicating large column values (such as might be found in TEXT or BLOB columns) and max_allowed_packet is too small on the master, the master fails with an error, and the slave shuts down the I/O thread. If max_allowed_packet is too small on the slave, this also causes the slave to stop the I/O thread.

Ты одним запросом передаешь слишком много данных, пробуй делить его на куски. Ну и как выше говорилось - перепроверь, правильно ли ты записал параметр в конфиге.
No. 15983    
>>15980
https://dev.mysql.com/doc/refman/5.7/en/gone-away.html
Тут пишут что проблема может быть в винде, и что есть смысл посмотреть на коннкешн таймаут. Также, на всякий случай, после смены конфигов надо перезапускать mysql-сервер. Скорее всего он у тебя как служба

>You are using a Windows client and the server had dropped the connection (probably because wait_timeout expired) before the command was issued.

>The problem on Windows is that in some cases MySQL does not get an error from the OS when writing to the TCP/IP connection to the server, but instead gets the error when trying to read the answer from the connection.

>The solution to this is to either do a mysql_ping() on the connection if there has been a long time since the last query (this is what Connector/ODBC does) or set wait_timeout on the mysqld server so high that it in practice never times out.
No. 15984    
>>15980
Алсо, уточни пожалуйста, когда ты говоришь "из консоли" это ты запустил в cmd mysql.exe, или какой-то клиент типа sql workbench, или пользуешь какой-то веб-клиент типа phpmyadmin?
No. 15987    
Да. Запуская mysql.exe в cmd. Параметр проверил max_allowed_packet = 128M Новых не создавал, правил через блокнот существующий. По поводу "слишком много данных" сомневаюсь, там получается 5 записей (таблица из 5 колонок, 1 слову в 1 колонку) от силы на 30-40 символов. Мускул перезапускал и не раз. Разве что не переустанавливал. Не понимаю что значит "mysql как служба". Можно поподробнее?
No. 15990    
>>15987
>Параметр проверил max_allowed_packet = 128M
Проверь еще wait_timeout. И обязательно проверь, чтобы параметры на самом деле применялись. Вот тут показано как посмотреть актуальное значение прямо на запущенном сервере http://stackoverflow.com/a/1493742

>Не понимаю что значит "mysql как служба". Можно поподробнее?
Это значит, что сервер mysql интегрирован в систему, и ты его запускаешь/останавливаешь командой типа net start mysql / net stop mysql.
Легко проверить, зайдя в Панель Управления -> Система и безопасность -> Администрирование -> Службы, и поискав там MySQL. Или запустив msconfig, во вкладке Службы, с галочкой "Не отображать службы Майрософт"
No. 15991    
Читаю "Язык программирования Си". Застрял в самом начале на задаче считать текст посимвольно без массивов и при выводе заменить несколько подряд идущих пробелов на один. Если я правильно понимаю, что если использовать массив, то там просто надо записать в массив и двигать по массиву попадающиеся символы пока в прошлом элементе массива не будет пробел, а позапрошлом элементе пробела.
No. 15992    
>>15991
Без массива тебе надо просто считывать посимвольно в цикле, храня в памяти последний записанный символ. Если последний записанный символ - пробел, и текущий символ - тоже пробел, тогда ты его пропускаешь.
No. 15993    
>>15992
А в цикле ты базово считываешь по символу из STDIN (или откуда надо) и тут же выплёвываешь его в STDOUT (или куда надо), если он проходит проверку.
No. 15995    
Спасибо за совет, проверю все параметры, потом отпишусь помогло ли. Возможно таки действительно ошибка связана с виндой, так как в убунте мускул работает без всяких реконектов.
No. 16005    
Добрый вечер товарищи. Мне нужна помощь, в парсинге веб страничек. Юзаю питон (ну собственно познакомится с питоном и было задачей). Пока что потолок такой. Взять сайт, в моем случае yande.re, и создать списочек ссылок на картинки которые есть там.
Вот что набросал пока что. Типа все ссылки находятся в теле тега <script* в строках с началом Post register. Мой код оставляет собсно только строчки с Post register, а дальше не получается. Дайте совет как-нибудь :
http://ideone.com/gdqzOv
No. 16006    
>>16005
проблема в том, что на bash'e я такое могу написать, а на питоне вот завис...
No. 16009    
>>16005
findall возвращает список, используй search() и group(0). Из результата file_url доставать можно тоже регулярным выражением, но надёжнее использовать модуль json, который может распарсить JSON внутри "Post.register(...)".
Гораздо проще пойти другим путём и использовать
soup.findAll('a', { "class": "directlink largeimg" })

No. 16011    
>>16005
Тебе нужны ссылки на тамбнейлы, на полные посты с картинками, где все теги выписаны, или ссылки на сами картинки?
Вот прямо на главной я у них вижу
`

<a class="directlink largeimg" href="https://files.yande.re/jpeg/3378c6460fa025abf4e617c15be2555a/yande.re 389050 dress heels leotard nier_automata seol sword thighh
ighs%20yorha_no.2_type_b.jpg">
`

...
И тут я понял, что тебе уже ответил >>16009 , удвою его
No. 16012    
>>16005
В общем, в итоге будет как-то так
full_img_links = {a['href'] for a in soup..findAll('a', {"class": "directlink largeimg"})

Дальше с этим списком что хочешь уже можешь делать
No. 16015    
>>16012
>>16011
>>16009
Спасибо большое, разобрался
No. 16112    
Есть ли аналог python celery, на java/scala (play framework)?
No. 16113    
>>16112
Есть, называется Akka Framework. Есть для скалы, есть для жавы:
http://doc.akka.io/docs/akka/current/intro/getting-started.html
No. 16114    
>>16113
Оно по-моему даже сразу в тайпсейфовский стех входит.
No. 16118    
Не подкинете по доброте душевной пару ресурсов где расписаны команды python ?
Ну и обучалку какую по нему понятную,пожалуйста.
No. 16122    
>>16113
Не очень понятно как этим пользоваться. Может есть хорошие гайды по akka?
No. 16123    
>>16118
https://www.python.org/doc/
No. 16125    
>>16122
Если не очень понятно как пользоваться, то вот очень простой туториал, где всё вместе скручивается: http://alvinalexander.com/scala/simple-scala-akka-actor-examples-hello-world-actors
No. 16126    
>>16118
Наверное стоит попробовать интерактивный туториал по питону, это будет быстрее всего: https://www.learnpython.org/
No. 16129    
Спасибо за помощь с питоном)
No. 16132    
>>16129
Эм, если интерактивный туториал не подходит, я могу другие гайды подсказать, без проблем.
No. 16134    
Интерактивный туториал занятная штука,спасибо☺
No. 16257    
Добрый день, мне нужно значиттнаписать интерпретатор питона на си. Пока что пояснений я не получил особо и вот пытаюсь понять, что мне нужно делать, с чего начать. Ну как бы тривиальную схему работы интерпретатора я понимаю однако, как и что правильно делать пока что не знаю. Подскажите куда думать, пожалуйста.
No. 16258    
>>16257
Еще вот, для этого зачем то нужно юзать деревья.
No. 16261    
>>16257
>>16258
Вообще, так случилось что обычный интерпретатор питона уже и так написан на C: https://www.quora.com/What-is-Python-written-in
А вот его стандартная библиотека - нет, она написана в основном на самом питоне. Но обычная реализация питона не транслирует код на питоне в код на си, она крутит свой байткод в виртуальной машине.

Если тебя интересует трансляция питоновского кода в код на Си, то стоит посмотреть на Cython:
http://cython.org/
https://github.com/cython/cython

>подскажите куда думать
Собственно, у тебя есть такие пути:
1. Пойти по пути самих авторов питона, когда у тебя есть две части: парсер + генератор байт-кода, и виртуальная машина, исполняющая этот байт-код используя Си.
2. Сделать аналогично пункту 1, но без байткода, а используя более высокоуровневые компоненты для хранения конструкций питона.
3. Сделать прямую (насколько возможно) трансляцию Питон-кода в Си-код.
Это будет работать, но не все аспекты языка удастся транслировать.

Условные шаги для парсера такие:
1. Распарсить питон по его грамматике (они есть готовые)
2. Отсортировать распаршенное по принципу "что это такое", что из этого класс, что из этого операция, что переменная, что тип и т.д.
3. Замаппить отсортированное на Си-классы и типы / байткод.

Условные шаги для виртуальной машины такие:
1. Сделать распознавалку твоих специфичных си-классов / байткода.
2. Сделать систему выделения и очистки памяти (не особо серьезную, если это просто упражнение)
3. Потихоньку добавлять исполнение инструкций которые ты распознал из специфичных классов/байт-кода
4. Получать результат исполнения этих инструкций и обрабатывать его. Т.е. отправлять сообщения об ошибках, делать что-то внутри виртуальной машины и т.д.

>для этого зачем то нужно юзать деревья.
Подозреваю, для хранения текущего контекста. Это нужно, например, чтобы понять какое значение сейчас у локальной переменной в цикле, если тебе в качестве переменной передадут вызов чего-то еще, и т.д.
No. 16275    
Привет. В продолжение моего старого вопроса про вечный reconnect MySQL. Так ничего и не помогло. При запуске через cmd все так же происходит переподключение к sql. Проверил параметр wait_timeout = 600. Остальное (что рекомендуют проверить) так же в рамках приличия. В инете пишут что 30 должно хватать за глаза. Но у меня уже через 20 секунд бездействия происходит отключение. Причем само сообщение ERROR 2006 (HY000): MySQL server has gone away. выдается после того как команда создания таблицы введена и выполнена. При работе через пхпадмин и самопальную веб-форму работает норм. Тот же самый мускул в ubuntu работает нормально. Параметры настроек вроде одинаковые. Ещё, в винде, все ставил как комплект проги OpenServer. В линуксе как LAMP.
No. 16276    
>>16275
Давай копаться дальше.

Повысь уровень логгирования, и давай глянем что там:
>You can get more information about the lost connections by starting mysqld with the log_error_verbosity system variable set to 3. This logs some of the disconnection messages in the hostname.err file. See Section 6.4.2, “The Error Log”.

>Тот же самый мускул в ubuntu работает нормально
1. Сравни точные версии сервера и клиента на убунте и винде. Приведи их в соответствие.
2. Сравни конфиги на убунте и винде. Приведи их в соответствие.

>При работе через пхпадмин и самопальную веб-форму работает норм
Если дело в таймауте, то возможно их коннектор просто делает mysql_ping()

>в винде, все ставил как комплект проги OpenServer
И гугл пестрит жалобами на то что у людей падает MySQL в этой сборке. Явно же что-то с конфигом, или какая-то особо неудачная версия MySQL внутри. Возможно, стоит быстро завести виртуалку и проверить, будут ли проблемы с опенсервером и там тоже. А заодно, будут ли проблемы если туда установить чистый MySQL, без всяких сборок.
No. 16278    
>>16275
Вот еще что надо проверить:

>You may also see the MySQL server has gone away error if MySQL is started with the --skip-networking option.

>--skip-networking
>Do not listen for TCP/IP connections at all. All interaction with mysqld must be made using named pipes or shared memory (on Windows) or Unix socket files (on Unix). This option is highly recommended for systems where only local clients are permitted.

Очень может быть что в опенсервере оно так сконфигурировано.
[Назад] [Вся нить] [Первые 100 сообщений] [Последние 50 сообщений]

Удалить сообщение []
Пароль  
[Mod]