[WT] [Архив]  [Поиск] Главная Управление
[Совместно с Ычаном]
[Назад] [Вся нить] [Последние 50 сообщений]
Ответ в нить [Последние 50 сообщений]
Имя
Animapcha image [@] [?]
Тема   ( ответ в 15681)
Сообщение flower
Файл 
Пароль  (для удаления файлов и сообщений)
Параметры   
  • Прежде чем постить, ознакомьтесь с правилами.
  • Поддерживаются файлы типов 7Z, BZ, BZ2, GIF, GZ, JPG, MO, MP3, OGG, PDF, PNG, PSD, RAR, SVG, SWF, TXT, XCF, ZIP размером не более 10000 кБ.
  • Ныне 2185 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
38 сообщений пропущено. Показаны 50 последних сообщений Развернуть все изображения
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

Скорее всего потому, что это толстенная книга про плюсы целиком, и даже после прочтения её ты всё равно не будешь полностью знать плюсы.
[Назад] [Вся нить] [Последние 50 сообщений]

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