Вы видите копию треда, сохраненную 3 февраля 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Подсветка кода для /pr/: скачать
\r\n\r\n
\r\nБольшие куски кода желательно вставлять через ideone или pastebin\r\n
\r\n\r\n\r\n
F.A.Q.
\r\n\r\n\r\nВ: Хочу стать программистом, какой язык учить?\r\nО: Английский + Python/Ruby.
\r\n
\r\n\r\nВ: Ко-ко-ко не работает программа. Анон памаги.
\r\nО: Копируешь сообщение об ошибке в гугл, удаляя номер строки и название файла. Языко- и платформоспецифичные вопросы можешь задать в соответствующем треде. Воспользуйся поиском или вот этим каталогом:
\r\n\r\n1С\r\nandroid\r\nC\r\nC#\r\nC++\r\nDelphi\r\nGo\r\nHaskell\r\niOS\r\nJava\r\nJavaScript\r\nLisp\r\nPerl\r\nPHP\r\nPython\r\nRuby\r\nRust\r\nScala\r\n
\r\n\r\nВ: Бугурт от собеседований, программировать в 30 лет, съябываем из говнокодинга, обсудить новые рецепты маминого борща.
\r\nО: Тред (М) для обсуждения нетехнических околопрограммерских тем.
\r\n\r\n\r\nВ: У меня горит лаба/курсач, не знаю какую тему диплома взять.
\r\nО: Задавай вопрос в этом треде.
\r\n
\r\n\r\nВ: Бежать ли мне срочно в node.js, если на него сам PayPal гостевуху перенёс? Начинать ли учить Go и Rust, раз все говорят, что за ними будущее?
\r\nО: Если интерес не поиграться, а работать, то не нужно следовать за массовыми истериями. Выбирай язык с кучей библиотек, туториалов и проверенными временем фреймворками под твои нужды.\r\nИначе будешь тратить время на велосипеды и поиск багов в чужих пакетах.\r\n
\r\n\r\nВ: Какую программу/ось поставить для ... ?
\r\nО: Связанные с софтом вопросы обсуждаются в /s/ (М). Исключение - IDE и прочие инструменты программирования, которые можно обсудить в тредах соответствующих языков.
\r\n
\r\n\r\nВ: Взломать акк.
\r\nО: Просто съеби.\r\n
\r\n
\r\n\r\nВ: Подскажите сайтов, которые читают крутые программеры.
\r\nО: Лента из руби, джавы, скалы и ещё какой-то херни.
\r\n\r\n
\r\nЛитература с пика\r\n
\r\n\r\nПрошлый тред\r\n
\r\nНадеюсь в новом году, ты, пидор, будешь делать перекаты до 1к постов.
Вообще-то я первый, ты второй .
2ch.hk/pr
Toolkit.getDefaultToolkit().beep() - не издаёт звуков.
Из консоли и эклипса тишина. У меня Линукс. Как сделать какой-нибудь стандартный бип?
Пикрелейтед смысл несет?
нахуй нам бесплатно програмировать? надо вкатиться.
Вот я задаю номер, допустим X=4. И по этому номеру мне нужно определить n и k вот в таком виде. {n,k}, где k<n;
Т.е {0,0}, {1,0}, {1,1}, {2,0}, {2,1}, {2,2}, {3,0}, {3, 1} ...
И {n,k} с номером 4 будет {2,1}
Вроде нет.
Ну ебаный в рот, что нравится, туда и вкладывайся.
ПлюсЫ онли, ничего больше не надо.
Посоны, стоит ли посмотреть бесплатные курсы geekbrains? Могут ли помочь их платные курсы поднятию скила и карьерному росту.
ванаби погромистом, 4-й курс одного не самого топового вуза
А есть ли годные курсы ну и сертификатами с которых будет не стыдно хвастаться? Или проще кинуться стажером за еду или без в ближайшую кодерскую и попутно читать книги? Какой минимальный уровень знаний нужен чтобы не погнали ссаными тряпками? Как правильно оценить свои скилы писал пару поделок на крестах и шарпе, но до ума так ничего и не довел
javascript
Сертификатами с курсеры или edx можно будет похвастаться, например.
Потому что сам для начала попробуй все эти технологии по пре дней и сделай выводы.
Тоже ролльну. Как раз хочу в яву попробовать.
Я пробовал qt, например. Но у меня вовсе нет опыта ни в чем подобном. Я открываю тот же Creator и не знаю, что с ним делать. Могу пару кнопочек повесить, какой-то хеллоуворлд по клику сделать, но что дальше? Неужели пикрл-рулеточка?
А попробуй, че.
В select есть условие:
select if(substr(Table.field,1,5)='penis', Table1.field1, Table2.field1)
Далее идёт куча джойнов, в том числе outer join.
Переписываю его на SQLAlchemy ORM, но результат получается другой. Вот этот кусок, но теперь он стоит в конце после других полей селекта:
func.IF(func.substr(Table.field,1,5)='penis', Table1.field1, Table2.field1)
Порядок перечисления полей в селекте как-то может влиять на результат?
Где я обосрался?
Хочу: фриланс/удалёная работа.
Что для этого выбрать?
PHP+JS
А ты сам чем хочешь заниматься, м?
как связать базу данных с программой на яве
я умею создавать это, устанавливать коннекшен, и пулять препеаред квери из программы, всё работает
но где можно почитать как нужно это делать? потому что квери получаются размазанными по всему коду
я чувствую что что-то делаю не так
помогите
1. coursera. Годная ли вещь? Дают ли реальные знания? Может, кто-то уже проходил и есть что рассказать? По окончанию дают какой-нибудь сертификат, или просто так для себя и работодателю лучше даже не рассказывать об этом? Какие курсы выбрать(для php, например), сколько всё стоит?
2. codeacademy. Насколько годная вещь? выбрал курс php, рассказывают очень простые вещи, дальше - лучше? Стоит ли вообще заморачиваться, или там всё брехня?
3. codewars. - годнота?
лично мне ничто так не помогает как реальная работа над проектами и гуглёж конкретных проблем
все эти лекции - говно ебаное
ты сидишь, слушаешь, максимум - пишешь говнопрограммки в 5 строк длинной
это всё хуйня
бери идею - ебаш хардкор
но ведь с чего-то надо начинать, верно? без этиих говнопрограммок в 5 строк длиною ты не будешь даже представлять себе, как взяться за воплощение идеи
>но ведь с чего-то надо начинать, верно
на самом деле нет
поставь маленькую цель
речь про пхп, как я понял?
сделай страницу, которая будет выводить тектом 10 тем тредов на нулевой
обновляешь страницу - новые темы
делай
Согласен с этим хером. Ну базовый синтаксис можно по книжке/мануалу освоить, тем более пых.
А это сложно? Человек, умеющий в кодинг на уровне спортивного программирования, но не видавшего пхп в глаза, получится?
Ладно-ладно, спасибо за пинок под зад
Да, речь про пхп. Вот я пока даже синтаксис не до конца выучил, а ты про темы на нулевой. Я даже не знаю, как взяться.
Книги, блядь, читай.
ГУГЛИ
блять, ещё один даун, который УЧИТ СИНТАКСИС
я надеюсь ты открыл документацию, и по алфавиту учишь функции и что они делают?
Причем в диванного.
Около 17 копеек. Потому что нужно программировать, а не учить яву.
Ну, челинж комплит, затестим тэг кода.
[CODE]
using System;
namespace GameOfLife
{
class Program
{
static int w = 0;
static int h = 0;
static Random r;
static void Main(string[] args)
{
w = Console.WindowWidth - 1;
h = Console.WindowHeight - 1;
r = new Random();
var buf1 = new int[h, w];
var buf2 = new int[h, w];
var bufSwap = false;
InitBuf(ref buf1, 15);
do
{
Console.Clear();
ShowBuf(bufSwap ? buf2 : buf1);
if (bufSwap)
SimBuf(ref buf1, buf2);
else
SimBuf(ref buf2, buf1);
bufSwap = !bufSwap;
}
while (Console.ReadKey(true).Key != ConsoleKey.Escape);
}
static void InitBuf(ref int[,] buf, int percentOfLives)
{
for (var i = 0; i < h; i++)
for (var j = 0; j < w; j++)
buf[i, j] = r.Next(100) < percentOfLives ? 1 : 0;
}
static void ShowBuf(int[,] buf)
{
for (var i = 0; i < h; i++)
{
for (var j = 0; j < w; j++)
Console.Write(buf[i, j] == 1 ? 'O' : ' ');
Console.WriteLine();
}
}
static void SimBuf(ref int[,] bufN, int[,] bufP)
{
for (var i = 0; i < h; i++)
for (var j = 0; j < w; j++)
{
var n = Neibhors(bufP, i, j);
if (bufP[i, j] == 0)
{
if (n == 3)
bufN[i, j] = 1;
else
bufN[i, j] = 0;
}
else
{
if (n == 2 || n == 3)
bufN[i, j] = 1;
else
bufN[i, j] = 0;
}
}
}
static int Neibhors(int[,] buf, int y, int x)
{
var count = 0;
count += Neibhor(buf, y - 1, x - 1);
count += Neibhor(buf, y - 1, x);
count += Neibhor(buf, y - 1, x + 1);
count += Neibhor(buf, y, x - 1);
count += Neibhor(buf, y, x + 1);
count += Neibhor(buf, y + 1, x - 1);
count += Neibhor(buf, y + 1, x);
count += Neibhor(buf, y + 1, x + 1);
return count;
}
static int Neibhor(int[,] buf, int y, int x)
{
y = y < 0 ? h - 1 : y;
y = y > h - 1 ? 0 : y;
x = x < 0 ? w - 1 : x;
x = x > w - 1 ? 0 : x;
return buf[y, x];
}
}
}
[/CODE]
Ну, челинж комплит, затестим тэг кода.
[CODE]
using System;
namespace GameOfLife
{
class Program
{
static int w = 0;
static int h = 0;
static Random r;
static void Main(string[] args)
{
w = Console.WindowWidth - 1;
h = Console.WindowHeight - 1;
r = new Random();
var buf1 = new int[h, w];
var buf2 = new int[h, w];
var bufSwap = false;
InitBuf(ref buf1, 15);
do
{
Console.Clear();
ShowBuf(bufSwap ? buf2 : buf1);
if (bufSwap)
SimBuf(ref buf1, buf2);
else
SimBuf(ref buf2, buf1);
bufSwap = !bufSwap;
}
while (Console.ReadKey(true).Key != ConsoleKey.Escape);
}
static void InitBuf(ref int[,] buf, int percentOfLives)
{
for (var i = 0; i < h; i++)
for (var j = 0; j < w; j++)
buf[i, j] = r.Next(100) < percentOfLives ? 1 : 0;
}
static void ShowBuf(int[,] buf)
{
for (var i = 0; i < h; i++)
{
for (var j = 0; j < w; j++)
Console.Write(buf[i, j] == 1 ? 'O' : ' ');
Console.WriteLine();
}
}
static void SimBuf(ref int[,] bufN, int[,] bufP)
{
for (var i = 0; i < h; i++)
for (var j = 0; j < w; j++)
{
var n = Neibhors(bufP, i, j);
if (bufP[i, j] == 0)
{
if (n == 3)
bufN[i, j] = 1;
else
bufN[i, j] = 0;
}
else
{
if (n == 2 || n == 3)
bufN[i, j] = 1;
else
bufN[i, j] = 0;
}
}
}
static int Neibhors(int[,] buf, int y, int x)
{
var count = 0;
count += Neibhor(buf, y - 1, x - 1);
count += Neibhor(buf, y - 1, x);
count += Neibhor(buf, y - 1, x + 1);
count += Neibhor(buf, y, x - 1);
count += Neibhor(buf, y, x + 1);
count += Neibhor(buf, y + 1, x - 1);
count += Neibhor(buf, y + 1, x);
count += Neibhor(buf, y + 1, x + 1);
return count;
}
static int Neibhor(int[,] buf, int y, int x)
{
y = y < 0 ? h - 1 : y;
y = y > h - 1 ? 0 : y;
x = x < 0 ? w - 1 : x;
x = x > w - 1 ? 0 : x;
return buf[y, x];
}
}
}
[/CODE]
Пишу userscript, который по регуляркам добавляет к ключевым словам span'ы, к которым применяются стили. Просто думал, быть может есть проще способ.
>есть ли какие-нибудь песочницы, которые могут хостить и выдавать результат пхп или другого кода
пока ты не будешь гуглить перед вопросом - тебе будут ссать в лицо
дошло?
Ну ебана в рот, на любой бесплатный хостинг льешь php-файл принтит че тебе надо.
Какой специфический хостинг может быть для php-файла? Ну прочитай хоть базовую теорию, ЕБАНЫЙ В РОТ
Да, стоит написать подобное и получить уриной в лицо и все находится.
Как думаете нормальная тема? hostinger.ru
>hostinger.ru
блять хуй знает
тебе критичны деньги?
купи впс за 4$ в месяц с кучей трафика и 100гбю диском, будешь там дрочить апач, базы данных
чот в 2016 шаредхостингами обмазываться - пиздец
Нищестудент очевидно. хотя в этом семестре был у мамы молодцом, может стипуха достойная будет.
Хочу для mal стиль замутить, у которого при рефреше страницы будет пикча на фоне меняться
может и хуй, который основ не знает. Но скорее всего не тот самый
>орый основ не знает. Но скорее всего не тот са
лучше замути скрипт, который из ёбаного анимепланет перенесёт аниму в мал
Это который anime-planet.com? Есть ссылка на какой-нибудь публичный лист? Может и можно его автоматом распарсить и get-запросами на мал перекинуть.
http://www.anime-planet.com/users/Samwhich/anime
там апи нет, нужно вручную дрочить
если сделаешь это - будешь молодцом, уже второй год хочу сбежать оттуда
если будешь делать - экспортируй аниму в стандартный ХМЛ формат анидб
>автоматом распарсить и get-запросами на мал перекинуть
так, что тебе не нужно делать лишнюю работу
http://anidb.net/ имеет формат для хранения данных у анимы, колво просмотров и т.д.
этот формат могут читать много сайтов, в том числе мал
тебе не нужно как-то закидывать в мал аниму
тебе просто нужно составить валидный ХМЛ с данными из анимепланет
codepad.org
Походу уже все за меня сделано, попробуй
http://pastebin.com/CMcUiuTR
Нужен питон 2,7 и какой-то BeautifulSoup Парсер хтмл?
Походу он после запуска попросит ввести твой ник Samwhich
Откроет хтмл, глянет сколько страниц,
потом создаст файл anime-planet.xml
И начнет для всех страниц построчно забивать структуры, содержащие [название анимы, тип, просмотренные эпизоды, оценку и статус].
Собственно тебе останется скопировать xml малу.
Сам я его не запускал пока. Еще в общей базе данных anidb не нашел те что кончаются на "Movie", может это помешает импорту.
1) ну и что что что-то есть. ты ничеего никогда не напишешь, так как всё уже есть
2) этот скрипто 2010 года. он не работает с вероятностью 100%
неужели никто не подскажет? Я уже отчаялся
Что за сервер? Я совсем нуб, пытаюсь echo "Hello!"; запустить и не отвечает. Объясни вкратце, добрый человек.
Слышал про какой то git, но так и не понял что это.
Всякие stackoverflow, pastebin и так далее.
А ту я читаю одну только книгу, и не знаю откуда черпать знания еще.
Спасибо.
>git
Это система контроля версий, немного не то.
Скорее всего тебе нужен github - такая социалочка для кодеров, куда можно заливать свой и смотреть чужой код.
>stackoverflow
Туда надо попадать через гугл, когда ищешь решение проблемы. Там уже куча всего рассмотрено и отвечено.
>pastebin
Просто онлайн хостинг текста с подсветкой синтаксиса, если хочешь кому-то показать кусок кода.
бамп вопросу
Эдакий список закладок хорошего программиста, даже включая всякие linkedin, которые используются для составления резюме.
Дайте чё почитать по олимпиадным задачкам с разбором решений.
Action Script
Ну, можешь пойти на codeforces, там почти к каждому раунду есть разборы, иногда даже на русском, живое, отзывчивое комьюнити.
Лучший друг всех олимпиадников e-maxx.ru - куча алгоритмов, почти всегда с кодом на крестах, подробными объяснениями и т. д.
Много задачек и теории на informatics.mccme.ru
Из англоязычных особо ничего не знаю, но подозреваю нормальные разборы на topcoder, hackerrank
Выбирай Tcl, не прогадаешь.
как подобную херню запрогать? понятно, что там всё вертится вокруг матричных преобразований, но я в кодинг не могу, ибо говновуз нихуя не дал на первых курсах
Короче заебался я с этой фигней. Почему-то на первом мувике мадоки парсер не находит в нужном месте поле типа анимы.
Сам пока не знаю, сейчас думаю над играми, но вдруг в будущем что то изменится.
Тогда ты уже ошибся.
Вот так вроде хорошо выдало. текст кодируется строго маленькими английскими 0-25
Есть один сайт с виртумаркетом на 1.5.14, нужно мигрировать на 3+, вопрос к анону: во сколько это примерно оценивается если заказывать на каком-нибудь фриланс.ру или подобных сайтах?
Нужен переход со всем составляющим. Пикрелейтед характеристики.
Блин, где про это почитать? Я даже не знаю, что за сервер и как его настраивать.
ловите безумца
Отпиздил бы тебя дубиной по коленям, блядь. Эклипс он скачал, блядь. Скачай один только пхп для начала и в блокноте попробуй поиграться. Запусишь свое говно из командной строки как php govno_eclipse_degenerata.php или встроенный в пых сервер запусти ключем -S и в браузере смотри. Пиздец просто, не учатся ничему некоторые, и учиться не хотят.
>не учатся ничему
из-за таких дебилов как ты
он не будет учится пока не откроет гугл и не будет вопросы свои тупые писать туда
ты хуесосишь его и сам же решение говоришь
отпиздил бы тебя по коленям после него, дебил ебаный
А я бы и тебя по коленям отпиздил пару раз. Прикрепленный тред для ньюфагов все-таки и создавали.
ты рак этой борды
просто потому что туп и не понимаешь этого
ньюфагтреды никогда не создавались для гугловопросов уровня "пхп интерпритатор что это"
"как установить сервер для пхп"
примеры вопросов в шапке почитай.
Поясните за приложения в ВК. Хочу написать приложение, в котором нужна будет работа с файлами и конечно с бд.
На чем вообще пишутся? Я так понимаю нужен серверный язык какой-то (сам знаю Python, PHP, чуть-чуть node.js). Дайте советов мудрых (в сети все пишут разное и какую-то хуйню)
Качай api.pdf и делай.
Самоутверждение
>>618356
Типичные советы из выдачи:
>Нужно знать Flash и Java Script. Надо уметь программировать под веб.
>Php cgi (сервер), Action Script (Flash клиент) если быть точнее
>Кто-то говорит, что нужен Adobe Flash.
>Кто-то говорит, что не нужен Adobe Flash.
>Срачи as2 vs as3
В шапке в FAQ нет ничего по теме, как и в самом ньюфажном треде. Так что иди нахуй
Я правильно понимаю, что phpstorm - это текстовый редактор и в довесок к нему надо устанавливать собственно сам пхп и прописывать путь к нему?
>phpstorm php interpreter is not configured
загугли эту строчку
когда ты научишься сам составлять такие сложные запросы для гугла - ты станешь настоящим программистом
ведь работа программиста это не писать код - это решать проблемы
гугл - твой главный помощник в решении проблем
Время каникул - самое удобное время чтобы начать развивать кругозор и осваивать новые ниши. Какую IDE вы посоветуйте для начала? Решил вкатиться в программирование с С++ и Пайтона, какая среда разработки подойдет под них? Майкрософт вижуал качать не хочу, больно громоздки, а на Эклипс жалуется ява, не знаю в чем проблема с ней
https://www.jetbrains.com/products.html
лучшее что есть на рынке
на платность не смотри, триалы сбрасываются руками легко
Что ж, спасибо, думаю для начала вполне не плохо, с прошедшим тебя
>гуглил и как раз это и навело на мысль
попробуй почитать что пишут в ответах
что именно установить
Мне всё очень трудно даётся, подскажи, пожалуйста, всё ли я понял верно:
1.http://windows.php.net/download#php-7.0 отсюда качаю один из четырёх файлов(чем они отличаются?!)
2. прописываю в шторме путь к нему, после установки.
3. профит
ты делаешь не правильно
сначала ты делаешь так как считаешь нужным
далее, если не получается, спрашиваешь, описывая то что ты сделал и какой получился результат
так как ты делаешь - делать не надо
Верстальщик - верстает. Все. Фронтендщики изобретают новые степени садизма над пользователем с помощью всяких фронтенд фреймворков на жс.
разобрался. Да, надо было скачивать то и прописывать путь к распакованному архиву. Всё работает (вроде)
>а, надо было скачивать то и прописывать путь к распакованному архиву. Всё работает (вроде)
отрезюмируем тебя
1) ищешь ошибку\проблему в гугле
2) пытаешься решить сам, пробуешь все варианты
3) спрашиваешь совета у людей, постишь ошибку, то что пробовал, почему не получилось, скриншоты, если нужно
ко всем итт относится, можете в оп пост даже добавить
Таненбаум про архитектуру.
Чтобы можно было создавать списки фильмов/игр/других вещей, чтобы картинки стакались квадратиками или "примерно" сортировались по размеру, чтобы разные параметры отмечались?
У меня совсем базовые знания, но, может, кто-то знает примеры кода, где это реализовано? Или по каким тэгам гуглить?
Или, может, есть кто-то, кому не лень всем этим заняться, и он бы мог указать цену?
1) Что я делаю не так?
2) Что говорить чтобы не рушить тонкую организацию девичьей души?
3) Мне вот интересно, если я скажу что я игори люблю например, то у них не будет обморока? Как это повлияет на шансы трудоустройства? Ну да, в плане новомодных течений со всякой экзотикий в свободное время звёзд с неба не хватаю, зато честно. Если скажу что аниму нравится, то не будут как на маньяка смотреть? Ментов не вызовут?
4) Почему вот прям до усёру оно хую простому надо? Я код хуже буду писать без него или что?
Верстку + немного javascript
А что я делаю по-твоему?
Точнее, ответ "ничем". Я немного недопонял вопрос. Нет у меня страсти всей жизни.
Про борды этим с виду ранимым особам вообще лучше не знать. И всё же, что им можно такого нейтрального сказть, чтобы совсем уж не удивлялись? Может лапши какой-нибудь навешать труднопроверяемой?
Как нарисовать блок-схему для сишной структуры, которые struct name {}; ?
Нужно для универской лабы.
Первую часть я пожалуй пропущу, а вот со второй уже лучше, спасибо.
скажи, что туризм любишь по лесам шароебишься и горам
если че расскажешь кулстори от беар грилса
пиздец
http://pastebin.com/3h1nKt8i
Не, мне как раз сойдет. Скажу что по чащам всяким с друзьями шарюсь да по буреломам, норм будет.
Не будет.
>кому не лень всем этим заняться
блять, это очень дрочевно, миллиард деталей
а технически - ничего космисечкого
что-нибудь серверное - и жаваскрипт
то же самое
доебали вопросами про ХОББИ
3 раза спрашивали
сказал что в компуктер играю
отъебались
Каждому конкретному часу соответствует свой индивидуальный фон - это самое важное условие.
Можно через CSS самой странички,
можно подхватывать меняющиеся картинки откуда-то извне, не суть.
Куда копать, как попроще это сделать, я вообще нюфаня, выручайте.
Новогодняя картинка авансом.
сразу видно что ты с ебанутыми заказчиками не имел дела
если хочет - надо делать, хуй отговоришь
но вот КАК делать - тут уже наше дело, и пхп в хтмл коде нинада
>>618700
Собственно, я не совсем ясно выразился.
Работать оно должно только из CSS страницы.
"Фон" только объявлен фоном, это не украшательство на всю страницу а небольшая таблица с изменяемыми данными (проехали), потому и привязка ко времени - апдейт каждый час.
Причём, время должно работать одинаково для всех юзеров,
независимо от индивидуального времени на пк.
Никакой хуйни типа плавного фейдинга не нужно.
>апдейт каждый час.
таблица получается с сервера?
присылай с сервера цвет таблицы
css никак не позволит отталкиваться от времени
я вообще не программист. помогите разобраться. Пишу вот так http://2ch.hk/makaba/posting.fcgi?json=1&task=post&board=abu&thread=42375&captcha_type=recaptcha&comment=%D1%82%D0%B5%D1%81%D1%82 (М) а он говорит {"Error":-4,"Reason":"Постинг запрещён."}
Помощь надо.
>css никак не позволит отталкиваться от времени
Ок, я уже понял это.
Допустим, в CSS будет постоянная ссылка на картинку.
Как мне тогда на сервере реализовать сменяемые картинки,
но так, чтобы название у подгружаемой таблицы (картинки) всегда было одинаковое (для ссылки) ?
Типа 24 разных таблицы,
но нужная (в данный момент времени) всегда подставляется по неизменному адресу типа
https//huipizda.com/img/tablica.png
Никак манька, ссылка должна отражать изменение, иначе твоё говно просто закешируется.
>Ок, я уже понял это.
тут вопрос в том почему ты хочешь сделать именно так?
скорее всего ты хочешь сделать неправильно
что и как приходит с сервера (ты говорил про таблицу)
какой код, как именно и т.д.
python, pip install requests
Залетаем в php конфу как гром в дом!
Я бы взял node-webkit и делал в нём на жс.
Разобрал нужную мне функцию в экзешнике игры для PS1. Задумал переписать её. Понял, что она слишком велика и сложна, так что проще подменить результат вычислений. Места мало, так что без серьезных изменений оригинального кода ничего не сделаешь. Решил просто воткнуть jal, который уведет к выполнению моего кода.
Но тут проблема. Я не знаю, где разместить свои инструкции. Да, в дебагере можно положить их куда угодно, а потом прыгнуть на адрес и всё будет ок. Но мне нужно добавить инструкции так, что я просто запускал образ в эмуляторе или диск на консоли и всё работало.
Потом я внезапно понял, что мипсовый ассемблер не имеет инструкций для работы с данными на диске, он может только перемещать данные между регистрами и ram. Как тогда данные попадают в ram?
Я внезапно понял, насколько я мало знаю об архитектуре. В той же сишечке, на которой писалась игра, есть возможности работы с файлами, но какие ассемблерные инструкции получатся при компиляции, если инструкций для работы с rom не существует?
там в коде наверно описан "драйвер" или вызов прерывания, чтобы обратиться к устройству.
Сишные функции в линупсах, работают через вызов к ядру, ядро делает вызов к виртуальной файловой системе, которое байткодом делает прерывание на проце, и говорит ему обратитись к тому устройству, скажи ему тото, а потом забери из кеша устройства дату, и верни обратно, дальше проц это помещает в память, говорит ядру, вот тебе адрес памяти, вот доступ, на читай. Ну вообще как-то так.
как-то так. Могу рекомендовать загуглить написания дров для сидюка на ассме.
Скорее всего программа грузится в память один раз, а далее с диска подгружаются только уровни и текстуры, а сам код так и лежит в памяти. Поэтому ищи место в экзешнике - забей nop'ами какую-нибудь не особо важную хуиту, например.
А так по твоему вопросу, тебе нужен playstation sdk, вот например что я нагуглил за 3 минуты. Не понятно, это библиотека или же она вызывает функции BIOS, но это тоже можно выяснить быстро.
>Скорее всего программа грузится в память один раз, а далее с диска подгружаются только уровни и текстуры
Там система из нескольких экзешников. В основном из них выделено место под дозагрузку других в зависимости от того, что происходит в игре (битва, магазин, етц). Есть вероятность, что в памяти всегда будет свободное место?
В пуристейшен должно быть точно так же, только вместо Оси, сама игра будет. То есть там где-то должен быть описаны прерывания, чтобы считать с диска данные. Суть в том что в низкоуровневых языках, высокоуровневые функции при работе с диском никто не писать не будет, так как у Пуристейшен нет ресурсов, проще сделать прерывание к процу, сказать где послать процу адресса откуда читать, и устройство откуда читать, и поместить в такую-то ячейку памяти.
Я тут погуглил, может ты видел может нет
Skeud wrote a little document on some PSX ASM stuff. Some of the
methodology might require some stuff out of your reach but you may still find
value in it. http://www.tales-cless.org/util/psasmdoc.zip
Хотя я не занимался этим, но по мойму так будут работать все устройства, где есть цпу.
все еще хронокросс мучиешь?
Как в итоге лучше быть? Пытаться понять, можно ли разместить свой код в незаполненных участках памяти, увеличивая размер самого экзешника?
Просто, суть же в том, что если свободного места в ram не будет, то нужно будет загружать свою функцию с диска, выполнять её, а потом возвращать на место тот код или данные, что были в ram.
За ссылку спасибо. Правда, у меня уже был скачан этот архив, но я, вроде, не читал. Сейчас займусь.
Да, его.
Твоя функция в каких режимах будет использоваться, в том экзешнике ее и размещай. Есть ли место - хз, я бы на это не надеялся, ВСЕГДА есть возможность разместить код где-то, в текстурке может какой-нибудь, может еще где.
зависит от размера функции, я думаю пару килобайт там на функцию уже точно найдется. К тому же я так понял сделать это можно быстро.
К тому же тебе все равно нужно будет подгружать эту функцию, так что место в памяти оно займет.
если не получится, можно пойти по долгому пути.
Так же в наличии знание weblogic, ibm websphere, ibm mq.
Любые unix( aix, solaris, hp-ux)
Веба, погромирования( php, perl, javascript, html, ror) нету.
Стоит ли вкатываться в погромирование?
Я вот тут решил зарабатывать 300 к в неделю, как и все, дающие советы в этом треде. Я 16 лвл кун. Учу пхп и хочу свалить от мамки в 18.
Думаю к концу 17 кинуть резюме на hh. какие у меня шансы без вышки в 18? Может еще учить что то? Сам из ДС
Для этого бакс должен стоить хотя бы 500 рублей.
Захуячь имидж борду потипу двача. Если с фреймворком хотя бы осилишь, то найди вакансию Фуллстак ПХП Джун, а дальше как дрочить будешь, столько бабла и получишь, но сейчас 200 килорублей вроде потолок.
Пытаюсь сбросить рутовый пароль в mysql, который поставил пару часов назад, через консоль. Но у меня нихуя не получается, пишет, что процесс запустился, а дальше ничего не происходит. Что делать - хуй знает.
>зарабатывать 300 к в неделю
просто сиди на жопе ровно и жди
скоро миллионерами будем, как в белоруси
Есть три разных объекта: А В С. Нужно составить рандомный массив состоящий только из этих трех переменных. Но, нужно это делать с некоторыми поправками.
А может идти после любой из трех переменных. В может идти только после В или А. С только после С или А. То есть С и В не могут идти сразу друг за другом.
Желательно или логику описать, или полностью решение на шарпе.
>Желательно или логику описать, или полностью решение на шарпе.
ты чево как не родной? говори адрес вуза, я приеду и сдам за тебя готовое
что ты ещё, будешь сам сдавать это? совсем ебанулся
нужно сравнить содержимое всех файлов внутри него и увидеть различия
как это сделать?
Алсо конфа по пхп тематике 1 из 1000 сообщений там соответствует пхп.
https://telegram.me/joinchat/BxAn5ASN8mv5h_KmZ-Y9rA
https://telegram.me/joinchat/BxAn5ASN8mv5h_KmZ-Y9rA
https://telegram.me/joinchat/BxAn5ASN8mv5h_KmZ-Y9rA
Берешь какую-то библиотеку для работы с zip-архивами и смотришь. Соответсвенно для сравнения файлов утилиты есть, можно их подхватить.
кароч
http://www.activityworkshop.net/software/jarcomp/index.html
вторая строка в гугле
заебали, никто не гуглит нахуй
Анон посоветуй сайт для фриланса на котором можно заработать время от времени немного и при этом не нужно САМОМУ ПЛАТИТЬ, нахуя мне вообще работа если У МЕНЯ УЖЕ ЕСТЬ ДЕНЬГИ?
std::priority_queue<task> read_tasks(int n){
\tstd::priority_queue<task> tasks(task, std::vector<task>, compare);
\ttask t;
\tfor(int i = 0; i < n; i++){
\t\tt.id = i + 1;
\t\tstd::cin >> t.time;
\t\tstd::cin >> t.priority;
\t\ttasks.push(t);
\t}
\treturn tasks;
}
Все, я сам разобрался.
массив[0] = выбратьСлучайныйОбъект(A, B, C);
для чисел i от 1 и меньше размера массива
{
если массив[i-1] == B
массив = выбратьСлучайныйОбъект(A, C);
иначе если массив[i-1] == C
массив = выбратьСлучайныйОбъект(A, B);
иначе
массив = выбратьСлучайныйОбъект(A, B, C);
}
Слушай малыш, тогда тебе придется пахать, быть настойчивым, упорным к этому нелегкому делу.
Есть виртуалка с AVR Studio 4, есть подключенный файл описания, но авр студио ругается, что такого регистра нет. Что делать, аноны?
Можете обоссывать. Я долбоеб.
Значит вот список:
- Пхп + some framework.
- Руби + рор.
- Жаба + фреймворки для веба.
- Питон + джанго.
Куда вкатиться новичку реально и не остаться потом без работы?
Да.
Tampermonkey 3.12.58, Chrome 47.0.2526.106. Это я один такой криворукий?
Почему не работает?
У меня что-то эта херня не заработала.
Пробовал код на скрине:
Хотел проверить, не будет ли съедать звёздочки. Съедает всё к хуям.
Пруф enable — скрин два.
это как предложить рвоты и гноя попробовать
тот анон долбоёб конечно что даже город не назвал
но я сомневаюсь что на жаве мало работы даже в мухосранске
>>619188
>Значит вот список:
бери яву
пойми, что тебе не придётся переучиваться с нуля
ООП ебашится и там и там
правила хорошего кода действуют везде
если ты станешь заебатым программистом - то язык не имеет значения.
начинай на любом, лучше на яве
хотя кому я вру? ты очередной обмудок без души, вкатывающийся в прогроммирование потому что нихуя не умеет и ничем не интересуется. учи пхп - работай за 25к всю жизнь
[code lang="С"]
b
[/code]
Нахуя? Конкурировать с малолетними даунами без опыта?
Пиздуй в бизнес-аналитики/аналитики баз данных. В 30 лет уже пора менеджером становиться.
>удь /pr/ конфочки в джаб
какой-тол аутист создал в телеграмме - больше вроде нет нигде
что не отменяет того что телеграм говно ебаное
Двачую, дайте уже джаббер или ирку, телеграмопетушением заниматься не хочу.
Пойди и создай.
Ну как мессенджер в нем ничего плохого нет, но анальная привзяка к телефону это лишнее для бордового чатика.
какие есть вообще мессенжеры норм без анальной привязки к номеру
и без протухшего говна уровня XMPP и ирц
А с иркой ты анальной привязан к айпи, а некоторые серваки ещё и тор использовать не дают, чтобы пустить трафик через него.
>и без протухшего говна уровня XMPP
Обоснуй за протухшее говно.
Есть токс, но он non-configurable.
> Интерфейс хвалят, во всяком случае. Да и не такой уж это и зашквар, в дажббер конфах и ирках тоже особой лолонимности нету.
Ничто не мешает создать акк за пять минут и забить. Я бы и в телеграм конфу пошел, но я телеграмом по работе пользуюсь, у меня там все реальные данные, а фейкоакк не создать.
>анальной привязан к айпи
что несёшь?
кого ебёт твой айпи?
ты не видишь разницы между айпи и номером сотового\ником?
Ты не поверишь, но на этой анонимной борде ты тоже к айпи привязан, и тор использовать не дают
Вижу. Ты забываешь про анонов со статикой.
>>619291
Да я верю, но админ борды, это одно, а все юзеры канала это другое. Во втором случае ты напрашиваешься на аудит безопасности и возможно если что-то сделаешь не так на упрощённый деанон.
Но меня это не смущает, я просто говорю, что что ирка, что джаббер, что телеграм одинаково нелолонимны в плане конференций.
Ага, только сайт смсок-онлайн будет знать твой код :3
[code lang="С"]
for( ; i != v.end(); ++i ) {
if( i > x && i < y ) break;
}
[/code]
[code lang="С"]
for( ; i != v.end(); ++i ) {
if( i > x && i < y ) break;
}[/code]
Блядь ну почему так? Твой пост обрабатывается скриптом, а остальное нет.
Если не считать скрина 2, но я там вообще не писал тегов strong, там были звёздочки и тег болда.
Короче кривая параша эта ваща подсвечивалка.
>>619314
Я пытаюсь кусок кода запостить на сишке, и чтобы там были указатели (знаки звёздочек), чтобы проверить, нормально ли макаба их отобразит.
Омск, блядь.
Просто скрипт не подсвечивает зашкваренную байтоебскую дрисню
[code lang="java"]import java.util.;
import java.lang.;
import java.io.*;
class Ideone
{
\tpublic static void main (String[] args) throws java.lang.Exception
\t{
\t\tint[] massivIntov = {1,2,3};
\t\tint elementInt = 2;
\t\tSystem.out.println(najtiElementVMassive(massivIntov,elementInt));
\t\t
\t\tdouble[] massivDoublov = {1,2,3};
\t\tdouble elementDouble = 2;
\t\tSystem.out.println(najtiElementVMassive(massivDoublov,elementDouble));
\t\t
\t\tString[] massivStringov = {"odin","dva","tri"};
\t\tString elementString = "dva";
\t\tSystem.out.println(najtiElementVMassive(massivStringov,elementString));
\t\t
\t\tInteger[] massivIntegerov = {new Integer (1001),new Integer (1002),new Integer (1003)};
\t\tInteger elementInteger = new Integer (1002);
\t\tSystem.out.println(najtiElementVMassive(massivIntegerov,elementInteger));
\t\t
\t\t// !!!
\t\tint[][] massivMassivIntov = {{1,2,3},{2,3,4},{3,4,5}};
\t\tint elementMassivIntov[] = {2,3,4};
\t\tSystem.out.println(najtiElementVMassive(massivMassivIntov,elementMassivIntov));
\t\t
\t\tString[][][] massivMassivMassivStringov = {{{"a"},{"b"}},{{"c","d"}},{{"e","f"}}};
\t\tString[][] elementMassivMassivStringov = {{"c","d"}};
\t\tSystem.out.println(najtiElementVMassive(massivMassivMassivStringov,elementMassivMassivStringov));
\t\t
\t\tString[][] oshibochniiElementMassivMassivStringov = {{"c","e","z"}};
\t\tSystem.out.println(najtiElementVMassive(massivMassivMassivStringov,oshibochniiElementMassivMassivStringov));
\t}
\t
\t
\t
\t// -1 esli NotFound, snachala massiv potom element
\tstatic int najtiElementVMassive(Object massiv,Object element){
\t\tif(massiv instanceof int[]) {
\t\t\tfor(int i=0; i<((int[])massiv).length; ++i)
\t\t\t\tif(((int[])massiv)==(int)element)
\t\t\t\t\treturn i;
\t\t} else if(massiv instanceof byte[]) {
\t\t\tfor(int i=0; i<((byte[])massiv).length; ++i)
\t\t\t\tif(((byte[])massiv)==(byte)element)
\t\t\t\t\treturn i;
\t\t} else if(massiv instanceof boolean[]) {
\t\t\tfor(int i=0; i<((boolean[])massiv).length; ++i)
\t\t\t\tif(((boolean[])massiv)==(boolean)element)
\t\t\t\t\treturn i;
\t\t} else if(massiv instanceof char[]) {
\t\t\tfor(int i=0; i<((char[])massiv).length; ++i)
\t\t\t\tif(((char[])massiv)==(char)element)
\t\t\t\t\treturn i;
\t\t} else if(massiv instanceof float[]) {
\t\t\tfor(int i=0; i<((float[])massiv).length; ++i)
\t\t\t\tif(((float[])massiv)==(float)element)
\t\t\t\t\treturn i;
\t\t} else if(massiv instanceof double[]) {
\t\t\tfor(int i=0; i<((double[])massiv).length; ++i)
\t\t\t\tif(((double[])massiv)==(double)element)
\t\t\t\t\treturn i;
\t\t} else if(massiv instanceof short[]) {
\t\t\tfor(int i=0; i<((short[])massiv).length; ++i)
\t\t\t\tif(((short[])massiv)==(short)element)
\t\t\t\t\treturn i;
\t\t} else if(massiv instanceof long[]) {
\t\t\tfor(int i=0; i<((long[])massiv).length; ++i)
\t\t\t\tif(((long[])massiv)==(long)element)
\t\t\t\t\treturn i;
\t\t} else {
\t\t\ttry {
\t\t\t\tfor(int i=0; i<((Object[])massiv).length; ++i)
\t\t\t\t\tif(sravnitMassivi(((Object[])massiv),element))
\t\t\t\t\t\treturn i;
\t\t\t} catch (Exception e) {
\t\t\t\tfor(int i=0; i<((Object[])massiv).length; ++i)
\t\t\t\t\tif((((Object[])massiv)).equals(element))
\t\t\t\t\t\treturn i;
\t\t\t}
\t\t}
\t\t
\t\treturn -1;
\t}
\t
\t
\tstatic boolean sravnitMassivi(Object massiv1,Object massiv2) {
\t\ttry {
\t\t\tif((((Object[])massiv1)).length!=(((Object[])massiv1)).length) return false;
\t\t\tboolean ravni=true;
\t\t\tfor(int i=0; i<(((Object[])massiv1)).length; ++i)
\t\t\t\travni=ravni&&sravnitMassivi((((Object[])massiv1)),(((Object[])massiv2)));
\t\t\treturn ravni;
\t\t} catch (Exception e) {
\t\t\tif(massiv1 instanceof int[]) {
\t\t\t\treturn Arrays.equals((int[])massiv1,(int[])massiv2);
\t\t\t} else if(massiv1 instanceof byte[]) {
\t\t\t\treturn Arrays.equals((byte[])massiv1,(byte[])massiv2);
\t\t\t} else if(massiv1 instanceof boolean[]) {
\t\t\t\treturn Arrays.equals((boolean[])massiv1,(boolean[])massiv2);
\t\t\t} else if(massiv1 instanceof char[]) {
\t\t\t\treturn Arrays.equals((char[])massiv1,(char[])massiv2);
\t\t\t} else if(massiv1 instanceof float[]) {
\t\t\t\treturn Arrays.equals((float[])massiv1,(float[])massiv2);
\t\t\t} else if(massiv1 instanceof double[]) {
\t\t\t\treturn Arrays.equals((double[])massiv1,(double[])massiv2);
\t\t\t} else if(massiv1 instanceof short[]) {
\t\t\t\treturn Arrays.equals((short[])massiv1,(short[])massiv2);
\t\t\t} else if(massiv1 instanceof long[]) {
\t\t\t\treturn Arrays.equals((long[])massiv1,(long[])massiv2);
\t\t\t} else {
\t\t\t\treturn massiv1.equals(massiv2);
\t\t\t}
\t\t}
\t}
}[/code]
Просто скрипт не подсвечивает зашкваренную байтоебскую дрисню
[code lang="java"]import java.util.;
import java.lang.;
import java.io.*;
class Ideone
{
\tpublic static void main (String[] args) throws java.lang.Exception
\t{
\t\tint[] massivIntov = {1,2,3};
\t\tint elementInt = 2;
\t\tSystem.out.println(najtiElementVMassive(massivIntov,elementInt));
\t\t
\t\tdouble[] massivDoublov = {1,2,3};
\t\tdouble elementDouble = 2;
\t\tSystem.out.println(najtiElementVMassive(massivDoublov,elementDouble));
\t\t
\t\tString[] massivStringov = {"odin","dva","tri"};
\t\tString elementString = "dva";
\t\tSystem.out.println(najtiElementVMassive(massivStringov,elementString));
\t\t
\t\tInteger[] massivIntegerov = {new Integer (1001),new Integer (1002),new Integer (1003)};
\t\tInteger elementInteger = new Integer (1002);
\t\tSystem.out.println(najtiElementVMassive(massivIntegerov,elementInteger));
\t\t
\t\t// !!!
\t\tint[][] massivMassivIntov = {{1,2,3},{2,3,4},{3,4,5}};
\t\tint elementMassivIntov[] = {2,3,4};
\t\tSystem.out.println(najtiElementVMassive(massivMassivIntov,elementMassivIntov));
\t\t
\t\tString[][][] massivMassivMassivStringov = {{{"a"},{"b"}},{{"c","d"}},{{"e","f"}}};
\t\tString[][] elementMassivMassivStringov = {{"c","d"}};
\t\tSystem.out.println(najtiElementVMassive(massivMassivMassivStringov,elementMassivMassivStringov));
\t\t
\t\tString[][] oshibochniiElementMassivMassivStringov = {{"c","e","z"}};
\t\tSystem.out.println(najtiElementVMassive(massivMassivMassivStringov,oshibochniiElementMassivMassivStringov));
\t}
\t
\t
\t
\t// -1 esli NotFound, snachala massiv potom element
\tstatic int najtiElementVMassive(Object massiv,Object element){
\t\tif(massiv instanceof int[]) {
\t\t\tfor(int i=0; i<((int[])massiv).length; ++i)
\t\t\t\tif(((int[])massiv)==(int)element)
\t\t\t\t\treturn i;
\t\t} else if(massiv instanceof byte[]) {
\t\t\tfor(int i=0; i<((byte[])massiv).length; ++i)
\t\t\t\tif(((byte[])massiv)==(byte)element)
\t\t\t\t\treturn i;
\t\t} else if(massiv instanceof boolean[]) {
\t\t\tfor(int i=0; i<((boolean[])massiv).length; ++i)
\t\t\t\tif(((boolean[])massiv)==(boolean)element)
\t\t\t\t\treturn i;
\t\t} else if(massiv instanceof char[]) {
\t\t\tfor(int i=0; i<((char[])massiv).length; ++i)
\t\t\t\tif(((char[])massiv)==(char)element)
\t\t\t\t\treturn i;
\t\t} else if(massiv instanceof float[]) {
\t\t\tfor(int i=0; i<((float[])massiv).length; ++i)
\t\t\t\tif(((float[])massiv)==(float)element)
\t\t\t\t\treturn i;
\t\t} else if(massiv instanceof double[]) {
\t\t\tfor(int i=0; i<((double[])massiv).length; ++i)
\t\t\t\tif(((double[])massiv)==(double)element)
\t\t\t\t\treturn i;
\t\t} else if(massiv instanceof short[]) {
\t\t\tfor(int i=0; i<((short[])massiv).length; ++i)
\t\t\t\tif(((short[])massiv)==(short)element)
\t\t\t\t\treturn i;
\t\t} else if(massiv instanceof long[]) {
\t\t\tfor(int i=0; i<((long[])massiv).length; ++i)
\t\t\t\tif(((long[])massiv)==(long)element)
\t\t\t\t\treturn i;
\t\t} else {
\t\t\ttry {
\t\t\t\tfor(int i=0; i<((Object[])massiv).length; ++i)
\t\t\t\t\tif(sravnitMassivi(((Object[])massiv),element))
\t\t\t\t\t\treturn i;
\t\t\t} catch (Exception e) {
\t\t\t\tfor(int i=0; i<((Object[])massiv).length; ++i)
\t\t\t\t\tif((((Object[])massiv)).equals(element))
\t\t\t\t\t\treturn i;
\t\t\t}
\t\t}
\t\t
\t\treturn -1;
\t}
\t
\t
\tstatic boolean sravnitMassivi(Object massiv1,Object massiv2) {
\t\ttry {
\t\t\tif((((Object[])massiv1)).length!=(((Object[])massiv1)).length) return false;
\t\t\tboolean ravni=true;
\t\t\tfor(int i=0; i<(((Object[])massiv1)).length; ++i)
\t\t\t\travni=ravni&&sravnitMassivi((((Object[])massiv1)),(((Object[])massiv2)));
\t\t\treturn ravni;
\t\t} catch (Exception e) {
\t\t\tif(massiv1 instanceof int[]) {
\t\t\t\treturn Arrays.equals((int[])massiv1,(int[])massiv2);
\t\t\t} else if(massiv1 instanceof byte[]) {
\t\t\t\treturn Arrays.equals((byte[])massiv1,(byte[])massiv2);
\t\t\t} else if(massiv1 instanceof boolean[]) {
\t\t\t\treturn Arrays.equals((boolean[])massiv1,(boolean[])massiv2);
\t\t\t} else if(massiv1 instanceof char[]) {
\t\t\t\treturn Arrays.equals((char[])massiv1,(char[])massiv2);
\t\t\t} else if(massiv1 instanceof float[]) {
\t\t\t\treturn Arrays.equals((float[])massiv1,(float[])massiv2);
\t\t\t} else if(massiv1 instanceof double[]) {
\t\t\t\treturn Arrays.equals((double[])massiv1,(double[])massiv2);
\t\t\t} else if(massiv1 instanceof short[]) {
\t\t\t\treturn Arrays.equals((short[])massiv1,(short[])massiv2);
\t\t\t} else if(massiv1 instanceof long[]) {
\t\t\t\treturn Arrays.equals((long[])massiv1,(long[])massiv2);
\t\t\t} else {
\t\t\t\treturn massiv1.equals(massiv2);
\t\t\t}
\t\t}
\t}
}[/code]
А ещё регулярочки и баш-скрипты, да?
Нахуй он тогда такой кривой нужен? Я думал там как-то решена проблема обработки макабой звёздочек как символов разметки, и мб других бб-кодов внутри тега [code].
А тут хуй да нихуя! Наебалово какое-то, блядь.
Ну-ка
[code lang="java"]\b(?<protocol>https?|ftp)://(?<domain>[-A-Z0-9.]+)(?<file>/[-A-Z0-9+&@#/%=~_|!:,.;])?(?<parameters>\?[A-Z0-9+&@#/%=~_|!:,.;])?[/code]
[code lang="java"](?:[a-z0-9!#$%&'+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'+/=?^_`{|}~-]+)|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])")@(?:(?:[a-z0-9](?:[a-z0-9-][a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-][a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])[/code]
#include <iostream>
using namespace std;
int main ()
{
int firstvalue, secondvalue;
int mypointer;
mypointer = &firstvalue;
mypointer = 10;
mypointer = &secondvalue;
*mypointer = 20;
cout << "firstvalue is " << firstvalue << '\n';
cout << "secondvalue is " << secondvalue << '\n';
return 0;
}[/code]
#include <iostream>
using namespace std;
int main ()
{
int firstvalue, secondvalue;
int mypointer;
mypointer = &firstvalue;
mypointer = 10;
mypointer = &secondvalue;
*mypointer = 20;
cout << "firstvalue is " << firstvalue << '\n';
cout << "secondvalue is " << secondvalue << '\n';
return 0;
}[/code]
Ну запости этот код со звёздочками, раз ты такой нелох. Только не заменяй на похожие символы.
Хочу вкатиться в "большое программирование". За плечами опыта нихуя (чуть-чуть си и пхп). Выбираю между сисярп и джава. Нахожусь не в СНГ, с работой тяжко, буду скорее всего перебираться в Рашку.
Что выбрать для того, чтобы не лохануться - джава или сисярп.
Если мне склероз не изменяет, то между серверами тоже TLS. Или ты о вопросе доверия владельцу сервера? Тогда тебе в одноранговые сети.
Да, я о доверии владельцу сервера. То есть та же хня, что и телеграмом.
Необязательно в одноранговые, можно и конфу шифровать end-to-end, было бы желание. Кстати возможно это даже в рамках существующих реализаций xmpp возможно. Например дать один ключ всем участникам, и чтобы его не было у сервака. Или ещё как-нибудь.
>С другой стороны любой человек со стороны или даже админ сервера сможет подключиться со стороны и получить его
в этом и суть
какой смысл раздавать ключи всем подряд?
это равнозначно отсутствию шифрования вообще
[CODE]@echo off
for i in (.exe) do start ".exe" /b "i"[/CODE]
Но он часто крашится, хочется чтоб этот же батник вырубал его, перезапуская. Можете дописать?
тут пришёл один долбоёб которого вдруг ПО АЙПИ ВЗЛАМЫВАЮТ
речь была только о мессенджерах без телефона
Запустите пожалуйста на перле у себя кто-нибудь этот скрипт - 3188 kernel.img, посмотрите, таблицы отображаться будут? А то у меня пустые таблицы пикрелейтед, не пойму, толи ему НОСТОЯЩЕЙ ПЕРЛ нужен, толи кернел мой не переваривает
http://rghost.ru/6zQsPxfJ8
скрыпт+кернил
https://github.com/phjanderson/rkpatchomatic
сырец
Как решить эту задачу при помощи динамики? Наваял такую залупу: https://ideone.com/8YIxj0
что такое динамика?
[code lang="scala"]object Main extends App {
val s = 12345
for (i <- 1 to 1000000000 if i.toString.map(Character.getNumericValue).sum == s) {
println(i)
}
}[/code]
пожаловался на вайп
Лол, тупой даун выучил зафорсенный недоязык, но не может в сложность алгоритмов и динамику.
Проигрунькал со скаладибила который делает миллиард вызовов toString вместо 8 тысяч суммирований.
Но обосрались только портвешковые говнарики, пытающиеся каким-то анальным байтоёбством сделать хуйню вроде "найти количество чисел от 1 до 1000 000 000, имеющих сумму цифр, равную s" на своём калькуляторе.
А можешь объяснить идею решения? Почему этому алгоритму соответствует именно такое рекуррентное соотношение, какое есть. Я думаю, эту задачу можно решить комбинаторными методами при помощи многочленов, но не знаю как. В комбинаторике разработано много методов для решения таких задач. Даже закономерность в выводе функции на это намекает.
Потому что количество чисел от 0 до 1000000000 с суммой цифр s
= количество последовательностей [0;9]^9 с суммой s
= количество последовательностей [0] x [0;9]^8 с суммой s
+ количество последовательностей [1] x [0;9]^8 с суммой s
...
+ количество последовательностей [9] x [0;9]^8 с суммой s
= количество последовательностей [0;9]^8 с суммой s - 0
+ количество последовательностей [0;9]^8 с суммой s - 1
...
+ количество последовательностей [0;9]^8 с суммой s - 9
двойное проникновение же.
Какая домашка, я не кодер в этой хуйне разбираться, мне просто нужно для этой программы.
петухи, хейтящие пхп, но не имеющие мозгов для норм языков, придумали себе отдельную парашу, где и купаются в своём говне
За Си как раз и хотел взяться.
Насколько указатели доступны для понимания?
Без асма в Си не обойтись?
Могу я обойтись без асма, если моя задача, к примеру, написать плагин на Си для моего скриптоязычка?
пришел 2 недели назад из армейки. За плечами 3.5 курса ПТУ по специальности программирование в компьютерных системах.
По сути нихуя не умею.
Стоит стать таким же петухом?
Указатели - это очень просто. Без асма обойтись можно, но зачем? Асм и си - самые простые языки программирования.
Я с 10 лет работаю
не пизди, в парашке дохуя работы
Убедил, бро, спасибо!
есть куча файлов названных хуй пойми как
надо сделать чтобы каждый из них переименовался в соотвествии с метаинформацией(там есть в большинстве случаев правильный нейм)
какие идеи как это сделать?
загуглить?
Фух нахуй, я её нашёл. Роллирую.
Я разочаровался что я сам не могу ничего сделать, только и делаю что ворую решения с СО и ютуба, как-то хуево это осозновать
Его можно в тор завернуть.
Попробуй для себя что нибудь начни делать.
жава, с, с++,с№, ну вот это всё
Где здесь машинного обучения тред?
Поставили задачу сделать вордовский документ "интерактивным": по клику по определенному тексту выводить всплывающее окно, которое может содержать таблицы и формулы. VBA мне здесь, насколько я понимаю, не поможет.
Подскажи, анон, при помощи чего можно реализовать эти поп-апы? js + vba?
> VBA мне здесь, насколько я понимаю, не поможет.
Если тебе что-то и поможет то VBA. Все остальное прикрутить будет сложно. Там вроде нет ивентов на простой клик (есть двойной и правый), следовательно тебе нужно будет с определенной частотой проверять позицию курсора, и если она попадает на нужное слово - выводить форму.
Где-то внизу.
Возьми решение с СО или ютуба и модифицируй его. Припили свистелку и перделку или сделай свистелку и перделку каким-нибудь другим алгоритмом и сравни два результата сначала на бумажке, а потом на тестовых данных.
Книга хуита (мало инфы и сложный язык, на картинке в оп-посте кстати она есть), Оберон не нужен.
Он нигде не используется. Как он может быть нужным?
ОК.
Вопрос тогда вот в чем: можно ли при помощи функционала VBA/Word создать всплывающее окно, которое будет содержать таблицу/формулу/другой объект Word?
На ум приходит только UserForm с картинкой, но это уберуебищно.
1) Выбираю название сайта. Допустим, "vk".
2) Добавляю к названию сайта какую-то соль. Получаю строку типа "vk[SALT]".
3) Вычисляю хэш от этой строки. Первые n символов - это пароль.
Такой способ хорош, потому что не нужно будет запоминать несколько паролей, а нужно будет запомнить только соль.
Надежно ли это? Я нигде не объебался?
>Возьми решение с СО или ютуба и модифицируй его.
Ну я так и делаю, гуглю одно решение, затем гуглю второе, затем кое-как квазимоду под себя леплю.
md5 не надежен. И твоя "соль" должна быть надежна.
Чем толсто? Идеальный язык для лопаты.
Через две недели экзамен в универе по информатикевообще не профильный предмет и надо научиться писать простенькие задачи на паскале(одномерные и двумерные массивы).
С чего начать и что гуглить?
Очевидные ввод/вывод консоли (если нужно, то еще файлы)
Переменные, операторы ветвления, циклы
Ну и сами массивы.
Ну и реши пару задач типа: ввести с клавы число n - количество элементов массива; ввести эти числа; и посчитать их сумму/произведение.
А если у тебя несколько аккаунтов на сайте? А если сайт заставляет тебя сменить пароль на новый?
Хабр не предлагать.
Можно написать программу/скрипт, который переименует их в соответствии с метаинформацией.
Соло на клавиатуре?
Проблема в том, что я вообще ничего не могу написать сейчас
Гуглить школьные учебники? Есть методичка, но она слишком хуевая
>посчитать их сумму/произведение
Вот мне нужно что-то типа такого, да
Например, дан такой-то массив, посчитать произведение нечетных чисел в четных стобцах или что-то типа этого
Попробуй видео уроки посмотреть.
Обычно ничего сложнее чем
Цикл ввода
Пара вложенных циклов обработки
Цикл вывода
В таких задачах не нужно, но понимать структуры синтаксиса языка надо.
Давай сюда статистику популярности языков
А то: МААААМ Я ЗНАЮ ЯЗЫК НА КОТОРОМ ПОЧТИ НИКТО НЕ ГОВОРИТ, ПРАВДА Я МОЛОДЕЦ.
dou.ua
/pr/
Что конкретно тебе нужно? В этот вопрос не вкатываются, а разбираются по ходу дела при повлении реальной задачи.
Ну работа с отладчиком. Че вообще да как там работает. Видел помню где то норм курс по всему этому. Всё разбирается на примере CrackMe.
Кстати интересует подобная тема.
Что делать если ида сама не понимает что перед ней функции директикса, как в неё их импортировать?
Хочу зареверсить одну 3d игру 2002 года на dx8.
И что делать если видишь не понятную кашу из оптимизаций компилятора (собрана в вижуал студии c++)
Я имею 3 года опыта работы fullstack быдломакака, в основном на пэхапэ. Также в наличии неплохая работа для провинции с весьма добротными условиями свободный график, халявная еда, интересные проекты, возможность перекатываться с технологии на технологию, хорошие люди included. Понимая, что на пыхе далеко не уедешь или уедешь?, хотелось бы перекатиться на что-то более инетерсное/удобное/перспективное/высокоплачиваемое/выбери_нужный_вариант.
Так вот, на что стоит обратить внимание? Сейчас смотрю в стророну Ruby/RoR Python/Django тоже неплохо, так как веб меня более чем устраивает, однако боюсь, что бум рельс спал и никому уже не нужны они. Умные люди советуют смотреть в сторону Node.js или Go. Подскажете?
Читай чужой код, точнее архитектуру смотри.
В чём конкретно проблема? Попробуй обмазаться функциональными структурами данных, выкинь циклы, переменные и т.п.
Почитай "Совершенный код" и "Программист-прагматик", как раз для внесения ясности в процесс разработки и анализа если не читал еще
> смотреть в сторону Node.js или Go. Подск
Отгадать нельзя, полностью хайповая сфера - с любым языком в любой момент может произойти тоже что и с перлом. Node.js выглядит как более надежный вариант, так как поддержка наплывом макак с браузерного js где у него вендорлок. Но это абсолютно не гарантия. Сказать какой из них выжевет невозможно, просмотри вакансии, выбери которые тебе нравятся (без учета языка) а потом смотри по каким они языкам и какой выбор.
>Программист-прагматик
читал это говно - хуета, одна вода, никакой конкретики, только зря время потратил
Тогда «Мифический человеко-месяц» (Фредерик Брукс) и «Человеческий фактор» (Том ДеМарко, Тимоти Листер).
Они намекают, что не в архитектуре дело...
Пишет: Плохой интерпретатор, Permission Denied
>Платформа, цель?
Винда. Или ты про что? Больше я про него ничего не знаю хочу узнать. Это чекер олимпиадных задач. Запускается батником вместе с другим экзэшником. Лучше дайте статей/лекций/маленьких книжек. Чтобы я сам разобрался.
Ну тогда берешь недавно утекшую IDA 6.8 с одного известного торрент-трекера, загружаешь файл, нажимаешь F5, оно показывает псевдокод. Дальше сам разберёшься. Если файл упакован, берешь PEiD, ProtectionID и т.д., а потом гуглишь мануалы по распаковке.
Стоит, там есть багфиксы и улучшения ремаппинг по-прежнему не работает, посмотри release notes. Но что делает mips_fixup в раздаче, я понятия не имею.
я появлюсь через неделю. честно
Если у меня ассемблер на уровне хэлоуворд? Есть способ узнать к каким файлам он там обращается и что вообще творит или в исходный язык вернуть?
Для x86 в IDA есть декомпилятор, который покажет сишный псевдокод. Этого в принципе достаточно, чтобы уловить суть, даже если ты не сможешь довести его до читаемого и компилируемого варианта.
Спасибо.
В чём суть механизма работы с различными API соцсетей или платёжных систем?
POST-запросом через cURL отправить данные на какой-то урл с идентификационным токеном, а далее обработать полученный ответ-правильно я себе всё представляю?
Тут есть одна тонкость. Гугли IDA antipirate patch (в темке про IDA на exelab.ru/f/ точно есть, но возможно, придется зарегистрироваться, чтобы ее увидеть).
Да. Тот же HTTP, но свой формат передачи данных, обычно JSON или XML.
Анусом иди торгуй, долбоёб.
Как земля
http://rghost.ru/7LDjWfdjm
Держи. Это оригинальные фиксы из той теме, за исключением одного исправления.
IDA: What's new in 6.9
BUGFIX: Leaving a mark, and then right-clicking on the address of an instruction could cause IDA to INTERR with the code 520
file offset old -> new
ida.wll 3C3F6 803D -> EB30
ida64.wll 41606 803D -> EB30
Первый. В соответсвие с разрадами, же. Это если про абстрактное число. Физически (в памяти) число по разному может размещатся.
6к зелени? Ты серьезно?
Спасибо, анон.
Это для тех, кто с помощью нее зарабатывает. Например, у меня есть лицензия на работе, а вот дома пирачу. Для остальных как бы есть всякие radare2 и прочие binnavi. К сожалению, они все по возможностям даже близко не дотягивают.
А я с помощью неё не зарабатываю, но моё хобби требует её использования. Предложишь покупать?
Никто ничего не должен, но ценник слишком неподъёмен для меня, так что я буду красть.
Короче, дело было в том, что юзерскрипт срабатывал после DOMContentLoaded. Я добавил @run-at document-start, заработало. Если автор есть в треде, предлагаю обновить на гитхабе.
Прошпрощ, банальное открытие от имени админа помогло.
Посоны, как в ida pro объявить интерфейс с методами?
Есть один объявленный в d3d8.h
[code lang="c"]
DECLARE_INTERFACE_(IDirect3D8, IUnknown)
{
/ IUnknown methods /
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void ppvObj) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
/ IDirect3D8 methods /
STDMETHOD(RegisterSoftwareDevice)(THIS_ void pInitializeFunction) PURE;
STDMETHOD_(UINT, GetAdapterCount)(THIS) PURE;
STDMETHOD(GetAdapterIdentifier)(THIS_ UINT Adapter,DWORD Flags,D3DADAPTER_IDENTIFIER8 pIdentifier) PURE;
STDMETHOD_(UINT, GetAdapterModeCount)(THIS_ UINT Adapter) PURE;
STDMETHOD(EnumAdapterModes)(THIS_ UINT Adapter,UINT Mode,D3DDISPLAYMODE pMode) PURE;
STDMETHOD(GetAdapterDisplayMode)(THIS_ UINT Adapter,D3DDISPLAYMODE pMode) PURE;
STDMETHOD(CheckDeviceType)(THIS_ UINT Adapter,D3DDEVTYPE CheckType,D3DFORMAT DisplayFormat,D3DFORMAT BackBufferFormat,BOOL Windowed) PURE;
STDMETHOD(CheckDeviceFormat)(THIS_ UINT Adapter,D3DDEVTYPE DeviceType,D3DFORMAT AdapterFormat,DWORD Usage,D3DRESOURCETYPE RType,D3DFORMAT CheckFormat) PURE;
STDMETHOD(CheckDeviceMultiSampleType)(THIS_ UINT Adapter,D3DDEVTYPE DeviceType,D3DFORMAT SurfaceFormat,BOOL Windowed,D3DMULTISAMPLE_TYPE MultiSampleType) PURE;
STDMETHOD(CheckDepthStencilMatch)(THIS_ UINT Adapter,D3DDEVTYPE DeviceType,D3DFORMAT AdapterFormat,D3DFORMAT RenderTargetFormat,D3DFORMAT DepthStencilFormat) PURE;
STDMETHOD(GetDeviceCaps)(THIS_ UINT Adapter,D3DDEVTYPE DeviceType,D3DCAPS8 pCaps) PURE;
STDMETHOD_(HMONITOR, GetAdapterMonitor)(THIS_ UINT Adapter) PURE;
STDMETHOD(CreateDevice)(THIS_ UINT Adapter,D3DDEVTYPE DeviceType,HWND hFocusWindow,DWORD BehaviorFlags,D3DPRESENT_PARAMETERS pPresentationParameters,IDirect3DDevice8 ppReturnedDeviceInterface) PURE;
};
typedef struct IDirect3D8 LPDIRECT3D8, PDIRECT3D8;
[/code]
Через Local Types > Add... получается добавить только последнюю строку (То есть я теперь могу присвоить переменной тип LPDIRECT3D8), но этого мало, нужно как-то методы описать.
Посоны, как в ida pro объявить интерфейс с методами?
Есть один объявленный в d3d8.h
[code lang="c"]
DECLARE_INTERFACE_(IDirect3D8, IUnknown)
{
/ IUnknown methods /
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void ppvObj) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
/ IDirect3D8 methods /
STDMETHOD(RegisterSoftwareDevice)(THIS_ void pInitializeFunction) PURE;
STDMETHOD_(UINT, GetAdapterCount)(THIS) PURE;
STDMETHOD(GetAdapterIdentifier)(THIS_ UINT Adapter,DWORD Flags,D3DADAPTER_IDENTIFIER8 pIdentifier) PURE;
STDMETHOD_(UINT, GetAdapterModeCount)(THIS_ UINT Adapter) PURE;
STDMETHOD(EnumAdapterModes)(THIS_ UINT Adapter,UINT Mode,D3DDISPLAYMODE pMode) PURE;
STDMETHOD(GetAdapterDisplayMode)(THIS_ UINT Adapter,D3DDISPLAYMODE pMode) PURE;
STDMETHOD(CheckDeviceType)(THIS_ UINT Adapter,D3DDEVTYPE CheckType,D3DFORMAT DisplayFormat,D3DFORMAT BackBufferFormat,BOOL Windowed) PURE;
STDMETHOD(CheckDeviceFormat)(THIS_ UINT Adapter,D3DDEVTYPE DeviceType,D3DFORMAT AdapterFormat,DWORD Usage,D3DRESOURCETYPE RType,D3DFORMAT CheckFormat) PURE;
STDMETHOD(CheckDeviceMultiSampleType)(THIS_ UINT Adapter,D3DDEVTYPE DeviceType,D3DFORMAT SurfaceFormat,BOOL Windowed,D3DMULTISAMPLE_TYPE MultiSampleType) PURE;
STDMETHOD(CheckDepthStencilMatch)(THIS_ UINT Adapter,D3DDEVTYPE DeviceType,D3DFORMAT AdapterFormat,D3DFORMAT RenderTargetFormat,D3DFORMAT DepthStencilFormat) PURE;
STDMETHOD(GetDeviceCaps)(THIS_ UINT Adapter,D3DDEVTYPE DeviceType,D3DCAPS8 pCaps) PURE;
STDMETHOD_(HMONITOR, GetAdapterMonitor)(THIS_ UINT Adapter) PURE;
STDMETHOD(CreateDevice)(THIS_ UINT Adapter,D3DDEVTYPE DeviceType,HWND hFocusWindow,DWORD BehaviorFlags,D3DPRESENT_PARAMETERS pPresentationParameters,IDirect3DDevice8 ppReturnedDeviceInterface) PURE;
};
typedef struct IDirect3D8 LPDIRECT3D8, PDIRECT3D8;
[/code]
Через Local Types > Add... получается добавить только последнюю строку (То есть я теперь могу присвоить переменной тип LPDIRECT3D8), но этого мало, нужно как-то методы описать.
Сходи в View, Structures, Ins на клавиатуре, Add standard structure, там есть готовые структурки D3D. А если вручную, то пропусти инклуд через сишный препроцессор, потом полученную структуру можно через Parse C header или Local types импортировать. Иногда можно обойтись без препроцессора, но заебешься правильно дефайны приписывать.
К сожалению там оказались только структуры 9го икса, пробовал пустить d3d8.h, он постоянно ругается что не может открыть stdlib.h (даже когда я его туда скинул).
Пытаюсь вручную, но не могу что-то раскурить макрос
#define DECLARE_INTERFACE(iface) typedef interface iface { \
struct iface##Vtbl FAR* lpVtbl; \
} iface; \
typedef struct iface##Vtbl iface##Vtbl; \
struct iface##Vtbl
Когда пытаюсь подставить, заменив iface на IDirect3D8 ида ругается.
И не знаешь, у как у неё определена константа __cplusplus? Может я не по той ветке смотрю.
И в чем суть этих макросов? Мелкомягкие просто захотели на основе этого механизма автоматом переделывать определение интерфейсов из своей нотации в синтаксис си?
То есть что-то вроде
STDMETHOD(GetAdapterDisplayMode)(THIS_ UINT Adapter,D3DDISPLAYMODE pMode) PURE;
основываясь на
#define STDMETHODCALLTYPE __stdcall
#define STDMETHOD(method) HRESULT (STDMETHODCALLTYPE method)
#define PURE
Надо переписать как
HRESULT (stdcall GetAdapterDisplayMode)(THIS_ UINT Adapter,D3DDISPLAYMODE pMode)
Проверил
#if defined(__cplusplus)
#if defined(CINTERFACE)
#ifdef CONST_VTABLE
Идут по веткам else, походу придется без плюсов обойтись.
> оказались только структуры 9го икса
Твоя правда. Но где-то я их видел. Может, в старых версиях были til от 8 DirectX? Поищи в интернетах.
>>620820
> И в чем суть этих макросов?
Для плюсов оно декларирует класс с виртуальной таблицей функций. Для сишечки оно определяет две структуры:
struct IDirect3D8 {
указатель на struct IDirect3D8Vtbl lpVtbl;
};
и отдельно таблицу виртуальных функций struct IDirect3D8Vtbl { указатели на методы }. Так как это COM, то методы обычно возвращают HRESULT (кроме AddRef/Release), используют конвенцию __stdcall, а первым аргументом принимают указатель на интерфейс, для которого вызываются. Это оно и делает.
> THIS_ UINT Adapter
Тут два аргумента: THIS_ разворачивается в указатель на интерфейс и запятую.
Я ж говорю, возьми студию, поинклудь нужные .h в .c, сделай cl /E, и получишь развернутые структурки на выходе, потом скопипастишь и все. Или руками пиши, это не так страшно, как кажется.
>Я ж говорю, возьми студию, поинклудь нужные .h в .c, сделай cl /E, и получишь развернутые структурки на выходе
Подробнее бы.
Если я правильно, понял нужно сделать какой-нибудь .c файл, прописать в него #include "d3d8.h", и затем рекурсивно разворачивать заголовочные файлы?
Маленький инженер, давай к делу.
/E adds #line directives to the output at the beginning and end of each included file and around lines removed by preprocessor directives for conditional compilation. These directives renumber the lines of the preprocessed file. As a result, errors generated during later stages of processing refer to the line numbers of the original source file rather than lines in the preprocessed file.
>>620865
Ну куда там подробнее? Препроцессор разворачивает все макросы, т.е., структуры у тебя сгенерятся, и останется лишь скопипастить нужные. Алсо, в IDA SDK есть tilib, можешь (после некоторой ебли) собрать нормальный .til себе раз и навсегда (читай readme.txt в комплекте). Если сделаешь - поделись.
Будет нормально если я для ознакомления напишу видение продукта, так сказать с точки зрения юзера? Т.е. нужен будет человек могущий создать внутреннюю архитектуру под это описание.
Хочешь сказать, что переводчики переделали пример кода?
Ты что, дебил? Это же код из раздела "Оператор ?", специально чтобы показать, как работает тернарный оператор.
Что это вообще за издание такое?
я например сейчас работаю с USARTом. Помимо функций приема, ДМА, прерываний есть callback функции. Зачем они нужны?
вот пример этой функции 931 страница:
HAL_UART_TxCpltCallback
http://www.st.com/st-web-ui/static/active/jp/resource/technical/document/user_manual/DM00105879.pdf
что бляд они делают?
Ну смотри. У тебя есть функция. Одна часть в ней полностью общая для всех случаев. А вторая меняется от случая к случаю. Ты разбиваешь ее на две функции. Одну общую которую отправляешь в библиотеку, вторую пишешь для каждого случая свою (так как она и должна быть своя) и вызываешь их по очереди. Потом ты решил что им нужно выполнятся в отдельном потоке - новый миллениум, однопоточность не комильфо, все дела. Выделяешь поток - вызываешь в нем две функции по очереди. Потом тебе надоело пердолиться каждый раз с потоком и ты решил что былобы неплохо чтобы первая функция сама создавала поток и выполнялась в нем. Но тут возникает проблема, что если так сделать, то ты уже не можешь просто по очереди вызвать функции - тебе нужно подождать пока выполниться первая функция, а потом только вызвать вторую. Один из вариантов решения - ты передаешь в первую функцию в виду аргумента указатель на вторую. Первая создает поток, выполняет в нем себя, потом выполняет в нем вторую функция, которая и называется колбеком. Колбеком называется потому что как правило основное ее предназанчение - сообщить что первая функция закончила работу.
Алтернативный взгляд - коллбек это примитивный вариант шаблона проектирования СТРАТЕГИЯ. У тебя есть задача которая состоит из двух частей - одна полностью стандартизирована (и ее можно выделить для многократного использования в библиотеку) а вторая часть персональная для каждого случая. Ты выделяешь общую часть в библиотечную функцию, которая также получает указатель на функцию в которой выполняется специфическая работа. Тоесть ты можешь немного подстраивать работу библиотечной функции под свою задачу, передавая ей разные колбеки.
Где можно почитать как создавали и писали игры для нес\снес. Хочу попробовать простого арканоида написать
Гуглить пробовал?
2. Разворачиваем его к себе задом и вставляем.
3. Далее начинаем против часовой стрелки медленно выкручивать гусю шею. Гусю становится больно, он начинает от боли дёргать жепью, и от этих движений вы испытываете непередаваемые ощущения.
4. Далее продолжаем выкручивать птице шею и одновременно с оргазмом сворачиваем её нахуй.
5. После этого гуся следует приготовить и подать к столу.
Анон, вроде получилось, но не уверен что правильно, нужно проверить (http://rghost.ru/6kR5Gs47S)
А в псевдокоде что-то не так, есть строка
p_d3d = Direct3DCreate8(0x78u); // Здесь функция должна вернуть интерфейс
Изначально p_d3d имеет тип int, я меняю его на LPDIRECT3D8 и строка с вызываемым им методом меняется с
v3 = ([звезда]([звезда]p_d3d + 16))(p_d3d);
на
v3 = ([звезда](p_d3d->lpVtbl + 4))(p_d3d);
То есть ни фига не лучше.
ЧЯДНТ и как получить что-то вида v3 = p_d3d->GetAvailableTextureMem()
Приложение дрючит бд, сервер не слишком мощный. Но с нагрузкой справляется. Планируется увеличение нагрузки. Под это дело хочется оптимизировать код вместо увеличения мощностей.
Оптимизация вида: использование статических библиотек вместо динамических. Почему-то есть мысль, что при использовании последних на это тратится некоторое количество ресурсов. Компенсация в виде увеличения исполняемого файла на десятки килобайт выглядит более чем приемлемой.
Может кто подтвердить или опровергнуть мысль?
На стаке несколько разнящиеся обсуждения.
Сделайте тесты, вышпогромисты.
Cпасибо. Ответ был действительно на поверхности.
[code lang="csharp"]
class Class1 {
public void Method() {
Object caller = <магия>;
Console.WriteLine("caller is {0}", caller.GetType().Name);
}
}
class Class2 {
public void Call() {
Class1 c = new Class1();
c.Method();
}
}
[/code]
после c.Method(); в консоли должно оказаться "caller is Class2"
Знаю, что можно добавить в Method параметр, в который передавать ссылку на экземпляр вызывающего класса ( void Method(Object sender); ), но вызывающий класс может передать левый экземпляр класса, null, еще какую-нибудь хуйню, поэтому, нет.
И ещё. Если это реально, то будет ли работать, если Class1.Method вызывается из статического метода, из метода статического класса или вообще из лямбды?
GetAvailableTextureMem - это IDirect3DDevice8. А у тебя CreateDevice вроде. Там что-то насчет неймспейсов - lpVtbl объявляется в виде IDirect3D8::IDirect3D8Vtbl, если через Local types отредактировать определение структуры и убрать IDirect3D8::, становится гораздо лучше.
Кун, 18 лвл. Я в жопе. Мамку ближайшие пару месяцев сократят и семью (я, мамка и мелкий брат) придётся кормить мне. На работу нигде не берут, так как у меня инвалидность. Решил попробовать фрилансить, но для этого нужно хоть что-то уметь. (Знаю на каком я ресурсе - суицид не предлагайте)
Прошу совета: какая специальность требует минимальных сроков обучения и приносит хоть какой-нибудь доход. Повторюсь, мне не нужны золотые горы - всё-таки льготы мне платят, просто их недостаточно. В общих чертах знаком с PHP, раньше что-то быдлокодил с приложениями android. Короче, я совсем зелёный. Спасибо.
Интересует, как скоро он выстрелит в продакшне? Как только стабильный компилятор завезут?
Все его так нахваливают, но суть-то работы на нем НЕТУ
как и на С++ для быдлоджуна, но это другая история
Вопрос не по теме, но интересно: как узнают что у тебя инвалидность? Или по тебе сразу видно?
Там затраты единоразово при загрузке программы на подключение библиотеки. Могут быть непрямые затраты, к примеру, статически подключенную копмилятор может как-то соптимизировать - но это уже вилами по воде. Заметного выигрыша не будет. Но потестить конечно не помешает, если не слишком напряжно. В оптимизации главное профайлер, предугадать результат очень сложно.
PHP.
Не знаю точно бро, но мне кажется в твоей ситуации следует посмотреть в сторону изучения такого языка программирования как Haskell.
Спасибо.
Двачую, очень меняет мышление, в хорошем смысле.
Предлагаешь ему задницей торговать если смазливый?
Если инвалид, то однозначно хачкель или РНР.
static void treeNodePrint(treeNode root, int level, char ch)
{
if (root != null)
{
treeNodePrint(root.right, level+1, 'R');
if (level != 0)
{
for (int i = 0; i < level-1; i++) { System.out.print("|\t"); }
System.out.println("|--" + root.value);
} else System.out.println(root.value);
treeNodePrint(root.left, level+1, 'L');
}
}
Input: 25, 43, 54, 39, 27, 12, 79, 67, 53
Output:
|\t|\t|--79
|\t|\t|\t|--67
|\t|--54
|\t|\t|--53
|--43
|\t|--39
|\t|\t|--27
25
|--12
static void treeNodePrint(treeNode root, int level, char ch)
{
if (root != null)
{
treeNodePrint(root.right, level+1, 'R');
if (level != 0)
{
for (int i = 0; i < level-1; i++) { System.out.print("|\t"); }
System.out.println("|--" + root.value);
} else System.out.println(root.value);
treeNodePrint(root.left, level+1, 'L');
}
}
Input: 25, 43, 54, 39, 27, 12, 79, 67, 53
Output:
|\t|\t|--79
|\t|\t|\t|--67
|\t|--54
|\t|\t|--53
|--43
|\t|--39
|\t|\t|--27
25
|--12
Действительно уже больше похоже на правду, получается что-то типа
v3 = p_d3d->lpVtbl->GetAdapterCount(p_d3d);
v4 = dword_741F00->lpVtbl->GetAdapterDisplayMode(dword_741F00, 0, v65);
Наверное красивее не сделать пока ида c++ поддерживать не начнет.
Вопрос еще возник, часто виду какие-то странные дублирования переменных, вроде:
p_d3d = Direct3DCreate8(0x78u);
dword_741F00 = p_d3d;
...
v3 = p_d3d->lpVtbl->GetAdapterCount(p_d3d);
...
v4 = dword_741F00->lpVtbl->GetAdapterDisplayMode(dword_741F00, 0, v65);
Это так компилятор решил оптимизировать?
Спасибо.
бамп тупому вопросу
И еще, почему когда я определил в строках
D3DDISPLAYMODE *d3ddm; // [sp+140h] [bp-78h]@9
int v66; // [sp+144h] [bp-74h]@10
int v67; // [sp+148h] [bp-70h]@10
Разве v66 и v67 не попадают в область памяти где уже есть структура D3DDISPLAYMODE? Почему они не определились как поля структуры?
GetAdapterDisplayMode(UINT Adapter, D3DDISPLAYMODE* pMode);
вроде принимает указатель, а d3ddm изначально просто int было, думал что нужно переменную как указатель на структуру определить.
Java: Spring, Android.
C#: ASP.NET, Xamarin.
Собсна куда податься, учитывая фриланс?
Есть знакомый ксамарин фрилансер с 3к$ в месяц, есть андроид разраб с почти такими же цифрами. Куда податься перспективнее?
ios objective-c/swift
Нахуй сходи лучше, долбоёб, иди тогда уже лучше на джаву, сейчас всё быдло туда валит, на андроид особенно, ты не первый и не последний, поэтому пиздуй на джаву, за ксамарин надо платить, под андроид всё проще.
Короче. По воле случая мне нужно выучить сасемблер 8086 процессора.
Сейчас я пишу на C# есть одно гавно в маркете которое практически никто не качает и cpp + matlab для своих целей. На последнее делал упор большое время.
Так вот. ОБСТОЯТЕЛЬСТВА сложились так, что нужно срочно, а именно в течении месяца-двух, хотя бы выучить азы сасемблера8086. Из сасемблера я писал только по 8051i и то всякую хуиту, типа переложить из РПД в ВПД и т.п. и чуточку условных переходов.
Так вот. Подскажите годную книгу про сасемблер 8086, чтобы всё было разжёвано как в Numerical Recipes: The Art of Scientific Computing. Ну короче чтобы прям вообще как азбука.
Большое спасибо.
Дублирующиеся переменные - это самодеятельность компилятора (как правило, одна в стеке, остальные в регистрах). Их можно объединять. Сначала тыкни на дубле "x", и удостоверься, что там только один доступ на запись, т.е., это настоящий дубль (бывает еще, когда компилятор использует одну стековую переменную для хранения абсолютно разных вещей в разные моменты времени например, майкрософт мог бы сохранить p_d3d в одном из аргументов функции). Потом тыкай = (Map to another variable в контекстном меню) и выбирай, какая переменная, по твоему мнению, оригинал.
> Наверное красивее не сделать пока ида c++ поддерживать не начнет.
Надеюсь, что не начнет. Тут все явно и наглядно, а плюсовый синтаксис скрывает слишком много информации, которая реверсеру нужна в IDA сделали наследование структур, и этого достаточно для реверсинга плюсового кода.
>>621487
Не совсем понял вопрос. У тебя там указатель, это 4 байта, с чего бы ему с чем-то другим перекрываться. Щелкни дважды по имени переменной, и посмотри, что у тебя со стеком. И на ассемблерный листинг стоит поглядывать (Tab), если что-то непонятное.
Спасибо за .c и .til, когда-нибудь точно пригодятся.
>>621738
Почитай в вики про архитектуру, потом бери референс по инструкциям, ассемблер, эмулятор, ну и разбирайся. Если уже сталкивался с любым ассемблером, второй учить не нужно.
>Почитай в вики про архитектуру, потом бери референс по инструкциям, ассемблер, эмулятор, ну и разбирайся. Если уже сталкивался с любым ассемблером, второй учить не нужно.
Архитектуру более менее знаю. У меня с самим сасемблиром какие-то траблы. Я не пойму какие. Не в одной книги нормально не рассказывают про приёмы и вообще про программирование. Просто какой-то набор команд. Вот это делает вот это. А вот это это. Это же какой-то справочник, а не учебник. Я когда разбирался с 8051, мне было легче на грёбанных машинных кодах для выч. секций K1804 программы писать, чем на нём самом. Я просто не могу вкурить этот грёбанный сасемблер, потому что нигде не могу найти грамотно составленного ебучего пособия. У меня тут ПОЖАРЫ круглые сутки. Просто посоветуй книгу, где всё тобою перечислено - хорошо изложено. Может есть какой нибудь учебник С ПРИМЕРАМИ или подобное. Может есть видеокурсы? Языкового барьера нету. Хоть инглиш, хоть русский. Просто НУЖНО блядь разобраться в этом чёртовом сасемблере 8086
Ну траблы с ПЕРЕДАЧЕЙ ДАННЫХ точно имеются. Из ВПД в РПП. Из РПП в РПД. Ну ты понял короче. Самые элементарные вещи.
Работа с массивами вообще вся. Я так не могу описать что я не знаю. Я ничего не знаю короче.
Ты просто берешь и ставишь инструкции друг за другом и собственно вот и все программирование. Тебе нужно только знать, что делает каждая команда, поэтому книги по асму это скорее справочники по командам. Конечно, тебе еще надо представлять как работает процессор, как он оперируетс памятью, прерывания, хуе-мое, ну ты понел.
Спасибо. Наверное даже отпишусь тут через день два. Скажу что получается.
Нет никаких ВПД РПП РГД ППШ. Адресное пространство плоское (ну, в прикладных целях). Массив - просто непрерывный кусок памяти.
На 50 же? И да, это оно.
Калашников "Ассемблер это просто"
У меня вопрос, как обычно ТУИ интерфейс взаимодействует с консольным в своей основе приложением?
Можно просто посылать сигналы приложению-серверу?
Смотря что за приложение. Если есть сервер то можно ему отсылать. Может просто вызывать консольное с нужными аргументами. Может там как-то в пайпы пердолиться.
Думаю, что malbolge, если до сих пор не придумали что-либо позковыристее.
java
JS
Угу, спасибо. Думаю и через fifa-файлы можно.
суть в том что мне нужно программно потушить монитор, а потом включить, подскажи плз как это сделать проще всего
с этим разобрался, и следующий вопрос, как повесить выполнение определенного экзешника на хоткей, причем чтобы этот хоткей был глобальным
C# programming yellow book - это отличная книга, анон?
Auto Hot Key
Есть массив состоящий из нулей и единиц.
[1,1,1,0,1,1,0,0,0,1,0,0,0,0,0,1,0]
Как мне найти в нем последовательность элементов состоящую из нулей? То есть вот это 0,0,0 и это 0,0,0,0,0.
Должен же существовать алгоритм, который придумали задолго до моего рождения. Как он называется?
попробуй умножать каждый элемент массива на 0, если в итоге получается 0 то выводим элемент))
точнее на любое чсло отличное от 0))))
class Program
{
static void Main(string[] args)
{
WriteLine("Введите размер массива");
int n = Convert.ToInt32(ReadLine());
int[] arr =new int[n];
Random rand = new Random();
WriteLine("Наш массив:");
for (int i = 0; i < n; i++)
{
arr = rand.Next(0, 2);
Write(arr + " ");
}
WriteLine();
WriteLine("Массив нулей:");
for (int i = 0; i < n; i++)
{
if (arr * 1 == 0)
{
Write(arr + " ");
}
}
ReadKey();
}
}
class Program
{
static void Main(string[] args)
{
WriteLine("Введите размер массива");
int n = Convert.ToInt32(ReadLine());
int[] arr =new int[n];
Random rand = new Random();
WriteLine("Наш массив:");
for (int i = 0; i < n; i++)
{
arr = rand.Next(0, 2);
Write(arr + " ");
}
WriteLine();
WriteLine("Массив нулей:");
for (int i = 0; i < n; i++)
{
if (arr * 1 == 0)
{
Write(arr + " ");
}
}
ReadKey();
}
}
using static System.Console; обязательно
Спасибо, но я сделал из массива строку и регуляркой выдрал все последовательности повторяющихся символов.
В каких случаях допустимо использовать тег <br>?
В чём отличие между <b> и <strong>?
Смысл атрибута title в тегах <p>, <abbr>?
Смысл тега <var>?
Всегда ли необходимо указывать атрибуты width, height тега <img>? Почему?
Три функции тега title?
Что достаточно сделать для того чтобы браузер обновил кэшированные элементы?
покажите свое решение) интересно
С какой стороны подходить?
Как определить, какие данные лучше вынести в отдельные таблицы, а какие скомпоновать в одну?
Вкатыюваюсь в .NET полумакакинг.
Начал пока читать SICP для развития мозга, лучшего понимания процедурного программирования и алгоритма работы программы. Что ещё взять сейчас, а что оставить на потом (после того, как осилю вами предложенную книгу и SICP)?
Математика на уровне 6-ого класса, логики нет совсем.
Желание и время есть.
/re названия и авторов.
Какие ньюансы нужно учитывать?
Не могу нагуглить ничего, изкоробки в ФФ не заработало.
Посоветуйте свежей литры по opengl. Язык не принципиален.
>в /gd одни кирилодебилы с юнити и пуревасик-даун семенит
В очи долбишься? OpenGL-тред:
http://2ch.hk/gd/res/195365.html (М)
На каких языках пишутся ЖТА, ТЕСы и прочие каловдутия? Так, для общего развития.
Или через что нынче на питоне кошерно с вк работать? В официальных доках вообще не нашел питоновских приблуд.
Ядро на плюсах. Значительная часть логики самой игры может быть на каком-то скриптовом языке написана.
вот тут кусок кода: http://ideone.com/XmWzsp
я старался как могу, но получилось какое-то говно, ехал const через const, string (&s)[8][2] и все в таком духе.
может кто-нть посмтореть на кусок этого смердящего говнокода и подсказать, где я тут проебался и как это можно более элегантно записать?
задача: на вход номер регистра и его значение, на консолке приттипринтитятся значения битиков. все работает, но выглядит как говно и пахнет как говно.
А по-моему, выглядит круто. Именно так и должен выглядеть байтоёбский код на плюсах. Брутально, беспощадно к читателю, но прекрасно выполняюще свою работу.
Спасибо, вроде оно.
Вот например. Есть гео место, завожу под него таблицу с именем, описанием, оценками.
Что делать с координатами места?
Отдельно выносить или в эту же таблицу. (например потребуется просчитать места в радиусе от данного)
Бамп.
http://ideone.com/S1jYm5
о, я это из C99 оказывается притащил (designated initialisation) http://stackoverflow.com/questions/8047261/what-does-dot-mean-in-a-struct-initializer
Понятно спасибо, не знал о такой фиче
и, кстати, да, у меня кажется появилась нездоровая любовь к этому языку. надо продолжать писать
>ты тупой мудак, умри
this
Ну не напишешь ты битоёбство красивее.
В природе просто нету метода написать хуиту вида
(*hui[0xFF & 0xDE] << 0xD4)++
красиво, такая вот поебень. Либо так, либо - соси хуй.
охуенный совет, да
1. Верстка
2. Javascript
3. Любой язык и фреймворк на твой выбор, например python/flask http://flask.pocoo.org/
ну или иди учи PHP и все тебя здесь будут ненавидеть и ссать в рот
сойдет. попробуй всего по-немного и бери, что нравится. питон содержит больше синтаксического сахара и более выразительный, зато в джаве статическая типизация и поэтому она более типобезопасна. коммюнити и там и там большое.
я бы все же взял питон как хобби-язык. он субъективно более красивый, выразительный, на нем гораздо быстрее можно писать. сейчас тут у кого-нть бомпанет, но, имхо код на питоне обычно в 4-6 раз компактней кода на джаве
а еще есть руби, го. из маргинальных -- хаскель, раст.
>>622203
короче джава, она больше для ынтерпрайза -- это когда усилием большого количества низко квалифицированных макак делаю довольно крупные веб-приложения. если хочешь работу с хорошей з/п и большим количеством мест -- джава для тебя.
питон больше подходит, чтобы в одно рыло быстро вебчик хуячить. он такой более хакерский.
хотя и на джаве можно писать красиво и быстро. главное мозги, а не инструмент.
>ну или иди учи PHP и все тебя здесь будут ненавидеть и ссать в рот
У пхп тред активный, можно советы спрашивать. Синтаксис по сути сишный. В общем не вижу особенных проблем.
Если реляционная бд, то скинь все в одну таблицу, а потом приводи к нормальным формам.
#include <iostream>
using namespace std;
int main ()
{
int firstvalue, secondvalue;
int mypointer;//тут была звёздочка
mypointer = &firstvalue;
mypointer = 10;// и здесь
mypointer = &secondvalue;
*mypointer = 20;
cout << "firstvalue is " << firstvalue << '\n';
cout << "secondvalue is " << secondvalue << '\n';
return 0;
}
[/code]
>>619326
Ну и ещё тест. Вдруг пофиксили.
Это слишком хорошо, чтобы быть правдой. Вдруг это из-за комментов?
[code lang="c"]
#include <iostream>
using namespace std;
int main ()
{
int firstvalue, secondvalue;
int mypointer;
mypointer = &firstvalue;
mypointer = 10;
mypointer = &secondvalue;
*mypointer = 20;
cout << "firstvalue is " << firstvalue << '\n';
cout << "secondvalue is " << secondvalue << '\n';
return 0;
}
[/code]
Странная штука получилась, вот функция WinMain до того как я начал что-то с ней делать.
http://pastebin.com/cDpmPUUN
Очевидно в этом цикле происходит проверка на то, что игра запущена с параметром "Launched" и если так, либо проверяется наличие мьютекса sub_4A2040(v6) (для предотвращения запуска второго экземпляра игры) и последующая инициализация окна sub_57F0F0(sub_4A6ED0, 0);. Или запускается лаунчер, после чего процесс игры закрывается sub_4A2090()
А странность в том, что после каких-то манипуляций вся эта лапша свернулась до очевидного strcmp. Я не понимаю как это получилось и как повторить?
В итоге получился довольно красивый участок кода назначение флага byte_6C8B54 судя по всему - индикация ошибки запуска, но какой в этом смысл если сразу после его установки приложение закрывается
http://pastebin.com/C1xYDr11
Решил одну фичу добавить, мейнтейнер сказал что нужная. Так вот, добавил субдир, пилю там плагин. И встал такой вопрос, о котором не стыдно говорить только на дваче.
В каждом файле указывается лицензия вида
PROJECT - AUTHOR
Copyright (C) 2010-2016 Ivan Sidorov <sidorov@ivan.name>
Дальше гпл-параша
Мне нужно так же делать? Или можно это на хую вертеть?
Или же тот же гпл, но со своим именем и названием плагина?
не смешно
Забей. Тебе наверное мейнтейнер напишет если обязательно надо или может даже сам добавит.
Бля, просто не хотелось прослыть чуханом :(
Пока оставлю пустое место, может у него в IRC спрошу.
Да не, вопрос лишь в том, чьи данные.
а насчет фио - у меня оно и так в профиле стоит, я же социоблядь
Есть бэкграунд из Вирта (алгоритмы) и Сей (чуть-чуть C++).
Хочу заняться вебом.
Цель - фрилансить и в дальнейшем пойти на удалёнку.
Фронт или бэк - плевать.
Куда податься в таком случае (php/js/ruby/spring/asp.net/etc)?
В плане GPL, юристы FSF требуют добавлять копирайты в кайждом файле. Если модифицируешь, то свои копирайты и ниже копирайт того, у кого взял. Если у тебя не GPL, а что-то более permissive, можешь в принципе хуй забить.
> aLaunched
Воткни тип const char[], или сходи в настройки (Edit->Plugins->HexRays->Options) и выключи Print only constant string literals в Analysis options. Сделаешь себе жизнь чуть приятнее или напиши Python-скрипт, который автоматически помечает все строки без Xref на запись, как const char[].
> strcmp
Это поинлайненный strcmp, да. Но как заставить HexRays распознать такое, если оно само это не сделало сразу, я не знаю. Ты объединял переменные?
> byte_6C8B54
Такой флаг обычно для atexit делают. Посмотри, не регает ли кто-нибудь хэндлер позже?
Бамп.
>(Edit->Plugins->HexRays->Options)
Ок.
>Ты объединял переменные?
Нет еще, там кажется везде и на чтение и на запись идет это если ты о тех что в постах выше
>Посмотри, не регает ли кто-нибудь хэндлер позже?
Не понял какой хендлер?
Разобрался.
Автор сказал, что нужно указывать свои данные и название плагина, вместо названия основного проекта.
Бамп.
> это если ты о тех что в постах выше
Это я пытаюсь понять, как ты заставил HexRays свернуть код в strcmp.
> Не понял какой хендлер?
Регается по atexit(), вызывается по exit(). Иначе нет особого смысла в присваивании переменной byte_6C8B54 прямо перед выходом. А может, просто макрос какой-то так развернулся.
>Это я пытаюсь понять, как ты заставил HexRays свернуть код в strcmp.
Вроде ничего особого не менял, просто перешел куда-то, потом вернулся, а оно свернулось.
>присваивании переменной byte_6C8B54 прямо перед выходом.
Она потом много от куда читается. Вообще такое чувство будто в движке есть встроенный дебагер, но не вижу где его включить.
https://ideone.com/3Ky6fS
Но ведь это никому на практике не нужно. Ну, может быть, чтобы поднять самооценку интервьювера, разве что.
Пошел нахуй, дегенерат. Таким как ты надо топить печи, мразь. Ебаная страна. Промышленности нет, так все быдло прется за заработком в программисты, гниды.
Не можешь в это = идиот. Так же и матан.
Не нужно в каком плане? ND-tree буквально недавно мне было нужно - искал ближайшую точку к данной.
Есть функция логирования, но она ни куда не пишет, по идее имя файла для записи она берет из unk_6550C0, но с ней какая-то чертовщина творится, типа:
if ( lpFileName == &unk_6550C0 )
lpFileName = &unk_6550C0;
Может как-то ей насильно скормить строку с именем файла?
> никуда не пишет
Это нормально для игр. Отладочный код частично выкидывается, иногда его удается починить. А unk_6550c0 - ну сходи, посмотри, может, там строка, которая не распозналась. Что за игра-то?
Есть бэкграунд из Вирта (алгоритмы) и Сей (чуть-чуть C++).
Хочу заняться вебом.
Цель - фрилансить и в дальнейшем пойти на удалёнку.
Фронт или бэк - плевать.
Куда податься в таком случае (php/js/ruby/spring/asp.net/etc)?
Там похоже свободное место, можно как-то в дебагере попытаться туда строку запихнуть?
Игра Taz: Wanted
OllyDbg умеет assemble или можешь байтики hex-редактором пропатчить (слева внизу окна дизасма или декомпилятора есть файловый офсет).
По вакансиям где-то так:
php > django (python) > asp.net > ruby on rails
Фронтэнда на js-е тоже много.
На пыхе удовольствия от работы мало, но вакансий дохера, на каких-нибудь рельсах удовольствия больше, но вакансий меньше. А вообще пошёл ты нахуй, сам анализируй рынок и пиши на чём хочешь.
бамп вопросу.
А можно как-то патчи делать не меняя исполняемый файл? Чтобы он работал только в дебаге иды а самое главное чтобы его можно было легко убрать, прошлые мои опыты с патчами приводили к проблемам с дизасмом
Я бы исполняемый файл забэкапил и пропатчил. Особых проблем в данном случае это не вызовет. Ну или в отладчике IDA по F2 в Hex View можно редактировать, это повляет только на текущую сессию.
Когда патчю в дебагере иды, действительно создается файл с заданным именем И туда даже пишется что-то!, но потом игра вылетает после загрузки ресурсов.
А пропатченый exeшник хоть и не вылетает, но не пишет лог.
Хотя, может это из-за того что к нему не присоединен отладчик.
Ошибка кстати доступа к памяти какая-то, но из-за кривого видеорежима и маргинального окна прочитать не могу.
>оздание и обход бинарного дерева без балансировки, которое писал полгода н
У тебя в рут храниться указатель на самый последний добавленый узел, следовательно выводить ты начинаешь с него, поэтому выводится он один.
Что за нёх?
> не пишет лог
Да, пропатчи в самом начале 0x00565900, там всё тривиально.
>>622542
> прочитать не могу
IDA умеет в удаленную отладку, если у тебя есть виртуалка или другой комп. Попробуй потыкаться или погугли мануал. Я в похожей ситуации сначала починил оконный режим, а потому уже занялся анализом кода.
>>622548
Вариант с одним таймером и планированием следующего тика рассматривал? В какую-нибудь двоичную кучу пихай время следующего тика каждого таймера, вытаскивай минимальное, планируй тик. А вокруг этого можешь класс нарисовать.
>>622540
Я понял, что случилось с strcmp. DetectAnotherInstance ошибочно распознавалась как __fastcall с одним аргументом, и внутренняя переменная strcmp (CL) использовалась как первый аргумент DetectAnotherInstance (ECX). HexRays не сворачивал функцию, чтобы ты видел действия с этой переменной (точнее, потому что были референсы "извне"). После того, как ты прописал правильный прототип DetectAnotherInstance (или HexRays мог сам прописать, если ты в неё заходил), декомпилятор увидел, что переменная используется только внутри цикла, и ему уже ничего не мешало свернуть портянку в няшный strcmp.
Ищешь прогу "вишмастер", запускаешь, вводишь адрес сайта, жмешь дудос - готово. От одного тебя смысла мало, нужно толпу собрать - с кучи компов дудосить.
4 total = 0
5
6 def processTweetFile(file):
7 for line in file:
8 linejson = json.loads(line)
9 text = linejson.get("text","")
10 for term in text.split():
11 total += 1
12 terms[term] = terms.get(term, 0) + 1
13
UnboundLocalError: local variable 'total' referenced before assignment
Почему эта ошибка, total же глобальная и инициализируется вначале?
>>617710
ролл
Не рассматривал и яннп.
>total же глобальная
>local variable 'total'
Ты там уже определись, ибо питон щитает по другому.
Бамп и выпиливаюсь.
Нет анон,сейчас вишмастер только:"Забудь про Двач,быдло,чини комп"
В общем, пропатчил .data:006550C0 fileNameSource с нулей на D:\debug.txt, но почему-то при запуске первый байт заменяется на ноль. Поставил бряк на этот адресс (на запись), но ноль там даже перед первым обращением.
Из хорошего: удалось починить оконный режим через патч стиля окна и подмены проверки флага dword_741EB0 поправил сдвиг
Еще в 0x00565900 Назвал её пока DEBUG заменил проверку
if ( fIsDebugPresents )
isDebgPers = fIsDebugPresents;
на
if ( fIsDebugPresents )
isDebgPers = fIsDebugPresents + 1;
хотя может это ни на что и не влияет особо
У меня на кафедре почти все профессора являются начальниками каких-нибудь контор, может те что знают явку на аутсорс пишут. Или просто пофиг на деньги и работают за идею, такой у нас тоже есть
Аудиторных часов вроде не много. На предприятии одного препода пара одногрупников проходили производственную практику, говорят он там часто проебывается что-то там с электроникой для военки и авиации.
На пике менюха, под ней картинка. Под картинкой бокс, справа от него картинка.
Вопрос: как переместить картинку снизу менюхи в позицию справа от неё? оче криво объяснил, но надеюсь вы поняли
У меня все преподы были долбоёбами. Они вроде и "преподавали" java/веб/бд и т.д., но понятия не имели про продакшен, про организацию работы в IT-компаниях, они учили эту яву лет 5 может, чтобы потом дрочить на программки перемножения матриц или нахождения факториала, лол. И у них скоуп знаний был только сам джавовый околоджавовый в сторону синтаксиса, они особо нихуя больше не знали и на вопросы продвинутого уровня вряд ли бы ответили, с вероятностью в 99% бы не ответили, например, если спросить про какой-нибудь паттерн проектирования, какой-нибудь бля декоратор или memеnto - как их лучше применять и в каких ситуация без них лучше не обходиться или спросить про структуры данных, про AVL tree или в контексте поиска и т.д. - хуй бы кто ответил, все долбоёбы, ответил бы только один препод, который и преподавал собственно структуры данных, а так - све остальные нихуя не знали. У меня была преподша по компьютерным сетям - они ни разу в жизни не написала хелоу ворд даже, она вообще не умела программировать у неё все знания теоретические были, объясняла ультраухёво, всё заучено и она не понимала даже новояза типа слов "продакшен", "юзать", "митинг" и т.д..
>>622863
Хуй знает, повезло тебе. Но у меня тоже вроде такие были, но они были главари контор типа ОАО "Вектор" и занимались на 99% хуетой всякой, в конторах типа Luxoft и EPAM вообще никто не работал никогда, да и с английским у них вообще было туго, я вообще ни одного из своих преподов не помню, кто бы на английском смог пиздеть нормально. У нас были люди, которые в 20 лет в программухе и английском шарили лучше, чем 45-летние долбоёбы
Я тебе тут же исправлю. У тебя ещё какой-то ебучий css-файл подрубается в хеде, я сам его должен открыть и посмотреть что там?
https://jsfiddle.net/#&togetherjs=Hsbl0500B0
CSS отвечает просто за менюшку.
если что просто сотри всё в блоке css
заранее спасибо
> почему-то при запуске первый байт заменяется на ноль
Я вчера не стал тебе писать, но по идее, имя файла автоматически генерироваться должно (чтобы попасть не в текущую директорию, а в AppData в новых играх и в директорию игры в старых). Возможно, где-то что-то проверяется, и в зависимости от проверки в тот буфер кладется или полное имя файла с путём, или пустая строка. Надо искать, кто пишет.
Нам нужен байтоебский чатик.
Может быть, counting sort?
1. Можно ли в будущем (отработав где-либо за еду и накопив опыта) перекатиться на фриланс с пыхой?
2. Есть ли самая призрачная надежда на переезд заграницу? Хоть через 10 лет.
Или пхп - это полное дно и никаких надежд?
>1. Можно ли в будущем (отработав где-либо за еду и накопив опыта) перекатиться на фриланс с пыхой?
На фриналсе просто дохуище пыхи. В основном ебучий вордпресс и прочие cms. Иногда проскакивает работа под фреймворки. Так что на фриланс можно перекатиться.
>2. Есть ли самая призрачная надежда на переезд заграницу? Хоть через 10 лет.
Ага есть. Обычно это происходит так: ты дохуя часов наработал на бирже. Потом долгое время работаешь на какого-то одного заказчика и он предлагает тебе переехать к нему поближе, потому что отдавать комиссию бирже не хочется, а ты работник охуенный, бабла ему дохуя приносишь.
Ну и бывают ещё офферы на линкдин с переездом если у тебя портфолио заебись и ты все интервью проходишь.
Пхп просто очень низкий порог вхождения имеет, потому принято считать пхпшников дебилами. Но это предрассудок, так что не обращай внимания, все от тебя зависит.
1 - читать последовательно книгу и выполнять задания.
2 - читать мини-уроки в на каких-нибудь сайтах и выполнять задания.
3 - смотреть курсы и выполнять задания.
Что лучше? Чем вообще книга от мини-уроков например на этом сайте https://code-live.ru/ отличается?
>А ничего, что у меня диплом юриста? Читал где-то, что именно это может стать препоном для переезда?
Если ты просто охуительный чувак в плане разработки, то будь ты хоть пятидесятилетним жирным трансвеститом зоофилом всем будет похуй.
>Что лучше выбрать для фриланса - питон или яву? (Яву знаю,питон придется с 0)
Голые языки на фрилансе нахуй никому не нужны. В плане джавы на фрилансе: интерпрайза и веба почти нихуя, зато разработки под андроид дохуя. Питон: под джангу есть заказы, но куда меньше чем "хочу приложение под андройд за 2 бакса, чтобы как инстаграм".
>стоит ли идти в мобильную разработку за деньгами(Android)
Такой хуёво поставленный вопрос можно интерпретировать двояко:
>стоит ли идти в мобильную разработку, чтобы заработать денег (Android)
Да. Стать сеньёром можно очень быстро, это не веб с зоопарком технологий, бэк-эндом и фронт-эндом, здесь попроще. Ну и денег: 2 штуки в офисе можно получать через год-два работы, на фрилансе за 20 баксов в час можно работать если есть опыт и ты шаришь.
>стоит ли идти в мобильную разработку если мне хочется получить денег, а программированием заниматься не очень хочу (Android)
Не знаю. Скорее всего нет.
Стул купи нормальный в первую очередь.
С пизды своей мамаши начни.
Бери C# или Java и учи ООП- они высокоуровневые и ближе к тому как ты воспринимаешь реальность - почитай несколько книг, потом спускайся вниз - С++ или Rust, потом посмотри на ассемблер, не наоборот, т.к. нихуя не поймёшь и забросишь.
Не знаю. Я не разбирался с бинарником. Возможно, проблема в самой IDA. Возможно, что-то связанное с ланчером. Попробуй в ольке хардварный брейк поставить. Может быть, в ней заработает.
Я пошутил. Мне просто кажется, что мы тут всех заебали.
Разобрался теперь. Спасибо тебе большое за идею.
Бамп, как я понял это сортировк апузырька с банальным флагом тру-фолс или есть еще какая-то?
Лол, это совсем не то.
google __asm
class A {
public static void main(String [] args) {
a();
b();
}
private static void a() {//}
private static void b() {//}
}
или
class A{
public static void main(String [] args) {
A x = new A();
x.a();
x.b();
}
public void a() {//}
public void b() {//}
}
Язык джава. Вроде разницы и нет, но я чего-то постоянно слышу, что статик методы - зло. Объясните пжлст.
змейку напиши
Я попробовал, но у меня что-то не взлетает. Компилятор ругается на символ @.
void main()
{
\tint i;
\tconst int n = 10;
\tdouble res;
\tdouble a[n] = { 0.75,6.46,3.72,5.07,4.09,0.53,9.45,1.65,4.41,1.29 };
\t__asm
\t{
\t\tmov edx, n
\t\tlea ebx, a
\t\t\tMOV eSI, ebx
\t\t\tadd eSI, 24
\t\t\tmov ecx, edx
\t\t\tshr ecx, 1
\t\t\tdec ecx
\t\t\tFLD QWORD PTR[ebx + 8]
\t\t\t@sum:
\t\t\tFADD QWORD PTR[eSI]
\t\t\tadd eSI, 16
\t\t\tloop @sum
\t\t\tFSTP res
\t}
}
Я попробовал, но у меня что-то не взлетает. Компилятор ругается на символ @.
void main()
{
\tint i;
\tconst int n = 10;
\tdouble res;
\tdouble a[n] = { 0.75,6.46,3.72,5.07,4.09,0.53,9.45,1.65,4.41,1.29 };
\t__asm
\t{
\t\tmov edx, n
\t\tlea ebx, a
\t\t\tMOV eSI, ebx
\t\t\tadd eSI, 24
\t\t\tmov ecx, edx
\t\t\tshr ecx, 1
\t\t\tdec ecx
\t\t\tFLD QWORD PTR[ebx + 8]
\t\t\t@sum:
\t\t\tFADD QWORD PTR[eSI]
\t\t\tadd eSI, 16
\t\t\tloop @sum
\t\t\tFSTP res
\t}
}
а функция в паскале - обычная функции из яп?
Все верно?
Записи - аналог стракта в сях. вернО?
Отож
Ну представьте что я совершенно ничего не знаю о медицине а мне нужно лечить?
>Ну представьте что я совершенно ничего не знаю о медицине а мне нужно лечить?
Вся суть этой страны.
Ну надеюсь за свою пиздежь ты попадешь на стол к такому врачу.
Посмотри видеоуроки по паскалю
>не следовать принципу "одна строчка кода - один комментарий", даже если этот код пишется в тестовых целях и никогда не пойдет в production
>не использовать hungarian notation в именовании переменных
Оправдывайтесь, говнокодеры.
Можно ли стать спецом в информационной безопасности-самоучкой?
Или обязательно специфическое образование, дипломчик и т.п.?
Если первое возможно, то начинать надо с задрачивания популярных языков погромирования в мелких деталях?
Литература с пика актуальна? Достаточно ньюбфрендли или уже надо шарить?
Если вкратце, хочу научиться чему-то серьёзному, а не гостевухам за дошираки. Хочу уметь не только что-то создавать по шаблону, но ещё и при необходимости найти в этом эксплойт, дыру и т.п., либо создать её самостоятельно.
И какой в среднем бывает бюджет такого проектов?
AddDefaultCharset в конфиге прописан и нормально работает для внешнего по отношению к апачу контента (файлы, пхп), но в сервер-статус не передается. Как эту страницу заставить отдаваться в конкретной кодировке? htaccess туда не подложишь же...
Суть:
quiz - тест, привязанный к пользователю (роль редактор)
quiz_question - вопросы в тесте
quiz_type - тип вопроса
quiz_answer - пройденные тесты привязанные к пользователю (роль - зарегистрированный пользователь, оплативший доступ к тесту)
quiz_answer_question ответы в пройденных тестах
Короче, там всего очень много.
Как я понял, можно начать с принципов шифрования? А ещё кресты нужны, небось, да?
вроде норм, то ты заебешся делать столько джоинов.
Я не знаю что указанно в ТЗ, но думаю что можно нахуй половину таблиц убрать.
Следовал чётко по http://ab-w.net/PHP/server_set.php
Всё было нормально до пункта "Тестируем PHP интерпретатор". У меня вместо таблицы по-прежнему выводится "It works!". В чем может быть проблема, анон?
Мне нужно запилить сайт с регистрацией. Нужен ли вообще этот интерпретатор? Или можно на него забить?
В общем, мне надо прочитать две первые колонки с оп-пика, для начала. Я прав?
Я знаю, что я всех заебал, но помогите уж.
Гугли "пентестинг". Нужных книг на оппике нет. Разве что по ассемблеру что-то можно почитать, если собираешся дизассеблированием заниматься.
> 2016
> писать не самодокумментирущийся код, а высирать нечитаемую кучу дермеца, для понимания которой на каждые 10 строк нужно прочитать талмуд комментариев
Оправдывайтесь, говнокодеры.
>Что это?
var arrCities = getCities();
var strFirstCityName = arrCities[0];
var intPopulation = arrCities[0].intPopulation;
вместо:
var cities = getCities();
var firstCityName = cities[0];
var population = cities[0].population;
Венгерская нотация, была придумана каким-то типом из Майкрософт а потом признанная им же ересью
>самодокумментирущийся код
Маня-мантры. Любой, кто говорит "мой код не нуждается в комментариях, он сам себя объясняет" - просто ленивый пидарас, который через 3 месяца сам не вспомнит, что делает эта строчка и как выглядит стек на этом участке.
Я тоже пишу self-describing code, но подробные комментарии - это показатель уважения к своему труду и к труду коллег.
Имеется: смутные воспоминания сишки и плюсов, перемешанные с жабаскриптом, html и прочей вебхуергой, слабенькое умение в базы данных, сишарп и некоторые связанные с ним технологии, асп.нет febforms и mvc, хуевый разговорный английский. Алсо ооооочень хуевая теория, так как курсы закончил 8 месяцев назад, после чего пинал хуи и редко практиковался. Скачал вот Троелсена, начал читать, но часто отвлекаюсь на всякую хуйню и ничего не запоминаю.
У меня есть какие нибудь шансы?
За него нейронная сеть комментирует, какой тут self-describing code.
>сишарп и некоторые связанные с ним технологии, асп.нет febforms и mvc
Не пойдет? Я очень хуево саморазвиваюсь и вряд ли смогу нормально выучить новый язык самостоятельно.
Вот щас перетолстил. Никто не поверит, что реально существуют такие дауны, которые считают, что комментарии внутри методов - это хорошо.
если контора то да,то в этом плане Java еще лучше - энтерпрайз
Это лучше чем не работать вообще и окукливаться в свои 23 сычуя за компухтером.
ну тогда вперед..по крайней мере не будешь голоден ...возможно...другое дело что некоторые конторы даже для juniour выставляют достаточно высокие требования в виде идеального знания принципов ООП
Да, именно в этом и заключается суть моего поста. У меня теория в голове не оседает никак вообще, только принцип работы и как это использовать, а вот термины и прочее не запоминается и внятно на вопросы отвечать не могу, хотя тестовые задания легко решаю.
То есть на уровне:
- Как работает компьютер?
- В душе не ебу. Зато знаю как его использовать!
- И как же?
- Программировать!
Саморазвиваюсь хорошо, то есть прогресс в изучении есть, но также есть страх перед тем, что уже всё упущено и на меня никто не будет смотреть
Тут нет царских путей. Кодь и читай книги или иди нахуй.
> как отнесятся в конторах к таким вот долбоёбам как я, у которых ничего нет в их годы и которые пытаются вкатиться?
Нормально. Если у тебя есть нужные навыки, тебя возьмут.
>имею 24 года
Многие из универов как раз в этом возрасте выкатываются, хотя, некоторые уже там начинают работать. Если у тебя интеллект выше среднего и ты легко обучаешься, то всё будет окей, главное чтобы тебе работа нравилась. К нам вот на один проект тоже приходил джуниор под 27 лет, но его потом уволили, писал херово. Тут короче от человека зависит.
>>623480
Да я, вроде, обучаемый, только ссусь очень своих проёбанных лет и вот этого всего. То есть на собеседование попасть шанс есть? и то хорошо, продолжу грызть гранит кодинга.
>Многие из универов как раз в этом возрасте выкатываются
так они с вышкой кодеров, а не юриста, как у менякаким же я ебланом был, пойдя туда
Те кто выкатываются с вышкой кодера как правило будут устраиваться миддлами или вообще на другую работу, а не страдать хуйнёй на php+js. А если вышка кодера ещё и из чего-нибудь серьёзного, то тут даже и говорить не о чем.
это чистый веб и например пхп некоторые справедливо не считают полноценным языком
Честно говоря, не понимаю, как люди могут осознанно идти в веб-разработку. Для меня это настолько далёкая от программирования вещь, что просто пиздец.
Типа, можно быть программистом, можно быть грузчиком, можно инженером, а можно заниматься веб-разработкой. И эти вещи равноудалены друг от друга.
1) Intern
2) Individual Contributor
3) Manager
4) Lead
5) Executive
6) Owner
Интерн - студент, individual contributor - вообще бесполезный хуй пойми кто, менеджер/лид/владелец - и так понятно, executive - самое близкое, я так понимаю?
>>623485
Дно - это читать книги про кресты, сидеть у мамки на шее и ныть, какие веб-разработчики уёбки.
Прчему веь-разработка 0 это не прогрпммироавение?
У меня диаломная работа была по php, сделал и забыл.
Занимаюсь бекендом, ибо работа такая подвернулась. Так пхп не учил даже. Знаешь, язык как язык, со своей задачей, хотя вообще веб не очень интересен сам по себе. Объемы кода огромные в проектах, часто с проебанной к хуям архитектурой. Это тут нормой считается у половины кодеров, лишь бы пахало, похуй на переусложнение.
Ничего удивительного - заказчик хочет дешево и быстро, конкуренция большая и говнокодеры предпочтительнее из-за своей низкой цены, а они преимущественно идут в PHP.
На каком-нибудь ASP.NET уровень говнокода резко падает, но ценники раза в полтора-два выше.
Чего я ОБРАЗНО хочу.
Продавец "баба срака" которая может в одноклассники
запускает на рабочем столе программу/базу/субд/etc и видит ОКНО с ЖИРНЫМИ как её жопа кнопками:
ПОСМОТРЕТЬ ТОВАР В НАЛИЧИИ (хоть простой таблицей/отчетом)
СОЗДАТЬ ЗАКАЗ (форма, в которой она будет выбирать товары из ассортимента). С выводом итоговой стоимости всех товаров и кнопками ОФОРМИТЬ ЗАКАЗ (выведет договор для клиента, отчет для курьера, отчет для меня) и "НЕ ОФОРМЛЯТЬ ЗАКАЗ" - если клиента не устроит, например, стоимость.
Еще требуется:
Учет склада (что есть в наличии, тАм же цены), добавлять новые поступления (приход товара), удалять товар (продажа).
Анонимус, в каком виде это мне реализовать?
Думал делать все в MS Access - но по моему это будет уёбищно.
Второй намного сложный для меня незнакмоый путь: MySQL (ну саму базу можно в субд сделать, без ололо-запросов) + веб-морда с оче сложным для меня PHP.
Собственно - как поступить? Учить MySQL и PHP? Программировал лишь лабораторные из универа-школы (паскали, сиплюсы) - в общем то можно сказать что я ничего не знаю. Знаю но не то что мне нужно, лол. Ну ты понел.
Как бы поступил ты, анонимус? Может быть есть готовые бесплатные или "бесплатные" решения?
Значительный фикс - Кроме 1С
>Честно говоря, не понимаю, как люди могут осознанно идти в веб-разработку. Для меня это настолько далёкая от программирования вещь, что просто пиздец.
Есть так называемое программирование в академической среде что ли, где люди придумывают и реализуют новые алгоритмы, разрабатывают фреймворки и либы, которыми пользуются другие разработчики, а есть прикладное программирование, задачей которого является в кратчайшие сроки и с минимально возможным бюджетом реализовать необходимый функционал. Программирования во втором случае не очень много по меркам ребят, увлекающихся красно-чёрными деревьями, но возможностей заработать большие деньги куда больше по моему мнению. Так что здесь каждый выбирает, что ему больше по душе: хардкорный кодинг либо бабло + слабенький кодинг.
Ничем не плоха, дело вкуса.
Это байтослесари горят, не пэй свой аттеншн.
Я бы не сказал прямо, что говнокодеры. Обычно знают, как и остальные, по несколько языков, в том числе далеких от веба. Часто благие намерения пресекаются на корню начальством. К примеру есть какие-нибудь новости дохуя, они могут быть в одном месте, другом, третем - похуй, главное надо херакнуть четвертое, да так, чтобы это были новости с сильно расширенным функционалом, конкурирующим с существующим, улучшения от умных дядь с самого верха, подсдмотревшего со всех топовых сайтов кучу фишек и решивших часть из них уместить в одном месте. Первое требование - давайте это только в одном месте, старое ни в коем случае не трогать - там эти фишки пока не нужны, так что модуль с этим говном, все четко, дальнейшие действия логичны - надо все-таки старое адаптировать под новую модель, а то мало ли. А не тут то было - начальство не считает такие вещи критичными, особенно когда у них родилась идея совершенно нового и критично необходимого сервиса. Окай. Осталось старое говно и новое говно. Потом начальство вдруг захотело общую ленту или что-нибудь такое - хуяк, а модели то сильно разные, надо увязывать как-то, пока сроки не проебались. Так и выходит. Костылик туда, сюда. Вдруг начальство решило, что и старые новости надо оснастить частью дополнительног офункционала от новых, а оказывается то, что уже все к хуям костыльным говном забито. Покумекают и решают пилить какой-нибудь уже к хуям невменяемый пиздец про работу одной модели через другую. Больно смотреть на самом деле. За качеством кода не гонятся - гонятся за количеством сервисов здесь и сейчас. А потом уже как-то хуй забивается, все равно уже поздно что-то менять, работай с чем дают.
Прошу прощения за много букв. Стори с реального проекта практически, только без конкретики.
А как ты относишься к разработке приложений для мобильных устройств (Android, iOS)?
objective C
В джаваскрипте – да.
А что в вебе не нравится?
На чем, в какой среде?
В глубоком будущем возможно использование базы этой CRM в интернет-магазине (которого еще нет)
Лямбды вроде как компилируются в делегаты, а делегат это типа и есть ссылка на метод, тогда какая разница. Конечно в гугле посмотреть это невозможно, поэтому я сижу и размышляю вслух здесь.
Какой из CMS сегодня наименее требователен к ресурсам (ололо-дешевых-хостинг)
Ну, во что они компилируются это другое дело.
В гугле я не нашел ничего про отличия, поэтому спрашиваю тут.
>В гугле я не нашел ничего про отличия
https://blogs.msdn.microsoft.com/ericlippert/2007/01/10/lambda-expressions-vs-anonymous-methods-part-one/
Чем искал, братишка?
Что-то не нравится - уёбывай.
Нейронные связи в моске.
M$ Access и даже не смотри в сторону похапе.
Как уже неоднократно говорили в этом треде, начинать надо с языков со строгой типизацией, чтобы не складывать числа со строками — и не важно, кривая там Жабба (посраль, голанг и т.п.) или нет.
Низкий порог вхождения, какая-никакая практичность. Но можешь начать с паскаля, никто не запрещает.
В данном случае лучше, когда всё static.
В других случаях будет по-другому, возможно.
Всё зависит от задачи.
И сами по себе статические методы не зло, что за бред?
Можешь рассматривать статические методы как функции в некоем модуле (т.е. в классе, где они определены).
Т.е. функции вообще, не привязанные к конкретному _экземпляру_ класса.
Класс (модуль), в данном случае - это просто "пространство имён".
Например, у тебя может быть модуль (класс) StringUtils, в котором будут нужные тебе static функции работы со строками. Например - подсчёт количества слов.
Более того - есть такая вещь, как import static, что позволяет этими функциями удобно пользоваться.
Но, если злоупотреблять этим без причины, то получится, что ты уходишь от ООП (экземпляры классов) в сторону "процедурного программирования" (свободные функции/процедуры, как в Паскале).
Поэтому, видимо, ньюфагам в некоторых местах вдалбливают, что статические методы - это плохо.
ASP.NET сразу отметается.
Че делает эта функция?
void Function(unsigned k, int p)
unsigned b=k;
b>=23-p;
k<<=9+p;
printf("%d",a);
k<<=9+p;
k>>=9+p;
for (int i=0;i<30;i++)
{
k=k*10;
unsigned a=k;
a>>=23-p;
printf("%d",a);
k<<=9+p;
k>>=9+p;
}
Программа для перевода float из двоичного в десятичный. По идее она выводит дробную часть числа float, взяв из памяти двоичный вид переменной и поколдовав над ним
Она работает, но хуй знает как, мне надо это объяснить. Там про мантиссу, характеристику всю хуйню.
23-p это характеристика вроде.
<<= побитовый сдвиг
Такое поведение называется расширением знака и, как правило, нежелательно: вместо единиц пользователь чаще ожидает увидеть нули в левой части x на месте свдинутых бит. В то же время для беззнаковых целых чисел (переменные типа unsigned int) действуют другие правила сдвига вправо. Поэтому для предотвращения копирования единиц в старших разрядах сдвигаемой переменной x, можно прибегнуть к преобразованию типов:
?
int x = -16; // в двоичной системе: 1111111111110000
int y = (unsigned int)x >> 3; // в двоичной системе: 0001111111111110
Спасибо за ответ
andi $v0, FFFF
В некоторых случаях and используется естесственным образом, например, когда нужно проверить принадлежность конкретного бита заданному числу. Но иногда эта инструкция просто завершает функцию или следует сразу после неё. При этом область возможных результатов функции не превышает 16 бит, так что инструкция не меняет значение регистра никогда вообще.
Может, это что-то вроде этого?
int32 function(arguments)
{
int32 a;
a = 0;
return a;
}
main()
{
int16 b;
b = (int16)(function(arguments));
}
Перевожу число float= 0.1 в двоичный вид и обратно,
вывожу на экран. Получается
0.1000000014901 и т.д. Вопрос какого хуя?
Число 1/10 непредставимо в виде конечной двоичной дроби точно так же, как число 1/3 непредставимо в виде конечной десятичной. Возникает ошибка округления.
>>623857
Да, похоже на каст 32-х битного к 16-ти битному. Компилятор, ясен перец, не может предугадать, всегда ли результат влезает в int16.
У меня есть двоичный вид, там где мантисса, порядок вся эта хрень. Как вывести на экран из этой формы, ТАМ ВРОДЕ ИСПОЛЬЗУЕТСЯ ПОБИТОВЫЙ СДВИГ И UNION
Окей, спасибо. С int8 и & FF аналогично, видимо.
sum = 0;
for(i =1; i <= 5; sum += i++);
В итоге sum равняется 15, но почему? Если я правильно понимаю, то сначала проверяется условие, затем идёт первое прохождение цикла, так? То есть единица не прибавляется к sum, но после первого прохождения выполняется sum += i++, здесь у i++ приоритет больше, чем у присвоения, так что должно получиться, что sum = 0 + 2, так? Но почему в итоге получается 15?
i++ возвращает старое значение i. Если заменить на ++i будет так как ты пишешь.
http://stackoverflow.com/questions/587348/whats-the-correct-way-of-using-bitfields-in-c (поиск по float bitfields).
Но вообще тебе оно не нужно, нужно http://stackoverflow.com/questions/2302969/how-to-implement-char-ftoafloat-num-without-sprintf-library-function-i
Спасибо, понял
это что такое вообще
неужели все пограмисты такие?
Нет, это сейчас паблики такие. Года два-три назад в популярных технических пабликах было куда больше годноты, потом что-то там сделали в ВК по поводу пабликов и групп и резко (за месяц с хуем) всё скатилось, теперь там одни школьники.
inb4 РАНЬШЕ БЫЛА ЛУЧШЕ
кстати они там в каментах вспоминают башорг то опровергает твое суждение о школьничестве
Бор жив еще, что его вспоминать.
Там еще сидят рекламные боты, фейки, люди, кому надо взломать акк, нужна помощь с домашкой по информатике, кому надо зделоть сайт уровня ВКонтакте, блондинки с неработающими ноутбуками и т.д. Ну и репостить всякое околотехническое говно крута жи.
Алсо, обычно (не все, нет) люди, попадая в какую-то новую сферу деятельности (начал изучать кодинг, попал в армию, захотел сделать себе нямки) подписываются на миллион тематических пабликов. Далеко не факт, что они продолжат деятельность в этой сфере. А подписки остаются, потому что вроде как они уже в теме, можно по гыгыкать над местными мемосами, че-то почитать (если там щас есть что почитать, не заходил давно ни в один из них).
Короче, не надо судить о количестве программистов по колличеству подписчиков в паблике /dev/null/ , ТП и прочих.
>>623937
Башорг паблик в ВК есть, как уже сказали, чё его вспоминать-то.
Да настоящий башорг тоже живой, просто его пидорнули с рашкодомена и он теперь bash.im.
петцольд код
Написать программу на языке Ассемблера, которая позволяет ввести с клавиатуры строку символов на русском языке, подсчитать количество гласных букв во введенной строке и вывести соответствующую информацию на экран.
Может у кого-то похожая уже есть.
Заранее спасибо.
А что здесь делать успешному разработчику?
Как понимать этот момент?
В WinMain вызывается: babRun(BabelInitialization, 0); указатель на функцию с аргументом?
Прототип babRun: int __cdecl babRun(int (__cdecl someFuncPtr)(int), int someInt)
В ней вызывается :result = someFuncPtr(someInt);
Прототип BabelInitialization простой: int BabelInitialization() без параметров
Когда пытаюсь скомпилировать это в VC++ падает ошибка: error C2664: "int babRun(int (__cdecl )(int),int)": невозможно преобразовать аргумент 1 из "int (__cdecl )(void)" в "int (__cdecl )(int)".
Просто забить на этот аргумент или там может быть какой-то не очевидный для меня момент?
Блин, макаба звезды
[CODE]
int __cdecl babRun(int (__cdecl someFuncPtr)(int), int someInt)
error C2664: "int babRun(int (__cdecl )(int),int)": невозможно преобразовать аргумент 1 из "int (__cdecl )(void)" в "int (__cdecl )(int)"
[/CODE]
Стоит ли заботиться о всех этих __cdecl при написании кода?
Пиздец ты бы хотя бы стек технологий расписал, на котором это нужно реализовать.
Вообще нихуя не знаю братишка. У меня есть сайт и эксель, больше ничего не понимаю. Прости
Скоро всего у сайта не будет API, который смог бы уведомить клиента о появлении нового значения, так что тебе нужно будет создать фоновую задачу, которая будет каждые n-часов/минут/секунд заходить на сайт, доставать значение цены (либо прямо из HTML, либо через API сайта, если он у него есть) и записывать его в excel-файл по заданному пути.
ну дело в том что в эекселе есть такая функция, как импорт с сайта, но у меня оно импортирует всю страницу, с кучей говна, а мне нужно только цена. Если все это говно удалить и нажать обновить все грузит заново. А если программа, такие существую вообще готовые? Я думаю что таким много кто должен пользоваться, мониторинг цен же.
Нет таких программ скорее всего, потому что у сайтов разные макеты, и парсить их немного по разному нужно.
Иди учи питон, напишешь себе скрипт через пару тройку дней(ну через неделю) и всё.
Спасибо братан, надеюсь тебе на сто так же ответят.
Почему людей с вопросами по bash-скриптам гонят в софтач? Это же какой-никакой, но кодинг. Если посмотреть линуксовую автоматизацию поддержки production серверов, то там иногда и несколько тыщ строк плотного кода набирается.
Ну да, синтаксис корявый. Но он и в пердле корявый, и в лиспе. Ну да, сильно уступает по искаробочным фичам раби и пайтону. Но блджад, писать очередную сохранялку картинок с аиб на 100 строк на пайтоне - это просто долбоебизм,
когда в современном баше это делается двумя-тремя строчками. Ну ладно если человек так учится, но на деле большинство задач уровня "скачать файл в папки с таймстампами", "отправить форму", "отправить команду на REST эндпоинт" проще всего решить в баше.
Конечно, JSON и XML в нем не попарсишь, и много еще чего не сделаешь, но я просто хуею с того, что современное поколение кодеропетухов не умеет в баш и поэтому в сотый раз изобретает cURL, date и cron.
Код на пайтэне поддерживаемый, на баше – неподдерживаемый. Точнее на пайтэне сложнее написать неподдерживаемый код, чем на баше, поэтому пишут на пайтэне. К тому же когда нанимают людей на работу, то обычно требуют знание одного-двух языков, которые используются на проекте, заставлять людей знать ещё какой-то скриптовый язык чисто для написания каких-то утилит это оверхед, куда проще написать на том, что знает и чем пользуется большинство людей на проекте.
Синтаксис коряв настолько, что обычно проще запустить питоновый или даже скалковый REPL, чем вспомнить, как расставлять пробелы и сколько скобок ставить в обычном for i in 0..10 в баше. Уровня command.com синтаксис, прямо скажем, только побогаче. Вот если бы csh/tcsh взлетели, было бы программирование, а так быдлоскриптач.
Вот этого дваждую. На самом деле, выбор между ruby, пайтоном, перлом и башем целиком зависит от того, каким языком принято пользоваться в компании.
Мы пилим серьезный продукт, в котором нет место дристне вроде питона или руби, там только джава и скала.
Следовательно, в первую очередь требуется уверенное знание этих языков. Далее, джава хостится на линуксах, а значит надо быть и продвинутым пердоликом.
Продвинутый пердолик - это два шага до баш-скриптинга, любой пердолик осилит. А учить с нуля язык специально для мелких задач - слишком затратно.
Когда приходит новичок и начинает охуевать с того, что он не может лампово покодить на руби, а вместо этого пишет уродливые шелл-скрипты, мы ему объясняем, что никто тут не разбежался учить рубипарашу ради него одного. Такие дела.
В пайтоне тоже есть os.system, если тебе так охота пнуть шелл. Но при этом пнешь ты его без ебли с синтаксисом.
ASP.NET сразу отметается.
nodejs
Значит в babelInitialization все же есть параметр, просто он не используется. Пропиши его.
Да, __cdecl лучше сразу прописывать, как и void при отсутствии аргументов.
Мммм, а где тут у вас тред по ассемблеру, домашку в лицо отрыгнули ничего не объяснив, люблю заочку.
Все книги Таненбаума.
Трабла в том, что нужно прочитать память виртуальной оси, крутящейся, например в VMware, из хоста. Гугл вообще молчит по этому поводу. Реквестирую способ\прогу.
А какой в этом смысл с точки зрения проги на c++? Если я правильно понимаю, это настройка компилятора на декларацию будет ли функция чистить стэк. Компилятор сам не выберет оптимальный вариант?
И какой смысл в void при отсутствии аргументов?
> Компилятор сам не выберет оптимальный вариант?
Я думал, ты спрашиваешь, стоит ли указывать соглашение в HexRays. Там стоит, потому что HexRays часто норовит воткнуть __fastcall. В babRun компилятор уже выбрал вариант, и это __cdecl. Если ты полностью перекомпилируешь код babRun и всех функций, которые ему передаются, тогда соглашение можно изменить (или не указывать, тогда компилятор выберет то, что у него по умолчанию, и без ключей компилятора это чаще всего будет как раз __cdecl).
> void
В сишном коде для функций без аргументов void обязателен. В HexRays выхлоп по большей части совместимый с Си.
Суть в чём.. я пишу один математический симулятор, симуляция происходит посредством ячеек, которых от 100к до 10кк. В каждой ячейке есть около 10 различных параметров.
Будет ли влиять на быстродействие если я на каждую ячейку буду создавать объект или лучше создать 10 массивов, по одному на каждый параметр, и в каждом по несколько сотен тысяч элементов...
Seems legit. Добра тебе, анон, буду ковырять.
1) Профилируй.
2) Виртуальные методы едва заметно снижают быстродействие. Компиляторы могут с этим бороться, но у них получается не всегда. Если беспокоишься, не используй виртуальные методы.
3) Если этого мало, почитай что-то вроде http://gamesfromwithin.com/data-oriented-design
4) Профилируй.
То есть в том коде что я пишу на это можно забить?
А что если Hexrays сам не дописал способ вызова? По идее это должно вызывать проблемы когда из стэка удаляется что-то нужное или наоборот. Как узнать какая конвенция используется?
ООП это не значит плодит объекты на каждый чих. Надо думать над архитектурой, над тем, какие у тебя данные и что ты будешь с ними делать. Гугли data oriented design и не плоди сущности. По такому принципу построены движки игр со сложной симуляцией, например gta.
> То есть в том коде что я пишу на это можно забить?
Да. Хотя в играх, софте с плагинами и библиотеках часто прописывают
#define GAMEAPI
...
int GAMEAPI func(void) {}
чтобы в будущем иметь возможность безболезненно форсировать конвенцию вызова для всех функций публичного API.
> А что если Hexrays сам не дописал способ вызова?
Часто бывает, если аргументов нет. Я в таком случае специально дописываю __cdecl, чтобы не было неоднозначностей.
> Как узнать какая конвенция используется?
0) Заходишь в ассемблерный листинг, смотришь, какие регистры читаются без предварительной иницализации (не забывай про всякие inc edx, в них тоже чтение есть).
1) Используется только ecx: чаще всего __thiscall (метод класса, в ecx - this). Это HexRays сам успешно распознает.
2) ecx, edx - MS __fastcall (редко).
3) Те же, плюс eax - Borland __fastcall (или функция структуру по значению возвращает) (редко).
4) Еще и другие какие-то регистры - поздравляю, у тебя проблема, это компилятор наоптимизировал, набор регистров может отличаться от функции к функции, прописывай вручную (google hexrays __usercall).
5) Дальше идешь в конец функции. Если после retn стоит количество выталкиваемых байтов - __stdcall.
6) Ищешь вызовы функции. Если после вызова воткнут add esp,XXX - __cdecl. Иногда может быть пачка push и call вперемешку, а потом один общий add esp,XXX для всех. Посчитай, сколько втолкнули, умножь на 4, ну ты понял.
7) Иначе это функция без параметров, используй конвенцию, которая чаще всего используется в других функциях поблизости.
Это касается только 32 битов, не описывает экзотику, не описывает передачу и возврат аргументов с плавающей точкой через FPU, передачу структур по значению, __fastcall с одним аргументом вместо __thiscall и наоборот, ну и прочие частные случаи. Если хочется подробнее, погугли oldnewthing calling conventions, ну и в вики есть немного.
Алсо в Options->Compiler setup в IDA можно указать компилятор и конвенцию по умолчанию для текущей idb.
Стоит учесть еще, что там 3/4 или больше - студентота, которая возомнила о себе слишком дохуя. Практикующих кодеров там меньшинство, а из оставшейся массы кто дойдет до того, чтобы работать в этой сфере.
Внезапно, шнайер. Там криптопротоколы есть (вот эти все Алисы, Бобы) - как раз то, что тебе нужно. Лишнее можешь прокрутить.
Ну эээ документация ssh?
Сколько памяти! А какой гуй! Ух! Я вот лабы по ассемблеру делал в дос приложении 90 г.в., то есть ему уже 26 лет и оно старше меня. Причём язык ассемблера там не такой как в x86, а сам ассемблер не может в перегрузки, поэтому каждая команда умножения из трёх, то есть регистра на память, регистра на регистр и регистра на число записывается отдельно. Адов пиздец. Алсо, вся эта хуйня работает только через dosbox и с русской кодировкой.
безопасности чего?
сохранения анонимности в сетях? если совсем нуб, читай переведенные статьи сноудена (лол), пытайся все это настроить, а дельше уже копай в глубь
если по защите операционки - учись работать под связкой обычный пользователь - root (ну или как правильно сидеть под системами uac) + брандмауэр, правильный и правильно настроенный брандмауэр - это оче важно
Есть.
Но, это зависит от того, чем ты занимался (интересовался) до этого.
От склада ума, в общем.
Например, если ты увлекаешься цифровой электроникой, или тебя не тошнит от математики, то шансы велики.
Сами по себе знания в области элекроники или математики мало что тебе дадут в программировании, речь именно о складе ума.
Влияет. В твоём случае лучше массивы структур, хотя вариант с десятью массивами будет самым быстрым.
Создай тред, хули.
Этот скриптач использует утилиты на сишке, поэтому итоговая производительность может "сделать" пистон.
Может это и извращение, но мне даже доставляет баш своей лаконичностью.
Немного уточню, чтобы не быть превратно понятым: сделать пистон в задаче, которая выполняется за несколько секунд (скрипт на питоне только стартовать будет, лол), или же в задаче, которую в питоне быдлокодят не помня про консольные утилиты.
Создание процесса, тащемта, тоже не бесплатное.
"Порча вкуса" перлом, башем, сишкой — правда или вымысел?
Иначе говоря, можно ли взяться за SICP попозже, или пиздец как надо как можно раньше?
Боль скриптомартышки.
Ребятки, мне очень хочется решить одну переборную задачу. Но так как я не являюсь программистом, то я не в курсе какой алгоритм здесь можно применить. Мне бы узнать ключевые слова, по которым можно было бы дальше пытаться найти решение проблемы. Возможно, а я уверен, что так оно и есть уже существуют готовые алгоритмы решения.
Суть проблемы:
Есть 4 элемента - n1, n2, n3 и n4. Эта система имеет некоторое оптимальное процентное соотношение, например n1 = 25%, n2 = 35%, n3 = 20% и n4 = 20%, при котором некий параметр М будет минимальным. Оптимальное соотношение и является решением задачи.
Как я вижу последовательность действий программы:
1. Изменяем процентное соотношение
2. Считаем М
3. Сравниваем М с М[i-1]
4.Если М меньше чем М[i-1], то записываем решение
5. Go to 1
Вся проблема состоит в пункте 1. Непонятно каким образом произвести “перестановку процентов” что бы были учтены все возможные соотношения процентов. Задача чем-то схожа с задачей коммивояжера или ханойской башней, но при этом не подходят для реализации задуманного. В общем, хотелось бы услышать экспертное мнение по этому вопросу.
Задача коммивояджера дискретная, а у тебя тут непрерывные величины, поэтому тебе нужен алгоритм поиска минимума многомерной функции. Какой именно - зависит от вида этой функции, если функция всюду выпуклая, достаточно градиентного спуска (1 строчки на матлабе), если у нее есть локальные минимумы - для 4-х точек одноразовый grid search вполне нормально сработает.
Очень похоже на систему линейных уравнений.
Ты же М считаешь по какой-то формуле f(n1, n2, n3, n4)
Mожно выразить ценность n1 = M - f(n2, n3, n4)
n2 = M - f(n1, n3, n4)
и т.д.
Потом решать эту систему.
Если M - линейно зависит от параметров, то это задача линейного программирования с ограничениями:
ni >= 0
n1+n2+n3+n4=100
Если нелинейно, то там уже надо смотреть нелинейные задачи.
>Непонятно каким образом произвести “перестановку процентов” что бы были учтены все возможные соотношения процентов.
Ну полный перебор с шагом 1%:
for(n1 = 0; n1 <= 100; n1++)
{
for(n2 = 0; n2 <= 100 - n1; n2++)
{
for(n3 = 0; n3 <= 100 - n1 - n2; n3++)
{
// а n4 всегда остаток
n4 = 100 - n1 - n2 - n3;
// дальше твоя функция и все такое
M = ...
}
}
}
Обучение программиста заключается не в изучении языков программирования. "Порча вкуса" - это вымысел.
Ну ладно. Я перефразирую. Можно ли самому "по наитию" клепать говнокод, или лучше перед этим почитать что-то очень умное, чтобы не приобрести вредных привычек?
я хоть и даун-аутист, но в будущее всё же смотрю(в свои годы начал, пора бы уж). Если я удачно вкачусь, есть ли ввозможность двигаться дальше, делать карьеру/ переходить на другие, более серьёзные языки? Или мой удел вечно сидеть у параши, не взирая на старания?
Нужно по наитию клепать говнокод и параллельно читать что-то умное.
Вредные привычки ты можешь приобрести только в плане своих инструментов. Например, привыкший к IDE будет с большим трудом осиливать emacs, чем тот, кто IDE в глаза не видел. А с программированием это так не работает.
ты можешь например начать писать на ПХП. Привыкнуть к нему. А потом перекатиться на руби, и писать тот же ПХП, но в рубевом кодом.
Я вот как начал писать на Питоне, Так на всех языках у меня питон.
Я этого и опасаюсь. Я пока что "испорчен" только сишкой на уровне лаба.10, немного жаваскриптом и башем.
Пиши сразу на том языке который считаешь правильным.
Я вот считаю что лучше питоновского синтаксиса и идеалогии, ничего нет, и код у меня читабельный на всех языках. и мне норм. Хотя пишу я сейчас на другом языке, который позволяет себе много всякое, и стопицот способов выстрелить себе в ногу.
Господа, бамп вопросу
бля найди работу, соглашайся, потом во фронтенд двинешь, вон на моем круге ЗП 120 в среднем. Спрос такой, что туда тоже даунов-аутисов берут.
И лучше это сделать сейчас, а не когда тебе 30 стукнет
Скалу, шарп, отчасти питон. Но первых двух я не осилю так сразу.
С шарпом впрочем были опыты, даже что-то выходило без каких-бы то ни было знаний об ООП.
Спасибо за совет.
Бамп
https://ideone.com/TgllSN
Как формируется такой хитрожопый редирект?
Жава-Скриптом?
Гугли "Градиентный спуск".
Строка = "15"
Convert.ToInt(Строка[1]), то выдаёт не 5, а 53? То есть цифру + 48?
Разобрался, Char.GetNumericValue помогает.
Например, мне нужно, чтобы файл bfile.ext шёл перед файлом afile.ext. Сейчас они будут располагаться по алфавиту.
Условие while у тебя всегда ложь, потоэтому то что в нем ниразу не выполняется, а без этого все остальные команды нихуя не делают и вызов твоей функции просто бессмыселен.
>привыкший к космическому кораблю будет с большим трудом осиливать повозку с ослом
>А с программированием это так не работает
Как раз таки работает, человеку освоившему супер-высокоуровневый-йоба-функциональный язык будет невероятно трудно возвращаться к пхп, си и джяваскрипту.
Есть еще больше способов хакнуть wpa2 но я не поделюсь этим.
Вы видите копию треда, сохраненную 3 февраля 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.