Keyboard shortcuts

Press โ† or โ†’ to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

  • https://github.com/netpyoung/nf.data-flow

    • assembly๋กœ๋“œ ํ•˜๋Š”๊ฒƒ๊นŒ์ง€ ํ–ˆ์Œ
  • partial db ๊ฐฑ์‹ ๋„

    • excel์„ winform์— ๋“œ๋ž˜๊ทธํ•˜๋ฉด ๊ทธ ์—‘์…€์—๊บผ๋งŒ ๊ฐฑ์‹ 
  • Razor page

  • Attr์ง€์ •

  • ํด๋ผ๋ž‘ ์„œ๋ฒ„ ๋ฐ์ดํ„ฐ ๋ถ„๋ฆฌ

  • ํƒ€์ž…์ง€์ •

validate

  • table column ์ด๋ฆ„ ์ค‘๋ณต - ์•Œ๋ ค์ฃผ๊ธฐ

???

  • unique id๊ฐ™์€๊ฒฝ์šฐ ์•Œ๋ ค์ฃผ๊ธฐ?

ํ…œํ”Œ๋ฆฟ์€ T4๋กœ C#ํ•จ์ˆ˜๋ฅผ ์“ธ ์ˆ˜ ์žˆ๋Š”

// sheet / enums / consts / class https://marketplace.visualstudio.com/items?itemName=bricelam.T4Language

const

CONST

TypeNameValueDesc
intn11hello

Enum

E_ENUM

NameValueDesc
n11hello
>n1hello

https://shd101wyy.github.io/markdown-preview-enhanced/#/markdown-basics?id=table

{ โ€œmarkdown-preview-enhanced.enableExtendedTableSyntaxโ€: true, }

์…€ ํ•ฉ์น˜๋‹ˆ๊นŒ ๋ฉ€ํ‹ฐ๋ผ์ธ์‹œ ํ‘œ๊ฐ€ ์•ˆ๋Š˜์–ด๋‚˜๋„ค? โ€˜AutoFit Row Heightโ€™ on merged cells

class

ATTR[PrimaryKey][Unique]
TYPEintint
NAMEidcharacter_id
DESC
VALUE11

tableroot/ Defines/ Const_1.xlsx Const_2.xlsx Enum_1.xlsx Enum_2.xlsx Hello/ Hello_1.xlsx Hello_2.xlsx

์ฐธ์กฐ ์ƒ๋Œ€๊ฒฝ๋กœ๋กœ ํ•ด๋„ =โ€˜[ComponentsC.xlsx]Sheet1โ€™!A1 => ๊ฒฐ๊ตญ ์ ˆ๋Œ€๊ฒฝ๋กœ๋กœ ๋˜์–ด๋ฒ„๋ฆผ

์™ธ๋ถ€ ํŒŒ์ผ๊ณผ ์ฐธ์กฐ ํŒŒ์ผ์ด ๋™์‹œ์— ์—ด๋ ค ์žˆ์„ ๋•Œ๋งŒ ์ƒ๋Œ€๊ฒฝ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ - INDIRECT / VLOOKUP https://stackoverflow.com/questions/11629633/how-do-i-make-a-relative-reference-to-another-workbook-in-excel

๋‚˜์ค‘์— git ์ปค๋ฐ‹๋งˆ๋‹ค ๋น„๊ตํ•˜๋ฉด์„œ ์ˆ˜์ •๋‚ด์—ญ ์•Œ ์ˆ˜ ์žˆ์œผ๋ฉด ์ข‹๊ฒ ๋„ค

  • ๋ˆ„๊ฐ€
  • ์–ธ์ œ
  • ํŒŒ์ผ
  • ์‹œํŠธ
  • ๋‚ด์šฉ

NPOI๋Š” ์ˆ˜์‹ํ‰๊ฐ€ ์™ธ๋ถ€์ฐธ์กฐ๊ฐ€ ์•ˆ๋จ

  • This workbook contains link to one or more external sources that could be unsafe.
    • File > Info > Edit Links to Files > ํ†ฑ๋‹ˆ๋ฐ”ํ€ด > Always Refresh

) https://excel-dna.net/

sqlite ์ถ”์ถœ json ์ถ”์ถœ

#Comment ? $Comment $๋Š” ์—‘์…€์—์„œ ์ž์ฃผ์“ฐ๋Š”๊ฒƒ์ด๋ฏ€๋กœ ์“ฐ์ง€๋ง์ž

&END ? :END

client - ํด๋ผ ์ „์šฉ server - ์„œ๋ฒ„ ์ „์šฉ ๋นˆ์นธ - ๋‘˜๋‹ค ๊ณต์šฉ

  • ๊ฐ™์€ ๊ฐ’์œผ๋กœ ๋จธ์ง€ํ•œ๊ฒƒ๋„ ์ง€์›

  • ์…€์— ๋Œ€ํ•œ Note๊ธฐ๋Šฅ์€ ํ™œ์šฉํ•˜์ง€ ์•Š๋Š”๊ฑธ๋กœ

_ignore

[Unique] [PrimaryKey]

์˜ˆ์ œ Type id ๋‹ค๋ฅธ์‹œํŠธ ์ฐธ์กฐ

Const / Enum / ํด๋ž˜์Šค

ํด๋ž˜์Šค ์ƒ์† ๊ธˆ์ง€

https://iekill.tistory.com/41

  • https://github.com/catsnipe/XlsToJson

    • json/scriptableobject
  • https://github.com/cathei/BakingSheet

    • enum์ด๋ž‘ dictionary๋‹ค๋ฃจ๋Š”๊ฒŒ ์‹ ๊ธฐํ–ˆ์—ˆ๋Š”๋ฐ ์ง€๊ธˆ๋ณด๋ฉด ๋ณ„๋กœ์ธ ์ ‘๊ทผ๋ฐฉ์‹
  • https://github.com/elky84/ExcelToDotnet **

  • https://github.com/qingfeng346/ScorpioConversion

    • bytes ไบŒ่ฟ›ๅˆถๆ•ฐๆฎ,ๆ”ฏๆŒ base64:// file:// https://github.com/kimsama/Unity-QuickSheet https://github.com/hnb-rabear/excel-to-unity
    • winform ํˆด
    • BouncyCastle.Crypto
    • BouncyCastle.Cryptography
    • markdig
  • https://github.com/MyNameIsDabin/TabbySheet

  • https://blog.naver.com/gamephysics/223825533965

  • https://github.com/NtreevSoft/Crema

    • https://github.com/s2quake/crema
    • https://github.com/MahApps/MahApps.Metro
    • https://github.com/Actipro/WPF-Controls
    • https://github.com/mmanela/diffplex
  • https://github.com/ExcelDataReader/ExcelDataReader

  • https://github.com/tonyqus/npoi

  • https://github.com/ClosedXML/ClosedXML

https://github.com/sveinungf/spreadcheetah

https://github.com/Cysharp/MasterMemory https://www.litedb.org/

https://github.com/zirplsoftware/ZCalcEngine https://github.com/pieterderycke/Jace https://github.com/soomin-kevin-sung/dotnet-calculation-engine

https://github.com/softlion/SQLite.Net-PCL2 - IBlobSerializer ์ง€์›

root/ /ByteFiles/imageโ€ฆ /Sheets/

byte[] - byte:// - ์ด๋ฏธ์ง€ ๊ฐ™์€๊ฑฐ string - text:// - ์Šคํฌ๋ฆฝํŠธ ๊ฐ™์€๊ฑฐ string - base64:// string - base64url://

์„ค์ •ํŒŒ์ผ

  • regexp _์Šค์ฝ”์–ด์‹œ์ž‘

_์Šค์ฝ”์–ด ์‹œ์ž‘

int / float / byte[] / DateTime

์‹œํŠธ

์ฃผ์„์‹œํŠธ

List [1, 2, 3] Vector3 <1, 2, 3> TimeSpan? nullable

ํ‚คprim /sub

3๋ฒˆ์งธ๋กœ ๋’ค์—Ž๋Š”๊ฑฐ๋‹ค.

์‹œํŠธ๋‹น ํด๋ž˜์Šค/enum/const๋ฅผ ๊ฐ™์ด ๋ฌถ์œผ๋ คํ–ˆ๋‹ค

    // enum
    // - header: *NAME | *FIELD
    // - field: *NAME | *VALUE | DESC | ATTR

    // const
    // - header: *NAME | *FIELD
    // - field: *TYPE | *NAME | *VALUE | DESC | ATTR

    // class
    // - header: ?*NAME | *TYPE | PART | DESC | *TABLE

IFormulaEvaluator evaluator ๊ฒ€์ฆ

์ปดํŒŒ์ผ Microsoft.CodeAnalysis.CSharp.Workspaces Microsoft.Build.Locator

https://learn.microsoft.com/ko-kr/nuget/consume-packages/package-references-in-project-files#controlling-dependency-assets

client/server assembly๋งŒ๋“ค์–ด์„œ sqlite์— ์‚ฝ์ž…ํ•˜๋‹ˆ ์ถฉ๋Œ๋ฌธ์ œ

  • ์ฒ˜์Œ์—๋Š” ์–ด์…ˆ๋ธ”๋ฆฌ ์ค‘๋ณต๋กœ๋“œ ๋ฌธ์ œ์ธ๊ฐ€ ์‹ถ์–ด์„œ ์‚ดํŽด๋ดค์ง€๋งŒ
    • https://learn.microsoft.com/ko-kr/dotnet/standard/assembly/unloadability
  • ์ฝ”๋“œ๋ฅผ ๋ณด๋‹ˆ sqlite.net๋‚ด๋ถ€์— ํƒ€์ž… ๋งตํ•‘ ํƒœ์ด๋ธ”(_mapping)์ด ์žˆ๋Š”๋ฐ ์บ์Ё๋˜์–ด ์žˆ๋Š” ๋ถ€๋ถ„์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒ. ํด๋ฆฌ์–ด ํ•จ์ˆ˜๊ฐ€ ๋…ธ์ถœ๋˜์–ด ์žˆ์ง€์•Š์•„, ๋ฆฌํ”Œ๋ ‰์…˜์œผ๋กœ ๊ฐ•์ œํ˜ธ์ถœ

TODO

  • ํ”„๋กœํ† ์ฝœ ์ถ”๊ฐ€
    • file:// file path
    • proto:// json