Страница 6 из 19

12 дней успешности

: 09 ноя 2020, 23:28
Unsteelix
truth1one писал(а): 09 ноя 2020, 23:22
Newfag писал(а): 09 ноя 2020, 22:45
truth1one писал(а): 09 ноя 2020, 22:41
Newfag писал(а): 09 ноя 2020, 22:38
ShakotanGX71 писал(а): 09 ноя 2020, 21:49
не росту как погромист, работаю со старьем, интересные задачи закончились, настало время фикса мильярда багов и т.д
Так предлагай новые решения, продвигай современные подходы, автоматизируй что-нить, мне счас тоже надо будет фиксить баги и впиливать поддержку айос 14, тож вроде не оч охота, но всю прошлую неделю я писал плагин для фигмы на тайпскрипте и хтмл, а сверху еще вебпаком полирнул, ни разу не прогал под веб, но было даж весело и помогло немного отстраниться от текущих задач и попробовать что-то другое, плюс облегчил работу дизайнерам и переводчикам, да и всей разработке в целом :yeah:
А для мфб нихуя написать не смог :hmmm:
На руби чет писал же, но ты запустить не смог :ps5bug:
Надо будет запустить. Жаль ты в gui не смог.
а че там такое интересное писали :notsure:

: 09 ноя 2020, 23:30
NightlyRevenger
ShakotanGX71 писал(а): 09 ноя 2020, 23:15
Это не такое развите, которое мне нужно.
Например, писал скрипт для гта онлайн - где я это теперь применю
Любая решённая задача делает тебя лучше :conf2:

12 дней успешности

: 09 ноя 2020, 23:31
Newfag
ShakotanGX71, мой тебе совет, хотя ты и не спрашивал :petrosyan: Вали из этой древней встройщины что-нить нормальное делать, да хоть те же веб апплеты на реакте, vue или еще каком модном гавне - и бабла поднимешь и работа интересная всегда будет :ps5bug:

12 дней успешности

: 09 ноя 2020, 23:45
ShakotanGX71
Newfag писал(а): 09 ноя 2020, 23:31
веб апплеты на реакте
Звучит как говно, на которое идут студенты и которые плакали:
зачем нужон этот ваш асомблер, если можно писать на c++ или питоне :brute:
Newfag писал(а): 09 ноя 2020, 23:31
работа интересная всегда будет
Вот когда кто-то сделал memset(this, 0, sizeof(*this)) и захуячил таблицу виртуальных методов - вот это было весело.
Или закоммитить переполнение буфера так, чтобы оно не падало и чтобы никто даже не заметил - вот это я понимаю. Вылезло при порте на другую ос и только на одной из нескольких процессорных архитектур :miniYoBa:
Newfag писал(а): 09 ноя 2020, 23:31
бабла поднимешь
С этим, как раз таки, пока нет проблем, учитывая мои навыки :huang:

12 дней успешности

: 09 ноя 2020, 23:47
Newfag
Unsteelix писал(а): 09 ноя 2020, 23:28
а че там такое интересное писали
Чет из одной таблички в другую перегнать, я еще не нашел адаптера для mysql (или тупа не шмог поставить) и решил базы как текстовые файлики парсить :petrosyan:

CODE: Выделить всё

class Table
  attr_accessor :name
  attr_accessor :rows

  def initialize(name, rows)
    @name = name
    @rows = rows
  end
end

def parse_table(file)
  raw_header = ""
  raw_rows = []
  collect_raw_rows = false

  File.readlines(file).each do |line|
    line = line.gsub("\n", "")

    if collect_raw_rows && line.length > 0
      raw_rows.push(line)
    else
      collect_raw_rows = false
    end

    if line.start_with?("INSERT INTO")
      raw_header = line
      collect_raw_rows = true
    end
  end

  all_headers = raw_header.scan(/`(.*?)`/)
  headers = all_headers.drop(1)
  table_name = all_headers.first
  table_rows = []

  for row in raw_rows
    h = {}
    columns = row.scan(/[\(|\s](.*?)[,|\)]/)
    headers.zip(columns) { |a, b| h[a[0]] = b[0] }
    table_rows.push(h)
  end

  return Table.new(table_name, table_rows)
end

def filter_and_remove_duplicates(table1, table2)
  return table1.rows
    .select { |e| !table2.rows.any? { |h| h["topic_id"] == e["topic_id"] } }
    .uniq { |e| e["topic_id"] }
end

def phpbb_posts_to_phpbb_topics(posts)
  return posts.map do |e|
    {
      "topic_id": e["topic_id"],
      "forum_id": e["forum_id"],
      "topic_title": e["post_subject"].gsub(/Re: /, ""),
      "topic_poster": e["poster_id"].to_i,
      "topic_time": e["post_time"].to_i,
      "topic_first_post_id": e["post_id"].to_i,
      "topic_first_poster_name": "'MadBot'",
      "topic_visibility": 1
    }
  end
end

def phpbb_topics_to_sql_insert_script(topics)
  data = topics.map { |h| h.map { |k, v| [k, v] } }
  string = "INSERT INTO `phpbb_topics` (#{data.first.map { |e| "`#{e[0]}`" }.join(", ")}) VALUES\n"
  string += data
    .map { |e| e.map { |v| "#{v[1]}" }.join(", ")}
    .map { |e| "(#{e})" }
    .join(", \n")
  return string + ";"
end

class Runtime
  def run
    phpbb_topics = parse_table("phpbb_topics.sql")
    phpbb_posts = parse_table("phpbb_posts.sql")

    posts = filter_and_remove_duplicates(phpbb_posts, phpbb_topics)
    topics = phpbb_posts_to_phpbb_topics(posts)
    script = phpbb_topics_to_sql_insert_script(topics)

    puts script
    File.write("insert_phpbb_topics.sql", script)
  end
end

Runtime.new.run()

: 09 ноя 2020, 23:50
NightlyRevenger
Newfag писал(а): 09 ноя 2020, 23:47
и решил базы как текстовые файлики парсить
:uporot:

Отправлено спустя 1 минуту 20 секунд:
ShakotanGX71 писал(а): 09 ноя 2020, 23:45
Звучит как говно, на которое идут студенты и которые плакали:
зачем нужон этот ваш асомблер, если можно писать на c++ или питоне
А потом они попивают смузи и имеют 300к в секунду, пока на асме и си пишут какое-то сложно говно за копейки :conf2:

12 дней успешности

: 09 ноя 2020, 23:54
Newfag
NightlyRevenger, а хуле нам смузихлебам :yeah:

: 09 ноя 2020, 23:58
NightlyRevenger
Newfag, если перекладывать у внутри одной базы, то про проще процедуру накатать :ohyou:

12 дней успешности

: 09 ноя 2020, 23:58
Newfag
ShakotanGX71 писал(а): 09 ноя 2020, 23:45
зачем нужон этот ваш асомблер, если можно писать на c++ или питоне
Так там другие проблемы, которые тоже интересно решать. Помню пару лет назад пытался оптимизировать конвертацию rgb565 в rgba8888 на арм64 асме, получилось на уровне компилятора с -O3, спрашивается хуле толку :lol5: :up:
ShakotanGX71 писал(а): 09 ноя 2020, 23:45
С этим, как раз таки, пока нет проблем, учитывая мои навыки
100к хоть зарабатываешь? Я столько зашибал 7 лет назад на мобилках :namek:

12 дней успешности

: 09 ноя 2020, 23:59
Newfag
NightlyRevenger, я не знаю зачем Феде понадобился именно скрипт, у нево спрашывай :petrosyan:

12 дней успешности

: 10 ноя 2020, 00:13
ShakotanGX71
Newfag писал(а): 09 ноя 2020, 23:58
получилось на уровне компилятора с -O3, спрашивается хуле толку
:up:
Newfag писал(а): 09 ноя 2020, 23:58
100к хоть зарабатываешь
Нет :pled:

12 дней успешности

: 10 ноя 2020, 01:24
Unsteelix
ShakotanGX71 писал(а): 09 ноя 2020, 23:45
Вылезло при порте на другую ос и только на одной из нескольких процессорных архитектур
ебать ты крыса :microYoBa:
СПОЙЛЕР
:lol5: :up:
Newfag писал(а): 09 ноя 2020, 23:47
решил базы как текстовые файлики парсить
тоже как-то сделал БД в файлике чтоб не накатывать базу ради какой-то мелочи :pled:

12 дней успешности

: 10 ноя 2020, 03:47
Полотенце
AlecArzh писал(а): 09 ноя 2020, 22:30
Берешь 0,7 вискаря и выходишь на улицу, отпиваешь пару глотков и смотришь по сторонам. В какую сторону захочется, в ту идёшь, отпиваешь ещё пару глотков, смотришь по сторонам, в какую захочется в ту идёшь, повторить 3 раза.
Потом немного начни думать кто ты и чего хочешь, если хочешь того, что не можешь отпиваешь ещё пару глотков и спрашиваешь почему у себя, повторить 3 раза.
Потом смотришь абстрагированно на мир вокруг себя и должен понять что он убог и не ты находишься в нем, а он вокруг тебя.
Отпиваешь пару глотков, а потом становится похуй
Изображение

12 дней успешности

: 10 ноя 2020, 09:47
TrollMaster
ShakotanGX71 писал(а): 09 ноя 2020, 23:45
memset(this, 0, sizeof(*this))
Что-то я вообще не понимаю, а зачем передавать в sizeof разыменованный указатель, т.е. по сути значение? :slow:
Ты, кстати, под STM-32 пишешь?

12 дней успешности

: 10 ноя 2020, 10:37
ShakotanGX71
TrollMaster писал(а): 10 ноя 2020, 09:47
разыменованный указатель, т.е. по сути значение?
Размер объекта там будет. Передается указатель на начало объекта (самого себя) и происходит его полное зануление. Сдеалано это было потому, что кому-то было лень в конструкторе поля инициализировать, их там много. Как бы ничего такого, но затирается таблица виртуальных методов и после этого они перестают работать. Начали затирать после таблицы.
TrollMaster писал(а): 10 ноя 2020, 09:47
Ты, кстати, под STM-32 пишешь?
Нет.

12 дней успешности

: 10 ноя 2020, 11:00
TrollMaster
ShakotanGX71 писал(а): 10 ноя 2020, 10:37
Размер объекта там будет. Передается указатель на начало объекта (самого себя) и происходит его полное зануление. Сдеалано это было потому, что кому-то было лень в конструкторе поля инициализировать, их там много. Как бы ничего такого, но затирается таблица виртуальных методов и после этого они перестают работать. Начали затирать после таблицы
Теперь понял, спасибо. Опасная штука всё таки этот memset, лично не байтоёбил довольно давно

12 дней успешности

: 10 ноя 2020, 11:44
Newfag
TrollMaster писал(а): 10 ноя 2020, 11:00
Опасная штука всё таки этот memset
В Си вообще все опасно :microYoBa: А вот мешать си с ооп это чет странновато, ну у ембед девелуперов там свой манямирок :miniYoBa: :up:

: 10 ноя 2020, 11:48
NightlyRevenger
Newfag писал(а): 10 ноя 2020, 11:44
А вот мешать си с ооп это чет странновато,
C++ же зачем-то сделали :ps5bug: (скорее всего, что бы издеваться над пограммистами)

12 дней успешности

: 10 ноя 2020, 12:03
Newfag
NightlyRevenger писал(а): 10 ноя 2020, 11:48
C++ же зачем-то сделали
Так еще сделали кучу шаблонов и прикалюх типа виталямбд, самозаниляющихся ссылок и тд, но нет, надо заюзать мемсет на объекте, который еще и наследуется и решать вопросы как не перезатереть виртуальную таблицу :tohwin:
Вот что бывает, когда сишник/ассемблерщик вкатывается в ООП :uporot:  :ohyou:
А потом такой приходишь на проект, который вроде бы и написан на ООП языке, а внутри байтики на си перекладывают и создают новые классы в рантайме :uporot:

12 дней успешности

: 10 ноя 2020, 12:03
TrollMaster
Newfag писал(а): 10 ноя 2020, 11:44
В Си вообще все опасно
Поэтому когда пишу на плюсах стараюсь избегать указателей, последний раз использовал только указатели на методы класса,
а для динамических структур данных использую STL
Newfag писал(а): 10 ноя 2020, 11:44
ну у ембед девелуперов там свой манямирок
Вот это странно, C++ на низком уровне :spencer: У меня брат тоже пишет прошивки для контроллеров, но только на чистом си и ассемблере