Ычан: [d | b / bro / hr / l / m / med / mi / mu / o / ph / r / s / sci / tran / tu / tv / x | es / vg | au / tr | a / aa / abe / c / fi / jp / rm / tan / to / vn / vo]
[Назад] [Вся нить] [Первые 100 сообщений] [Последние 50 сообщений]
Ответ в нить
Имя
Animapcha image [@] [?]
Тема   ( ответ в 23830)
Сообщение flower
Файл 
Пароль  (для удаления файлов и сообщений)
Параметры   
  • Прежде чем постить, ознакомьтесь с правилами.
  • Поддерживаются файлы типов 7Z, BZ, BZ2, GIF, GZ, JPG, MO, MP3, MP4, OGG, OGV, PDF, PNG, PSD, RAR, SVG, SWF, TXT, WEBM, XCF, ZIP размером до 5000 кБ.
  • Ныне 3435 unique user posts. Посмотреть каталог
  • Максимальное количество бампов нити: 500
157894316857.png-(578.70KB, 720×720, junior_developer_aoba.png)
23830
No. 23830    
Здесь можно получить помощь и консультацию по любому языку программирования, в любой сфере разработки. Не важно, программируете ли вы собственного робота, пишете серверную приблуду, интегрируете чужие API, ковыряете игру, или пытаетесь сделать сайт на Wordpress - если аноним что-то об этом знает, он обязательно поможет.

Пополняемая база знаний: http://pastebin.com/AGhLZppH

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

Другие тематические нити (периодически обновляется): https://pastebin.com/psy43ibG

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

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

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

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

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

Прошлая нить пока тонет тут: >>/dev/21641
Развернуть все изображения
No. 23831    
>>23830
В процессе систематизация прошлой нити для пополнения базы знаний.
No. 23833    
С настройкой апача с mod_rewrite сюда или нет? Буду считать, что сюда:
RewriteCond %{HTTP_USER_AGENT} MJ12bot

RewriteRule . - [F,L]
(и еще десяток правил для разных ботов)
Может кто-нибудь объяснить, почему оно работает на уровне .htaccess, но не работает, когда я пробую прописать это на уровне <Directory> внутри виртуалхоста?
И до кучи — можно как-нибудь сделать, чтобы эта нечисть, заодно, не мусорила в лог? (Или это плохая идея?)
No. 23834    
>>23833
>Может кто-нибудь объяснить, почему оно работает на уровне .htaccess, но не работает, когда я пробую прописать это на уровне <Directory> внутри виртуалхоста?

Должно работать и там, и там, но:
>Note that rewrite configurations are not inherited by virtual hosts. This means that you need to have a RewriteEngine on directive for each virtual host in which you wish to use rewrite rules.

Ты же не забыл там написать RewriteEngine On?
Можешь показать примерно, как выглядит твой <Directory>?
No. 23835    
>>23831
Пока из прошлой нити собралось вот такое:

>Хочу понять как git делает свой .gitignore
>>/dev/22204

>Хочу передавать бинарные данные через вебсокеты
>>/dev/22371

>Что лучше для начинающего, Ruby или Python?
>>/dev/22386
>>/dev/22387

>Хочу реализовать кастомные счетчики для постов в Wordpress
>>/dev/22448
>>/dev/22451

>Хочу сделать toggle-меню по клику средствами CSS
>>/dev/22467

>Как правильно разделять логику модели и логику контроллера?
>>/dev/22481
>>/dev/22487
>>/dev/22488

>Хочу хешировать пароли
>>/dev/22492

>Зачем в C++ имена классов начинать с _ ?
>>/dev/22520
>>/dev/22521

>Хочу разместить изображение поверх градиента средствами CSS
>>/dev/23006

>Хочу онлайн Matlab без регистрации и смс
>>/dev/23170

>Где узнать, поддерживает ли Node.js конкретную фичу JS?
>>/dev/23470

>Поясните про специализацию шаблонов в C++
>>/dev/23616

>Вылетает android-приложение при попытке открыть ScrollView
>>/dev/23717
>>/dev/23721

>Хочу Jupyter в облаке
>>/dev/23822
No. 23836    
>>23834
>RewriteEngine On?
Написал, разумеется.

>Можешь показать примерно, как выглядит твой <Directory>?
Да, собственно, стандартно выглядит. Я пробовал разные варианты, от <Directory /srw/www/> (это даже попытался впихнуть прямо в apache2.conf — тоже никакого эффекта), до <Directory /srw/www/user/html/site/> (что, вроде, эквивалентно указанию .htaccess, но всё равно не работает). Никакого эффекта ни на одном уровне нет. Внутри иногда был только этот список, иногда — еще директивы вроде AllowOverride All и т.д., которые, по идее, влиять не должны.

Ну и еще, там далее по тексту конфига была <Directory /srw/www/user/html/site/subfolder/>, в которой свои правила для mod_rewrite (со своим RewriteEngine On). Не могут они конфликтовать? Не должны ведь вроде, по крайней мере за пределами той папки…
No. 23837    
>>23836
>srw
srv то есть
И нет, в конфиге этой опечатки нет, сейчас специально проверил
No. 23839    
>>23836
>>23837

Вот тут расписано про наследование.
https://stackoverflow.com/a/34614298
Там где
>WARNING: mod_rewrite inheritance
Вроде описана прямо твоя ситуация.

>If you are switching between testing .htaccess and <Directory> containers in your server config and wondering why the directives in the <Directory> container aren't doing anything then it's possible that the mod_rewrite directives in .htaccess are completely overriding the directives in the <Directory> container. This is the default behaviour. .htaccess directives will take priority and parent directives are not inherited by default.

И решение:

>Generally, if you are using <Directory> containers in the server config then you don't need .htaccess, so the easiest option is to simply disable them in your <Directory> container with AllowOverride None

Скажи, поможет оно, или нет.

>Ну и еще, там далее по тексту конфига была <Directory /srw/www/user/html/site/subfolder/>, в которой свои правила для mod_rewrite (со своим RewriteEngine On). Не могут они конфликтовать?
Тут быстрее всего отключить и проверить, поменялось ли что.
No. 23844    
Ещё интересные сервисы без регистраций.
https://codesandbox.io — аналог jsfiddle для веб-разработки, но вроде гораздо более фичастый. Сборки бундлером, коллекция быстрых шаблонов, npm модули, fullscreen preview на отдельном поддомене.

https://repl.it — много языков. Выделяют поддомены.
https://docs.repl.it/repls/web-hosting
https://docs.repl.it/repls/http-servers

https://runkit.com/home — тоже что-то вроде repl/notebook, но только для nodejs. Из фич: мгновенный импорт любого npm-пакета, визуализация возвращаемых данных, и такое
> Create an API without worrying about servers or configuration. Just export a endpoint function and your notebook automatically becomes an HTTPS endpoint, accessible from any app.

https://book.klipse.tech — встраиваемые (embed) repl для своих веб-страниц для нескольких языков.
No. 23845    
Освоил верстку и замкнулся

Пытаюсь брать заказы на фрилансе (начал заниматься этим с 10 января) вылизывая заказчика с головы до ног - один раз повезло и заказчик обратил на мой отклик (задание было исправление ошибок в верстке), предложив сделать тестовое тестовое я провозился с ним 4 часа - из-за технической части(не из-за того что плохо верстаю и исправляю ошибки в верстке, просто много нюансов - расписывать нет смысла)
В итоге он взял опытную макаку(зачем новичок, если опытная макака за ту же сумму быстрее сделает) вместо меня, но предложил мне оплату за этот блок

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

Главная цель была зарабатывать хотя бы тысяч 5 в месяц с фриланса.. Но как побывал там, понял, что верстать все умеют, и нужно cms изучать..

Пытаюсь читать js по Кантору, получается нормально.
Но дело в том, что это очень нудно и мозг не позволяет заниматься этим делом даже 1 час без перерывов.
А некоторые занимаются этим по 6+ часов? или они просто шутят..

Пытаюсь изучать CMS системы, (wp, opencart) - идет легко, но не верится что там происходит всё путем готовых решений и что я смогу выполнить какой-то заказ с моими знаниями(да нужно практиковаться..)

Как можно вкатиться в фриланс если навыки есть, но заявку грамотно составить не можешь?
Выходит заказ с типичным названием "Создать интернет магазин" с очень маленьким и кратким описанием, на которое невозможно ответить в стиле:
post: задача заказчика
reply: интерес к его задаче и несколько предложений решения его задачи
как я должен красиво ответить, чтобы меня выбрали из 50 кабанчиков?
Да нужны отзывы чтобы тебе доверяли, но легких заказов за отзыв пока не видел..

Я хотел выполнять заказы на фрилансе(не получается) попутно изучая js.
Но все мои планы рухнули, на чем стоит сфокусироваться?
Подскажите пожалуйста
No. 23846    
>>23845
Вот-вот, у меня такой же вопрос.
No. 23847    
>>23846
Привет, конкурент
No. 23848    
>>23845 Портфолио сделай, как вариант. А на каких ты биржах (или где еще) пытаешься брать заказы
No. 23849    
>>23848
На рунет биржах
Портфолио есть, но в нем 2 работы
Заказчик которому нужен хороший исполнитель "с опытом работы" в основном не на портфолио смотрит, а на отзывы + портфолио у меня есть
Вообще зря я разнылся.. нужно искать легенькие заказ и пытаться работать пока за отзывы
No. 23850    
157926180823.webm-(65.08KB, 640×360, Maybe you should try getting a job_-afkN9H9aLow.webm)
23850
>>23845
No. 23851    
>>23845
Вёрстка это только начало. Дальше либо бекенд, либо фронтенд.
No. 23852    
>>23851
Да я понял, я же расписал все, вы не прочли?
>Я хотел выполнять заказы на фрилансе(не получается) попутно изучая js.
Но все мои планы рухнули, на чем стоит сфокусироваться?
No. 23853    
>>23852
>на чем стоит сфокусироваться?
Ну раз начал js учить, то продолжай. Всё равно он почти везде нужен.
Вёрстка + js + фреймворки = фронтенд.

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

Алсо, не рекомендую вылизывать заказчиков - фриланс это сотрудничество, а не прислуживание. По своему небольшому опыту советую.
No. 23857    
>>23851
А по бэкенду вообще много спроса на фрилансеров? Если да, то советую вкатываться в него: по моему опыту, люди от фронтенда довольно быстро выгорают из-за обилия и частоты смены фреймворков. Сам когда-то проработал два года фуллстеком и в итоге перекатился в бэкенд, лишь бы больше фронт не видеть.
No. 23858    
>>23857
>по бэкенду вообще много спроса на фрилансеров?
Точно не смогу сказать - не хочу уподобляться мартышкам, которые не в курсе дел на другом фронте разработки и делают неправильные выводы в стиле "да %технологию\язык нейм% уже никто не использует 100 лет".
Скорее всего, у всех есть заказы и двигай туда не где больше денег, а где конкретно тебе интереснее.

>люди от фронтенда довольно быстро выгорают из-за обилия и частоты смены фреймворков
Фронтенд это сейчас хайп и туда лезет очень много посторонних людей, которые естественно выгорают, просто потому, что не задроты.
Да и где там обилие фреймворков? Самые на слуху - React, Vue да Ангуляр, а Node.js это таки уже бекенд.
Это много что ли? Выучи один-два и работай на нём.
No. 23859    
>>23858
Ну, у меня когда-то знатно подгорело от чуть ли не ежемесячных изменений: переезд на бауэр, с него на галп, потом с первого ангуляра на второй, потом с js на coffee script. А проект при этом еле двигался.
Не думаю, что разработка не мое, в бэкенде я себя чувствую довольно хорошо. Возможно, что просто к фронтенду нужно отдельную предрасположенность иметь.
No. 23860    
>>23859
Ну у тебя тут только один фреймворк по факту. Кофе скрипт это диалект js, галп это просто библиотека, как и бовер. Такого везде много.

>в бэкенде я себя чувствую довольно хорошо
На чём пишешь?
No. 23862    
>>23860
Java / C++
Сложно объяснить. Меня смущает ментальность, когда люди стремятся впихнуть в проект новую технологию, не доделав задачу, которая нужна бизнесу.
No. 23863    
>>23860
Сразу дополню, что сталкивался с таким в основном фронтенде (и до сих пор сталкиваюсь, когда пересекаюсь по работе). Отсюда и отторжение.
No. 23864    
>>23860
>по факту
По факту есть множество модных способов сделать одно и то же. И каждые полгода мода меняется.
No. 23866    
Чиочан, выручай.
Есть бинарное дерево, просто из указателей, без данных.
struct TreeNode {
struct TreeNode leftChild;
struct TreeNode
rightChild;
}
Надо найти в нем самый длинный путь от корня к листу и вернуть его. Причем таких путей может быть несколько, вернуть надо все.
Как к этому приступиться - вообще непонятно.
No. 23868    
>>23866
Ключевые слова: обход дерева.
Конкретно в твоём случае, для решения в лоб, проще всего будет рекурсивно найти самые длинные пути из левого и правого поддеревьев и прибавить их к текущему узлу.
Если не справишься, пиши, распишу псевдокодом.
No. 23869    
>>23868
>прибавить их к текущему пути
Ещё не проснулся, поправил.
No. 23870    
>>23853
>Пытаюсь читать js по Кантору, получается нормально.
Но дело в том, что это очень нудно и мозг не позволяет заниматься этим делом даже 1 час без перерывов.
А некоторые занимаются этим по 6+ часов? или они просто шутят..

Что посоветуете по этому поводу?
No. 23871    
>>23870
Заниматься с перерывами. Ну или непросто читать, а предложенные примеры решать - очень хорошо разбавляет обучение.
Я так и делал.
No. 23872    
>>23870
>или они просто шутят
Не шутят.
No. 23874    
Еще такой вопрос аноны
Читаю Кантора и прям вообще некоторые моменты запомнить не могу
В новых темах упоминаются моменты которые я не смог запомнить и идет уже полное непонимание
Поможет ли тут метод конспектирования в тетрадь?
No. 23875    
>>23870

Какие уж тут шутки, тут как раз именно такое дело где просто необходимо позадротствовать. Эффект от кантора гарантирован
No. 23876    
>>23874
Поможет, конечно
No. 23877    
>>23868
Распиши, пожалуйста.
No. 23879    
>>23874
>Поможет ли тут метод конспектирования в тетрадь?
Выпиши определения и повторяй пару дней подряд - должно запомнится.
No. 23884    
В общем, с путями в дереве у меня самого так ничего не получилось.
Создал сбалансированное дерево поиска, напечатал. Как найти все пути с максимальной глубиной (да и вообще все пути) - никак не соображу.

Идеоне что-то чудит, поэтому код прямо сюда выложу

void tree_longest_paths() {

int n;
std::cout << "Enter number of nodes (no more that 100): ";
std::cin >> n;
std::cout << std::endl;

if (n < 0 ) {
n = abs(n);
}

if (n > 100 ){
n = 100;
}

int arr = new int[n];

for (size_t i = 0; i < n; i++) {
arr[i] = i;
}

TreeNodeMod
head = CreateBalancedTree(arr, 0, n-1);

PrintTreeTraversal(head);
std::cout << std::endl;
PrintTreeByLevel(head);

}

size_t TreeHeight(TreeNodeMod node) {

if (node == nullptr) {
return 0;
}
else
{
int lheight = TreeHeight(node->leftChild);
int rheight = TreeHeight(node->rightChild);

if (lheight > rheight)
return(lheight + 1);
else
return(rheight + 1);
}

}

TreeNodeMod
MakeNode(int x) {
TreeNodeMod n = new TreeNodeMod;
n->data = x;
n->leftChild = nullptr;
n->rightChild = nullptr;
return n;
}

TreeNodeMod
CreateBalancedTree(int arr[], int start, int end) {

if (arr == nullptr) {
return nullptr;
}

if (end < start) {
return nullptr;
}

int mid = (start + end) / 2;

TreeNodeMod n = MakeNode(arr[mid]);

n->leftChild = CreateBalancedTree(arr, start, mid - 1);
n->rightChild = CreateBalancedTree(arr, mid + 1, end);

return n;
}

void PrintTreeTraversal(TreeNodeMod
n) {

if (n == nullptr) {
return;
}

PrintTreeTraversal(n->leftChild);
std::cout << n->data << " ";
PrintTreeTraversal(n->rightChild);

}

void PrintTreeByLevel(TreeNodeMod n) {

int h = TreeHeight(n);

auto prnt = [](auto&& self, TreeNodeMod
n, int lvl){
if (n == nullptr) {
return;
}
if (lvl == 1) {
std::cout << n->data << " ";
}
else {
if (lvl > 1) {
self(self, n->leftChild, lvl-1);
self(self, n->rightChild, lvl-1);
}
}
};

for (int i = 1; i < h+1; i++) {
prnt(prnt, n, i);
std::cout << std::endl;
}

}
No. 23885    
>>23884
Читать не буду, извини, как-то ты всё усложняешь.
У тебя рекурсивно заданная структура данных, соответственно, работать с ней проще всего рекурсивно: и для просто обхода, и для подсчета путей, итд.
Вот, посмотри: https://pastebin.com/y0V2Zbwm
Пишу с микроволновки, поэтому возможно оно не компилируется и требует доработки напильником.
No. 23886    
>>23839
>Скажи, поможет оно, или нет.
(Долго тормозил, но, на случай, если это кому-то еще может понадобится, всё же отвечу): Помогло добавление в корневой .htassecc директивы
RewriteOptions InheritBefore
Этого хватило, чтобы всё, что установлено в конфигах апача, стало наследоваться.

Кроме того, приятная новость: большинство этих ботов таки слушаются robots.txt. Так что включение их и в него тоже сильно уменьшило размер логов. Только, разумеется, нужно его разрешение прописать в mod_revrite до всего этого черного списка.
No. 23887    
Эх аноны..
2 дня подряд человек с 10 отзывами забирает 2 раза подряд легких заказа на 50$ по верстке, как же у меня припекает и плакать хочется одновременно
No. 23888    
>>23887

Иди в бэкэнд, там софтскилз всё таки поменьше нужны, раз такие проблемы возникают.
No. 23889    
>>23887
Надо с заказчиком уметь работать.

>>23888
А на бэкенде они к тебе с поклоном приходить чтоле будут? Та же история как и везде.
No. 23890    
>>23887
У меня один перец увёл заказ на 200$ пока я дуплился.
Всех денег не заработаешь.
No. 23891    
>>23889

Поменьше, всё таки. Специфика такова, что требует некоторой квалификации, даже если ты просто вордпресс разворачиваешь.
No. 23892    
>>23886
Спасибо что отписал, добавлю в базу знаний.
No. 23893    
Господа фрилансеры, именно те, что начинающие, а что вас толкает на работу во фрилансе? Почему не удалёнка / работа в офисе?
No. 23894    
>>23891
Для вордпресса вообще никакой квалификации не надо - там всё мышкой кликается и это не бэкенд совсем.
Алсо как ты без софтскиллзов будешь заказ обсуждать? Как раз тут именно фронтенд легче - чёткие визуальные правки, без возни с бизнес-логикой и невнятными хотелками в которые ещё въехать надо. Поэтому на фронт все и валят.

>>23893
Я и не собирался только фрилансом кормиться. Сейчас активно подыскиваю офис - мне опыт нужен нормальный, а на фрилансе с этим опытом беда - там только наработанный использовать если.
А так - просто попробовал.
No. 23895    
>>23894
Вот я как раз хотел начинающим посоветовать не ходить во фриланс.
Нормальную культуру работы и софт скиллы (а они, внезапно, чуть ли не самое важное), можно прокачать только работая в команде. Причём лучше всего физически, а не на удаленке. Технические скиллы так тоже гораздо быстрее вырастут.
No. 23896    
>>23894

Я слишком коротко ответил, отсюда и недопонимание.
С заказчиком надо уметь работать разумеется, но могу сказать что при должной квалификации как-то это проще, чисто субъективно. А то что хайп на фронт, ну да, сражаются потом между собой свежеиспеченные реакт программисты в алом от их крови океане рунет бирж.
Сиэмэска то сама может и не бэк, но все что сложнее визитки уже требует его в том или ином виде, ну и посадки её соответственно. Как то так.
No. 23897    
>>23894
>Для вордпресса вообще никакой квалификации не надо - там всё мышкой кликается
Не всё, если без плагинов всё это дело организовывать, то писать таки нужно.
>Алсо как ты без софтскиллзов будешь заказ обсуждать?
Наставника бы найти, только где?
>>23893
>Господа фрилансеры, именно те, что начинающие, а что вас толкает на работу во фрилансе? Почему не удалёнка / работа в офисе?
А у меня в городе нетути никаких офисов, а для удалёнки, я подозреваю, документы всё равно нужно ехать офрмлять за тыщщу километров.
No. 23898    
>>23897
Подписанный договор можно заказным письмом отправить же. Зачем ехать?
No. 23899    
>>23893 Разные всякие бывают жизненные ситуации и конкретные обстоятельства, так то да конечно офис/удаленка лучше для по всем параметрам.
No. 23900    
>>23893

//Для развития по всем параметрам
No. 23902    
>>23885
Подумал и сам решил, вот так получилось

std::vector<std::vector<int>> FindPaths(TreeNodeMod node) {

std::vector<std::vector<int>> paths;
size_t h = TreeHeight(node);
std::vector<int> cur_path;
cur_path.reserve(h);

FindPathHelper(node, paths, cur_path, h);

return paths;
}

void FindPathHelper(TreeNodeMod
node, std::vector<std::vector<int>> & paths, std::vector<int> cur_path, size_t path_len_max) {

// Если узел пуст, то ничего не делать
if (node == nullptr) {
return;
}

// Добавить текущий узел в путь
cur_path.push_back(node->data);

// Если узел - лист, то проверить длину пути и запомнить путь, если он максимальной длины
if (node->rightChild == nullptr && node->leftChild == nullptr) {

if (cur_path.size() == path_len_max) {
paths.push_back(cur_path);
}

}
else {
// Если узел не лист, то рекурсивно обойти левое и правое поддерево
FindPathHelper(node->leftChild, paths, cur_path, path_len_max);
FindPathHelper(node->rightChild, paths, cur_path, path_len_max);

}

}
No. 23907    
Аноны, подскажите как работает данная функция
Я инстинктивно понимаю что она делает(принимает массив объектов со свойством age и сортирует их по нему), но логически не могу понять эту стрелочную функцию
как .sort располагает элементы после этой функции в правильном порядке(понятно что функция отсортировала всё, но не понятно как она работает..)?

function sortByAge(arr) {
arr.sort((a, b) => a.age > b.age ? 1 : -1);
}

let vasya = { name: "Вася", age: 25 };
let petya = { name: "Петя", age: 30 };
let masha = { name: "Маша", age: 28 };

let arr = [ vasya, petya, masha ];

sortByAge(arr);

// теперь отсортировано: [vasya, masha, petya]
alert(arr[0].name); // Вася
alert(arr[1].name); // Маша
alert(arr[2].name); // Петя
No. 23908    
15795183697.jpg-(361.44KB, 688×1000, Cinnabar_(Houseki_no_Kuni)_full_2270927.jpg)
23908
>>23907

function sortByAge(arr) { 
   arr.sort ((a, b) => a.age > b.age ? 1 : -1); 
}

семантически эквивалентно

function sortByAge(arr) { 
   arr.sort (function (a, b) {
      return (a.age > b.age ? 1 : -1);
   }); 
}

Замечу, что с такой операцией сравнения сортировка получается нестабильной.
No. 23909    
>>23907
Скорее всего, sort использует сортировку Хоара. Для сортировки последовательности достаточно знать, больше ли a, чем b. Характеристику чего по сути и возвращает передаваемая в sort фукция. Функция sort не располагает элементы после этой стрелочной функции-сравнителя compare, а использует её для сортировки, полагая, что a > b равносильно compare(a, b) > 0, a = b равносильно compare(a, b) = 0, a < b равносильно compare(a, b) < 0.

Например, для целых чисел compare(a, b) можно задать как дельту a - b, которой достаточно для определения того, находятся ли a и b в отношении >, <, =.
No. 23910    
>>23907
Можешь почитать тут объяснение
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
No. 23911    
Как решать проблему обобщенной или специфической реализации?
Постоянно возникает желание написать более общий код, который бы теоретически мог работать и с тем, и с этим, когда надо решить на самом деле одну конкретную задачу в конкретных условиях.
No. 23912    
>>23911
Само по себе то что ты делаешь не плохо, пишешь сразу с прицелом на расширение, что помогает избежать боли в будущем. Главное не делать это всё во вред, правило правой руки тут такое:

1. Сделать более широкое решение займет в 3 раза больше времени, чем более узкое?

2. Сделать более широкое решение значит сделать структуру классов в 3 раза сложнее для понимания, чем при более узком решении?

Если на оба вопроса ответил "нет", можно сразу писать более широкое решение. Если хотя бы на один вопрос ответил "да" - сократи объем генерализаций и повтори проверку, и так пока не останутся только самые недорогие и полезные генерализации.

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

Естественно, это всё не применимо к компонентам, которые изначально пишутся, чтобы их потом расширяли (всякие общие стратегии, и т.д)
No. 23914    
>>23909
Спасиб, именно из-за сортировки Хоара затупил
No. 23915    
Осспаде, как же у меня припекает от баз данных.
Даже не от самих баз, а от вывода ошибок. Почему они их выводят в наиболее нечитаемом виде? Почему не написать прямо - ошибка в такой-то строке(sql-строка) - в таком-то слове.
Зачем писать что-то вроде:
SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (
bla-bla
.
bla-bla
, CONSTRAINT
bla-bla-bla-bla-bla-bla
FOREIGN KEY (
bla-bla
) REFERENCES
bla-bla
(
bla-bla
))
Сам текст максимально размыт - никакой конкретики. Весь гугл забит поиском по этим ошибкам и народ раздаёт советы один другого костыльней.

Конкретно у меня лишний айдишник в цикле был, а народ советует модели править на этот текст. И исправлял я эту ошибку практически наугад - пересматривая исходники, т.е. вывод sql мне ну вообще никак не помог в отладке. А должен был.

Вот всегда с этого стул горит. Когда этот бред закончится вообще?
No. 23916    
>>23915
Понимаю боль, но помочь поменять вывод ошибок от СУБД мы не можем. А для простого обсуждения этой несправедливости лучше использовать диспутов нить >>/dev/21353
No. 23917    
>>23915
Целиком и полностью зависит от субд.

>>23916
Хватит мусорить в треде.
No. 23921    
Насколько безопасно использование $_SERVER["SERVER_NAME"]? Скажем, для установки кук?

Мне попадались сообщения, что его якобы бы можно подменить, если в запросе будет один адрес, а в заголовке host — другой. Однако, сколько я не пытался такое слать — запрос всегда приходил на тот сайт, который указан в host. И на значение SERVER_NAME это никак не влияло.

Так возможна ли подмена? Или это что-то очень древнее и в современных серверах эта уязвимость давно закрыта?
No. 23923    
>>23921
Подмена возможна, самый простой пример:

1. делаешь файл override_test.php со следующим содержимым (при заходе тебе будет показывать содержимое HTTP_HOST:

<?php 

var_dump($_SERVER['HTTP_HOST']);

?>


2. используешь cURL чтобы сделать к нему запрос следующего вида:


curl -H "Host: 410chan.org" http://www.website.com/override_test.php


И вуаля - ты видишь 410й вместо своего HTTP_POST
No. 23924    
>>23923
>curl -H "Host: 410chan.org" http://www.website.com/override_test.php
>И вуаля - ты видишь 410й вместо своего HTTP_POST
…И я вместо своего www.website.com стучусь на 410chan.org и получаю закономерное 404. Во всяком случае, с теми хостам, с которыми я это делал, у меня результат был именно таким.
No. 23925    
>>23924
Значит зависит от неких условий, я перепроверил перед тем как написать, если что: у меня на двух хостах все отработало
No. 23926    
>>23921
>запрос всегда приходил на тот сайт, который указан в host
С чего бы ему так делать, DNS и IP не читают HTTP-заголовки.
No. 23930    
>>23925
>>23926
Мда, пробовал в разных вариантах
curl -H "Host: domen2.org" http://domen1.org/test.php
Результаты, в порядке убывания:
• Запрос приходил по адресу http://domen2.org/test.php — почти всегда
• DNS error 1001 — при использовании https.
• Запрос переходил к хосту по умолчанию, с закономерным 404 естественно.

Последнее происходило лишь в том случае, если сервер не мог найти domen2.org в списке виртуальных хостов, и запрос не проходил по пути через какие-либо клоудфлары и иже с ними.
Т.е. в это случае, по всей видимости, действительно имеется такая уязвимость. Но вероятность такого события, т.е. того, что на сервере не используется VirtualHost, а хост по умолчанию содержит какую-то актуальную информацию, а не заглушку апача, мне кажется, близка к нулю.
No. 23931    
>>23930
А если вспомнить >>23921
>Скажем, для установки кук
То функция setcookie работает, как я понял, так: если передать ей левый домен, то она вернёт true и реально попытается послать заголовок. Однако фактически — в большинстве браузеров никакая кука установлена не будет.
В некоторых особо экзотических, вроде konqueror — будет, то для того домена, которому принадлежала страница, а не для левого.

Так что, даже если домен будет подменён, то, мне кажется, куку таким образом украсть нельзя. Это так? Или я что-то упускаю?
No. 23932    
>>23930
> вероятность такого события, т.е. того, что на сервере не используется VirtualHost, а хост по умолчанию содержит какую-то актуальную информацию, а не заглушку апача, мне кажется, близка к нулю
Буквально вчера столкнулся с таким ресурсом лол
No. 23933    
>>23923
>>23930
>>23923
>>23932

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

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

Поправьте если что не так.
No. 23935    
https://prettier.io/playground/ - форматирование кода онлайн.
No. 23938    
Есть mingw 8.1.0. Есть куча cpp файлов. Каждый из них конпелируется вот так
g++ src\a.cpp -c -m64 -fassociative-math -ffast-math -fomit-frame-pointer -fwhole-program -o out\a.o
Потом они все вместе линкуются вот так
g++ out\a.o ...ещё-~20-файлов... -shared -Llib-paths -lmore-libs -o xxx.dll
Проблема: если добавить в аргументы компилятору -O3, то он создаёт очень маленькие объектники, в которых больше половины функций просто нет. Если компилировать без оптимизаций, то получается undefined reference вообще на всё, кроме функций объявленных внутри самого файла. Экспериментальным путём было выяснено, что порядок объектных файлов в командной строке не важен.
Что вообще происходит и как заставить это работать?
No. 23941    
>>23938
А заголовки там есть?
No. 23942    
>>23938
> -fwhole-program
> Потом они все вместе линкуются
Возможно, стоит читать руководство к компилятору, прежде чем добавлять все подряд ключи оптимизации. Если тебе нужна глобальная оптимизация, то пользуйся -flto.
No. 23943    
>>23941
Конечно есть. Проблемы на этапе линковки, если я не очень понятно написал.
>>23942
На лто линкер ругается, что ему требуется плагин или что-то такое. Ключи оптимизации я просто скопировал из одного моего проекта. То, что компилятор сделать не может, он игнорирует. Если собирать одной командой все файлы, то результат не меняется. Так что твой комментарий в лучшем случае бесполезен.
No. 23944    
>>23943
> На лто линкер ругается, что ему требуется плагин или что-то такое.
Если под Win64 в используемой тобой версии toolchain нет поддержки LTO, то либо откажись от использования -fwhole-program, либо расставь
__attribute__ ((externally_visible))
для всех переменных и функций, которые должны быть видимы за пределами одной единицы трансляции.
> То, что компилятор сделать не может, он игнорирует.
Ты используешь не просто оптимизации, а ключи, меняющие семантику.
> Если собирать одной командой все файлы, то результат не меняется.
С какой стати ему меняться, если не передаётся ключ -combine?
No. 23945    
>>23944
Спасибо, действительно.
Качество опенсурсных прыщеподелок не перестаёт меня удивлять.
No. 23948    
Пусть у меня имеется некоторый контент, который загружен на сайт пользователями и может, by design, содержать любой js. Подчеркиваю, не внедренной по недосмотру, а именно загруженный совершенно легально динамической контент, который, тем не менее, не может считаться надежным.

Существует ли способ как-то запустить его в изолированной песочнице, чтобы он не смог взаимодействовать со всем остальным контентом сайта, куками, etc. и, соответственно, не представлял опасности?
Желательно также, чтобы друг с другом они тоже взаимодействовать не могли, но при этом могли бы хранить свои (изолированные от всего остального) данные на стороне пользователя.

Вариант выделять для каждого такого скрипта/страницы отдельный домен был бы идеален, но практически, боюсь, не реализуем. Возможно ли как-то реализовать такое же поведение в пределах одного домена?
No. 23949    
>>23948
Идеальное для тебя решение (тем более нативное для веба) это iframe - изолировано все отлично
No. 23950    
>>23948
>>23949
Кроме шуток, iframe действительно считается хорошим решением для изолирования / сендбоксинга скриптов, т.к. он ничего не знает о родительской, и уж тем более соседней DOM-модели и доступа к ним у него нет. Также у iframe при выставленном аттрибуте sandbox свой, уникальный origin, что отрезает same-origin доступ, пока его не разрешат. Подробнее про сендбоксинг iframe можно почитать тут: https://www.html5rocks.com/en/tutorials/security/sandboxed-iframes/

Чтобы запретить iframe всё, ему достаточно указать пустой аттрибут sandbox: https://www.w3schools.com/tags/att_iframe_sandbox.asp
Дальше можно дать ему разрешений по необходимости.
В твоем случае, надо разрешить ему запускать в себе скрипты:
>sandbox="allow-scripts"

По идее это должно тебе подойти.
No. 23951    
>>23948
Может быть пригодится. А может быть и нет.
https://neil.fraser.name/software/JS-Interpreter/docs.html
No. 23953    
>>23951
Мне еще ссылки на google caja попадались >_<

>>23949
>>23950
Спасибо.
Один вопрос — что у них на счет кук, хранилища и т.д? Изолированы? Или нет вообще?

И еще, сейчас в голову пришло, независимо от предыдущего. Если в таком iframe загрузить, внезапно, swf — это как-нибудь повысит его безопасность? Или флеш и так не имеет доступа к внешнему контенту?
No. 23955    
>>23953
>Один вопрос — что у них на счет кук, хранилища и т.д? Изолированы? Или нет вообще?
Изолированы.

>The framed document is loaded into a unique origin, which means that all same-origin checks will fail; unique origins match no other origins ever, not even themselves. Among other impacts, this means that the document has no access to data stored in any origin’s cookies or any other storage mechanisms (DOM storage, Indexed DB, etc.).
No. 23976    
Начинающий питонист в треде.

Спустя почти год изучения кодинга я осознаю, что нихрена не понимаю. Как сделать так, чтобы тебя взяли на работу джуниором? Как выжить на фрилансе? Что делать с т.н. софт скиллами? Зачем мне эти джанги с реактами и sql запросами, если всё это негде применить? Мне кажется я что-то делаю не так. Помоги разобраться, Стив, я в тупике и недоумении.

Вышка была благополучно брошена несколько лет назад, с того времени занимался всякой фигнёй с целью не умереть с голоду. Теперь пытаюсь всё пофиксить.
No. 23977    
>>23976
Я не питонист, но мне кажется я могу дать некоторые рекомендации без питон-специфики.

> Как сделать так, чтобы тебя взяли на работу джуниором?
В моём опыте, для любого прохождения собеседования, безосновательно стека, надо специально затачиваться проходить собеседования, как будто экзамены сдаешь. Я массово гуглю вопросы на собеседования, читаю их, компилирую важные, гуглю ответы, пишу шпаргалки, потом по ним повторяю. Если нужно в конкретную компанию, пытаюсь узнать о чем там любят спрашивать. Но в целом, в каждый конкретный год есть пересекающиеся у всех "любимые" категории вопросов, поэтому простой поиск + систематизация помогают.

> Как выжить на фрилансе?
Однозначного ответа на этот вопрос, мне кажется, не существует. Но чуть выше по нити ребята-фрилансеры обсуждали свои будни, начиная с >>/dev/23845

> Что делать с т.н. софт скиллами?
Говорить всем, что они у тебя есть. На данный момент это buzzword.

> Зачем мне эти джанги с реактами и sql запросами, если всё это негде применить?
Здесь нужен комментарий питониста по конкретным фреймворкам, но. Есть вот такая общая фишка: в основном все хотят сотрудника ровно на тот фреймворк который сейчас повсеместно используется. В то же время, одни фреймворки со временем заменяют другими. Из-за это получается дилемма: с одной стороны надо потратить время на изучение фреймворка, чтобы нормально разобраться, с другой, если будешь долго разбираться, твои знания могут стать ненужными. Надо смотреть на что сейчас больше всего ищут людей, и достаточно поверхностно изучать именно этот стек, т.е: пройти туториал, посмотреть примеры проектов, нагуглить собеседовательные вопросы конкретно по стеку, разбираясь, почему там выходит так, а не иначе (можно прямо путем создания условий из вопроса в своём туториальном коде)

Надеюсь, хоть чем-то полезная информация.
No. 23978    
>>23977
>В моём опыте, для любого прохождения собеседования, безосновательно стека, надо специально затачиваться проходить собеседования, как будто экзамены сдаешь. Я массово гуглю вопросы на собеседования, читаю их, компилирую важные, гуглю ответы, пишу шпаргалки, потом по ним повторяю. Если нужно в конкретную компанию, пытаюсь узнать о чем там любят спрашивать. Но в целом, в каждый конкретный год есть пересекающиеся у всех "любимые" категории вопросов, поэтому простой поиск + систематизация помогают.

Я может тупой вопрос сейчас задам, но как попасть на собеседование? Потыкав несколько вакансий в hh я с 'радостью' обнаружил, что почти все мои отклики либо проигнорированы, либо на них отвечено отказом.

>Здесь нужен комментарий питониста по конкретным фреймворкам

Да дело даже не в конкретных фреймворках, я в принципе представляю, что сейчас востребовано. Кроме того изучить новый это дело нескольких дней упорного задротства, другое дело, что задротство без ясной цели слегка контрпродуктивное занятие. Вообще я позиционирую себя как этакого 'фуллстека', который может и во фронт и в бэк, но чувствую некоторую оторванность от реальности без опыта реальной разработки. А пиля проекты в стол для себя далеко не уедешь, нужен реальный опыт. Фриланса просто побаиваюсь из-за огромной конкуренции и опять таки малого опыта.

Проблема в том, что практически сейчас уже нужно бабло на текущие расходы и я ваще не знаю что делать. -_-
Капча советует учить пыху.
No. 23980    
>>23978
>Кроме того изучить новый это дело нескольких дней упорного задротства, другое дело, что задротство без ясной цели слегка контрпродуктивное занятие.
Поэтому твоей целью должно быть быстрая наработка практического опыта. Выбираешь идею простенького пэт-проекта, который изначально уйдет в стол, и который можно напилить быстро (потому, что он не будет единственным), и в рамках его создания выучить пару новых вещей. Например, делаешь какой-то примитивный сервис отзывов, где у тебя будет бэк-энд в виде простенького CRUD с дэшбордом, который работать с фронт-эндом (на условном ReactJS) через REST API. Делаешь пару таких вещей и у тебя сходу больше опыта будет, чем у большинства тех, кто идет устраиваться джуном.

>Вообще я позиционирую себя как этакого 'фуллстека', который может и во фронт и в бэк, но чувствую некоторую оторванность от реальности без опыта реальной разработки. А пиля проекты в стол для себя далеко не уедешь, нужен реальный опыт.
Реальный опыт это конечно незаменимая штука, но опыт по проектам в стол это очень хорошо, у большинства начинающих соискателей на рынке труда нет его и близко. Фуллстек это хорошо, хотя бы чтобы ты понимал что такое фронт-энд и что такое бэк-энд, как они вместе должны работать и т.д., даже если ты будешь пилить чисто бэк-энд.

>Фриланса просто побаиваюсь из-за огромной конкуренции и опять таки малого опыта.
Фриланса не надо бояться, ты просто должен понимать, что в нижнем ценовом сегменте будут не самые приятные проекты и заказчики, но тебе они нужны просто чтобы встать на ноги и набиться реального опыта.
No. 23981    
>>23978
>Потыкав несколько вакансий в hh я с 'радостью' обнаружил, что почти все мои отклики либо проигнорированы, либо на них отвечено отказом.
Хорошо, а как ты откликался на вакансии? Цепляй сюда то, что ты им писал.
No. 23982    
>>23978
> Потыкав несколько вакансий в hh я с 'радостью' обнаружил, что почти все мои отклики либо проигнорированы, либо на них отвечено отказом.
> проигнорированы
Туда где "проигнорированы" имеет смысл всегда позвонить-написать, сказать вот мол я такой-то такой-то, откликался на вашу вакансию, на всякий случай хотел уточнить что вы получили моё резюме и всё такое. Это сразу даст понять что ты не спам-бот который всем письма рассылает, а человек, и вероятность того что твоё резюме действительно теперь посмотрят и может даже позовут сильно повысится. На HR в компаниях валится огромный поток писем, и большая часть игнорируется просто потому что столько читать они не могут, поэтому обратив на себя внимание ты скорее всего попадешь в поле зрения.

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

Ну и к самому больному
> нужно бабло на текущие расходы и я ваще не знаю что делать. -_-
Собственно, /dev/ решений здесь несколько:
1. Идешь на фрилансерские площадки (западные, это важно) и хватаешь любую вещь которая позволяет тебе получить денег на текущие расходы, и которую ты можешь сделать, хоть шаблоны для ворда собрать.
2. Идешь работать начинающим админом, что даст денег на расходы, и относительно освободит руки для обучения (когда всё настроишь и оно будет просто работать)
3. Пытаешься устроиться вместо разработчика в QA, т.к. понимания софта у тебя есть достаточно, а требования там ниже. Потом в той же конторе переходишь в разработчики, потом переходишь в разработчики в другую контору.

Комментируя >>23980 могу сказать, что если работать "в стол" не хочется, можно делать вещи благотворительно, чтобы и польза, и опыт (и потом можно проекты в свой профиль заносить полноправно), это не подходит в ситуации "надо деньги на расходы", но на всякий случай вот: http://tinyurl.com/gsz9lte Они там закрылись логин-экраном, но ты ж два элемента со страницы сможешь удалить через дев-тулзы, верно? А если заинтересует, зарегистрируешься уже
No. 23983    
158169205479.jpg-(469.05KB, 1262×1874, 1512675133163651320.jpg)
23983
>>23980

>Поэтому твоей целью должно быть быстрая наработка практического опыта. Выбираешь идею простенького пэт-проекта, который изначально уйдет в стол, и который можно напилить быстро (потому, что он не будет единственным), и в рамках его создания выучить пару новых вещей. Например, делаешь какой-то примитивный сервис отзывов, где у тебя будет бэк-энд в виде простенького CRUD с дэшбордом, который работать с фронт-эндом (на условном ReactJS) через REST API. Делаешь пару таких вещей и у тебя сходу больше опыта будет, чем у большинства тех, кто идет устраиваться джуном.

Хм, по правде уже есть один пэт-проект на aiohttp и react для постинга embedded видюшек. Правда не вполне допилен, но успешно крутится на моей тестовой vps-ке

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

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

>Фриланса не надо бояться, ты просто должен понимать, что в нижнем ценовом сегменте будут не самые приятные проекты и заказчики, но тебе они нужны просто чтобы встать на ноги и набиться реального опыта.

Ну это понятно, буду что-то придумывать. А какие площадки предпочтительнее? Зарегистрировался вот на freelancer com, fl и weblancer, они норм? Или ещё на что-то стоит обратить внимание?

>>23981
>Хорошо, а как ты откликался на вакансии? Цепляй сюда то, что ты им писал.

По правде откликался без сопроводительного письма. Возможно в этом и проблема. Написал в резюме, что python junior developer, в ключевых технологиях перечислил те языки и фреймворки, с которыми сталкивался (собственно python это django, flask и aiohttp, javascript - react, html/css, базы данных postgresql и redis), а в описании профиля написал что-то вроде 'имею опыт разработки на питоне 1 год, ищу работу для применения имеющихся навыков и получения новых, могу учиться сам и работать с документацией', только на английском.
Говорят люди там чуть ли не поэмы сочиняют, а поэт из меня такой себе -_-

>>23982
>Туда где "проигнорированы" имеет смысл всегда позвонить-написать, сказать вот мол я такой-то такой-то, откликался на вашу вакансию, на всякий случай хотел уточнить что вы получили моё резюме и всё такое. Это сразу даст понять что ты не спам-бот который всем письма рассылает, а человек, и вероятность того что твоё резюме действительно теперь посмотрят и может даже позовут сильно повысится. На HR в компаниях валится огромный поток писем, и большая часть игнорируется просто потому что столько читать они не могут, поэтому обратив на себя внимание ты скорее всего попадешь в поле зрения.

Думаю нужно попробовать, хотя обычно прямых контактов там не указано.
Гуглинг говорит мне, что в hr сидят девушки, слабо понимающие в предмете и отбирающие резюме по формальным признакам.

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

Звучит как полезный совет. Про линкедин слышу впервые, спасибо.
Планирую ещё в ближайшие дни сходить на митап питонистов, есть ненулевая вероятность, что смогу там разузнать что-то полезное. Кто-нибудь так делал? Говорят так можно установить какие-нибудь полезные связи.

>Идешь работать начинающим админом, что даст денег на расходы, и относительно освободит руки для обучения (когда всё настроишь и оно будет просто работать)
Это где нужно настраивать nginx/apache, ставить базы данных и прочие подобные приблуды? Глянем.

Пачули для всех неравнодушных
No. 23984    
>>23983
> Зарегистрировался вот на freelancer com, fl и weblancer, они норм?
Upwork всему голова имхо
No. 23985    
>>23984
По своему опыту так считаешь? Чем выигрывает в сравнении с другими?
No. 23986    
>>23985
Количество заказов, активность, адекватность и денежность заказов, по крайней мере в сегменте веб-разработке именно так.
No. 23992    
Зарегистрировался я значит на upwork, и вижу:
>Your account has been suspended. Please contact customer support.
А в my requests вот такое:
>I have reviewed all aspects of your account, and unfortunately, you are violating Upwork policies. I regret to inform you that based on that review, it has been determined that your account will not be restored. The policy violation(s) in question lead to this final decision. Please be advised that we may not respond to further requests regarding this issue.

Это шо? Это как? Просто банят без объяснения причин? Какой-то беспредел.
No. 23994    
>>23992 Ну, йокосо. Свяжись с ними, подтверждать будешь видеосеансом. Это нормальная практика там.
No. 23998    
>>23992
Ты не из Крыма случаем?
No. 23999    
>>23994
Причина оказалась в том, что я долбоёб.
При создании аккаунта я криво заполнил кое-какие данные и не нашёл ничего лучше, чем удалить аккаунт и создать новый с тем же почтовым адресом. А потом нагуглил, что за это дают вечный бан. Всегда знал, что стрелять себе в ногу это моё призвание.
No. 24000    
158240820591.png-(56.77KB, 609×259, shitsumon.png)
24000
Вот такой вот вопрос: Если между MSB и LSB впихнуть дополнительный байт, то какими тремя буквами он будет называться?
No. 24008    
Хочу написать на перле бо на баше скрипт, который делает следующее:
Рекурсивный обход, подсчёт числа различных суффиксов файла в указанном каталоге и вывод уникальных суффиксов.
No. 24009    
>>24008
Написал такое https://pastebin.com/setRntF0 , но он работает только там где скрипт находится к тому же не заходит в поддиректории.
No. 24012    
>>24008
IO::Dir в помощь.
>>24009
>$#
Не делай так больше.
No. 24014    
>>24008
Но ведь такое можно сделать одной строчкой:
find . -type f | egrep -o '[.][^./]+$' | sort | uniq -c | sort -n

Или это что-то вроде тренировки?
No. 24015    
>>24014
У тебя наивная одна строчка, лучше примерно так:
export LC_ALL=C; find . -type f -print0 |perl -0lne 'print $& if m(\.[^./]+$)'|sort -z|uniq -c -z|sort -z -n
Также можно -L добавить к опциям find, если нужно следовать символьным ссылкам на каталоги при обходе дерева.
No. 24016    
Интересно было бы обозреть проекты сделанные и делающиеся аноннимусом на бордах, особенно не в конфочках, а именно открыто, кажется таких почти нет.
No. 24023    
158332678267.gif-(464.33KB, 500×338, 15832791355870.gif)
24023
Через несколько дней отключат интернет, копеечный заказ на фрилансе(по верстке, вп) взять не получается
Друзья, как быть?
No. 24024    
>>24023
Оплатить интернет?
No. 24025    
>>24024
Так денег же нет, пытаюсь заработать
No. 24037    
>>24025
Попросить у мамки?
No. 24038    
>>24023
Идти на работу.
No. 24060    
Анонче, если знаешь, подскажи как в woocommerce в корзинной таблице вывести несколько вариаций одного товара отдельно друг от друга.
No. 24067    
>>24060
хм, это очень распостраненная штука вообще-то, можешь показать как у тебя это сейчас по-умолчанию выглядит в коризне когда добавлены две вариации разных одного товара?
No. 24068    
>>24067
Стандартно, всё, что я менял в cart.php, так это переставлял столбцы. А стандартно выводится товар, а не вариации.
No. 24069    
>>24068
Положи две вариации разных одного товара в корзину, сделай скриншот и приложи сюда, после чего также приложи код текущего шаблона корзины.
No. 24076    
158442779765.png-(103.85KB, 1200×1364, Безымянный.png)
24076
>>24069
Держи. Комментарии - это как раз мои попытки вытащить метаданные товаров. Но ведь вукоммерц в админке сам же отображает заказ нормально, значит есть какие-то родные, встроенные способы. А я не могу их найти.
No. 24077    
>>24076
Кстати, похоже, я уже понял. Можно просто напрямую взять содержимое корзины WC()->cart->get_contents(). Правда тогда нужно подстраивать вывод всей таблицы вручную.
No. 24086    
>>24077
Всё, снимаю вопрос, потому что с корзиной всё в порядке, вариации она отображает отдельно, это просто я передавал с фронтенда неправильные вещикоторые делали неправильный мёд.
No. 24093    
>>24086
Поэтому я и удивился и решил уточнить, т.к. корзина сама должна показывать вариации отдельно, причем уже довольно давно.
No. 24101    
158456681915.jpg-(333.90KB, 1000×1400, Cinnabar_(Houseki_no_Kuni)_full_2268271.jpg)
24101
Чего бы мне такого написать, чтобы полезно и порадоваться. Парсер вакабамарка давно написала, желания делать гостевуху с картинками не появилось.
No. 24102    
>>24101
Зрительный нейропротез с высоким разрешением.
Меня тоже позови если вдруг начнёшь.
No. 24103    
158457529542.jpg-(1.08MB, 1856×1080, Cinnabar_(Houseki_no_Kuni)_full_2202210.jpg)
24103
>>24102
А что вы умеете?
No. 24104    
>>24101
Клиент для борд (например, того же самого 410-го) на современном JS фреймворке вроде React или Vue.
No. 24105    
15845890105.jpg-(366.30KB, 600×950, Cinnabar_(Houseki_no_Kuni)_full_2464152.jpg)
24105
>>24104
У меня уже есть морда к Автобусу на jQuery, ничего нового вторая мне не принесёт.
No. 24131    
>>24101
А хостинг у тебя есть? Что на нем доступно?
No. 24132    
158465830185.jpg-(213.02KB, 883×680, Cinnabar_(Houseki_no_Kuni)_full_1837770.jpg)
24132
>>24131
Heroku. 1 core, 0.5 GB RAM, 1 GB HDD ЕМНИП, JRE8, TomEE, Derby, 20 с гаком часов актива в месяц.
No. 24133    
>>24132
>часов
дней
_sfx_
No. 24145    
>>24105
Ну лол, я тоже так думал пока не начал писать на ReactJS/VueJS. После jQuery сильно лучше заставляет думать о коде, структуре и разработке в целом. Даже хуяк-хуяк получается изящнее и удобнее.
No. 24147    
158485804147.png-(372.10KB, 1280×720, 019 - 1280x720@32 [SIG03a5561860edf917af9630ab0ac3.png)
24147
>>24145
Я за вас очень рада, честно. У меня, к счастью, никогда не было проблем ни с архитектурой, ни с проектной деятельностью.
No. 24165    
>>24132
Сделай хостинг для микроприложений анона.
No. 24167    
>>24037
Хочу сам заработать
>>24038
Лет еще мало. Хочу именно фрилансом деньги заработать
Мимо "Уже 4 месяца не могу взять заказ".
No. 24168    
Анон, что делать если не могу даже самые элементарные задачки решить? По типу:
leetcode.com/problems/merge-two-binary-trees/
Не могу придумать правильные логические условия и всё. Хоть убей..
No. 24169    
>>24167
Тогда нечего клювом щёлкать. У тебя основное занятие - учёба, а не компьютеры, вот и учи то, что у тебя в программе. Родители говорят "нет интернета", значит нет.
No. 24170    
>>24169
>Тогда нечего клювом щёлкать
Навыки и знания для взятия заказа на фрилансе есть, но навыка продавать и писать красивые словечки - нет.
>У тебя основное занятие - учёба, а не компьютеры, вот и учи то, что у тебя в программе
На учебу как-раз таки забил. Всё пытаюсь учить прогу -javascript, параллельно python. В планах после колледжа на джуна устроиться, а оценки в технарьской(пусть и по it специальности) дипломе никому не нужны, в ВУЗ не планирую. Даже если бы планировал, то по вступительным можно пройти.
>Родители говорят "нет интернета", значит нет.
Мама такого не говорила. Она может платить, просто денег не хватает немного, хотелось бы самому подзаработать..
No. 24171    
>>24168
Поверхностно она легкая. Но если внутрь заглянуть то сложно всё становится..
No. 24175    
>>24168
> Анон, что делать если не могу даже самые элементарные задачки решить?
Решать их больше. Приобретение навыков — зачастую небыстрый процесс, требующий труда. Через год-два может такие задачки действительно окажутся для вас элементарными.

>>24169
> У тебя основное занятие - учёба, а не компьютеры, вот и учи то, что у тебя в программе.
Чего учить-то? Циклы трикарбоновых кислот? Номенклатуру ИЮПАК? Структурные формулы нуклеотидов? Преобразования АТФ? Подробную схему кроссинговера хромосом? Или может местоположения административных центров Р(С)Ф(СР)? Вы их сами-то помните? Количество штурмов Порт-Артура? Поминутное описание того, как Наташа NTR-нула Болконского? Чтобы, разумеется, забыть это всё сразу же после экзамена. Ну и смысл жрать всякую дрянь исключительно и целиком то, що дают в таком случае, не занимаясь ни чем иным? И это при том, что денег у человека нет даже на интернеты. Впрочем, касательно той части программы, которая человеку потребуется (или которая может соответствующим образом развить мышление), замечание в какой-то степени разумно. Её мало кто на пристойном уровне осваивает.

>>24170
> На учебу как-раз таки забил
> Навыки и знания для взятия заказа на фрилансе есть, но навыка продавать и писать красивые словечки - нет.
> оценки в технарьской(пусть и по it специальности) дипломе никому не нужны, в ВУЗ не планирую
А ты уверенный парень, лол.
No. 24176    
>>24175
>А ты уверенный парень, лол.
Как раз таки не очень) Но я же буду самообучаться еще 2 года перед выходом на собеседования, разве я имею право завалиться?
No. 24177    
>>24168
Если ты хочешь подкачать алгоритмы, то тебе нужны упражнения по алгоритмам.
Возможно, что-то из базы знаний тебе подойдет?

>>Я ищу задачи и упражнения по алгоритмам (C, Python)
https://410chan.org/dev/arch/res/15681.html#17105
https://410chan.org/dev/arch/res/15681.html#17108
https://410chan.org/dev/arch/res/15681.html#17110
No. 24178    
158509389984.jpg-(399.31KB, 900×614, photolenta_big_photo(4).jpg)
24178
>>24170
>На учебу как-раз таки забил.
Зря.
>В планах после колледжа на джуна устроиться
Ну вот на предприятии и научишься тому, чему не научили.
>оценки в дипломе никому не нужны
Тем не менее, ими интересуются, особенно, если ты молодой.
>>24175
>Чего учить-то?
То, что говорят.
>>24175
>Ну и смысл жрать всякую дрянь^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H исключительно и целиком то, що дают в таком случае, не занимаясь ни чем иным?
Потому что это правильно.
>>24176
>)
А, понятно, с Вами всё ясно.
No. 24181    
15852051642.png-(873.60KB, 1150×1450, Cinnabar_(Houseki_no_Kuni)_full_2284949.png)
24181
>>24165
Это безблагодатное дело. Надо благодатное, чем сама пользоваться буду и радоваться. Прокси для индусов сами делайте.

>>24168
Тебя просят просто наложить одно дерево на другое. Обходишь оба дерева рекурсивно в глубину, строишь третье.
>что делать
Развивать кумекалку.
No. 24182    
>>24181
Я понял условия задачи, просто не особо понимал как правильно составлять логические условия. В итоге решил, но все равно не очень решение вышло..
No. 24183    
>>24182
Там логические условия описаны словами в тексте задачи, лол.
No. 24184    
Привет, Чио-чан!

Если создавать собственную огороженную борду в качестве чатика, то какой движок лучше использовать?

"Вакаба" несколько устарела. "Tiny Board"? Или что-то ещё можешь посоветовать?
No. 24185    
>>24184
Есть один интересный движок...
https://bitbucket.org/Therapont/fbe-410
No. 24186    
>>24185
Но по нему подробной документации для нубов нет, в отличие от "Вакабы".
No. 24193    
158536901375.png-(98.98KB, 949×809, Безымянный.png)
24193
>>24069
Анончик, ты ещё тут, не сошёл?
У меня снова с корзиной и вариациями. В корзине ничего не менял, добавлял и тот, и другой одной функцией. Но верхний товар из демки, а нижний добавил я сам. Я подозреваю, что я как-то не так добавил атрбиуты, но не пойму, где ошибся.
No. 24194    
>>24181
>Это безблагодатное дело. Надо благодатное, чем сама пользоваться буду и радоваться.
Ты делаешь хостинг -> анон делает приложения -> виесте пользуетесь благодатными результатами приложения.

>Прокси для индусов сами делайте.
Если "индусами" ты называешь плохо оплачиваемых программистов(это рассизм, я тебя осуждаю), то здесь таких много, зачем спрашивать у нас о том что будет точно неполезно для нас?
Если же "индусами" ты называешь этнос, то это тоже рассизм, осуждаю, разве важно какой я национальности на анонимной имиджборде?

Алсо, почему с тора даже просматриать автобус нельзя, дудосят?
No. 24204    
158542568667.png-(728.36KB, 1466×456, Cinnabar_(Houseki_no_Kuni)_full_2336582.png)
24204
>>24194
1. Я несу юридическую ответственность, поскольку хостинг зарегестрирован на мою кредитку. Поднять свой личный хостинг на том же Heroku вам никто не мешает, особого ума для этого не требуется.
2. Так и думала, что хостинг вам нужен для воровства. Всё мы знаем: есть много ресурсов с платным доступом, и есть ещё больше людей, которые не хотят тратить лишнюю копеечку, оплачивая, например, доступ для команды из 50-и наёмных работников; доступ к платному контенту опять же. Дураков в другом месте ищи, ононим.
>почему с тора даже просматриать автобус нельзя
Очевидно потому, что надо или круглосуточно модерировать форум, или перекрыть основные пути проникновения заразы.
No. 24205    
>>24194
А что конкретно надо, чего нет на бесплатных хостингах?
No. 24207    
>>рассизм
Это не раССизм, потому что индусы - европеоиды.
No. 24211    
158547211942.png-(18.69KB, 553×212, Screenshot_1.png)
24211
Привет, Чио-чан!

В общем, попытался настроить борду на локалхосте, но почему-то выдаёт ошибку, как на прикреплённой картинке.
No. 24212    
>>24211
Похоже, у вас неверный путь к директории, в которой FBE лежит, в config.php прописан.
No. 24213    
158549334558.png-(7.93KB, 749×175, Screenshot_2.png)
24213
>>24212
Да, спасибо. В этом разобрался, но теперь у меня другая ошибка, как на прикреплённой картинке.
No. 24214    
>>24213
Верно ли указана конфигурация БД в config.php и верно ли указан пароль для неё?
No. 24215    
>>24214
Оставил в этом плане всё стандартно, как было, кроме пути до kusaba.php.
No. 24216    
158549870938.png-(32.70KB, 1365×658, Screenshot_3.png)
24216
>>24214
Да, спасибо. Там ошибка была в том, что я забыл подключить базу данных. Но теперь появляется другая, как на прикреплённой картинке.
No. 24217    
>>24216
У тебя таблиц соответствующих нет. Можно либо их ручками добавить, либо дёрнуть с оригинальной Кусабы install.php и запустить его.
No. 24218    
>>24205
Минимизация ебли перед входом(регистраций, подтверждений и капчевания), засчет других ограничений. Может быть сам когда-нибудь сделаю подобное, но чем больше, тем лучше.

>>24204
>Я несу юридическую ответственность, поскольку хостинг зарегестрирован на мою кредитку.
И это добавит вам мотивации не допускать цп на вашем сервере.

>хостинг вам нужен для воровства.
>ононим
Я оскорблён.

>с тора даже просматриать автобус нельзя, потому что надо или круглосуточно модерировать форум, или перекрыть основные пути проникновения заразы.
Заразы, которая оскорбляет обвинением в воровстве и которая к тому же рассистка? Я вас имею ввиду.
No. 24220    
>>24204
>>24218

Если вы хотите дальше выяснять отношения между собой, воспользуйтесь нитью для диспутов >>/dev/21353
No. 24221    
>>24193
Всегда лучше чуть подробнее писать что и как, а я сразу даже не понял о чем речь лол. Я правильно понял, что проблема состоит сейчас в том, что у демо-товаров в корзине указаны значения их атрибутов показываются, а у твоих товаров - нет?
No. 24222    
>>24221
Именно. Причём я выяснил, что дело в третьем атрибуте, если он естьчто у моего товара, что у демонстрационного, то все атрибуты перестают отображатсья в корзине. Так и должно быть?
No. 24224    
>>24222
Запости на всякий случай код шаблона корзины, а также показывай что там за аттрибуты у тебя (и проблемный аттрибут, и другие)
No. 24225    
>>24218
>засчет других ограничений
С чего ты считаешь, что другие ограничения не несут за собой той же самой регистрации и капчевания, лол? Я бы чужого решился только открытый гитхаб-проект в докере ставить, при условии что прочёл весь код и собрал сам.
No. 24228    
158563520045.png-(380.10KB, 2924×3024, Безымянный.png)
24228
>>24224
Вот.
No. 24239    
>>24228
Окей, для начала тебе стоит понять, что именно у тебя выводит эти атрибуты в области названия товара. Заходи в шаблон и отключай сначала:

do_action( 'woocommerce_after_cart_item_name', $cart_item, $cart_item_key );


Пропали ли атрибуты из названий? Если нет, то возвращай эту строку и отключай

echo wc_get_formatted_cart_item_data( $cart_item );


Снова проверяй пропали ли атрибуты из названий? Если и в этом случае не пропали, то по-идее атрибуты у тебя выводятся прямо через

if ( ! $product_permalink ) {

                            echo wp_kses_post( apply_filters( 'woocommerce_cart_item_name', $_product->get_name(), $cart_item, $cart_item_key ) . '&nbsp;' );
                        } else {
                            echo wp_kses_post( apply_filters( 'woocommerce_cart_item_name', sprintf( '<a href="%s">%s</a>', esc_url( $product_permalink ), $_product->get_name() ), $cart_item, $cart_item_key ) );
                        }


И тогда мы дальше будем копать где происходит затык.
No. 24247    
>>24239
Ого, я не думал уже, что получу ответ.
Так вот. Я прошёлся по хукам и выяснил, что эти атрибуты сидятесли сидят сразу в названии ещё в момент фильтра woocommerce_cart_item_product первая строчка в теле foreach. Ну то есть я цеплялся к фильтру и выводил $cart_item['data']->get_name(). И выводилась строка сразу с названием и значением атрибутов/без них.
No. 24250    
>>24247
Смотри, в корзине у тебя там cart_item это базово объект товара, соответственно get_name() ты вызываешь как метод объекта товара. Проблема в том, что сам этот метод это просто обертка вокруг метода get_prop(), который позволяет смотреть на значение тех или иных свойств объекта. Само по себе свойство изначально это пустая строка и заполняется при создании экземпляра объекта.

В общем, покопавшись чуть глубже я обнаружил, что некоторое время назад разработчики WooCommerce чуть добавили и намудрили с выводом атрибутов. Смотри метод generate_product_title() в class-wc-product-variation-data-store-cpt.php: эти извращенцы сначала собирают все атрибуты текущего товара, а потом смотрят будут ли они вообще их добавлять в название или нет на основании условия "если атрибутов меньше трех", т.е. если есть три атрибута, от фиг тебе, а не атрибуты в названии. Далее они еще смотрят, что если атрибутов меньше, но атрибуты содержат знак тире (на самом деле минус, конечно же), то это тоже фактор для того чтобы не выводить атрибуты. Это они так длинные названия атрибутов пытаются определить и выкинуть.

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

add_filter('woocommerce_product_variation_title_include_attributes', '__return_true');

No. 24253    
158665724863.png-(63.33KB, 965×555, почти финал.png)
24253
>>24250
Ура-ура, благодаря тебе, анончик, я выхожу на финишную прямую: осталось разобраться с оптимизациейну и стили поправить.
No. 24254    
...Как-то всё хреново. Заразилась идеей сделать свой движок для имиджборд и в связи с этим изучаю PHP, параллельно потихоньку кодописательствуя. И вроде бы как я вижу, что могу сделать движок, но вот именно такой, как задумала - не получается. Дело даже не в том, что я не знаю какого-то момента или столкнулась с неизвестной ошибкой, - если бы всё было так, я бы просто спросила у тех, кто работает с PHP. Моя проблема такая, что и спрашивать-то непонятно что, где и у кого.
В целом я не могу сообразить, как разделить ядро движка и модуль для имиджборды - могу только сделать всё это монолитным и чрезвычайно негибким. Я же хочу чётко разделить основу движка и основу для борды как таковую. Чтобы при желании можно было написать какой-то другой модуль и, вставив его в систему, сразу получить возможность получать сайты уже не бордовского типа - естественно, без внесения каких-либо изменений в само ядро движка. Пожалуй, главная загвоздка в том, что имиджборда предполагает определённую структуру базы данных, и поэтому я никак не могу вынести управляющий базой данных код из модуля имиджборды. По задумке же модуль вообще не должен никак контактировать с БД, это должно делать как раз отдельное от модуля ядро - модуль борды был бы же лишь подключаемым компонентом, этаким "шаблоном" без собственно функционального кода.
Прошу прощения за путаное объяснение, но, может, кто-нибудь здесь подскажет мне какие-то источники информации в помощь на этот счёт? Я либо бросаю этот проект (чертовски обидно!), либо уж понимаю, как сделать хорошо и делаю именно так. Монолитное неуклюжее нечто без хороших перспектив для расширения и дополнения я продолжать делать не хотела бы. Вообще лучшее - чтобы всё было сборным из многих частей, и просто добавляя туда новые компоненты без правки уже имеющихся я могла расширять функциональность своей штуки. И я понятия не имею, как этого добиться.
No. 24255    
>>24254
https://www.goetas.com/blog/modular-application-architecture-intro/
No. 24256    
>>24254
Гугли solid, в частности inversion of control и dependency injection. Ещё почитай про service container и как им пользоваться в твоём фреймворке.

Возьми за привычку не использовать публичные классы напрямую, оперируй только интерфейсами. Запрашивай их через конструктор - контейнер всё разрулит. От бд пока просто абстрагируйся: код потом напишешь, когда нужно будет.
No. 24257    
Посоветуйте хороший учебник по Питону.
No. 24258    
>>24257
Короче, завтра ищешь в интернете книжку Dive into python 3. Плевать если ничего не поймешь. Затем идешь на python.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, вызубриваешь конвенцию по написанию питоньего кода - PEP8, чтобы от зубов отскакивало. Когда напишешь свою первую имиджборду,.. и далее по тексту.
No. 24261    
>>24257
Я бы рекомендовал вот эту штуку:
https://runestone.academy/runestone/books/published/pythonds/index.html
Подходит?

А если ты совсем начинающий, есть интерактивный курсу:
https://www.learnpython.org/
No. 24262    
>>24261
Почему вы все такие умные, не все английский знают на таком уровне чтобы читать документацию/учебник и понимать, некоторые и на русском не понимают, а ты на английском советуешь начинающему..
No. 24263    
158696683120.jpg-(5.36KB, 175×175, knigka.jpg)
24263
>>24257
Лутц же.
No. 24264    
>>24262
>не все английский знают на таком уровне чтобы читать документацию/учебник и понимать
Пусть не все читают со словарём. И учат на память.
No. 24265    
>>24262
Могу вместо Питона посоветовать 1С.
No. 24276    
>>24265
Если человек хочет изучать питон, не означает что вся документация/самоучители по нему должны быть изучены исключительно на английском.
No. 24278    
>>24263
Эта стопка сшитой макулатуры еще актуальна? Лучше бы Любановича Простой Питон от того же издателя советовали, он хотя бы на русский переведен.
No. 24279    
>>24278

>Эта стопка сшитой макулатуры

Нельзя ли пояснить?
No. 24280    
>>24278
Что скажешь насчет книги Майкла Доусона?
No. 24294    
Хотелось бы покодить на питоне, но просто так неинтересно. Есть какие-то учебники с задачами? Можно английские.
No. 24295    
А где можно попросить обзора... "кода" темы для вукоммерц?
No. 24301    
>>24294
Олимпиадки решай?
No. 24302    
>>24294
>Хотелось бы покодить на питоне, но просто так неинтересно. Есть какие-то учебники с задачами?

Конечно же есть, даже совсем недавно приводили такие материалы.
Базовый интерактивный курс: https://www.learnpython.org/
Тут можно кодить прямо в браузере.

Учебник с упражнениями:
https://runestone.academy/runestone/books/published/pythonds/index.html

Базовые упражнения оттуда:
https://runestone.academy/runestone/books/published/pythonds/Introduction/ProgrammingExercises.html

После этого можно посмотреть на упражнения и задачи вот тут:
https://leetcode.com/problemset/all/
Питон - одна из опций для решений, кодить тоже можно в браузере, и задачи разбиты по сложности.
No. 24303    
>>24295
можешь уточнить, что именно ты хотел бы увидеть или узнать?
No. 24305    
>>24303
Узнать, что правильно использовал, что неправильно. Про общую манеру письма кода и комментариев.
Ну и вообще про то, что нужно в магазин добавлять обязательно, а без чего можно обойтись.
No. 24321    
>>24265
Ты используешь 1С? Для чего?
No. 24328    
>>24321
В основном для ввода капчи.
No. 24370    
158886327423.jpg-(59.32KB, 377×561, 141773354849.jpg)
24370
Вот, говорят, чтобы разрабатывать фронтенд, нужно знать JS, CSS и HTML.
Но сейчас же этого мало. Там всякие NodeJS, Angular существуют - в каком направлении рыть? Что надо изучать после фундаментальной троицы?
No. 24371    
>>24370
>надо
ES6, babel и как работать с npm/yarn. Остальное подхватишь на месте.
No. 24372    
>>24371
Бабель - философ транспилер, npm - пакетный менеджер. Что из этого мне надо было понять, что я подхвачу на месте?
No. 24373    
>>24372

JS же
No. 24374    
>>24373
Спасибо, не поняла
No. 24375    
>>24372
Умничка. А теперь запили мне D&D адаптивную табличку. Решение на чистом жс без использования библиотек не предлагать.
No. 24376    
>>24375
А, и чтобы работало везде, начиная с осла 10.
No. 24381    
>>24370
> Всякие NodeJS, Angular существуют - в каком направлении рыть?
Зависит от того, что ты хочешь делать.

NodeJS - это для серверной лабуды, https://nodejs.org/
ElectronJS - это для десктопной лабуды, https://electronjs.org/
Angular, ReactJS, Backbone.js, Vue.js - это уже конкретно для поддержки клиентской / фронтенд-части веб-лабуды:
https://angular.io/
https://reactjs.org/
http://backbonejs.org/
https://vuejs.org/

Между ними, как всегда, существует большой холивар на основании предпочтений. Я бы посоветовал попробовать каждый и решить, какой ты предпочтешь для себя лично сам.
Для управления JS проектами часто пользуются сборщиками, вроде Grunt: https://gruntjs.com/
Для этих сборщиков, затем, обычно предлагают макеты проектов на целевом фреймворке, чтобы пробовать было легче, и энтузиазм не иссякал на попытке всё засетапить.

Таким образом, в теории, сетап проекта упрощается до установки сборщика, установки пакета с темплейтами, и создания нового проекта на базе темплейта. На практике же, придётся повозиться пока всё заработает. Надеюсь смог чуть-чуть тебя сориентировать.
No. 24384    
>>24381
Grunt уже давно не в моде. Вместо него есть Gulp и Webpack. Они не совсем эквивалентны, Gulp лучше подходит для полностью кастомных задач, Webpack заточен под шаблонные, такие как сборка проектов на упомянутых выше фереймворках.
No. 24385    
158904879922.jpg-(59.92KB, 549×604, 1575801843439.jpg)
24385
>>24381
No. 24450    
Есть смысл изучать баш? Или достаточно одного скриптового языка?
No. 24452    
>>24450
Баш - немного улучшенный скриптовый язык.
No. 24457    
159074583531.jpg-(184.28KB, 960×720, 15478143153820.jpg)
24457
Есть гайды по го модулям? Ожидал примерно как в питоне, что фал с зависимостями, пополняется и обновляется. А на деле какую-то хуету вычитал, как создать модуль из своего проетка. Хочется быстро и легко управлять зависимостями. Спасибо.
No. 24461    
>>24457

>Хочется быстро и легко управлять зависимостями.
Вроде же в этом гайде всё что надо указано:
https://blog.golang.org/using-go-modules

>Ожидал примерно как в питоне, что фал с зависимостями, пополняется и обновляется.
Вроде бы так и есть, в go.mod указываются версии, если версий нет, резолвится последняя:

>The go command resolves imports by using the specific dependency module versions listed in go.mod. When it encounters an import of a package not provided by any module in go.mod, the go command automatically looks up the module containing that package and adds it to go.mod, using the latest version. (“Latest” is defined as the latest tagged stable (non-prerelease) version

Ну и в целом там рассказывается как зависимостями в проекте управлять. Или надо что-то другое?
No. 24464    
Гружу библиотеку через функцию LoadLibrary.
Библиотека пытается загрузить другую библиотеку, не может, выдаёт сообщение «Unable to locate component».
Как подавить вывод окна с сообщением, если при вызове функции исключение не ловится?
No. 24465    
>>24464
Ты про это?
https://docs.microsoft.com/en-us/windows/win32/api/libloaderapi/nf-libloaderapi-loadlibrarya

Если да, то вот это не сработает?
> To enable or disable error messages displayed by the loader during DLL loads, use the SetErrorMode function.
https://docs.microsoft.com/en-us/windows/win32/api/errhandlingapi/nf-errhandlingapi-seterrormode
No. 24466    
>>24465
Да, оно самое. Значение SEM_FAILCRITICALERRORS.
В моей версии документации, процитированной строки не оказалось.
Спасибо.
No. 24582    
Одна /dev'очка интересуется, есть ли плагин для вордпресс, с помощью которого можно легко преобразовать pdf в форму? Конечно же, pdf генерируется самим вордпрессом, а потом отдаётся клиенту для заполнения, а клиент заполнив должен загрузить его.
А если нет, то может быть существует уже написанный на ванильном php парсер специально для этого дела?
c: php
No. 24586    
>>24582
> Есть ли плагин для вордпресс, с помощью которого можно легко преобразовать pdf в форму?

Хочу уточнить, я правильно понимаю планируемое взаимодействие, или нет?

1. Ты даешь пользователю скачать PDF-форму с полями.
2. Пользователь заполняет её и сохраняет результат как новый PDF-документ
3. Пользователь закачивает этот новый PDF-документ тебе на сервер.
4. Ты вытаскиваешь из него поля и кладешь в базу.

Если да, то готовые плагины подобного типа мне неизвестны, из-за некоторого зоопарка, который творится с вытаскиванием полей форм из PDF-документов. Сейчас объясню, и заодно отвечу на вопрос:

> Может быть существует уже написанный на ванильном php парсер специально для этого дела?

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

Затем из PDF-документа надо вытащить поля в FDF-формате, единственное известное мне решение это установленная в системе утилита PDFtk Server + её PHP-обвес php-pdftk

https://www.pdflabs.com/tools/pdftk-server/
https://github.com/mikehaertl/php-pdftk

Имея их уже можно взять FDF-файлик от своего PDF вот так:
https://github.com/mikehaertl/php-pdftk#generate-fdf

И потом уже считать сам FDF, спрашивая поля по именам стандартными средствами:
https://www.php.net/manual/en/book.fdf.php

В целом, ничего не мешает оформить этот процесс в собственный плагин для Wordpress, но конечно не то же самое что просто установить и привязать к форме.
No. 24587    
>>24582
>>24586
> Может быть существует уже написанный на ванильном php парсер специально для этого дела?
Если тебе достаточно просто куснуть из своего небольшого PDF текст, а дальше уже как-то самому регексами разобраться, то возможно поможет такой ванильный парсер, основанный на регексах: https://www.tero.co.uk/scripts/extract-text-from-pdf.php
No. 24608    
159476994377.jpg-(235.09KB, 1440×1280, яблуко______.jpg)
24608
Привет! Я хочу сделать крутое приложение с подсказыванием слов как в строке гугл хрома, когда, например, вводишь "410с", а он тебе подтягивает "410chan.ru/dev", выделяя все что после "410с".

Но здесь пробелма в том, что если при использовании автокорректа слов выделить часть (пик1) и попробовать ввести букву, то все слово будет заменено на введенную букву (пик2) вместо выделенного кусочка.

Если автокоррект отключить, то все работает как нужно. Знает кто как можно пофиксить?
No. 24627    
>>24608
К сожалению варианта "как пофиксить" у меня нет, только немного мыслей вслух, но может они помогут привести к решению.

Это выглядит как баг конкретного обработчика событий сервиса спеллчекера. Т.е. из твоих скринов у тебя одна буква считается валидным вариантом автоподстановки, и вроде как вдобавок, когда она вводится просто с клавиатуры, это считается принятием варианта автоподстановки, и он меняет всё слово. Очень трудно будет разбираться с этим. Пока в голове есть только вариант страшного костыля вокруг - попробовать последить за подменой слов так же, как следит само приложение и чинить слово обратно с помощью компонента TextWatcher:
https://developer.android.com/reference/android/text/TextWatcher

Собственно, попытаться ловить состояние слова и выделенную область в событии beforeTextChanged, например когда длина замены 1 символ, и выставить флаг, потом сохранить сам этот символ из текущего состояния в onTextChanged по этому флагу, и по нему же чинить строку обратно и перевыделять нужный кусок в afterTextChanged, после чего флаг снимать. Вроде как это может помочь, но опасаюсь что будет выглядеть как кривая работа приложения. Было бы неплохо, если бы поймав событие на замену слова 1 символом можно было бы это событие просто отменить.
No. 24636    
159565152778.png-(115.32KB, 700×1000, 2018-06-28-966378.png)
24636
На Хероке чего, изменения в процедуре ухода в идлы? Что значит “Error H10: App crashed”?
No. 24638    
>>24636
Судя по тому что с таким люди сталкивались и пару лет назад, и безответно, скорее всего у них там что-то локально сошло с ума: https://stackoverflow.com/questions/47401071/heroku-considers-my-app-crashed-after-idling-it

Если кому интересно, сама процедура реакции приложения на шатдаун описывается здесь: https://devcenter.heroku.com/articles/dynos#shutdown
No. 24639    
159570827328.jpg-(766.89KB, 1080×720, Houseki_no_Kuni_full_2043411.jpg)
24639
>>24638
Или это такое ненавязчивое напоминание, что надо бы привязать к аккаунту кредитку, а значит паспорт, СНИЛС и биометрику. Сделали бы уже вход через ГосУслуги. А ещё лучше, если бы государство российское сделало систему авторизации на базе ГосУслуг для всех.
No. 24652    
159635294553.png-(41.62KB, 675×656, 2020-08-02 09_19_48-python - “ValueError_ too ma.png)
24652
Мде, в общем отписался на тракер, но он мертвый.
>Здесь можно получить помощь и консультацию по любому языку программирования, в любой сфере разработки.
Выручайте котаны. >>24651
No. 24660    
>>24652
Ну смотри, на обоих твоих скриншотах видно, что вылетает оно на
> (G, D, Gs) = pickle.load(stream, encoding='latin1')
С ошибкой, которая говорит о том, что в вычитаном стриме при распаковке оказалось больше элементов чем ожидалось, т.е. там кроме G, D, и Gs оказалось что-то еще.

Чтобы понять в чем проблема точно, надо поцепиться дебаггером, брейкнутся перед этим вызовом, и вывести себе в консольку, что там возвращается из pickle.load(stream, encoding='latin1'), после чего суть проблемы должна стать яснее.

Вариантов причины может быть много.
Например, файл вычитывается построчно, но для переноса строк использован не тот символ, что твоя ОС распознает, и оно вычитывает в массив весь файл. Или хуже, какой-то из символов переноса считывается в массив в качестве данных. Вывод длины считанного массива, и затем его контента построчно должен помочь разобраться в чем дело.

Сообщай, смог ли разобраться.
No. 24661    
>>24652
>>24660
Еще может оказаться, что массив выходит длиннее из-за разницы в кодировках, например pkl файл был сделан в мультибайтной UTF8, а вычитывается тобой в однобайтной latin1. Странно, правда, что декодер промолчал и не возмутился, но всё равно стоит проверить.
No. 24669    
>>24660
Разобрался, там просто код проблемный, наверное он под устаревшие библиотеки. Надо было с другого гита брать.
А разбирается тут кто-нибудь в машинном обучении (neural machine learning/deep fakes)? Вкатываюсь и есть вопрос к бывалым программистам (не по коду, а по фундаментальной части).
No. 24670    
>>24669
Нейросети это то в чем мне хотелось бы поковыряться, но к сожалению никак не подвернется подходящий случай. В целом советуют с нейросетями ковыряться в colab:

https://www.tutorialspoint.com/google_colab/index.htm
https://www.analyticsvidhya.com/blog/2020/03/google-colab-machine-learning-deep-learning/
https://colab.research.google.com/github/lmoroney/mlday-tokyo/blob/master/Lab1-Hello-ML-World.ipynb
No. 24671    
>>24670
>В целом советуют с нейросетями ковыряться в colab
Так и делаю, но там есть некий лимит на использование GPU. После ночи тренинга обрубают GPU на сутки. Этот лимит там типа для того, чтобы самые активные пользователи не монополизировали ресурсы и другим тоже оставалось.
Представьте себе человека, у которого верхняя челюсть стала использоваться в качестве подбородка, а нижняя улетела куда-то в епеня. Представили? Вот такое у меня творится с персонажами после tick 4, от того что в датасете голова меньше и немного выше чем в pre-trained модели. Наверное так и должно быть.
No. 24672    
Посоветуйте, как лучше/с чего начать/надо ли(в свете ограниченного владения питоном) изучение замечательного скриптового языка bash?
No. 24673    
>>24672
Скриптовыми языками для консоли владеть никогда не будет лишним, и основные их средства изучать не так-то и долго, с учетом того что в основном ты будешь пользоваться скриптовым языком как обёрткой над, или сопряженно с другими своими инструментами.

Сначала я бы порекомендовал потыкать палочкой простецкие упражнения, чтобы понять что и как это вообще, вроде таких:
https://www.tutorialspoint.com/unix/shell_scripting.htm
https://medium.com/@sankad_19852/shell-scripting-exercises-5eb7220c2252

После чего вооружиться справочником:
https://man.cx/bash
В частности, списком встроенных команд:
https://man.cx/bash#heading31
И соорудить что-то, что необходимо уже непосредственно тебе.

Если вдруг нет своего терминала, то помогут онлайн-песочницы:
https://www.tutorialspoint.com/execute_bash_online.php
https://ideone.com/ (выставь на bash)

Следует упомянуть, что люди часто путают bash (имплементация) и sh (спецификация), о чем подробно рассказано тут: https://stackoverflow.com/a/5725402
В двух словах, в твоей конкретной системе стандартным скриптовым языком может оказаться не баш, стоит это проверить.
No. 24674    
>>24673
>в твоей конкретной системе стандартным скриптовым языком может оказаться не баш
Just use
#!
, Luke.
No. 24684    
159818656967.jpg-(162.45KB, 1280×720, 1538594361822.jpg)
24684
Не искал тред веб-разработки дальше нулевой, пощу в закрепленном.

Суть такова, пишу парсер разметки. Возник вопрос, а как лучше поступать с разбиением на абзацы текста.

Такие движки как у Ычана просто пихают голый текст в родительский блок, отбивая его переносами строк <br>.
Стандарты html вроде как советуют помещать текст в блоки <p>, но тогда теряется разница в отступах между разными абзацами (если автор пытался их по смыслу разделить).
Вот все варианты, что я смог придумать, какой лучше?
1. Делать как на Ычане, и разбивать на абзацы переносами строк, так как это делал автор, даже если там на 100 строчек два слова вначале и в конце.
2. Каждый перевод строки — новый блок <p>, пустые строки игнорируются, зато будет однообразное разделение абзацев на всей борде.
3. Объеденить все абзацы в один большой блок <p>, а внутри разделять <br> так как это делал автор. Комбинация первого варианта и стандартов.
4. Каждый перенос строки — новый абзац, но если переносов строки больше чем 2, то добавлять между ними один <br> (опять таки не даст делать слишком большие переносы, но стандарты не любят когда <br> используется для форматирования блоков)
5. То же что и 4, но не использовать тег <br>, а сделать два класса. Один с маленьким отступом после абзаца, другой с большим.

Я аутист, не бейте сильно
No. 24685    
>>24684
Из существующих вариантов, я бы склонился к (3)
>Объеденить все абзацы в один большой блок <p>, а внутри разделять <br> так как это делал автор.

В вариантах (4) и (5) вместо <br> и двух классов я бы предложил сделать, что один отступ генерирует <p>, а два и более отступов подряд дают уже <section>, т.е. контент отделенный по смыслу. И для этого <section> уже определить в стилях отступ побольше. Получается и корректно и элегантно в вёрстке.

Справка по section:
https://www.w3schools.com/tags/tag_section.asp

Есть еше вариант для пиратов:
6. Помещать весь текст в тег <pre>, который как раз предназначен для преформатированного текста. Отступов внутри будет ровно столько, сколько задумал автор. Но придётся поменять стандартный стиль тега, чтобы текст вписывалися в остальной контент, в первую очередь сменить шрифт с моноширного на обычный.

Cправка по pre:
https://www.w3schools.com/tags/tag_pre.asp
No. 24687    
159828916319.png-(101.09KB, 1392×920, Clipboard01.png)
24687
>>24684
По-моему, тебе надо для начала определить структуру сообщения, соответственно вывести признаки начала и конца отдельных элементов.

Исторически разбиение на абзацы осуществляется тремя путями:
— типографский отступ с красной строки;
— для ранних редакторов с ручными выравниванием, форматированием и переносом текста абзацы разделяются пустой строкой (это характерно для всего раннего IT, посмотрите для примера стандарты RFC);
— для модерновых, вроде Word, которые выравнивание, форматирование и переносы делают сами, абзацы разделяются новой строкой, отсюда пустая строка для них тоже абзац.

Очевидно, что угадать, что имел в виду каждый автор сообщения, аналитически невозможно без введения жёстких формальных ограничений, следовать которыми никто не будет. С другой стороны, от парсера разметки никто и не требует семантического анализа сообщения. Отсюда разумным будет определить структуру сообщения как последовательность блоков, состоящих из последовательностей строк; для простоты можно ввести умолчание, что блоки текстовые, если автором не указано иначе.

Вопрос, что делать со множеством подряд идущих пустых строк в каждом конкретном блоке, остаётся на усмотрение автора разметки — можно оставить как есть, можно схлопнуть до приемлимого числа.

Ну а структуру форматированного текста в рендере задавать проще всего div-ами, ты же не под HTML 3 пишешь. Или у тебя там требования, чтобы на пятом Осле отображалось?

>>24685
Твой <section> покорёжит структуру моего поста. Это имело бы смысл, если бы требовалось отделять друг от друга ответы на разные сообщения, но опять же, это жесткое формальное требование.
No. 24689    
>>24685
По логике <section> это больше про каталог, где выводится только заголовок и предпросмотр ОП-поста. Потому как для этого тег вроде и создавался.

> Помещать весь текст в тег <pre>
Плохая идея, у меня в нём код/поэзия будет лежать.

>>24687
Другой вариант который я сейчас рассматриваю: один перенос приклеивает две строки к одному тегу <p>, два и более — создают новый абзац. Тут и вроде как стандарты соблюдены, и лишние переносы переварены, и текст красивее отделяется.
> структуру форматированного текста в рендере задавать проще всего div-ами
Не совсем понимаю зачем нужно забивать гвозди <div>ами, если для этого есть готовые теги, которые по смыслу больше подходят.
> Или у тебя там требования, чтобы на пятом Осле отображалось?
Совсем нет, скорее наоборот. Пытаюсь как можно больше черпнуть из новых стандартов. Даже от табличной вёрстки отказался.
No. 24690    
159830955650.png-(93.03KB, 1390×916, Clipboard01.png)
24690
>>24689
Oh, my...

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

Отсюда предлагаю оставить семантику на совести автора и
просто считать текстовым блоком наибольшую подпоследователь-
ность строк в сообщении, для которой автор явно не указал
принадлежность к иному блоку. Соответственно, отдельные
строки внутри блока описывать или <br>-ами, или <div>-ами.

>если для этого есть готовые теги, которые по смыслу больше подходят.
Специализированные теги вводятся для человека, который будет их набирать вместе с текстом, отсюда вопросы семантики отпадают сами собой: если человек засунул какой-то текст в <p>, значит это абзац. Это не отменяет того, что большинство человеков лепят эти тэги, как Бог на душу положит, отчего семантический анализ по ним затруднителен, если вообще возможен. Тем не менее, стандарт и браузеры всегда этому попустительствовали чтобы выжить (тот же XHTML невзлюбили из-за его строгости).
Для разметки, создаваемой в результате машинной обработки, придумали универсальный тэг <div>, из которого можно вывести любой специализированный тэг при помощи таблицы стилей. Это вместе с flex-ом позволяет радикально менять вид сайта одними лишь таблицами стилей, не трогая сам HTML, который, как правило, генерируется из кучи шаблонов. Семантика здесь так же уезжает в таблицы стилей и остаётся на совести разработчиков конкретного сайта.
Удалить сообщение []
Пароль  
[Mod]