higo
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    # 2024年研究テーマ ## higo ### テスト自動生成ツールによって生成されたテストは本当にバグ発見に役立つのか?(テスト,欠陥限局,自動プログラム修正) テスト自動生成ツールによって自動生成されたテストは本当にバグの発見に役立つのかを調べる.バグ混入コミットの直前,バグ混入コミット,バグ修正コミットからテストを自動生成する.バグ混入コミットの直前から生成したテストがバグ混入コミットで落ちたならば,その生成されたテストはバグの発見に寄与している.他にもテストをいろいろクロス実行することでなにかわかるかも. ### コード(メソッド)の進化とテストの関係はどうなっているのか? ソフトウェアの開発においてプロダクトコードは何度も修正されるが,そのテストについてはどうだろうか?Javaのメソッドに注目し,メソッドの制御フローに変化があるような変更が行われたときに,ちゃんとテストも変更・追加されているのかを調査する. ### テストコードの分析 よいテストコードとしては,構造が簡単(分岐がない)やアサーションの数が少ない等があるが,実際のテストコードはどうなっているだろうか. また,よい構造をしているテストの方が対象メソッドに帯するコードカバレッジは高いだろうか? 悪い構造をしているテストがあったときその原因は何だろうか?悪い構造を持ったテストになっている原因は悪い構造を持ったプロダクトコードになっていないだろうか? ### SBFL-SuitabilityやAutorepairabilityの変遷調査 対象プログラムにおいてどの程度欠陥限局がうまく働くかを表す指標であるSBFL-Suitabilityや,どの程度自動プログラム修正ツールがうまく働くかを表す指標であるAutoreparabilityが対象メソッドの進化に伴いどのように変化していくのかを調査する.また,対象メソッドがどのように変更された時に,その値が大きく下がるのか上がるのかを明らかにする. SBFL-Suitablity: https://ipsj.ixsq.nii.ac.jp/ej/?action=repository_uri&item_id=210658&file_id=1&file_no=1 Autoreparability: https://sdl.ist.osaka-u.ac.jp/pman/pman3.cgi?DOWNLOAD=621 ### ChatGPTはStackOverflowの人間による回答よりも賢いかの調査(LLM) StackOverflowで,人間がよい回答をした質問,よい回答をしていない質問をChatGPTに投げてみる. ### Mock関連でなにかできないか(テスト) Mockって使うのが難しい&めんどくさい. Mockの使用例は以下. この例では下記の仕様を満たすRandomオブジェクトを生成している. - nextBooleanは一回目の呼び出し時にfalseを返す. - nextIntは一回目の呼び出し時に1を返し,二回目の呼び出し時も1を返す https://github.com/kusumotolab/kGenProg/blob/3826ba82e9ffb97b53fe8239f94282a83801de31/src/test/java/jp/kusumotolab/kgenprog/ga/crossover/UniformCrossoverTest.java#L134-L138 Mockを使うコードの自動生成,Mockがどのように使われているかの調査等,なにかmock関連でできないだろうか. Mock関連の研究は余り行われていないような気がする. ### 機能等価メソッドペアのデータセットを使って何かしたい Javaのメソッドの機能等価メソッドペアのデータセットを作ったので,このデータを使って何かしたい.2023年度B4井上くんの卒論はこのデータをファインチューニングに使ったクローン検出精度の改善だった. 機能等価メソッドペアのデータセット:https://github.com/YoshikiHigo/FEMPDataset 井上SIGSS:https://sel.ist.osaka-u.ac.jp/lab-db/betuzuri/archive/1288/1288.pdf ### ラージコミットを対象としたファイル追跡の改善(リポジトリマイニング) gitリポジトリではgit-logコマンド等でそのコミット履歴を辿ることができるが,ラージコミット(多くのファイル変更を含むコミット)がある場合に,追跡精度が著しくさがることが知られている.そこで,ラージコミットを分析し,ラージコミットが存在しても高い精度でコミット履歴を辿ることができる手法の考案を目指す. 関連ツール:https://github.com/kusumotolab/FinerGit 関連論文:https://www.sciencedirect.com/science/article/pii/S0164121220300522 ## D3 Shiyu Yang ### Assessing the Security Risks of JavaScript Library Usage in Stack Overflow Code Snippets In the dynamic landscape of web and node.js development, JavaScript libraries play a pivotal role by streamlining the development process. However, this convenience comes with the caveat of staying vigilant about security updates. The inclusion of "Using Components with Known Vulnerabilities" in the OWASP Top 10 highlights the critical risk posed by insecure libraries to web applications. Despite the wealth of knowledge available on Q&A platforms like Stack Overflow, there's a discernible gap in research regarding the security of JavaScript libraries embedded within code snippets shared on the platform. This gap underscores the imperative need to scrutinize the validity and security implications of employing JavaScript libraries in Stack Overflow code snippets, aiming to safeguard web applications from potential vulnerabilities. ### Evaluating the Performance Differences of Large Language Models in Bidirectional Translation between Natural Language and Code This research project aims to evaluate the performance differences among various large language models (LLMs) in the bidirectional translation tasks between natural language and code. By conducting a series of experiments across multiple programming languages and complexity levels of coding tasks, this study seeks to quantify the effectiveness, efficiency, and accuracy of LLMs in generating executable code from natural language descriptions and vice versa. The project will explore the models' capabilities in understanding and generating code, identifying strengths and limitations for specific applications such as software development, code review, and programming education. Through this analysis, the research intends to provide valuable insights into optimizing the use of LLMs in coding tasks, contributing to advancements in automated programming and AI-driven code documentation. ### Predicting Technology Trends Based on Stack Overflow Data This project involves analyzing data from Stack Overflow to identify trends in the questions related to different programming languages and technologies over the past few years, with the aim of predicting future popular technologies. By collecting and analyzing the number and growth rate of questions tagged with specific programming languages and technology tools, researchers can identify the fastest-growing areas. Additionally, considering the community's engagement (such as the number of answers to a question and their quality) and user feedback (like votes and favorites), deeper insights into the community interest and market demands behind these trends can be gained. This study not only reveals current technology trends but also helps predict the development direction of future programming languages and technological tools. ### Research on Automated GitHub Project Documentation Generation using ChatGPT This study aims to explore the feasibility and effectiveness of using ChatGPT to automatically generate documentation for projects on GitHub. By selecting samples from projects of various sizes and domains, this research will utilize ChatGPT to generate new documentation based on project code and existing documents. The study will evaluate the differences in quality, comprehensiveness, and user satisfaction between these auto-generated documents and traditional manually written documentation, to investigate the potential of ChatGPT in improving documentation writing efficiency and quality. ## M2 Yamamoto ### Kubernetes周りで何か 近年Kubernetesと呼ばれるコンテナオーケストレーションツールが広く使用されている. Kubernetesはコンテナ化されたアプリケーションのデプロイや管理を行うことができる. また,KubernetesはIaC(Infrastructure as Code)の1つでもあり,コンテナ自体の設定やコンテナ間のネットワーク設定などをManifestと呼ばれるYAMLファイルでソースコードとして設定・管理可能である. (ただKubernetesが好きというだけで,Kubernetes関連で何か研究できないかなあという軽い気持ちで以下にいくつか候補を挙げます.) 関連ワード:`Kubernetes`, `IaC`, `Platform Engineering` 1. KubernetesはYAMLファイルを使用してManifestでインフラ環境を定義することができるが,アプリケーションの規模に比例してManifestが増加し,管理しにくくなるという問題がある.これを「YAML地獄」とも呼んだりする.こういった課題を解決するためのツールとしてKustomozeやHelmなどが一般的であるが,これらに問題点はないだろうか.もしあればそれを解決するツールを作ったら面白いかもしれない.つまり,IaCの**Code**の部分をソフトウェアと見做し,課題解決するツールを提案したい. 2. Kubernetesを使用したシステムの開発者視点での懸念点として複雑化したアプリケーションのインフラ構成を掴みにくいという問題点がある.特に大量のManifestを見せられただけではアプリケーション全体の設計イメージが沸いてこない.設計図を自作して管理している開発組織も多いがコンポーネントの増加と共に設計図を更新するのは手間がかかるしなかなかドキュメントを頻繁に更新している組織も少ないんじゃないかと思われる(これは主観).よって,Manifestを読み込ませると全体のシステム図がUIとして出力されるようなツールがあったら嬉しい.(そもそもそんなツールがあったら没案になりそうですが,今のところ自分は知りません.その辺りの調査から入るイメージです)つまり,この案はKubernetesを用いたアプリケーションの開発者体験を向上させるためのツールを提案するものである. 他にもインフラ環境をソースコードで管理する話は沢山ある(Docker, Terraform, Chef...)ので興味ある方はどうぞ。 ## M2 Kobayashi ### 大規模言語モデル(LLM)を用いたコード翻訳についての研究 近年,様々な生成AIが登場する中でも,LLMを活用したものが注目を集めており,BERTやGPT-3, 4などはLLMを元に構築されている. このようなモデルは高い言語能力を持っており,あるプログラミング言語から別のプログラミング言語に変換するコード翻訳に用いられることがある. この技術を利用し,現在では採用されないようなレガシー技術で開発されたソフトウェアのソースコードを,現在の技術に自動的に置き換え,保守性の向上や,バージョンアップ作業の効率化を図ることを目的として研究を行う.具体的には,Object-C→SwiftやVue.js→React.jsなどの翻訳が考えられる. (LLMについて興味はあるが,自分では手が回らない+昔の技術で開発された現在も動いているソフトウェアの管理って面倒で大変だよな,という軽い気持ちでテーマとして挙げてます.) ## M2 Kishimoto ### 標準のパッケージ管理システムが存在しない言語を対象とするSBOM生成ツールの作成 近年,ソフトウェアの適切な管理のために,ソフトウェア部品表(Software Bill of Materials, SBOM)の利用が推奨されている. ソフトウェア部品表には,ソフトウェアを構成するライブラリやファイルなどの情報が記述されており, それらの情報を利用することでソフトウェアが依存するライブラリに脆弱性が含まれていないか確認したり, ライセンス違反が発生していないかを確認したりすることができる. ソフトウェアに関する情報を手動で収集してSBOMを作成するのは手間と時間を要するため, 標準のパッケージ管理システムが存在する言語に対しては,パッケージ管理システムの情報からSBOMを自動生成するツールが開発されている. しかし,CやC++のように標準のパッケージ管理システムが存在しない言語では, 依存するライブラリの情報を特定することが容易ではないため,それらの言語で作成されたソフトウェアのSBOMを自動生成するツールは不足している. この問題を解決するために,依存するライブラリを特定する方法を考案し,その方法に基づいたSBOM生成ツールを作成する. ## M2 Otoda 研究として成立するかとか実現性とかはあまり考えずに出した案です。 ### SBOM ツールの現況調査 SBOM についての諸々はすぐ上の岸本さんのテーマを参照。現在の SBOM 利活用にあたっての課題としてはそれ以外に、黎明期すぎるために文献が極端に不足しており、「そもそも何(ツール)を使えば良いのか、目的を果たすツールは存在するのか、どうやって使えば良いのか」がさっぱり分からないというものがある([私の Stack Overflow 調査論文](https://sel.ist.osaka-u.ac.jp/lab-db/ja/betuzuri/contents/1286/)の結果をその根拠として使える?)。 というわけで、「今どんな SBOM ツールがあって、どのような使い方で、それぞれがどんなユースケースをカバーしているのか」というのを網羅的に調査してまとめた論文があると、SBOM 実践者にとっては非常に有難いのではないかと考えられる。単に Readme などを読んで調べるよりは、実際に動かして調査する方がいいと思われる。どうしても主観評価にならざるを得ないので、その点は工夫が必要。 ### バグ・脆弱性の重要性診断 [Test Mimicry to Assess the Exploitability of Library Vulnerabilities](https://dl.acm.org/doi/10.1145/3533767.3534398)([輪講](https://sel.ist.osaka-u.ac.jp/lab-db/rinkou/contents.ja/980.html))の発展。現代のソフトウェア開発では大量の外部ライブラリを活用するが、これによってそれらの脆弱性の影響を受けるセキュリティ上のリスクが発生するため、それを適切に管理する必要が生じる。一覧化という方向性でそれをサポートするのが SBOM であるが、一方で大量の外部ライブラリを活用するプロジェクトでは報告される脆弱性の数が莫大なものとなり、対応が追いつかなくなる。そこで、対応すべき脆弱性の優先順位付け(トリアージ)が必要となる。 NVD など脆弱性の優先順位付けを行っている機関は存在するが、人力なため信頼性の不足が指摘されている。これに対し、機械的に根拠を持って優先順位付けしようと試みている手法の 1 つがこの論文である。また、このモチベーションからは外れるものの、必ずしも脆弱性診断としての応用ではなく、もっと一般的にバグのトリアージにも使えるのではないかという話がある(大量のバグのうちどれから取り掛かるかというのも、脆弱性同様に重要な問題である)。一応ソースコードが公開されているものの、ちゃんと動くのかどうかとか、詳しいところはよく分からない。 ### 法的文書を静的解析して読みやすくする手法 法律や契約書(ソフトウェアライセンスを含む)などの法的文書においては、人によって恣意的に好き勝手な読み方をできてはいけないので、先頭で厳密な用語定義が大量に行われた後にその語句を用いて本文が展開される。しかし、そうなると本文を読んでいる間に何度も用語定義を参照しに行くことになり、かなり読むのが大変である。そこで、本文中の該当語句にホバーすると定義を見せてくれたり、別の条文を参照する部分にホバーするとその条文をポップアップしてくれるような支援システムがあるとかなり読みやすくなるのではないか。他には、法律間の依存関係なんかが可視化されると最高だなとは思う(自然言語でこれをやるのは鬼畜ルートだろうが...)。 法的文書は体裁が画一的で形式的なため、ある意味ソースコードと似ている。では、ソースコードに対してこれまでに提案されてきた静的解析手法をうまく応用できないだろうか。ただし、自然言語である以上、機械で読むことを想定して設計された言語よりは難儀しそう。また、書いた人・組織、制定の年代によっても文体がかなり違いそう。以下が一応それっぽい文献。 - https://cir.nii.ac.jp/crid/1040000781622821376 - https://techtarget.itmedia.co.jp/tt/news/1909/04/news10.html - https://www.datatech.com/solution/legal-data/ ### 組み込みソフトウェア開発の生産性・信頼性・保守性を向上させる手法 ソフトウェア開発における生産性・信頼性・保守性の向上にあたり、オブジェクト指向や関数型などのパラダイムの発明、高度な型システムやコンパイラによる強力な安全性検査など、さまざまな技術や開発技法が生み出されてきた。しかし、OS を搭載しない業務用マイコンに代表されるように、C 言語しか使えずメモリ容量等のリソース制限も厳しい状況下においては、一般のソフトウェア開発で広く普及している技術や手法を適用できないことが多い。そこで、そういった環境で生産性・信頼性・保守性を向上させるための手法を検討する。 いくらなんでも発明するのは無理難題なので、世の中ではどんな工夫がされているのかを調査してみる方向が一番現実的かもしれない。また、Linux syscall や Win32 API のような低レイヤ API を直接操作する実装も、低レイヤな実装スタイルに制約されがちなので対象にできるかもしれない。 ## M2 Tabata ### ライブラリ移行に関する既存研究の対象言語拡張 ライブラリ(再利用可能なコード群)を利用して開発効率を向上させる取り組みは,ソフトウェア開発一般に見られる.さまざまな言語ごとにライブラリのエコシステムが構成されており,ユーザはパッケージマネージャを介してライブラリを提供または利用する.例えば[libraries.io](https://libraries.io/)では,主要なパッケージマネージャとして - Java の Maven - Python の PyPI - Javascript の npm - Ruby の RubyGems - C# (.NET) の NuGet などが紹介されている. 一方,ライブラリに関する研究の中でも「移行」の話に着目すると,その多くがJavaのみを対象としている(あくまで自分が調べた範囲の話ですが).そこで,何らかの既存研究を選択した上で,その枠組みは同じまま対象言語の拡張に取り組む.エコシステムごとの特徴や固有の問題など,新たな知見が得られると嬉しい. 具体的なテーマとしては,以下が挙げられる. - 移行の傾向や移行にかかるコストの実証調査 - 類似ライブラリや移行前後のコードを集めたデータセットの作成 - ライブラリの自動移行や代替ライブラリ推薦の手法提案 ※一部テーマではPythonやJavaScriptといったメジャーな言語への拡張例も見られるとは思いますが,さらに他の言語へ拡張するだけでも新規性は主張できるのでは?と考えています ※手法提案系の研究は言語依存な部分が大きそうなので,調査系の方が取りかかりやすいかなぁとは思っています ## matusita ### 学習時に用いるデータセットの非独立性が機械学習モデルの性能に与える影響 M2服部修論関連。プログラミングコンテストのデータを使って慎重に設計したデータセットはあるので(念のため要第三者検証)、ソフトウェアを入力として判定を行う既存モデルに適用して、モデル作成側が主張する結果がどの程度追試可能かを検証してみる。また、先に設計したデータセットは、コードを書いた人の能力判定を前提としたものであったところ、世の中には多様な、データセットの収集元になりうるデータがあるので、それらを用いて同様の作業を行い、データ非独立性がモデルの性能にどのような影響を与えるのか、を確認する。 ### (GPT-4を用いた)コード機械翻訳ネタ 1つ目:単純な話としては、データセットを(競プロではなく)実ソフトウェアでやってみた場合にどうなるか、をやってみる。ただこの時変換先が正しいかどうかを確認する方法がないと困ってしまうので、実ソフトウェアならなんでもいいのか、と言われると悩みどころ。まだ検証しやすい小さなツールくらいで試してみる、あたりから、かも。 2つ目:翻訳したコードの自然さについての調査。変換した後使って終わり(人間が見ない)、だったら気にしなくていいけど、その後人間が保守するならその辺は気になるはず。既存のコード可読性評価手法は使えるだろうし、blind testしてみる方法もあり。 3つ目:現状ではGPT-4以外にも複数同種のLLM物があるので、コード翻訳向きなLLMがどれかを調査。また、プロンプトとしてどのような書き方が良いか、LLMの世界で知られるprompt engineering手法で有効なものはどれか(あるいはないのか)、を調査してみる。

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully